summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnas Nashif <anas.nashif@intel.com>2013-02-13 18:21:12 -0800
committerAnas Nashif <anas.nashif@intel.com>2013-02-13 18:21:12 -0800
commitef8aa19c33e83ff019595fd7f8fdc29c35c336a3 (patch)
tree6501b44707b5c6a88fa5f817adee1a3ffcb0012d
parent035c7fabc3b82cbc9a346c11abe2e9462b4c0379 (diff)
downloadcmake-ef8aa19c33e83ff019595fd7f8fdc29c35c336a3.tar.gz
cmake-ef8aa19c33e83ff019595fd7f8fdc29c35c336a3.tar.bz2
cmake-ef8aa19c33e83ff019595fd7f8fdc29c35c336a3.zip
Imported Upstream version 2.8.10.2upstream/2.8.10.2
-rw-r--r--CMakeCPack.cmake141
-rw-r--r--CMakeCPackOptions.cmake.in42
-rw-r--r--CMakeGraphVizOptions.cmake2
-rw-r--r--CMakeLists.txt704
-rw-r--r--CTestConfig.cmake4
-rw-r--r--CTestCustom.cmake.in18
-rw-r--r--ChangeLog.manual474
-rw-r--r--CompileFlags.cmake74
-rw-r--r--Docs/CMakeLists.txt2
-rw-r--r--Docs/bash-completion/cpack2
-rw-r--r--Docs/cmake-indent.vim4
-rw-r--r--Docs/cmake-mode.el35
-rw-r--r--Docs/cmake-syntax.vim10
-rw-r--r--Example/Demo/demo.cxx2
-rw-r--r--Modules/AddFileDependencies.cmake18
-rw-r--r--Modules/AutomocInfo.cmake.in1
-rw-r--r--Modules/BasicConfigVersion-AnyNewerVersion.cmake.in2
-rw-r--r--Modules/BasicConfigVersion-SameMajorVersion.cmake.in2
-rw-r--r--Modules/BundleUtilities.cmake154
-rw-r--r--Modules/CMakeASM-ATTInformation.cmake10
-rw-r--r--Modules/CMakeASMCompiler.cmake.in20
-rw-r--r--Modules/CMakeASMInformation.cmake152
-rw-r--r--Modules/CMakeASM_MASMInformation.cmake10
-rw-r--r--Modules/CMakeASM_NASMInformation.cmake12
-rw-r--r--Modules/CMakeAddNewLanguage.txt2
-rw-r--r--Modules/CMakeBackwardCompatibilityC.cmake86
-rw-r--r--Modules/CMakeBackwardCompatibilityCXX.cmake60
-rw-r--r--Modules/CMakeBorlandFindMake.cmake4
-rw-r--r--Modules/CMakeCCompiler.cmake.in84
-rw-r--r--Modules/CMakeCCompilerId.c.in36
-rw-r--r--Modules/CMakeCInformation.cmake210
-rw-r--r--Modules/CMakeCXXCompiler.cmake.in86
-rw-r--r--Modules/CMakeCXXCompilerId.cpp.in35
-rw-r--r--Modules/CMakeCXXInformation.cmake316
-rw-r--r--Modules/CMakeClDeps.cmake27
-rw-r--r--Modules/CMakeCommonLanguageInclude.cmake50
-rw-r--r--Modules/CMakeDependentOption.cmake48
-rw-r--r--Modules/CMakeDetermineASM-ATTCompiler.cmake8
-rw-r--r--Modules/CMakeDetermineASMCompiler.cmake214
-rw-r--r--Modules/CMakeDetermineASM_MASMCompiler.cmake16
-rw-r--r--Modules/CMakeDetermineASM_NASMCompiler.cmake14
-rw-r--r--Modules/CMakeDetermineCCompiler.cmake224
-rw-r--r--Modules/CMakeDetermineCXXCompiler.cmake236
-rw-r--r--Modules/CMakeDetermineCompiler.cmake72
-rw-r--r--Modules/CMakeDetermineCompilerABI.cmake138
-rw-r--r--Modules/CMakeDetermineCompilerId.cmake461
-rw-r--r--Modules/CMakeDetermineFortranCompiler.cmake361
-rw-r--r--Modules/CMakeDetermineJavaCompiler.cmake92
-rw-r--r--Modules/CMakeDetermineRCCompiler.cmake76
-rw-r--r--Modules/CMakeDetermineSystem.cmake216
-rw-r--r--Modules/CMakeDetermineVSServicePack.cmake3
-rw-r--r--Modules/CMakeExpandImportedTargets.cmake28
-rw-r--r--Modules/CMakeExportBuildSettings.cmake20
-rw-r--r--Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake115
-rw-r--r--Modules/CMakeFindBinUtils.cmake56
-rw-r--r--Modules/CMakeFindCodeBlocks.cmake10
-rw-r--r--Modules/CMakeFindEclipseCDT4.cmake78
-rw-r--r--Modules/CMakeFindFrameworks.cmake26
-rw-r--r--Modules/CMakeFindKDevelop3.cmake8
-rw-r--r--Modules/CMakeFindPackageMode.cmake8
-rw-r--r--Modules/CMakeFindWMake.cmake4
-rw-r--r--Modules/CMakeFindXCode.cmake4
-rw-r--r--Modules/CMakeForceCompiler.cmake61
-rw-r--r--Modules/CMakeFortranCompiler.cmake.in92
-rw-r--r--Modules/CMakeFortranInformation.cmake292
-rw-r--r--Modules/CMakeGenericSystem.cmake102
-rw-r--r--Modules/CMakeImportBuildSettings.cmake12
-rw-r--r--Modules/CMakeJOMFindMake.cmake4
-rw-r--r--Modules/CMakeJavaCompiler.cmake.in24
-rw-r--r--Modules/CMakeJavaInformation.cmake54
-rw-r--r--Modules/CMakeMSYSFindMake.cmake6
-rw-r--r--Modules/CMakeMinGWFindMake.cmake16
-rw-r--r--Modules/CMakeNMakeFindMake.cmake4
-rw-r--r--Modules/CMakeNinjaFindMake.cmake4
-rw-r--r--Modules/CMakePackageConfigHelpers.cmake12
-rw-r--r--Modules/CMakeParseArguments.cmake14
-rw-r--r--Modules/CMakePlatformId.h.in10
-rw-r--r--Modules/CMakePrintSystemInformation.cmake46
-rw-r--r--Modules/CMakePushCheckState.cmake38
-rw-r--r--Modules/CMakeRCCompiler.cmake.in12
-rw-r--r--Modules/CMakeRCInformation.cmake30
-rw-r--r--Modules/CMakeSystem.cmake.in20
-rw-r--r--Modules/CMakeSystemSpecificInformation.cmake46
-rw-r--r--Modules/CMakeTestASM-ATTCompiler.cmake6
-rw-r--r--Modules/CMakeTestASMCompiler.cmake20
-rw-r--r--Modules/CMakeTestASM_MASMCompiler.cmake6
-rw-r--r--Modules/CMakeTestASM_NASMCompiler.cmake6
-rw-r--r--Modules/CMakeTestCCompiler.cmake90
-rw-r--r--Modules/CMakeTestCXXCompiler.cmake90
-rw-r--r--Modules/CMakeTestCompilerCommon.cmake10
-rw-r--r--Modules/CMakeTestForFreeVC.cxx3
-rw-r--r--Modules/CMakeTestFortranCompiler.cmake126
-rw-r--r--Modules/CMakeTestJavaCompiler.cmake2
-rw-r--r--Modules/CMakeTestNMakeCLVersion.c2
-rw-r--r--Modules/CMakeTestRCCompiler.cmake2
-rw-r--r--Modules/CMakeUnixFindMake.cmake4
-rw-r--r--Modules/CMakeVS10FindMake.cmake14
-rw-r--r--Modules/CMakeVS11FindMake.cmake23
-rw-r--r--Modules/CMakeVS6BackwardCompatibility.cmake20
-rw-r--r--Modules/CMakeVS6FindMake.cmake8
-rw-r--r--Modules/CMakeVS71FindMake.cmake8
-rw-r--r--Modules/CMakeVS7BackwardCompatibility.cmake20
-rw-r--r--Modules/CMakeVS7FindMake.cmake8
-rw-r--r--Modules/CMakeVS8FindMake.cmake16
-rw-r--r--Modules/CMakeVS9FindMake.cmake16
-rw-r--r--Modules/CMakeVerifyManifest.cmake16
-rw-r--r--Modules/CPack.cmake188
-rw-r--r--Modules/CPackComponent.cmake592
-rw-r--r--Modules/CPackDeb.cmake252
-rw-r--r--Modules/CPackRPM.cmake521
-rw-r--r--Modules/CPackZIP.cmake46
-rw-r--r--Modules/CTest.cmake266
-rw-r--r--Modules/CTestScriptMode.cmake2
-rw-r--r--Modules/CTestTargets.cmake78
-rw-r--r--Modules/CTestUseLaunchers.cmake49
-rw-r--r--Modules/CheckCCompilerFlag.cmake12
-rw-r--r--Modules/CheckCSourceCompiles.cmake88
-rw-r--r--Modules/CheckCSourceRuns.cmake70
-rw-r--r--Modules/CheckCXXCompilerFlag.cmake12
-rw-r--r--Modules/CheckCXXSourceCompiles.cmake88
-rw-r--r--Modules/CheckCXXSourceRuns.cmake70
-rw-r--r--Modules/CheckCXXSymbolExists.cmake6
-rw-r--r--Modules/CheckForPthreads.c2
-rw-r--r--Modules/CheckFortranFunctionExists.cmake16
-rw-r--r--Modules/CheckFunctionExists.cmake54
-rw-r--r--Modules/CheckIncludeFile.cmake68
-rw-r--r--Modules/CheckIncludeFileCXX.cmake68
-rw-r--r--Modules/CheckIncludeFiles.cmake76
-rw-r--r--Modules/CheckLibraryExists.cmake42
-rw-r--r--Modules/CheckPrototypeDefinition.cmake18
-rw-r--r--Modules/CheckSizeOf.cmake2
-rw-r--r--Modules/CheckStructHasMember.cmake16
-rw-r--r--Modules/CheckSymbolExists.cmake70
-rw-r--r--Modules/CheckTypeSize.cmake9
-rw-r--r--Modules/CheckVariableExists.cmake44
-rw-r--r--Modules/Compiler/Absoft-Fortran.cmake16
-rw-r--r--Modules/Compiler/Clang-ASM.cmake5
-rw-r--r--Modules/Compiler/Clang-C.cmake3
-rw-r--r--Modules/Compiler/Clang-CXX.cmake3
-rw-r--r--Modules/Compiler/Clang.cmake26
-rw-r--r--Modules/Compiler/GNU-Fortran.cmake10
-rw-r--r--Modules/Compiler/GNU.cmake6
-rw-r--r--Modules/Compiler/HP-ASM.cmake2
-rw-r--r--Modules/Compiler/HP-C.cmake6
-rw-r--r--Modules/Compiler/HP-CXX.cmake6
-rw-r--r--Modules/Compiler/HP-Fortran.cmake2
-rw-r--r--Modules/Compiler/Intel-ASM.cmake22
-rw-r--r--Modules/Compiler/Intel-C.cmake16
-rw-r--r--Modules/Compiler/Intel-CXX.cmake16
-rw-r--r--Modules/Compiler/Intel-Fortran.cmake14
-rw-r--r--Modules/Compiler/MIPSpro-C.cmake2
-rw-r--r--Modules/Compiler/MIPSpro-CXX.cmake2
-rw-r--r--Modules/Compiler/MIPSpro-Fortran.cmake2
-rw-r--r--Modules/Compiler/PGI-Fortran.cmake10
-rw-r--r--Modules/Compiler/PathScale-Fortran.cmake2
-rw-r--r--Modules/Compiler/SunPro-ASM.cmake30
-rw-r--r--Modules/Compiler/SunPro-C.cmake38
-rw-r--r--Modules/Compiler/SunPro-CXX.cmake40
-rw-r--r--Modules/Compiler/SunPro-Fortran.cmake26
-rw-r--r--Modules/Compiler/TinyCC-C.cmake12
-rw-r--r--Modules/Compiler/XL-ASM.cmake14
-rw-r--r--Modules/Compiler/XL-C.cmake2
-rw-r--r--Modules/Compiler/XL-CXX.cmake4
-rw-r--r--Modules/Compiler/XL-Fortran.cmake10
-rw-r--r--Modules/CompilerId/VS-10.vcxproj.in53
-rw-r--r--Modules/CompilerId/VS-6.dsp.in48
-rw-r--r--Modules/CompilerId/VS-7.vcproj.in60
-rw-r--r--Modules/CompilerId/Xcode-1.pbxproj.in120
-rw-r--r--Modules/CompilerId/Xcode-2.pbxproj.in119
-rw-r--r--Modules/CompilerId/Xcode-3.pbxproj.in107
-rw-r--r--Modules/Dart.cmake88
-rw-r--r--Modules/DartConfiguration.tcl.in1
-rw-r--r--Modules/DeployQt4.cmake8
-rw-r--r--Modules/Documentation.cmake30
-rw-r--r--Modules/ExternalProject.cmake313
-rw-r--r--Modules/FLTKCompatibility.cmake2
-rw-r--r--Modules/FeatureSummary.cmake378
-rw-r--r--Modules/FindALSA.cmake2
-rw-r--r--Modules/FindASPELL.cmake10
-rw-r--r--Modules/FindAVIFile.cmake22
-rw-r--r--Modules/FindArmadillo.cmake13
-rw-r--r--Modules/FindBISON.cmake132
-rw-r--r--Modules/FindBLAS.cmake150
-rw-r--r--Modules/FindBZip2.cmake34
-rw-r--r--Modules/FindBoost.cmake95
-rw-r--r--Modules/FindBullet.cmake4
-rw-r--r--Modules/FindCABLE.cmake44
-rw-r--r--Modules/FindCUDA.cmake154
-rw-r--r--Modules/FindCUDA/make2cmake.cmake2
-rw-r--r--Modules/FindCUDA/parse_cubin.cmake14
-rw-r--r--Modules/FindCUDA/run_nvcc.cmake16
-rw-r--r--Modules/FindCURL.cmake44
-rw-r--r--Modules/FindCVS.cmake14
-rw-r--r--Modules/FindCoin3D.cmake72
-rw-r--r--Modules/FindCups.cmake20
-rw-r--r--Modules/FindCurses.cmake146
-rw-r--r--Modules/FindCxxTest.cmake10
-rw-r--r--Modules/FindCygwin.cmake8
-rw-r--r--Modules/FindDart.cmake26
-rw-r--r--Modules/FindDevIL.cmake22
-rw-r--r--Modules/FindDoxygen.cmake48
-rw-r--r--Modules/FindEXPAT.cmake28
-rw-r--r--Modules/FindFLEX.cmake106
-rw-r--r--Modules/FindFLTK.cmake304
-rw-r--r--Modules/FindFLTK2.cmake256
-rw-r--r--Modules/FindFreetype.cmake77
-rw-r--r--Modules/FindGCCXML.cmake4
-rw-r--r--Modules/FindGDAL.cmake26
-rw-r--r--Modules/FindGIF.cmake38
-rw-r--r--Modules/FindGLEW.cmake30
-rw-r--r--Modules/FindGLU.cmake12
-rw-r--r--Modules/FindGLUT.cmake60
-rw-r--r--Modules/FindGTK.cmake82
-rw-r--r--Modules/FindGTK2.cmake50
-rw-r--r--Modules/FindGTest.cmake2
-rw-r--r--Modules/FindGettext.cmake217
-rw-r--r--Modules/FindGit.cmake2
-rw-r--r--Modules/FindGnuTLS.cmake36
-rw-r--r--Modules/FindGnuplot.cmake26
-rw-r--r--Modules/FindHDF5.cmake62
-rw-r--r--Modules/FindHSPELL.cmake23
-rw-r--r--Modules/FindHTMLHelp.cmake20
-rw-r--r--Modules/FindHg.cmake48
-rw-r--r--Modules/FindITK.cmake42
-rw-r--r--Modules/FindImageMagick.cmake148
-rw-r--r--Modules/FindJNI.cmake204
-rw-r--r--Modules/FindJPEG.cmake26
-rw-r--r--Modules/FindJasper.cmake34
-rw-r--r--Modules/FindJava.cmake86
-rw-r--r--Modules/FindKDE3.cmake232
-rw-r--r--Modules/FindKDE4.cmake90
-rw-r--r--Modules/FindLAPACK.cmake118
-rw-r--r--Modules/FindLATEX.cmake52
-rw-r--r--Modules/FindLibLZMA.cmake37
-rw-r--r--Modules/FindLibXml2.cmake34
-rw-r--r--Modules/FindLibXslt.cmake34
-rw-r--r--Modules/FindLua50.cmake50
-rw-r--r--Modules/FindLua51.cmake44
-rw-r--r--Modules/FindMFC.cmake50
-rw-r--r--Modules/FindMPEG.cmake18
-rw-r--r--Modules/FindMPEG2.cmake26
-rw-r--r--Modules/FindMPI.cmake5
-rw-r--r--Modules/FindMatlab.cmake74
-rw-r--r--Modules/FindMotif.cmake16
-rw-r--r--Modules/FindOpenAL.cmake40
-rw-r--r--Modules/FindOpenGL.cmake130
-rw-r--r--Modules/FindOpenMP.cmake16
-rw-r--r--Modules/FindOpenSSL.cmake151
-rw-r--r--Modules/FindOpenSceneGraph.cmake100
-rw-r--r--Modules/FindOpenThreads.cmake76
-rw-r--r--Modules/FindPHP4.cmake38
-rw-r--r--Modules/FindPNG.cmake22
-rw-r--r--Modules/FindPackageHandleStandardArgs.cmake305
-rw-r--r--Modules/FindPackageMessage.cmake26
-rw-r--r--Modules/FindPerl.cmake54
-rw-r--r--Modules/FindPerlLibs.cmake32
-rw-r--r--Modules/FindPhysFS.cmake14
-rw-r--r--Modules/FindPike.cmake8
-rw-r--r--Modules/FindPkgConfig.cmake106
-rw-r--r--Modules/FindPostgreSQL.cmake20
-rw-r--r--Modules/FindProducer.cmake30
-rw-r--r--Modules/FindProtobuf.cmake4
-rw-r--r--Modules/FindPythonInterp.cmake12
-rw-r--r--Modules/FindPythonLibs.cmake238
-rw-r--r--Modules/FindQt.cmake182
-rw-r--r--Modules/FindQt3.cmake334
-rw-r--r--Modules/FindQt4.cmake995
-rw-r--r--Modules/FindQuickTime.cmake36
-rw-r--r--Modules/FindRTI.cmake57
-rw-r--r--Modules/FindRuby.cmake224
-rw-r--r--Modules/FindSDL.cmake167
-rw-r--r--Modules/FindSDL_image.cmake101
-rw-r--r--Modules/FindSDL_mixer.cmake101
-rw-r--r--Modules/FindSDL_net.cmake102
-rw-r--r--Modules/FindSDL_sound.cmake496
-rw-r--r--Modules/FindSDL_ttf.cmake101
-rw-r--r--Modules/FindSWIG.cmake54
-rw-r--r--Modules/FindSelfPackers.cmake36
-rw-r--r--Modules/FindSquish.cmake103
-rw-r--r--Modules/FindSubversion.cmake80
-rw-r--r--Modules/FindTCL.cmake158
-rw-r--r--Modules/FindTIFF.cmake28
-rw-r--r--Modules/FindTclStub.cmake92
-rw-r--r--Modules/FindTclsh.cmake58
-rw-r--r--Modules/FindThreads.cmake192
-rw-r--r--Modules/FindUnixCommands.cmake42
-rw-r--r--Modules/FindVTK.cmake116
-rw-r--r--Modules/FindWget.cmake14
-rw-r--r--Modules/FindWish.cmake58
-rw-r--r--Modules/FindX11.cmake621
-rw-r--r--Modules/FindXMLRPC.cmake142
-rw-r--r--Modules/FindZLIB.cmake68
-rw-r--r--Modules/Findosg.cmake8
-rw-r--r--Modules/FindosgAnimation.cmake8
-rw-r--r--Modules/FindosgDB.cmake8
-rw-r--r--Modules/FindosgFX.cmake8
-rw-r--r--Modules/FindosgGA.cmake8
-rw-r--r--Modules/FindosgIntrospection.cmake8
-rw-r--r--Modules/FindosgManipulator.cmake8
-rw-r--r--Modules/FindosgParticle.cmake8
-rw-r--r--Modules/FindosgProducer.cmake8
-rw-r--r--Modules/FindosgShadow.cmake8
-rw-r--r--Modules/FindosgSim.cmake8
-rw-r--r--Modules/FindosgTerrain.cmake8
-rw-r--r--Modules/FindosgText.cmake8
-rw-r--r--Modules/FindosgUtil.cmake8
-rw-r--r--Modules/FindosgViewer.cmake8
-rw-r--r--Modules/FindosgVolume.cmake8
-rw-r--r--Modules/FindosgWidget.cmake8
-rw-r--r--Modules/Findosg_functions.cmake45
-rw-r--r--Modules/FindwxWidgets.cmake748
-rw-r--r--Modules/FindwxWindows.cmake429
-rw-r--r--Modules/FortranCInterface.cmake8
-rw-r--r--Modules/FortranCInterface/Detect.cmake2
-rw-r--r--Modules/GetPrerequisites.cmake195
-rw-r--r--Modules/ITKCompatibility.cmake2
-rw-r--r--Modules/InstallRequiredSystemLibraries.cmake321
-rw-r--r--Modules/KDE3Macros.cmake399
-rw-r--r--Modules/MacroAddFileDependencies.cmake22
-rw-r--r--Modules/NSIS.template.in150
-rw-r--r--Modules/Platform/AIX.cmake20
-rw-r--r--Modules/Platform/BSDOS.cmake2
-rw-r--r--Modules/Platform/BeOS.cmake20
-rw-r--r--Modules/Platform/BlueGeneL.cmake54
-rw-r--r--Modules/Platform/CYGWIN-CXX.cmake7
-rw-r--r--Modules/Platform/CYGWIN-GNU.cmake8
-rw-r--r--Modules/Platform/CYGWIN-windres.cmake2
-rw-r--r--Modules/Platform/CYGWIN.cmake26
-rw-r--r--Modules/Platform/Catamount.cmake42
-rw-r--r--Modules/Platform/Darwin-CXX.cmake7
-rw-r--r--Modules/Platform/Darwin-Clang-C.cmake2
-rw-r--r--Modules/Platform/Darwin-Clang-CXX.cmake2
-rw-r--r--Modules/Platform/Darwin-Clang.cmake26
-rw-r--r--Modules/Platform/Darwin-GNU-C.cmake2
-rw-r--r--Modules/Platform/Darwin-GNU-CXX.cmake2
-rw-r--r--Modules/Platform/Darwin-GNU.cmake11
-rw-r--r--Modules/Platform/Darwin-XL-C.cmake6
-rw-r--r--Modules/Platform/Darwin-XL-CXX.cmake6
-rw-r--r--Modules/Platform/Darwin-icc.cmake156
-rw-r--r--Modules/Platform/Darwin-icpc.cmake6
-rw-r--r--Modules/Platform/Darwin.cmake374
-rw-r--r--Modules/Platform/DragonFly.cmake2
-rw-r--r--Modules/Platform/FreeBSD.cmake38
-rw-r--r--Modules/Platform/GNU.cmake20
-rw-r--r--Modules/Platform/Generic-ADSP-ASM.cmake8
-rw-r--r--Modules/Platform/Generic-ADSP-C.cmake20
-rw-r--r--Modules/Platform/Generic-ADSP-CXX.cmake20
-rw-r--r--Modules/Platform/Generic-ADSP-Common.cmake132
-rw-r--r--Modules/Platform/Generic-SDCC-C.cmake58
-rw-r--r--Modules/Platform/Generic.cmake10
-rw-r--r--Modules/Platform/HP-UX.cmake48
-rw-r--r--Modules/Platform/Haiku.cmake40
-rw-r--r--Modules/Platform/IRIX.cmake54
-rw-r--r--Modules/Platform/IRIX64.cmake100
-rw-r--r--Modules/Platform/Linux-CXX.cmake3
-rw-r--r--Modules/Platform/Linux-Clang-C.cmake2
-rw-r--r--Modules/Platform/Linux-Clang-CXX.cmake2
-rw-r--r--Modules/Platform/Linux-GNU-C.cmake2
-rw-r--r--Modules/Platform/Linux-GNU-CXX.cmake2
-rw-r--r--Modules/Platform/Linux-GNU-Fortran.cmake2
-rw-r--r--Modules/Platform/Linux-Intel-C.cmake2
-rw-r--r--Modules/Platform/Linux-Intel-CXX.cmake2
-rw-r--r--Modules/Platform/Linux-Intel-Fortran.cmake2
-rw-r--r--Modules/Platform/Linux-Intel.cmake2
-rw-r--r--Modules/Platform/Linux-SunPro-CXX.cmake2
-rw-r--r--Modules/Platform/Linux-TinyCC-C.cmake8
-rw-r--r--Modules/Platform/Linux-XL-C.cmake2
-rw-r--r--Modules/Platform/Linux-XL-CXX.cmake2
-rw-r--r--Modules/Platform/Linux-XL-Fortran.cmake2
-rw-r--r--Modules/Platform/Linux-como.cmake10
-rw-r--r--Modules/Platform/Linux.cmake50
-rw-r--r--Modules/Platform/MP-RAS.cmake22
-rw-r--r--Modules/Platform/NetBSD.cmake28
-rw-r--r--Modules/Platform/OSF1.cmake78
-rw-r--r--Modules/Platform/OpenBSD.cmake14
-rw-r--r--Modules/Platform/OpenVMS.cmake8
-rw-r--r--Modules/Platform/QNX.cmake38
-rw-r--r--Modules/Platform/RISCos.cmake10
-rw-r--r--Modules/Platform/SCO_SV.cmake4
-rw-r--r--Modules/Platform/SINIX.cmake8
-rw-r--r--Modules/Platform/SunOS.cmake40
-rw-r--r--Modules/Platform/Tru64.cmake2
-rw-r--r--Modules/Platform/ULTRIX.cmake10
-rw-r--r--Modules/Platform/UNIX_SV.cmake10
-rw-r--r--Modules/Platform/UnixPaths.cmake34
-rw-r--r--Modules/Platform/UnixWare.cmake10
-rw-r--r--Modules/Platform/Windows-CXX.cmake7
-rw-r--r--Modules/Platform/Windows-Embarcadero.cmake40
-rw-r--r--Modules/Platform/Windows-GNU.cmake6
-rw-r--r--Modules/Platform/Windows-Intel-Fortran.cmake10
-rw-r--r--Modules/Platform/Windows-Intel.cmake101
-rw-r--r--Modules/Platform/Windows-MSVC-C.cmake2
-rw-r--r--Modules/Platform/Windows-MSVC-CXX.cmake3
-rw-r--r--Modules/Platform/Windows-MSVC.cmake241
-rw-r--r--Modules/Platform/Windows-cl.cmake253
-rw-r--r--Modules/Platform/Windows-cl.cmake.in14
-rw-r--r--Modules/Platform/Windows-df.cmake97
-rw-r--r--Modules/Platform/Windows-wcl386.cmake159
-rw-r--r--Modules/Platform/Windows-windres.cmake2
-rw-r--r--Modules/Platform/Windows.cmake48
-rw-r--r--Modules/Platform/WindowsCE-MSVC-C.cmake1
-rw-r--r--Modules/Platform/WindowsCE-MSVC-CXX.cmake1
-rw-r--r--Modules/Platform/WindowsCE-MSVC.cmake1
-rw-r--r--Modules/Platform/WindowsCE.cmake1
-rw-r--r--Modules/Platform/WindowsPaths.cmake56
-rw-r--r--Modules/Platform/Xenix.cmake2
-rw-r--r--Modules/Platform/cl.cmake62
-rw-r--r--Modules/Platform/eCos.cmake88
-rw-r--r--Modules/Platform/gas.cmake20
-rw-r--r--Modules/Platform/kFreeBSD.cmake4
-rw-r--r--Modules/Platform/syllable.cmake28
-rw-r--r--Modules/ProcessorCount.cmake7
-rw-r--r--Modules/Qt4ConfigDependentSettings.cmake336
-rw-r--r--Modules/Qt4Macros.cmake565
-rw-r--r--Modules/SelectLibraryConfigurations.cmake48
-rw-r--r--Modules/SquishTestScript.cmake10
-rw-r--r--Modules/SystemInformation.cmake106
-rw-r--r--Modules/TestBigEndian.cmake136
-rw-r--r--Modules/TestCXXAcceptsFlag.cmake28
-rw-r--r--Modules/TestForANSIForScope.cmake26
-rw-r--r--Modules/TestForANSIStreamHeaders.cmake18
-rw-r--r--Modules/TestForAnsiForScope.cxx2
-rw-r--r--Modules/TestForSSTREAM.cmake26
-rw-r--r--Modules/TestForSSTREAM.cxx2
-rw-r--r--Modules/TestForSTDNamespace.cmake26
-rw-r--r--Modules/TestForSTDNamespace.cxx2
-rw-r--r--Modules/UseEcos.cmake190
-rw-r--r--Modules/UseJava.cmake118
-rw-r--r--Modules/UseJavaClassFilelist.cmake16
-rw-r--r--Modules/UseJavaSymlinks.cmake6
-rw-r--r--Modules/UsePkgConfig.cmake52
-rw-r--r--Modules/UseQt4.cmake150
-rw-r--r--Modules/UseSWIG.cmake264
-rw-r--r--Modules/UseVTK40.cmake8
-rw-r--r--Modules/UseVTKBuildSettings40.cmake34
-rw-r--r--Modules/UseVTKConfig40.cmake378
-rw-r--r--Modules/Use_wxWindows.cmake50
-rw-r--r--Modules/UsewxWidgets.cmake80
-rw-r--r--Modules/VTKCompatibility.cmake32
-rw-r--r--Modules/WriteBasicConfigVersionFile.cmake4
-rw-r--r--Modules/ecos_clean.cmake6
-rw-r--r--Modules/kde3uic.cmake10
-rw-r--r--Modules/readme.txt8
-rw-r--r--Source/CMakeLists.txt277
-rwxr-xr-xSource/CMakeVersion.bash2
-rw-r--r--Source/CMakeVersion.cmake10
-rw-r--r--Source/CPack/OSXScriptLauncher.cxx8
-rw-r--r--Source/CPack/bills-comments.txt22
-rw-r--r--Source/CPack/cmCPackArchiveGenerator.h2
-rw-r--r--Source/CPack/cmCPackBundleGenerator.cxx4
-rw-r--r--Source/CPack/cmCPackComponentGroup.cxx2
-rw-r--r--Source/CPack/cmCPackComponentGroup.h4
-rw-r--r--Source/CPack/cmCPackCygwinBinaryGenerator.cxx10
-rw-r--r--Source/CPack/cmCPackCygwinSourceGenerator.cxx16
-rw-r--r--Source/CPack/cmCPackDebGenerator.cxx22
-rw-r--r--Source/CPack/cmCPackDocumentVariables.cxx25
-rw-r--r--Source/CPack/cmCPackDragNDropGenerator.cxx34
-rw-r--r--Source/CPack/cmCPackGenerator.cxx90
-rw-r--r--Source/CPack/cmCPackGenerator.h2
-rw-r--r--Source/CPack/cmCPackNSISGenerator.cxx80
-rw-r--r--Source/CPack/cmCPackOSXX11Generator.cxx24
-rw-r--r--Source/CPack/cmCPackPackageMakerGenerator.cxx92
-rw-r--r--Source/CPack/cmCPackPackageMakerGenerator.h10
-rw-r--r--Source/CPack/cmCPackRPMGenerator.cxx2
-rw-r--r--Source/CPack/cmCPackSTGZGenerator.cxx4
-rw-r--r--Source/CPack/cmCPackTarBZip2Generator.cxx2
-rw-r--r--Source/CPack/cmCPackTarCompressGenerator.cxx2
-rw-r--r--Source/CPack/cygwin.readme6
-rw-r--r--Source/CTest/cmCTestBatchTestHandler.cxx2
-rw-r--r--Source/CTest/cmCTestBatchTestHandler.h2
-rw-r--r--Source/CTest/cmCTestBuildAndTestHandler.cxx26
-rw-r--r--Source/CTest/cmCTestBuildAndTestHandler.h6
-rw-r--r--Source/CTest/cmCTestBuildCommand.cxx2
-rw-r--r--Source/CTest/cmCTestBuildHandler.cxx12
-rw-r--r--Source/CTest/cmCTestConfigureHandler.cxx2
-rw-r--r--Source/CTest/cmCTestCoverageHandler.cxx78
-rw-r--r--Source/CTest/cmCTestEmptyBinaryDirectoryCommand.cxx4
-rw-r--r--Source/CTest/cmCTestGenericHandler.cxx6
-rw-r--r--Source/CTest/cmCTestGenericHandler.h2
-rw-r--r--Source/CTest/cmCTestHandlerCommand.cxx2
-rw-r--r--Source/CTest/cmCTestMemCheckCommand.h2
-rw-r--r--Source/CTest/cmCTestMemCheckHandler.cxx211
-rw-r--r--Source/CTest/cmCTestMemCheckHandler.h10
-rw-r--r--Source/CTest/cmCTestMultiProcessHandler.cxx14
-rw-r--r--Source/CTest/cmCTestMultiProcessHandler.h6
-rw-r--r--Source/CTest/cmCTestReadCustomFilesCommand.h6
-rw-r--r--Source/CTest/cmCTestRunScriptCommand.h6
-rw-r--r--Source/CTest/cmCTestRunTest.cxx52
-rw-r--r--Source/CTest/cmCTestRunTest.h2
-rw-r--r--Source/CTest/cmCTestSVN.cxx333
-rw-r--r--Source/CTest/cmCTestSVN.h54
-rw-r--r--Source/CTest/cmCTestScriptHandler.h2
-rw-r--r--Source/CTest/cmCTestSleepCommand.cxx2
-rw-r--r--Source/CTest/cmCTestSleepCommand.h6
-rw-r--r--Source/CTest/cmCTestTestCommand.cxx4
-rw-r--r--Source/CTest/cmCTestTestCommand.h2
-rw-r--r--Source/CTest/cmCTestTestHandler.cxx5
-rw-r--r--Source/CTest/cmCTestUpdateCommand.cxx2
-rw-r--r--Source/CTest/cmCTestVC.h4
-rw-r--r--Source/CTest/cmProcess.cxx10
-rw-r--r--Source/CTest/cmProcess.h4
-rw-r--r--Source/CursesDialog/CMakeLists.txt14
-rw-r--r--Source/CursesDialog/cmCursesBoolWidget.cxx12
-rw-r--r--Source/CursesDialog/cmCursesBoolWidget.h2
-rw-r--r--Source/CursesDialog/cmCursesCacheEntryComposite.cxx10
-rw-r--r--Source/CursesDialog/cmCursesCacheEntryComposite.h2
-rw-r--r--Source/CursesDialog/cmCursesDummyWidget.cxx2
-rw-r--r--Source/CursesDialog/cmCursesDummyWidget.h2
-rw-r--r--Source/CursesDialog/cmCursesFilePathWidget.cxx2
-rw-r--r--Source/CursesDialog/cmCursesForm.h4
-rw-r--r--Source/CursesDialog/cmCursesLabelWidget.cxx2
-rw-r--r--Source/CursesDialog/cmCursesLabelWidget.h2
-rw-r--r--Source/CursesDialog/cmCursesLongMessageForm.cxx18
-rw-r--r--Source/CursesDialog/cmCursesLongMessageForm.h4
-rw-r--r--Source/CursesDialog/cmCursesMainForm.h10
-rw-r--r--Source/CursesDialog/cmCursesPathWidget.cxx6
-rw-r--r--Source/CursesDialog/cmCursesStringWidget.cxx30
-rw-r--r--Source/CursesDialog/cmCursesStringWidget.h2
-rw-r--r--Source/CursesDialog/cmCursesWidget.h2
-rw-r--r--Source/CursesDialog/form/CMakeLists.txt22
-rw-r--r--Source/QtDialog/CMakeLists.txt218
-rw-r--r--Source/QtDialog/CMakeSetup.cxx18
-rw-r--r--Source/QtDialog/Compilers.h2
-rw-r--r--Source/QtDialog/FirstConfigure.cxx16
-rw-r--r--Source/QtDialog/FirstConfigure.h26
-rw-r--r--Source/QtDialog/QCMake.cxx28
-rw-r--r--Source/QtDialog/QCMake.h12
-rw-r--r--Source/QtDialog/QCMakeCacheView.cxx70
-rw-r--r--Source/QtDialog/QCMakeCacheView.h18
-rw-r--r--Source/QtDialog/QCMakeWidgets.cxx2
-rw-r--r--Source/QtDialog/QMacInstallDialog.cxx18
-rw-r--r--Source/QtDialog/QtDialogCPack.cmake.in22
-rw-r--r--Source/cmAddCustomCommandCommand.h10
-rw-r--r--Source/cmAddCustomTargetCommand.h10
-rw-r--r--Source/cmAddDependenciesCommand.h6
-rw-r--r--Source/cmAddLibraryCommand.h10
-rw-r--r--Source/cmAddSubDirectoryCommand.cxx4
-rw-r--r--Source/cmAddSubDirectoryCommand.h6
-rw-r--r--Source/cmAddTestCommand.h8
-rw-r--r--Source/cmAuxSourceDirectoryCommand.cxx10
-rw-r--r--Source/cmAuxSourceDirectoryCommand.h8
-rw-r--r--Source/cmBreakCommand.h8
-rw-r--r--Source/cmBuildCommand.h2
-rw-r--r--Source/cmBuildNameCommand.cxx6
-rw-r--r--Source/cmCMakeMinimumRequired.cxx2
-rw-r--r--Source/cmCMakeMinimumRequired.h8
-rw-r--r--Source/cmCMakePolicyCommand.h12
-rw-r--r--Source/cmCPluginAPI.cxx6
-rw-r--r--Source/cmCPluginAPI.h4
-rw-r--r--Source/cmCTest.cxx78
-rw-r--r--Source/cmCTest.h10
-rw-r--r--Source/cmCacheManager.cxx18
-rw-r--r--Source/cmCacheManager.h36
-rw-r--r--Source/cmCommand.h22
-rw-r--r--Source/cmCommandArgumentLexer.h6
-rw-r--r--Source/cmCommandArgumentLexer.in.l48
-rw-r--r--Source/cmCommandArgumentParserHelper.cxx10
-rw-r--r--Source/cmCommandArgumentParserHelper.h6
-rw-r--r--Source/cmCommandArgumentsHelper.cxx46
-rw-r--r--Source/cmCommandArgumentsHelper.h38
-rw-r--r--Source/cmComputeLinkInformation.cxx2
-rw-r--r--Source/cmConfigureFileCommand.cxx4
-rw-r--r--Source/cmConfigureFileCommand.h6
-rw-r--r--Source/cmCreateTestSourceList.h10
-rw-r--r--Source/cmCustomCommandGenerator.cxx7
-rw-r--r--Source/cmDefinePropertyCommand.h6
-rw-r--r--Source/cmDepends.cxx65
-rw-r--r--Source/cmDepends.h7
-rw-r--r--Source/cmDependsFortran.cxx2
-rw-r--r--Source/cmDependsJava.cxx2
-rw-r--r--Source/cmDependsJava.h3
-rw-r--r--Source/cmDependsJavaLexer.h4
-rw-r--r--Source/cmDependsJavaLexer.in.l16
-rw-r--r--Source/cmDependsJavaParserHelper.cxx26
-rw-r--r--Source/cmDependsJavaParserHelper.h12
-rw-r--r--Source/cmDocumentGeneratorExpressions.h30
-rw-r--r--Source/cmDocumentLocationUndefined.h4
-rw-r--r--Source/cmDocumentVariables.cxx129
-rw-r--r--Source/cmDocumentation.cxx9
-rw-r--r--Source/cmDocumentationFormatter.cxx2
-rw-r--r--Source/cmDocumentationFormatterDocbook.cxx191
-rw-r--r--Source/cmDocumentationFormatterDocbook.h2
-rw-r--r--Source/cmDocumentationFormatterHTML.cxx16
-rw-r--r--Source/cmDocumentationFormatterHTML.h2
-rw-r--r--Source/cmDocumentationFormatterText.cxx20
-rw-r--r--Source/cmDocumentationFormatterUsage.cxx4
-rw-r--r--Source/cmDocumentationSection.h14
-rw-r--r--Source/cmElseCommand.h6
-rw-r--r--Source/cmElseIfCommand.h6
-rw-r--r--Source/cmEnableLanguageCommand.cxx2
-rw-r--r--Source/cmEnableLanguageCommand.h8
-rw-r--r--Source/cmEnableTestingCommand.cxx2
-rw-r--r--Source/cmEnableTestingCommand.h10
-rw-r--r--Source/cmEndForEachCommand.cxx2
-rw-r--r--Source/cmEndForEachCommand.h8
-rw-r--r--Source/cmEndFunctionCommand.h8
-rw-r--r--Source/cmEndIfCommand.cxx2
-rw-r--r--Source/cmEndIfCommand.h6
-rw-r--r--Source/cmEndMacroCommand.h8
-rw-r--r--Source/cmEndWhileCommand.h8
-rw-r--r--Source/cmExecProgramCommand.cxx14
-rw-r--r--Source/cmExecProgramCommand.h12
-rw-r--r--Source/cmExecuteProcessCommand.cxx8
-rw-r--r--Source/cmExecutionStatus.h14
-rw-r--r--Source/cmExportBuildFileGenerator.cxx23
-rw-r--r--Source/cmExportBuildFileGenerator.h10
-rw-r--r--Source/cmExportFileGenerator.cxx56
-rw-r--r--Source/cmExportFileGenerator.h19
-rw-r--r--Source/cmExportInstallFileGenerator.cxx124
-rw-r--r--Source/cmExportInstallFileGenerator.h59
-rw-r--r--Source/cmExportLibraryDependencies.cxx2
-rw-r--r--Source/cmExportLibraryDependencies.h10
-rw-r--r--Source/cmExportSet.cxx32
-rw-r--r--Source/cmExportSet.h46
-rw-r--r--Source/cmExportSetMap.cxx34
-rw-r--r--Source/cmExportSetMap.h33
-rw-r--r--Source/cmExprLexer.h4
-rw-r--r--Source/cmExprLexer.in.l22
-rw-r--r--Source/cmExprParserHelper.cxx4
-rw-r--r--Source/cmExprParserHelper.h2
-rw-r--r--Source/cmExternalMakefileProjectGenerator.cxx2
-rw-r--r--Source/cmExternalMakefileProjectGenerator.h12
-rw-r--r--Source/cmExtraCodeBlocksGenerator.cxx93
-rw-r--r--Source/cmExtraEclipseCDT4Generator.cxx95
-rw-r--r--Source/cmExtraEclipseCDT4Generator.h5
-rw-r--r--Source/cmFLTKWrapUICommand.cxx26
-rw-r--r--Source/cmFLTKWrapUICommand.h10
-rw-r--r--Source/cmFileCommand.cxx150
-rw-r--r--Source/cmFileCommand.h21
-rw-r--r--Source/cmFileTimeComparison.cxx4
-rw-r--r--Source/cmFileTimeComparison.h4
-rw-r--r--Source/cmFindBase.cxx22
-rw-r--r--Source/cmFindBase.h4
-rw-r--r--Source/cmFindFileCommand.h6
-rw-r--r--Source/cmFindLibraryCommand.cxx116
-rw-r--r--Source/cmFindLibraryCommand.h9
-rw-r--r--Source/cmFindPackageCommand.cxx12
-rw-r--r--Source/cmFindPathCommand.cxx8
-rw-r--r--Source/cmFindPathCommand.h2
-rw-r--r--Source/cmFindProgramCommand.cxx40
-rw-r--r--Source/cmFindProgramCommand.h6
-rw-r--r--Source/cmForEachCommand.cxx14
-rw-r--r--Source/cmForEachCommand.h8
-rw-r--r--Source/cmFunctionBlocker.h2
-rw-r--r--Source/cmFunctionCommand.cxx20
-rw-r--r--Source/cmFunctionCommand.h4
-rw-r--r--Source/cmGeneratedFileStream.cxx6
-rw-r--r--Source/cmGeneratorExpression.cxx261
-rw-r--r--Source/cmGeneratorExpression.h75
-rw-r--r--Source/cmGeneratorExpressionDAGChecker.cxx106
-rw-r--r--Source/cmGeneratorExpressionDAGChecker.h44
-rw-r--r--Source/cmGeneratorExpressionEvaluator.cxx769
-rw-r--r--Source/cmGeneratorExpressionEvaluator.h127
-rw-r--r--Source/cmGeneratorExpressionLexer.cxx85
-rw-r--r--Source/cmGeneratorExpressionLexer.h58
-rw-r--r--Source/cmGeneratorExpressionParser.cxx276
-rw-r--r--Source/cmGeneratorExpressionParser.h45
-rw-r--r--Source/cmGeneratorTarget.cxx184
-rw-r--r--Source/cmGeneratorTarget.h26
-rw-r--r--Source/cmGetCMakePropertyCommand.h6
-rw-r--r--Source/cmGetDirectoryPropertyCommand.cxx8
-rw-r--r--Source/cmGetDirectoryPropertyCommand.h6
-rw-r--r--Source/cmGetFilenameComponentCommand.cxx8
-rw-r--r--Source/cmGetFilenameComponentCommand.h8
-rw-r--r--Source/cmGetPropertyCommand.h6
-rw-r--r--Source/cmGetSourceFilePropertyCommand.h6
-rw-r--r--Source/cmGetTargetPropertyCommand.h6
-rw-r--r--Source/cmGetTestPropertyCommand.h2
-rw-r--r--Source/cmGlobalBorlandMakefileGenerator.cxx6
-rw-r--r--Source/cmGlobalBorlandMakefileGenerator.h8
-rw-r--r--Source/cmGlobalGenerator.cxx131
-rw-r--r--Source/cmGlobalGenerator.h34
-rw-r--r--Source/cmGlobalJOMMakefileGenerator.cxx10
-rw-r--r--Source/cmGlobalJOMMakefileGenerator.h4
-rw-r--r--Source/cmGlobalKdevelopGenerator.cxx70
-rw-r--r--Source/cmGlobalMSYSMakefileGenerator.cxx6
-rw-r--r--Source/cmGlobalMSYSMakefileGenerator.h6
-rw-r--r--Source/cmGlobalMinGWMakefileGenerator.cxx6
-rw-r--r--Source/cmGlobalMinGWMakefileGenerator.h6
-rw-r--r--Source/cmGlobalNMakeMakefileGenerator.cxx10
-rw-r--r--Source/cmGlobalNMakeMakefileGenerator.h4
-rw-r--r--Source/cmGlobalNinjaGenerator.cxx12
-rw-r--r--Source/cmGlobalNinjaGenerator.h1
-rw-r--r--Source/cmGlobalVisualStudio10Generator.cxx19
-rw-r--r--Source/cmGlobalVisualStudio10Generator.h18
-rw-r--r--Source/cmGlobalVisualStudio10IA64Generator.cxx3
-rw-r--r--Source/cmGlobalVisualStudio10Win64Generator.cxx3
-rw-r--r--Source/cmGlobalVisualStudio11ARMGenerator.cxx15
-rw-r--r--Source/cmGlobalVisualStudio11ARMGenerator.h4
-rw-r--r--Source/cmGlobalVisualStudio11Generator.cxx13
-rw-r--r--Source/cmGlobalVisualStudio11Generator.h1
-rw-r--r--Source/cmGlobalVisualStudio11Win64Generator.cxx8
-rw-r--r--Source/cmGlobalVisualStudio11Win64Generator.h2
-rw-r--r--Source/cmGlobalVisualStudio6Generator.cxx40
-rw-r--r--Source/cmGlobalVisualStudio6Generator.h20
-rw-r--r--Source/cmGlobalVisualStudio71Generator.cxx40
-rw-r--r--Source/cmGlobalVisualStudio71Generator.h13
-rw-r--r--Source/cmGlobalVisualStudio7Generator.cxx71
-rw-r--r--Source/cmGlobalVisualStudio7Generator.h1
-rw-r--r--Source/cmGlobalVisualStudio8Generator.cxx15
-rw-r--r--Source/cmGlobalVisualStudio8Generator.h9
-rw-r--r--Source/cmGlobalVisualStudio8Win64Generator.cxx13
-rw-r--r--Source/cmGlobalVisualStudio8Win64Generator.h11
-rw-r--r--Source/cmGlobalVisualStudio9Generator.cxx10
-rw-r--r--Source/cmGlobalVisualStudio9Generator.h13
-rw-r--r--Source/cmGlobalVisualStudio9IA64Generator.cxx11
-rw-r--r--Source/cmGlobalVisualStudio9IA64Generator.h3
-rw-r--r--Source/cmGlobalVisualStudio9Win64Generator.cxx11
-rw-r--r--Source/cmGlobalVisualStudio9Win64Generator.h11
-rw-r--r--Source/cmGlobalVisualStudioGenerator.cxx10
-rw-r--r--Source/cmGlobalVisualStudioGenerator.h6
-rw-r--r--Source/cmGlobalWatcomWMakeGenerator.cxx6
-rw-r--r--Source/cmGlobalWatcomWMakeGenerator.h6
-rw-r--r--Source/cmGlobalXCodeGenerator.cxx56
-rw-r--r--Source/cmGlobalXCodeGenerator.h36
-rw-r--r--Source/cmHexFileConverter.cxx12
-rw-r--r--Source/cmHexFileConverter.h2
-rw-r--r--Source/cmIfCommand.cxx16
-rw-r--r--Source/cmIfCommand.h27
-rw-r--r--Source/cmIncludeDirectoryCommand.cxx22
-rw-r--r--Source/cmIncludeDirectoryCommand.h6
-rw-r--r--Source/cmIncludeExternalMSProjectCommand.cxx4
-rw-r--r--Source/cmIncludeExternalMSProjectCommand.h8
-rw-r--r--Source/cmIncludeRegularExpressionCommand.cxx4
-rw-r--r--Source/cmIncludeRegularExpressionCommand.h8
-rw-r--r--Source/cmInstallCommand.cxx19
-rw-r--r--Source/cmInstallCommand.h4
-rw-r--r--Source/cmInstallExportGenerator.cxx18
-rw-r--r--Source/cmInstallExportGenerator.h18
-rw-r--r--Source/cmInstallFilesCommand.h10
-rw-r--r--Source/cmInstallProgramsCommand.h8
-rw-r--r--Source/cmInstallTargetGenerator.cxx30
-rw-r--r--Source/cmInstallTargetGenerator.h9
-rw-r--r--Source/cmInstallTargetsCommand.h8
-rw-r--r--Source/cmLinkDirectoriesCommand.h10
-rw-r--r--Source/cmLinkLibrariesCommand.cxx6
-rw-r--r--Source/cmLinkLibrariesCommand.h8
-rw-r--r--Source/cmListCommand.cxx26
-rw-r--r--Source/cmListFileCache.cxx20
-rw-r--r--Source/cmListFileCache.h8
-rw-r--r--Source/cmListFileLexer.c44
-rw-r--r--Source/cmLoadCacheCommand.cxx18
-rw-r--r--Source/cmLoadCacheCommand.h10
-rw-r--r--Source/cmLoadCommandCommand.cxx32
-rw-r--r--Source/cmLoadCommandCommand.h8
-rw-r--r--Source/cmLocalGenerator.cxx221
-rw-r--r--Source/cmLocalGenerator.h36
-rw-r--r--Source/cmLocalVisualStudio10Generator.cxx12
-rw-r--r--Source/cmLocalVisualStudio10Generator.h2
-rw-r--r--Source/cmLocalVisualStudio6Generator.cxx309
-rw-r--r--Source/cmLocalVisualStudio6Generator.h12
-rw-r--r--Source/cmLocalVisualStudio7Generator.cxx113
-rw-r--r--Source/cmLocalVisualStudio7Generator.h16
-rw-r--r--Source/cmMacroCommand.cxx12
-rw-r--r--Source/cmMacroCommand.h4
-rw-r--r--Source/cmMakeDepend.cxx34
-rw-r--r--Source/cmMakeDepend.h34
-rw-r--r--Source/cmMakeDirectoryCommand.h8
-rw-r--r--Source/cmMakefile.cxx18
-rw-r--r--Source/cmMakefile.h19
-rw-r--r--Source/cmMakefileExecutableTargetGenerator.cxx22
-rw-r--r--Source/cmMakefileLibraryTargetGenerator.cxx19
-rw-r--r--Source/cmMakefileTargetGenerator.cxx71
-rw-r--r--Source/cmMarkAsAdvancedCommand.cxx2
-rw-r--r--Source/cmMarkAsAdvancedCommand.h6
-rw-r--r--Source/cmMathCommand.cxx2
-rw-r--r--Source/cmMathCommand.h8
-rw-r--r--Source/cmMessageCommand.h6
-rw-r--r--Source/cmNinjaNormalTargetGenerator.cxx87
-rw-r--r--Source/cmNinjaTargetGenerator.cxx195
-rw-r--r--Source/cmNinjaTargetGenerator.h11
-rw-r--r--Source/cmObject.h4
-rw-r--r--Source/cmOptionCommand.cxx4
-rw-r--r--Source/cmOptionCommand.h6
-rw-r--r--Source/cmOutputRequiredFilesCommand.cxx18
-rw-r--r--Source/cmOutputRequiredFilesCommand.h6
-rw-r--r--Source/cmProjectCommand.cxx6
-rw-r--r--Source/cmProjectCommand.h8
-rw-r--r--Source/cmProperty.h2
-rw-r--r--Source/cmPropertyDefinition.h6
-rw-r--r--Source/cmPropertyDefinitionMap.cxx8
-rw-r--r--Source/cmPropertyDefinitionMap.h2
-rw-r--r--Source/cmPropertyMap.cxx10
-rw-r--r--Source/cmPropertyMap.h4
-rw-r--r--Source/cmQTWrapCPPCommand.cxx2
-rw-r--r--Source/cmQTWrapCPPCommand.h8
-rw-r--r--Source/cmQTWrapUICommand.cxx2
-rw-r--r--Source/cmQTWrapUICommand.h8
-rw-r--r--Source/cmQtAutomoc.cxx150
-rw-r--r--Source/cmQtAutomoc.h6
-rw-r--r--Source/cmRemoveCommand.cxx10
-rw-r--r--Source/cmRemoveCommand.h10
-rw-r--r--Source/cmRemoveDefinitionsCommand.h12
-rw-r--r--Source/cmReturnCommand.h8
-rw-r--r--Source/cmSeparateArgumentsCommand.h10
-rw-r--r--Source/cmSetCommand.cxx20
-rw-r--r--Source/cmSetCommand.h10
-rw-r--r--Source/cmSetDirectoryPropertiesCommand.cxx14
-rw-r--r--Source/cmSetDirectoryPropertiesCommand.h6
-rw-r--r--Source/cmSetSourceFilesPropertiesCommand.cxx8
-rw-r--r--Source/cmSetSourceFilesPropertiesCommand.h6
-rw-r--r--Source/cmSetTargetPropertiesCommand.cxx8
-rw-r--r--Source/cmSetTargetPropertiesCommand.h12
-rw-r--r--Source/cmSetTestsPropertiesCommand.cxx12
-rw-r--r--Source/cmSetTestsPropertiesCommand.h4
-rw-r--r--Source/cmSiteNameCommand.cxx10
-rw-r--r--Source/cmSiteNameCommand.h8
-rw-r--r--Source/cmSourceFile.cxx30
-rw-r--r--Source/cmSourceFile.h2
-rw-r--r--Source/cmSourceGroup.cxx10
-rw-r--r--Source/cmSourceGroup.h22
-rw-r--r--Source/cmSourceGroupCommand.cxx8
-rw-r--r--Source/cmSourceGroupCommand.h8
-rw-r--r--Source/cmStandardIncludes.h16
-rw-r--r--Source/cmStringCommand.cxx72
-rw-r--r--Source/cmStringCommand.h9
-rw-r--r--Source/cmSubdirCommand.cxx14
-rw-r--r--Source/cmSubdirCommand.h8
-rw-r--r--Source/cmSubdirDependsCommand.h6
-rw-r--r--Source/cmSystemTools.cxx7
-rw-r--r--Source/cmSystemTools.h3
-rw-r--r--Source/cmTarget.cxx300
-rw-r--r--Source/cmTarget.h34
-rw-r--r--Source/cmTargetExport.h39
-rw-r--r--Source/cmTargetLinkLibrariesCommand.cxx4
-rw-r--r--Source/cmTest.cxx10
-rw-r--r--Source/cmTest.h2
-rw-r--r--Source/cmTestGenerator.cxx8
-rw-r--r--Source/cmTryRunCommand.h10
-rw-r--r--Source/cmUseMangledMesaCommand.cxx12
-rw-r--r--Source/cmUtilitySourceCommand.cxx22
-rw-r--r--Source/cmUtilitySourceCommand.h4
-rw-r--r--Source/cmVS11CLFlagTable.h291
-rw-r--r--Source/cmVS11LibFlagTable.h102
-rw-r--r--Source/cmVS11LinkFlagTable.h343
-rw-r--r--Source/cmVariableRequiresCommand.cxx10
-rw-r--r--Source/cmVariableRequiresCommand.h10
-rw-r--r--Source/cmVariableWatch.cxx8
-rw-r--r--Source/cmVariableWatch.h4
-rw-r--r--Source/cmVariableWatchCommand.cxx2
-rw-r--r--Source/cmVariableWatchCommand.h6
-rw-r--r--Source/cmVisualStudio10TargetGenerator.cxx180
-rw-r--r--Source/cmVisualStudio10TargetGenerator.h10
-rw-r--r--Source/cmVisualStudioGeneratorOptions.cxx4
-rw-r--r--Source/cmWhileCommand.h10
-rw-r--r--Source/cmWin32ProcessExecution.cxx228
-rw-r--r--Source/cmWin32ProcessExecution.h18
-rw-r--r--Source/cmWriteFileCommand.cxx2
-rw-r--r--Source/cmWriteFileCommand.h6
-rw-r--r--Source/cmXCode21Object.cxx8
-rw-r--r--Source/cmXCodeObject.cxx24
-rw-r--r--Source/cmXCodeObject.h28
-rw-r--r--Source/cmXMLParser.cxx10
-rw-r--r--Source/cmXMLParser.h24
-rw-r--r--Source/cmake.cxx34
-rw-r--r--Source/cmakewizard.cxx2
-rw-r--r--Source/cmakewizard.h12
-rw-r--r--Source/cmakexbuild.cxx4
-rw-r--r--Source/cmcldeps.cxx4
-rwxr-xr-xSource/cmparseMSBuildXML.py47
-rw-r--r--Source/cmw9xcom.cxx4
-rw-r--r--Templates/CMakeVisualStudio6Configurations.cmake4
-rw-r--r--Templates/CTestScript.cmake.in30
-rw-r--r--Templates/DLLHeader.dsptemplate16
-rw-r--r--Templates/EXEHeader.dsptemplate18
-rw-r--r--Templates/EXEWinHeader.dsptemplate16
-rw-r--r--Templates/TestDriver.cxx.in8
-rwxr-xr-xTemplates/cygwin-package.sh.in12
-rw-r--r--Templates/staticLibHeader.dsptemplate16
-rw-r--r--Tests/ArgumentExpansion/CMakeLists.txt10
-rw-r--r--Tests/Assembler/CMakeLists.txt16
-rw-r--r--Tests/BuildDepends/CMakeLists.txt72
-rw-r--r--Tests/BuildDepends/Project/CMakeLists.txt16
-rw-r--r--Tests/BundleGeneratorTest/CMakeLists.txt34
-rw-r--r--Tests/BundleTest/BundleSubDir/CMakeLists.txt14
-rw-r--r--Tests/BundleTest/CMakeLists.txt100
-rw-r--r--Tests/BundleUtilities/bundleutils.cmake4
-rw-r--r--Tests/CMakeBuildTest.cmake.in28
-rw-r--r--Tests/CMakeLists.txt1463
-rw-r--r--Tests/CMakeOnly/AllFindModules/CMakeLists.txt16
-rw-r--r--Tests/CMakeOnly/CMakeLists.txt10
-rw-r--r--Tests/CMakeOnly/CheckCXXSymbolExists/CMakeLists.txt50
-rw-r--r--Tests/CMakeOnly/CheckSymbolExists/CMakeLists.txt38
-rw-r--r--Tests/CMakeOnly/CompilerIdC/CMakeLists.txt14
-rw-r--r--Tests/CMakeOnly/CompilerIdCXX/CMakeLists.txt14
-rw-r--r--Tests/CMakeOnly/CompilerIdFortran/CMakeLists.txt22
-rw-r--r--Tests/CMakeOnly/SelectLibraryConfigurations/CMakeLists.txt64
-rw-r--r--Tests/CMakeOnly/find_library/CMakeLists.txt61
-rw-r--r--Tests/CMakeOnly/find_library/lib/64/libtest2.a0
-rw-r--r--Tests/CMakeOnly/find_library/lib/A/lib/libtest1.a0
-rw-r--r--Tests/CMakeOnly/find_library/lib/A/lib64/libtest3.a0
-rw-r--r--Tests/CMakeOnly/find_library/lib/A/libtest1.a0
-rw-r--r--Tests/CMakeOnly/find_library/lib/libtest1.a0
-rw-r--r--Tests/CMakeOnly/find_library/lib/libtest2.a0
-rw-r--r--Tests/CMakeOnly/find_library/lib/libtest3.a0
-rw-r--r--Tests/CMakeOnly/find_library/lib64/A/lib/libtest2.a0
-rw-r--r--Tests/CMakeOnly/find_library/lib64/A/lib64/libtest1.a0
-rw-r--r--Tests/CMakeOnly/find_library/lib64/A/libtest1.a0
-rw-r--r--Tests/CMakeOnly/find_library/lib64/libtest1.a0
-rw-r--r--Tests/CMakeTestMultipleConfigures/RunCMake.cmake2
-rw-r--r--Tests/CMakeTests/CMakeLists.txt14
-rw-r--r--Tests/CMakeTests/FileDownloadTest.cmake.in53
-rw-r--r--Tests/CMakeTests/FindBaseTest.cmake.in16
-rw-r--r--Tests/CMakeTests/GetFilenameComponentRealpathTest.cmake.in2
-rw-r--r--Tests/CMakeTests/GetPrerequisitesTest.cmake.in10
-rw-r--r--Tests/CMakeTests/IncludeTest.cmake.in10
-rw-r--r--Tests/CMakeTests/ListTest.cmake.in101
-rw-r--r--Tests/CMakeTests/StringTestScript.cmake12
-rw-r--r--Tests/CMakeTests/ToolchainTest.cmake.in42
-rw-r--r--Tests/CMakeTests/VariableWatchTest.cmake.in14
-rw-r--r--Tests/CMakeTests/VersionTest.cmake.in7
-rw-r--r--Tests/CMakeTests/WhileTest.cmake.in2
-rw-r--r--Tests/COnly/CMakeLists.txt6
-rw-r--r--Tests/COnly/libc2.h2
-rw-r--r--Tests/CPackComponents/CMakeLists.txt2
-rw-r--r--Tests/CPackComponents/VerifyResult.cmake14
-rw-r--r--Tests/CPackComponentsForAll/CMakeLists.txt2
-rw-r--r--Tests/CPackComponentsForAll/MyLibCPackConfig-AllInOne.cmake.in6
-rw-r--r--Tests/CPackComponentsForAll/MyLibCPackConfig-IgnoreGroup.cmake.in6
-rw-r--r--Tests/CPackComponentsForAll/MyLibCPackConfig-OnePackPerGroup.cmake.in8
-rw-r--r--Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake26
-rw-r--r--Tests/CTestScriptMode/CTestTestScriptMode.cmake.in4
-rw-r--r--Tests/CTestTest/test.cmake.in32
-rw-r--r--Tests/CTestTest2/test.cmake.in44
-rw-r--r--Tests/CTestTestBadExe/CMakeLists.txt8
-rw-r--r--Tests/CTestTestBadExe/test.cmake.in22
-rw-r--r--Tests/CTestTestChecksum/test.cmake.in28
-rw-r--r--Tests/CTestTestConfigFileInBuildDir/test1.cmake.in22
-rw-r--r--Tests/CTestTestConfigFileInBuildDir/test2.cmake.in22
-rw-r--r--Tests/CTestTestCostSerial/CMakeLists.txt20
-rw-r--r--Tests/CTestTestCostSerial/test.cmake.in28
-rw-r--r--Tests/CTestTestCrash/CMakeLists.txt8
-rw-r--r--Tests/CTestTestCrash/test.cmake.in22
-rw-r--r--Tests/CTestTestCycle/test.cmake.in22
-rw-r--r--Tests/CTestTestDepends/test.cmake.in22
-rw-r--r--Tests/CTestTestFailedSubmits/test.cmake.in22
-rw-r--r--Tests/CTestTestFailure/CMakeLists.txt10
-rw-r--r--Tests/CTestTestFailure/testNoBuild.cmake.in22
-rw-r--r--Tests/CTestTestFailure/testNoExe.cmake.in22
-rw-r--r--Tests/CTestTestMemcheck/CMakeLists.txt81
-rw-r--r--Tests/CTestTestMemcheck/DummyBC/CMakeLists.txt5
-rw-r--r--Tests/CTestTestMemcheck/DummyBC/CTestConfig.cmake7
-rw-r--r--Tests/CTestTestMemcheck/DummyBC/test.cmake.in24
-rw-r--r--Tests/CTestTestMemcheck/DummyPurify/CMakeLists.txt5
-rw-r--r--Tests/CTestTestMemcheck/DummyPurify/CTestConfig.cmake7
-rw-r--r--Tests/CTestTestMemcheck/DummyPurify/test.cmake.in24
-rw-r--r--Tests/CTestTestMemcheck/DummyValgrind/CMakeLists.txt5
-rw-r--r--Tests/CTestTestMemcheck/DummyValgrind/CTestConfig.cmake7
-rw-r--r--Tests/CTestTestMemcheck/DummyValgrind/test.cmake.in24
-rw-r--r--Tests/CTestTestMemcheck/DummyValgrindFailPost/CMakeLists.txt5
-rw-r--r--Tests/CTestTestMemcheck/DummyValgrindFailPost/CTestConfig.cmake7
-rw-r--r--Tests/CTestTestMemcheck/DummyValgrindFailPost/test.cmake.in26
-rw-r--r--Tests/CTestTestMemcheck/DummyValgrindFailPre/CMakeLists.txt5
-rw-r--r--Tests/CTestTestMemcheck/DummyValgrindFailPre/CTestConfig.cmake7
-rw-r--r--Tests/CTestTestMemcheck/DummyValgrindFailPre/test.cmake.in26
-rw-r--r--Tests/CTestTestMemcheck/DummyValgrindIgnoreMemcheck/CMakeLists.txt6
-rw-r--r--Tests/CTestTestMemcheck/DummyValgrindIgnoreMemcheck/CTestConfig.cmake9
-rw-r--r--Tests/CTestTestMemcheck/DummyValgrindIgnoreMemcheck/test.cmake.in24
-rw-r--r--Tests/CTestTestMemcheck/DummyValgrindPrePost/CMakeLists.txt5
-rw-r--r--Tests/CTestTestMemcheck/DummyValgrindPrePost/CTestConfig.cmake7
-rw-r--r--Tests/CTestTestMemcheck/DummyValgrindPrePost/test.cmake.in27
-rw-r--r--Tests/CTestTestMemcheck/NotExist/CMakeLists.txt5
-rw-r--r--Tests/CTestTestMemcheck/NotExist/CTestConfig.cmake7
-rw-r--r--Tests/CTestTestMemcheck/NotExist/test.cmake.in18
-rw-r--r--Tests/CTestTestMemcheck/Unknown/CMakeLists.txt5
-rw-r--r--Tests/CTestTestMemcheck/Unknown/CTestConfig.cmake7
-rw-r--r--Tests/CTestTestMemcheck/Unknown/test.cmake.in18
-rw-r--r--Tests/CTestTestMemcheck/UnknownQuoted/CMakeLists.txt5
-rw-r--r--Tests/CTestTestMemcheck/UnknownQuoted/CTestConfig.cmake7
-rw-r--r--Tests/CTestTestMemcheck/UnknownQuoted/test.cmake.in18
-rw-r--r--Tests/CTestTestParallel/CMakeLists.txt20
-rw-r--r--Tests/CTestTestParallel/test.cmake.in22
-rw-r--r--Tests/CTestTestResourceLock/CMakeLists.txt18
-rw-r--r--Tests/CTestTestResourceLock/test.cmake.in22
-rw-r--r--Tests/CTestTestRunScript/hello.cmake.in4
-rw-r--r--Tests/CTestTestRunScript/test.cmake.in2
-rw-r--r--Tests/CTestTestScheduler/CMakeLists.txt14
-rw-r--r--Tests/CTestTestScheduler/test.cmake.in28
-rw-r--r--Tests/CTestTestStopTime/CMakeLists.txt14
-rw-r--r--Tests/CTestTestStopTime/GetDate.cmake234
-rw-r--r--Tests/CTestTestStopTime/test.cmake.in26
-rw-r--r--Tests/CTestTestSubdir/CMakeLists.txt10
-rw-r--r--Tests/CTestTestSubdir/subdir/CMakeLists.txt4
-rw-r--r--Tests/CTestTestSubdir/subdir2/CMakeLists.txt4
-rw-r--r--Tests/CTestTestSubdir/subdir3/CMakeLists.txt4
-rw-r--r--Tests/CTestTestSubdir/test.cmake.in22
-rw-r--r--Tests/CTestTestTimeout/CMakeLists.txt30
-rw-r--r--Tests/CTestTestTimeout/test.cmake.in24
-rw-r--r--Tests/CTestTestUpload/CMakeLists.txt2
-rw-r--r--Tests/CTestTestUpload/test.cmake.in16
-rw-r--r--Tests/CTestTestZeroTimeout/CMakeLists.txt12
-rw-r--r--Tests/CTestTestZeroTimeout/test.cmake.in24
-rw-r--r--Tests/CTestUpdateBZR.cmake.in2
-rw-r--r--Tests/CTestUpdateCVS.cmake.in2
-rw-r--r--Tests/CTestUpdateCommon.cmake44
-rw-r--r--Tests/CTestUpdateGIT.cmake.in4
-rw-r--r--Tests/CTestUpdateHG.cmake.in2
-rw-r--r--Tests/CTestUpdateSVN.cmake.in2
-rw-r--r--Tests/CheckCompilerRelatedVariables/CMakeLists.txt11
-rw-r--r--Tests/CommandLineTest/CMakeLists.txt86
-rw-r--r--Tests/CommandLineTest/PreLoad.cmake2
-rw-r--r--Tests/CompileCommandOutput/CMakeLists.txt22
-rw-r--r--Tests/CompileDefinitions/CMakeLists.txt16
-rw-r--r--Tests/CompileDefinitions/add_definitions_command/CMakeLists.txt7
-rw-r--r--Tests/CompileDefinitions/add_definitions_command_with_target_prop/CMakeLists.txt14
-rw-r--r--Tests/CompileDefinitions/compiletest.cpp51
-rw-r--r--Tests/CompileDefinitions/target_prop/CMakeLists.txt16
-rw-r--r--Tests/Complex/CMakeLists.txt384
-rw-r--r--Tests/Complex/Executable/CMakeLists.txt172
-rw-r--r--Tests/Complex/Executable/Included.cmake2
-rw-r--r--Tests/Complex/Executable/Temp/CMakeLists.txt6
-rw-r--r--Tests/Complex/Executable/complex.cxx132
-rw-r--r--Tests/Complex/Executable/testcflags.c2
-rw-r--r--Tests/Complex/Library/CMakeLists.txt134
-rw-r--r--Tests/Complex/Library/create_file.cxx4
-rw-r--r--Tests/Complex/Library/testConly.c4
-rw-r--r--Tests/Complex/Library/testConly.h2
-rw-r--r--Tests/Complex/Library/test_preprocess.cmake14
-rw-r--r--Tests/Complex/VarTests.cmake346
-rw-r--r--Tests/ComplexOneConfig/CMakeLists.txt364
-rw-r--r--Tests/ComplexOneConfig/Executable/CMakeLists.txt172
-rw-r--r--Tests/ComplexOneConfig/Executable/Included.cmake2
-rw-r--r--Tests/ComplexOneConfig/Executable/Temp/CMakeLists.txt6
-rw-r--r--Tests/ComplexOneConfig/Executable/complex.cxx132
-rw-r--r--Tests/ComplexOneConfig/Executable/testcflags.c2
-rw-r--r--Tests/ComplexOneConfig/Library/CMakeLists.txt134
-rw-r--r--Tests/ComplexOneConfig/Library/create_file.cxx4
-rw-r--r--Tests/ComplexOneConfig/Library/testConly.c4
-rw-r--r--Tests/ComplexOneConfig/Library/testConly.h2
-rw-r--r--Tests/ComplexOneConfig/Library/test_preprocess.cmake14
-rw-r--r--Tests/ComplexOneConfig/VarTests.cmake346
-rw-r--r--Tests/Contracts/Trilinos-10-6/Patch.cmake8
-rw-r--r--Tests/Contracts/vtk542/RunTest.cmake2
-rw-r--r--Tests/CrossCompile/CMakeLists.txt12
-rw-r--r--Tests/CustComDepend/CMakeLists.txt2
-rw-r--r--Tests/CustComDepend/bar.h2
-rw-r--r--Tests/CustComDepend/foo.cxx2
-rw-r--r--Tests/CustomCommand/CMakeLists.txt156
-rw-r--r--Tests/CustomCommand/GeneratedHeader/CMakeLists.txt14
-rw-r--r--Tests/CustomCommand/GeneratorInExtraDir/CMakeLists.txt10
-rw-r--r--Tests/CustomCommand/check_mark.cmake10
-rw-r--r--Tests/CustomCommand/foo.in2
-rw-r--r--Tests/CustomCommandWorkingDirectory/CMakeLists.txt12
-rw-r--r--Tests/Dependency/1/CMakeLists.txt4
-rw-r--r--Tests/Dependency/CMakeLists.txt40
-rw-r--r--Tests/Dependency/Eight/CMakeLists.txt4
-rw-r--r--Tests/Dependency/Exec/CMakeLists.txt4
-rw-r--r--Tests/Dependency/Exec2/CMakeLists.txt6
-rw-r--r--Tests/Dependency/Exec3/CMakeLists.txt4
-rw-r--r--Tests/Dependency/Exec4/CMakeLists.txt4
-rw-r--r--Tests/Dependency/Five/CMakeLists.txt4
-rw-r--r--Tests/Dependency/Four/CMakeLists.txt8
-rw-r--r--Tests/Dependency/NoDepA/CMakeLists.txt2
-rw-r--r--Tests/Dependency/NoDepB/CMakeLists.txt2
-rw-r--r--Tests/Dependency/NoDepC/CMakeLists.txt2
-rw-r--r--Tests/Dependency/Seven/CMakeLists.txt4
-rw-r--r--Tests/Dependency/Six/CMakeLists.txt10
-rw-r--r--Tests/Dependency/Three/CMakeLists.txt4
-rw-r--r--Tests/Dependency/Two/CMakeLists.txt16
-rw-r--r--Tests/DocTest/DocTest.cxx4
-rw-r--r--Tests/EnforceConfig.cmake.in42
-rw-r--r--Tests/ExportImport/CMakeLists.txt8
-rw-r--r--Tests/ExportImport/Export/CMakeLists.txt16
-rw-r--r--Tests/ExportImport/Export/testLibDepends.c4
-rw-r--r--Tests/ExportImport/Export/testLibRequired.c1
-rw-r--r--Tests/ExportImport/Import/A/CMakeLists.txt6
-rw-r--r--Tests/ExportImport/InitialCache.cmake.in30
-rw-r--r--Tests/ExternalOBJ/CMakeLists.txt54
-rw-r--r--Tests/ExternalOBJ/Object/CMakeLists.txt18
-rw-r--r--Tests/ExternalProject/CMakeLists.txt77
-rw-r--r--Tests/ExternalProject/TryCheckout.cmake4
-rw-r--r--Tests/ExternalProject/hgrepo.tgzbin0 -> 2011 bytes
-rw-r--r--Tests/FindModulesExecuteAll/CMakeLists.txt4
-rw-r--r--Tests/FindPackageTest/Baz 1.1/BazConfigVersion.cmake14
-rw-r--r--Tests/FindPackageTest/Baz 1.2/CMake/BazConfigVersion.cmake14
-rw-r--r--Tests/FindPackageTest/CMakeLists.txt388
-rw-r--r--Tests/FindPackageTest/Exporter/CMakeTestExportPackageConfigVersion.cmake.in10
-rw-r--r--Tests/FindPackageTest/FindRecursiveA.cmake2
-rw-r--r--Tests/FindPackageTest/FindRecursiveB.cmake2
-rw-r--r--Tests/FindPackageTest/FindRecursiveC.cmake2
-rw-r--r--Tests/FindPackageTest/FindVersionTestA.cmake36
-rw-r--r--Tests/FindPackageTest/FindVersionTestB.cmake36
-rw-r--r--Tests/FindPackageTest/FindVersionTestC.cmake36
-rw-r--r--Tests/FindPackageTest/FindVersionTestD.cmake36
-rw-r--r--Tests/FindPackageTest/lib/TApp/TAppConfig.cmake2
-rw-r--r--Tests/FindPackageTest/lib/arch/cmake/zot-4.0/zot-config-version.cmake14
-rw-r--r--Tests/FindPackageTest/lib/arch/zot-3.1/zot-config-version.cmake14
-rw-r--r--Tests/FindPackageTest/lib/cmake/zot-3.1/zot-config-version.cmake6
-rw-r--r--Tests/FindPackageTest/lib/cmake/zot-4.0/zot-config-version.cmake14
-rw-r--r--Tests/FindPackageTest/lib/suffix/test/SuffixTestConfigVersion.cmake14
-rw-r--r--Tests/FindPackageTest/lib/zot-2.0/zot-config-version.cmake8
-rw-r--r--Tests/FindPackageTest/lib/zot-3.0/zot-config-version.cmake8
-rw-r--r--Tests/FindPackageTest/lib/zot-3.1/zot-config-version.cmake14
-rw-r--r--Tests/FindPackageTest/lib/zot/zot-config-version.cmake16
-rw-r--r--Tests/FindPackageTest/lib/zot/zot-config.cmake2
-rw-r--r--Tests/Fortran/CMakeLists.txt18
-rw-r--r--Tests/Fortran/Library/CMakeLists.txt14
-rw-r--r--Tests/Fortran/foo.f2
-rw-r--r--Tests/Fortran/test_use_in_comment_freeform.f906
-rw-r--r--Tests/Framework/foo.cxx2
-rw-r--r--Tests/FunctionTest/CMakeLists.txt152
-rw-r--r--Tests/FunctionTest/SubDirScope/CMakeLists.txt16
-rw-r--r--Tests/FunctionTest/Util.cmake2
-rw-r--r--Tests/GeneratorExpression/CMakeLists.txt80
-rw-r--r--Tests/GeneratorExpression/check.cmake78
-rw-r--r--Tests/IPO/CMakeLists.txt2
-rw-r--r--Tests/IncludeDirectories/TargetIncludeDirectories/CMakeLists.txt23
-rw-r--r--Tests/IncludeDirectories/TargetIncludeDirectories/main.cpp7
-rw-r--r--Tests/IncludeDirectories/TargetIncludeDirectories/sing/ting/ting.h1
-rw-r--r--Tests/JCTest/CMakeLists.txt4
-rw-r--r--Tests/Java/A.java6
-rw-r--r--Tests/Java/HelloWorld.java2
-rw-r--r--Tests/Jump/CMakeLists.txt8
-rw-r--r--Tests/Jump/Executable/CMakeLists.txt10
-rw-r--r--Tests/Jump/Library/CMakeLists.txt4
-rw-r--r--Tests/Jump/Library/Shared/CMakeLists.txt38
-rw-r--r--Tests/Jump/Library/Static/CMakeLists.txt2
-rwxr-xr-xTests/KDE4StableBranchTest/test_kde4.sh.in62
-rw-r--r--Tests/LibName/CMakeLists.txt6
-rw-r--r--Tests/LibName/bar.c4
-rw-r--r--Tests/LibName/foo.c4
-rw-r--r--Tests/LibName/foobar.c2
-rw-r--r--Tests/LinkLine/CMakeLists.txt12
-rw-r--r--Tests/LinkLineOrder/CMakeLists.txt34
-rw-r--r--Tests/LoadCommand/CMakeCommands/CMakeLists.txt18
-rw-r--r--Tests/LoadCommand/CMakeCommands/cmTestCommand.c40
-rw-r--r--Tests/LoadCommand/CMakeLists.txt54
-rw-r--r--Tests/LoadCommandOneConfig/CMakeCommands/CMakeLists.txt24
-rw-r--r--Tests/LoadCommandOneConfig/CMakeCommands/cmTestCommand.c40
-rw-r--r--Tests/LoadCommandOneConfig/CMakeLists.txt58
-rw-r--r--Tests/MacroTest/CMakeLists.txt84
-rw-r--r--Tests/MacroTest/context.cmake6
-rw-r--r--Tests/MakeClean/CMakeLists.txt42
-rw-r--r--Tests/MakeClean/ToClean/CMakeLists.txt24
-rw-r--r--Tests/MakeClean/ToClean/ToCleanFiles.cmake.in2
-rw-r--r--Tests/MathTest/CMakeLists.txt20
-rw-r--r--Tests/Module/CheckTypeSize/CMakeLists.txt8
-rw-r--r--Tests/Module/CheckTypeSize/CheckTypeSize.c40
-rw-r--r--Tests/Module/CheckTypeSize/config.h.in12
-rw-r--r--Tests/Module/CheckTypeSize/somestruct.h10
-rw-r--r--Tests/NewlineArgs/CMakeLists.txt4
-rw-r--r--Tests/ObjC++/CMakeLists.txt6
-rw-r--r--Tests/ObjC++/objc++.mm2
-rw-r--r--Tests/ObjectLibrary/A/CMakeLists.txt1
-rw-r--r--Tests/ObjectLibrary/B/CMakeLists.txt1
-rw-r--r--Tests/OutOfBinary/CMakeLists.txt2
-rw-r--r--Tests/OutOfSource/CMakeLists.txt6
-rw-r--r--Tests/OutOfSource/OutOfSourceSubdir/CMakeLists.txt68
-rw-r--r--Tests/OutOfSource/OutOfSourceSubdir/testlib.h2
-rw-r--r--Tests/OutOfSource/SubDir/CMakeLists.txt6
-rw-r--r--Tests/PDBDirectoryAndName/CMakeLists.txt79
-rw-r--r--Tests/PDBDirectoryAndName/check_pdbs.cmake10
-rw-r--r--Tests/PDBDirectoryAndName/myexe.c5
-rw-r--r--Tests/PDBDirectoryAndName/myexe2.c3
-rw-r--r--Tests/PDBDirectoryAndName/mylibA.c1
-rw-r--r--Tests/PDBDirectoryAndName/mylibB.c1
-rw-r--r--Tests/PDBDirectoryAndName/mylibC.c1
-rw-r--r--Tests/PDBDirectoryAndName/mylibD.c1
-rw-r--r--Tests/PerConfig/CMakeLists.txt36
-rw-r--r--Tests/Plugin/CMakeLists.txt90
-rw-r--r--Tests/Plugin/src/example_exe.cxx2
-rw-r--r--Tests/PolicyScope/CMakeLists.txt8
-rw-r--r--Tests/PreOrder/CMakeLists.txt10
-rw-r--r--Tests/PreOrder/Library/CMakeLists.txt2
-rw-r--r--Tests/PrecompiledHeader/CMakeLists.txt66
-rw-r--r--Tests/Preprocess/CMakeLists.txt52
-rw-r--r--Tests/Properties/CMakeLists.txt38
-rw-r--r--Tests/ReturnTest/CMakeLists.txt76
-rw-r--r--Tests/RunCMake/CMakeLists.txt3
-rw-r--r--Tests/RunCMake/GeneratorExpression/BadAND-result.txt1
-rw-r--r--Tests/RunCMake/GeneratorExpression/BadAND-stderr.txt44
-rw-r--r--Tests/RunCMake/GeneratorExpression/BadAND.cmake7
-rw-r--r--Tests/RunCMake/GeneratorExpression/BadCONFIG-result.txt1
-rw-r--r--Tests/RunCMake/GeneratorExpression/BadCONFIG-stderr.txt44
-rw-r--r--Tests/RunCMake/GeneratorExpression/BadCONFIG.cmake7
-rw-r--r--Tests/RunCMake/GeneratorExpression/BadNOT-result.txt1
-rw-r--r--Tests/RunCMake/GeneratorExpression/BadNOT-stderr.txt52
-rw-r--r--Tests/RunCMake/GeneratorExpression/BadNOT.cmake8
-rw-r--r--Tests/RunCMake/GeneratorExpression/BadOR-result.txt1
-rw-r--r--Tests/RunCMake/GeneratorExpression/BadOR-stderr.txt44
-rw-r--r--Tests/RunCMake/GeneratorExpression/BadOR.cmake7
-rw-r--r--Tests/RunCMake/GeneratorExpression/BadStrEqual-result.txt1
-rw-r--r--Tests/RunCMake/GeneratorExpression/BadStrEqual-stderr.txt38
-rw-r--r--Tests/RunCMake/GeneratorExpression/BadStrEqual.cmake6
-rw-r--r--Tests/RunCMake/GeneratorExpression/CMakeLists.txt3
-rw-r--r--Tests/RunCMake/GeneratorExpression/RunCMakeTest.cmake7
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName1-result.txt1
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName1-stderr.txt6
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName1.cmake7
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName2-result.txt1
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName2-stderr.txt6
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName2.cmake7
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName3-result.txt1
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName3-stderr.txt6
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName3.cmake7
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName4-result.txt1
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName4-stderr.txt6
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName4.cmake9
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName5-result.txt1
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName5-stderr.txt7
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName5.cmake7
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName6-result.txt1
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName6-stderr.txt6
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName6.cmake7
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName7-result.txt1
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName7-stderr.txt6
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName7.cmake9
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName8-result.txt1
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName8-stderr.txt6
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName8.cmake7
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadNonTarget-result.txt1
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadNonTarget-stderr.txt6
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadNonTarget.cmake7
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference1-result.txt1
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference1-stderr.txt6
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference1.cmake7
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference2-result.txt1
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference2-stderr.txt6
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference2.cmake9
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference3-result.txt1
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference3-stderr.txt6
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference3.cmake8
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference4-result.txt1
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference4-stderr.txt6
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference4.cmake10
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference5-result.txt1
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference5-stderr.txt6
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference5.cmake10
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference6-result.txt1
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference6-stderr.txt6
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference6.cmake10
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/CMakeLists.txt8
-rw-r--r--Tests/RunCMake/TargetPropertyGeneratorExpressions/RunCMakeTest.cmake17
-rw-r--r--Tests/RunCMake/include_directories/CMakeLists.txt3
-rw-r--r--Tests/RunCMake/include_directories/NotFoundContent-result.txt1
-rw-r--r--Tests/RunCMake/include_directories/NotFoundContent-stderr.txt6
-rw-r--r--Tests/RunCMake/include_directories/NotFoundContent.cmake9
-rw-r--r--Tests/RunCMake/include_directories/RunCMakeTest.cmake3
-rw-r--r--Tests/RunCMake/include_external_msproject/check_utils.cmake20
-rw-r--r--Tests/RuntimePath/CMakeLists.txt2
-rw-r--r--Tests/SameName/CMakeLists.txt8
-rw-r--r--Tests/SameName/Exe1/CMakeLists.txt14
-rw-r--r--Tests/SameName/Lib1/CMakeLists.txt2
-rw-r--r--Tests/SetLang/CMakeLists.txt2
-rw-r--r--Tests/Simple/CMakeLists.txt8
-rw-r--r--Tests/Simple/simpleWe.cpp2
-rw-r--r--Tests/SimpleCOnly/CMakeLists.txt2
-rw-r--r--Tests/SimpleCOnly/main.c2
-rw-r--r--Tests/SimpleExclude/run.cmake.in4
-rw-r--r--Tests/SimpleInstall/CMakeLists.txt414
-rw-r--r--Tests/SimpleInstall/InstallScript1.cmake10
-rw-r--r--Tests/SimpleInstall/InstallScript2.cmake26
-rw-r--r--Tests/SimpleInstall/InstallScript3.cmake22
-rw-r--r--Tests/SimpleInstall/InstallScript4.cmake38
-rw-r--r--Tests/SimpleInstall/PackageScript.cmake14
-rw-r--r--Tests/SimpleInstall/PostInstall.cmake12
-rw-r--r--Tests/SimpleInstall/PreInstall.cmake4
-rw-r--r--Tests/SimpleInstall/TestSubDir/CMakeLists.txt6
-rw-r--r--Tests/SimpleInstall/lib2.h2
-rw-r--r--Tests/SimpleInstall/lib3.h2
-rw-r--r--Tests/SimpleInstall/lib4.h2
-rw-r--r--Tests/SimpleInstall/scripts/CMakeLists.txt2
-rw-r--r--Tests/SimpleInstallS2/CMakeLists.txt414
-rw-r--r--Tests/SimpleInstallS2/InstallScript1.cmake10
-rw-r--r--Tests/SimpleInstallS2/InstallScript2.cmake26
-rw-r--r--Tests/SimpleInstallS2/InstallScript3.cmake22
-rw-r--r--Tests/SimpleInstallS2/InstallScript4.cmake38
-rw-r--r--Tests/SimpleInstallS2/PackageScript.cmake14
-rw-r--r--Tests/SimpleInstallS2/PostInstall.cmake12
-rw-r--r--Tests/SimpleInstallS2/PreInstall.cmake4
-rw-r--r--Tests/SimpleInstallS2/TestSubDir/CMakeLists.txt6
-rw-r--r--Tests/SimpleInstallS2/lib2.h2
-rw-r--r--Tests/SimpleInstallS2/lib3.h2
-rw-r--r--Tests/SimpleInstallS2/lib4.h2
-rw-r--r--Tests/SimpleInstallS2/scripts/CMakeLists.txt2
-rw-r--r--Tests/SourceGroups/CMakeLists.txt6
-rw-r--r--Tests/SourceGroups/README.txt2
-rw-r--r--Tests/StringFileTest/CMakeLists.txt364
-rw-r--r--Tests/StringFileTest/InputFile.h.in4
-rw-r--r--Tests/StringFileTest/StringFile.cxx2
-rw-r--r--Tests/SubDir/CMakeLists.txt64
-rw-r--r--Tests/SubDir/Examples/CMakeLists.txt4
-rw-r--r--Tests/SubDir/Examples/example1/CMakeLists.txt6
-rw-r--r--Tests/SubDir/Examples/example2/CMakeLists.txt4
-rw-r--r--Tests/SubDir/Executable/CMakeLists.txt2
-rw-r--r--Tests/SubDirSpaces/CMakeLists.txt84
-rw-r--r--Tests/SubDirSpaces/Executable Sources/CMakeLists.txt2
-rw-r--r--Tests/SubDirSpaces/Executable/CMakeLists.txt2
-rw-r--r--Tests/SubDirSpaces/Some Examples/CMakeLists.txt4
-rw-r--r--Tests/SubDirSpaces/Some Examples/example1/CMakeLists.txt6
-rw-r--r--Tests/SubDirSpaces/Some Examples/example2/CMakeLists.txt4
-rw-r--r--Tests/SwigTest/CMakeLists.txt78
-rw-r--r--Tests/SwigTest/example.h4
-rwxr-xr-xTests/SwigTest/runme.pike6
-rw-r--r--Tests/SwigTest/runme.py2
-rw-r--r--Tests/SystemInformation/CMakeLists.txt74
-rw-r--r--Tests/SystemInformation/DumpInformation.cxx8
-rw-r--r--Tests/TarTest/CMakeLists.txt74
-rw-r--r--Tests/TargetName/scripts/CMakeLists.txt4
-rw-r--r--Tests/TestDriver/CMakeLists.txt20
-rw-r--r--Tests/TestDriver/test1.cxx2
-rw-r--r--Tests/Testing/CMakeLists.txt42
-rw-r--r--Tests/Testing/DartConfig.cmake32
-rw-r--r--Tests/Testing/Sub/Sub2/CMakeLists.txt4
-rw-r--r--Tests/TryCompile/CMakeLists.txt276
-rw-r--r--Tests/TryCompile/expect_arg.c2
-rw-r--r--Tests/TryCompile/pass.c2
-rw-r--r--Tests/Tutorial/Step2/CMakeLists.txt2
-rw-r--r--Tests/Tutorial/Step2/MathFunctions/mysqrt.cxx4
-rw-r--r--Tests/Tutorial/Step3/CMakeLists.txt8
-rw-r--r--Tests/Tutorial/Step3/MathFunctions/mysqrt.cxx4
-rw-r--r--Tests/Tutorial/Step4/CMakeLists.txt8
-rw-r--r--Tests/Tutorial/Step4/MathFunctions/mysqrt.cxx4
-rw-r--r--Tests/Tutorial/Step5/CMakeLists.txt8
-rw-r--r--Tests/Tutorial/Step5/MathFunctions/MakeTable.cxx6
-rw-r--r--Tests/Tutorial/Step5/MathFunctions/mysqrt.cxx4
-rw-r--r--Tests/Tutorial/Step6/CMakeLists.txt8
-rw-r--r--Tests/Tutorial/Step6/MathFunctions/CMakeLists.txt2
-rw-r--r--Tests/Tutorial/Step6/MathFunctions/MakeTable.cxx6
-rw-r--r--Tests/Tutorial/Step6/MathFunctions/mysqrt.cxx4
-rw-r--r--Tests/Tutorial/Step7/CMakeLists.txt8
-rw-r--r--Tests/Tutorial/Step7/MathFunctions/CMakeLists.txt2
-rw-r--r--Tests/Tutorial/Step7/MathFunctions/MakeTable.cxx6
-rw-r--r--Tests/Tutorial/Step7/MathFunctions/mysqrt.cxx4
-rw-r--r--Tests/Tutorial/Step7/build1.cmake8
-rw-r--r--Tests/Tutorial/Step7/build2.cmake6
-rw-r--r--Tests/Unset/CMakeLists.txt20
-rw-r--r--Tests/VSExternalInclude/CMakeLists.txt52
-rw-r--r--Tests/VSExternalInclude/Lib1/CMakeLists.txt6
-rw-r--r--Tests/VSExternalInclude/Lib2/CMakeLists.txt8
-rw-r--r--Tests/Wrapping/CMakeLists.txt104
-rw-r--r--Tests/Wrapping/qtnoqtmain.cxx2
-rw-r--r--Tests/X11/CMakeLists.txt48
-rw-r--r--Tests/X11/HelloWorldX11.cxx22
-rw-r--r--Tests/test_clean.cmake.in4
-rw-r--r--Utilities/CMakeLists.txt96
-rw-r--r--Utilities/Doxygen/CMakeLists.txt18
-rwxr-xr-xUtilities/Doxygen/doc_makeall.sh.in36
-rw-r--r--Utilities/KWIML/CMakeLists.txt8
-rw-r--r--Utilities/KWStyle/CMakeLists.txt62
-rw-r--r--Utilities/KWStyle/CMakeMoreChecks.kws.xml.in2
-rw-r--r--Utilities/Release/Cygwin/CMakeLists.txt36
-rwxr-xr-xUtilities/Release/Cygwin/cygwin-package.sh.in12
-rw-r--r--Utilities/Release/create-cmake-release.cmake2
-rw-r--r--Utilities/Release/dash2win64_cygwin.cmake8
-rw-r--r--Utilities/Release/dash2win64_release.cmake1
-rw-r--r--Utilities/Release/dashmacmini2_release.cmake4
-rw-r--r--Utilities/Release/dashmacmini5_release.cmake4
-rw-r--r--Utilities/Release/magrathea_release.cmake6
-rw-r--r--Utilities/Release/release_cmake.cmake80
-rwxr-xr-xUtilities/Release/release_cmake.sh.in16
-rw-r--r--Utilities/Release/upload_release.cmake20
-rw-r--r--Utilities/Release/v20n250_aix_release.cmake1
-rw-r--r--Utilities/cmcurl/CMakeLists.txt42
-rw-r--r--Utilities/cmcurl/config.h.in3
-rw-r--r--Utilities/cmcurl/curl/curl.h2
-rw-r--r--Utilities/cmcurl/ssluse.c5
-rw-r--r--Utilities/cmcurl/strerror.c5
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_disk_posix.c2
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_disk_windows.c2
-rw-r--r--Utilities/xml/.gitattributes1
-rw-r--r--Utilities/xml/docbook-4.5/ChangeLog106
-rw-r--r--Utilities/xml/docbook-4.5/README8
-rw-r--r--Utilities/xml/docbook-4.5/calstblx.dtd215
-rw-r--r--Utilities/xml/docbook-4.5/catalog.xml124
-rw-r--r--Utilities/xml/docbook-4.5/dbcentx.mod384
-rw-r--r--Utilities/xml/docbook-4.5/dbgenent.mod41
-rw-r--r--Utilities/xml/docbook-4.5/dbhierx.mod2193
-rw-r--r--Utilities/xml/docbook-4.5/dbnotnx.mod101
-rw-r--r--Utilities/xml/docbook-4.5/dbpoolx.mod8701
-rw-r--r--Utilities/xml/docbook-4.5/docbook.cat113
-rw-r--r--Utilities/xml/docbook-4.5/docbookx.dtd170
-rw-r--r--Utilities/xml/docbook-4.5/ent/README14
-rw-r--r--Utilities/xml/docbook-4.5/ent/isoamsa.ent97
-rw-r--r--Utilities/xml/docbook-4.5/ent/isoamsb.ent83
-rw-r--r--Utilities/xml/docbook-4.5/ent/isoamsc.ent51
-rw-r--r--Utilities/xml/docbook-4.5/ent/isoamsn.ent103
-rw-r--r--Utilities/xml/docbook-4.5/ent/isoamso.ent59
-rw-r--r--Utilities/xml/docbook-4.5/ent/isoamsr.ent125
-rw-r--r--Utilities/xml/docbook-4.5/ent/isobox.ent81
-rw-r--r--Utilities/xml/docbook-4.5/ent/isocyr1.ent108
-rw-r--r--Utilities/xml/docbook-4.5/ent/isocyr2.ent67
-rw-r--r--Utilities/xml/docbook-4.5/ent/isodia.ent55
-rw-r--r--Utilities/xml/docbook-4.5/ent/isogrk1.ent90
-rw-r--r--Utilities/xml/docbook-4.5/ent/isogrk2.ent61
-rw-r--r--Utilities/xml/docbook-4.5/ent/isogrk3.ent84
-rw-r--r--Utilities/xml/docbook-4.5/ent/isogrk4.ent84
-rw-r--r--Utilities/xml/docbook-4.5/ent/isolat1.ent103
-rw-r--r--Utilities/xml/docbook-4.5/ent/isolat2.ent162
-rw-r--r--Utilities/xml/docbook-4.5/ent/isonum.ent117
-rw-r--r--Utilities/xml/docbook-4.5/ent/isopub.ent125
-rw-r--r--Utilities/xml/docbook-4.5/ent/isotech.ent103
-rw-r--r--Utilities/xml/docbook-4.5/htmltblx.mod245
-rw-r--r--Utilities/xml/docbook-4.5/soextblx.dtd321
-rw-r--r--Utilities/xml/xhtml1/xhtml-lat1.ent (renamed from Utilities/xml/xhtml-lat1.ent)0
-rw-r--r--Utilities/xml/xhtml1/xhtml-special.ent (renamed from Utilities/xml/xhtml-special.ent)0
-rw-r--r--Utilities/xml/xhtml1/xhtml-symbol.ent (renamed from Utilities/xml/xhtml-symbol.ent)0
-rw-r--r--Utilities/xml/xhtml1/xhtml1-strict.dtd (renamed from Utilities/xml/xhtml1-strict.dtd)0
-rwxr-xr-xbootstrap33
-rw-r--r--cmake_uninstall.cmake.in34
-rw-r--r--doxygen.config642
1401 files changed, 45757 insertions, 24188 deletions
diff --git a/CMakeCPack.cmake b/CMakeCPack.cmake
index c3c25f560..a27d00004 100644
--- a/CMakeCPack.cmake
+++ b/CMakeCPack.cmake
@@ -11,113 +11,114 @@
#=============================================================================
# If the cmake version includes cpack, use it
-IF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
- IF(EXISTS "${CMAKE_ROOT}/Modules/InstallRequiredSystemLibraries.cmake")
- OPTION(CMAKE_INSTALL_DEBUG_LIBRARIES
+if(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
+ if(EXISTS "${CMAKE_ROOT}/Modules/InstallRequiredSystemLibraries.cmake")
+ option(CMAKE_INSTALL_DEBUG_LIBRARIES
"Install Microsoft runtime debug libraries with CMake." FALSE)
- MARK_AS_ADVANCED(CMAKE_INSTALL_DEBUG_LIBRARIES)
+ mark_as_advanced(CMAKE_INSTALL_DEBUG_LIBRARIES)
# By default, do not warn when built on machines using only VS Express:
- IF(NOT DEFINED CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS)
- SET(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS ON)
- ENDIF()
+ if(NOT DEFINED CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS)
+ set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS ON)
+ endif()
- INCLUDE(${CMake_SOURCE_DIR}/Modules/InstallRequiredSystemLibraries.cmake)
- ENDIF(EXISTS "${CMAKE_ROOT}/Modules/InstallRequiredSystemLibraries.cmake")
+ include(${CMake_SOURCE_DIR}/Modules/InstallRequiredSystemLibraries.cmake)
+ endif()
- SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "CMake is a build tool")
- SET(CPACK_PACKAGE_VENDOR "Kitware")
- SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
- SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
- SET(CPACK_PACKAGE_VERSION "${CMake_VERSION}")
- SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CMake ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}")
- SET(CPACK_SOURCE_PACKAGE_FILE_NAME "cmake-${CMake_VERSION}")
+ set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "CMake is a build tool")
+ set(CPACK_PACKAGE_VENDOR "Kitware")
+ set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
+ set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
+ set(CPACK_PACKAGE_VERSION "${CMake_VERSION}")
+ set(CPACK_PACKAGE_INSTALL_DIRECTORY "CMake ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}")
+ set(CPACK_SOURCE_PACKAGE_FILE_NAME "cmake-${CMake_VERSION}")
# Make this explicit here, rather than accepting the CPack default value,
# so we can refer to it:
- SET(CPACK_PACKAGE_NAME "${CMAKE_PROJECT_NAME}")
+ set(CPACK_PACKAGE_NAME "${CMAKE_PROJECT_NAME}")
# Installers for 32- vs. 64-bit CMake:
# - Root install directory (displayed to end user at installer-run time)
# - "NSIS package/display name" (text used in the installer GUI)
# - Registry key used to store info about the installation
- IF(CMAKE_CL_64)
- SET(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES64")
- SET(CPACK_NSIS_PACKAGE_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} (Win64)")
- SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${CPACK_PACKAGE_NAME} ${CPACK_PACKAGE_VERSION} (Win64)")
- ELSE()
- SET(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES")
- SET(CPACK_NSIS_PACKAGE_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY}")
- SET(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${CPACK_PACKAGE_NAME} ${CPACK_PACKAGE_VERSION}")
- ENDIF()
+ if(CMAKE_CL_64)
+ set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES64")
+ set(CPACK_NSIS_PACKAGE_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} (Win64)")
+ set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${CPACK_PACKAGE_NAME} ${CPACK_PACKAGE_VERSION} (Win64)")
+ else()
+ set(CPACK_NSIS_INSTALL_ROOT "$PROGRAMFILES")
+ set(CPACK_NSIS_PACKAGE_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY}")
+ set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "${CPACK_PACKAGE_NAME} ${CPACK_PACKAGE_VERSION}")
+ endif()
- IF(NOT DEFINED CPACK_SYSTEM_NAME)
+ if(NOT DEFINED CPACK_SYSTEM_NAME)
# 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)
- SET(CPACK_SYSTEM_NAME win64-x64)
- ELSE(CMAKE_CL_64)
- SET(CPACK_SYSTEM_NAME win32-x86)
- ENDIF(CMAKE_CL_64)
- ENDIF(${CPACK_SYSTEM_NAME} MATCHES Windows)
+ if("${CMAKE_SYSTEM_NAME}" STREQUAL "CYGWIN")
+ set(CPACK_SYSTEM_NAME Cygwin)
+ else()
+ set(CPACK_SYSTEM_NAME ${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR})
+ endif()
+ endif()
+ if(${CPACK_SYSTEM_NAME} MATCHES Windows)
+ if(CMAKE_CL_64)
+ set(CPACK_SYSTEM_NAME win64-x64)
+ else()
+ set(CPACK_SYSTEM_NAME win32-x86)
+ endif()
+ endif()
- IF(NOT DEFINED CPACK_PACKAGE_FILE_NAME)
+ if(NOT DEFINED CPACK_PACKAGE_FILE_NAME)
# if the CPACK_PACKAGE_FILE_NAME is not defined by the cache
- # default to source package - system, on cygwin system is not
+ # 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
+ if(CYGWIN)
+ set(CPACK_PACKAGE_FILE_NAME "${CPACK_SOURCE_PACKAGE_FILE_NAME}")
+ else()
+ set(CPACK_PACKAGE_FILE_NAME
"${CPACK_SOURCE_PACKAGE_FILE_NAME}-${CPACK_SYSTEM_NAME}")
- ENDIF(CYGWIN)
- ENDIF(NOT DEFINED CPACK_PACKAGE_FILE_NAME)
+ endif()
+ endif()
- SET(CPACK_PACKAGE_CONTACT "cmake@cmake.org")
+ set(CPACK_PACKAGE_CONTACT "cmake@cmake.org")
- IF(UNIX)
- SET(CPACK_STRIP_FILES "bin/ccmake;bin/cmake;bin/cpack;bin/ctest")
- SET(CPACK_SOURCE_STRIP_FILES "")
- SET(CPACK_PACKAGE_EXECUTABLES "ccmake" "CMake")
- ENDIF(UNIX)
+ if(UNIX)
+ set(CPACK_STRIP_FILES "bin/ccmake;bin/cmake;bin/cpack;bin/ctest")
+ set(CPACK_SOURCE_STRIP_FILES "")
+ set(CPACK_PACKAGE_EXECUTABLES "ccmake" "CMake")
+ endif()
# cygwin specific packaging stuff
- IF(CYGWIN)
+ if(CYGWIN)
# setup the cygwin package name
- SET(CPACK_PACKAGE_NAME cmake)
+ set(CPACK_PACKAGE_NAME cmake)
# setup the name of the package for cygwin cmake-2.4.3
- SET(CPACK_PACKAGE_FILE_NAME
+ set(CPACK_PACKAGE_FILE_NAME
"${CPACK_PACKAGE_NAME}-${CMake_VERSION}")
# the source has the same name as the binary
- SET(CPACK_SOURCE_PACKAGE_FILE_NAME ${CPACK_PACKAGE_FILE_NAME})
+ set(CPACK_SOURCE_PACKAGE_FILE_NAME ${CPACK_PACKAGE_FILE_NAME})
# Create a cygwin version number in case there are changes for cygwin
# that are not reflected upstream in CMake
- SET(CPACK_CYGWIN_PATCH_NUMBER 1)
+ set(CPACK_CYGWIN_PATCH_NUMBER 1 CACHE STRING "patch number for CMake cygwin packages")
+ mark_as_advanced(CPACK_CYGWIN_PATCH_NUMBER)
# These files are required by the cmCPackCygwinSourceGenerator and the files
# put into the release tar files.
- SET(CPACK_CYGWIN_BUILD_SCRIPT
- "${CMake_BINARY_DIR}/@CPACK_PACKAGE_FILE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@.sh")
- SET(CPACK_CYGWIN_PATCH_FILE
- "${CMake_BINARY_DIR}/@CPACK_PACKAGE_FILE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@.patch")
+ set(CPACK_CYGWIN_BUILD_SCRIPT
+ "${CMake_BINARY_DIR}/${CPACK_PACKAGE_FILE_NAME}-${CPACK_CYGWIN_PATCH_NUMBER}.sh")
+ set(CPACK_CYGWIN_PATCH_FILE
+ "${CMake_BINARY_DIR}/${CPACK_PACKAGE_FILE_NAME}-${CPACK_CYGWIN_PATCH_NUMBER}.patch")
# include the sub directory cmake file for cygwin that
# configures some files and adds some install targets
# this file uses some of the package file name variables
- INCLUDE(Utilities/Release/Cygwin/CMakeLists.txt)
- ENDIF(CYGWIN)
+ include(Utilities/Release/Cygwin/CMakeLists.txt)
+ endif()
# Set the options file that needs to be included inside CMakeCPackOptions.cmake
- SET(QT_DIALOG_CPACK_OPTIONS_FILE ${CMake_BINARY_DIR}/Source/QtDialog/QtDialogCPack.cmake)
- CONFIGURE_FILE("${CMake_SOURCE_DIR}/CMakeCPackOptions.cmake.in"
+ set(QT_DIALOG_CPACK_OPTIONS_FILE ${CMake_BINARY_DIR}/Source/QtDialog/QtDialogCPack.cmake)
+ configure_file("${CMake_SOURCE_DIR}/CMakeCPackOptions.cmake.in"
"${CMake_BINARY_DIR}/CMakeCPackOptions.cmake" @ONLY)
- SET(CPACK_PROJECT_CONFIG_FILE "${CMake_BINARY_DIR}/CMakeCPackOptions.cmake")
+ set(CPACK_PROJECT_CONFIG_FILE "${CMake_BINARY_DIR}/CMakeCPackOptions.cmake")
# include CPack model once all variables are set
- INCLUDE(CPack)
-ENDIF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
+ include(CPack)
+endif()
diff --git a/CMakeCPackOptions.cmake.in b/CMakeCPackOptions.cmake.in
index 69a150851..3a72eaa5c 100644
--- a/CMakeCPackOptions.cmake.in
+++ b/CMakeCPackOptions.cmake.in
@@ -1,18 +1,18 @@
# This file is configured at cmake time, and loaded at cpack time.
# To pass variables to cpack from cmake, they must be configured
-# in this file.
+# in this file.
if(CPACK_GENERATOR MATCHES "NSIS")
- SET(CPACK_NSIS_INSTALL_ROOT "@CPACK_NSIS_INSTALL_ROOT@")
+ set(CPACK_NSIS_INSTALL_ROOT "@CPACK_NSIS_INSTALL_ROOT@")
# set the install/unistall icon used for the installer itself
# There is a bug in NSI that does not handle full unix paths properly.
- SET(CPACK_NSIS_MUI_ICON "@CMake_SOURCE_DIR@/Utilities/Release\\CMakeLogo.ico")
- SET(CPACK_NSIS_MUI_UNIICON "@CMake_SOURCE_DIR@/Utilities/Release\\CMakeLogo.ico")
+ set(CPACK_NSIS_MUI_ICON "@CMake_SOURCE_DIR@/Utilities/Release\\CMakeLogo.ico")
+ set(CPACK_NSIS_MUI_UNIICON "@CMake_SOURCE_DIR@/Utilities/Release\\CMakeLogo.ico")
# set the package header icon for MUI
- SET(CPACK_PACKAGE_ICON "@CMake_SOURCE_DIR@/Utilities/Release\\CMakeInstall.bmp")
+ set(CPACK_PACKAGE_ICON "@CMake_SOURCE_DIR@/Utilities/Release\\CMakeInstall.bmp")
# tell cpack to create links to the doc files
- SET(CPACK_NSIS_MENU_LINKS
+ set(CPACK_NSIS_MENU_LINKS
"doc/cmake-@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@/cmake-gui.html" "cmake-gui Help"
"doc/cmake-@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@/cmake.html" "CMake Help"
"doc/cmake-@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@/cmake-properties.html"
@@ -24,30 +24,30 @@ if(CPACK_GENERATOR MATCHES "NSIS")
"http://www.cmake.org" "CMake Web Site"
)
# Use the icon from cmake-gui for add-remove programs
- SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\cmake-gui.exe")
+ set(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\cmake-gui.exe")
- SET(CPACK_NSIS_PACKAGE_NAME "@CPACK_NSIS_PACKAGE_NAME@")
- SET(CPACK_NSIS_DISPLAY_NAME "@CPACK_NSIS_PACKAGE_NAME@, 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@)
- SET(CPACK_NSIS_MODIFY_PATH ON)
-endif(CPACK_GENERATOR MATCHES "NSIS")
+ set(CPACK_NSIS_PACKAGE_NAME "@CPACK_NSIS_PACKAGE_NAME@")
+ set(CPACK_NSIS_DISPLAY_NAME "@CPACK_NSIS_PACKAGE_NAME@, 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@)
+ set(CPACK_NSIS_MODIFY_PATH ON)
+endif()
# include the cpack options for qt dialog if they exisit
# they might not if qt was not enabled for the build
-INCLUDE("@QT_DIALOG_CPACK_OPTIONS_FILE@" OPTIONAL)
+include("@QT_DIALOG_CPACK_OPTIONS_FILE@" OPTIONAL)
if(CPACK_GENERATOR MATCHES "CygwinSource")
# when packaging source make sure the .build directory is not included
- SET(CPACK_SOURCE_IGNORE_FILES
+ set(CPACK_SOURCE_IGNORE_FILES
"/CVS/" "/\\.build/" "/\\.svn/" "\\.swp$" "\\.#" "/#" "~$")
-endif(CPACK_GENERATOR MATCHES "CygwinSource")
+endif()
if("${CPACK_GENERATOR}" STREQUAL "PackageMaker")
- if(CMAKE_PACKAGE_QTGUI)
+ if(CMAKE_PACKAGE_QTGUI)
set(CPACK_PACKAGE_DEFAULT_LOCATION "/Applications")
- else(CMAKE_PACKAGE_QTGUI)
+ else()
set(CPACK_PACKAGE_DEFAULT_LOCATION "/usr")
- endif(CMAKE_PACKAGE_QTGUI)
-endif("${CPACK_GENERATOR}" STREQUAL "PackageMaker")
+ endif()
+endif()
diff --git a/CMakeGraphVizOptions.cmake b/CMakeGraphVizOptions.cmake
index 038f17e9b..1add78c55 100644
--- a/CMakeGraphVizOptions.cmake
+++ b/CMakeGraphVizOptions.cmake
@@ -1 +1 @@
-SET(GRAPHVIZ_IGNORE_TARGETS "tartest;testSystemTools;testRegistry;testProcess;testIOS;testHashSTL;testFail;testCommandLineArguments;xrtest;LIBCURL;foo")
+set(GRAPHVIZ_IGNORE_TARGETS "tartest;testSystemTools;testRegistry;testProcess;testIOS;testHashSTL;testFail;testCommandLineArguments;xrtest;LIBCURL;foo")
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8522cad28..ea1c0339e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,71 +9,71 @@
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8.2 FATAL_ERROR)
-SET(CMAKE_LEGACY_CYGWIN_WIN32 0) # Remove when CMake >= 2.8.4 is required
-PROJECT(CMake)
+cmake_minimum_required(VERSION 2.8.2 FATAL_ERROR)
+set(CMAKE_LEGACY_CYGWIN_WIN32 0) # Remove when CMake >= 2.8.4 is required
+project(CMake)
-IF(CMAKE_BOOTSTRAP)
+if(CMAKE_BOOTSTRAP)
# Running from bootstrap script. Set local variable and remove from cache.
- SET(CMAKE_BOOTSTRAP 1)
- UNSET(CMAKE_BOOTSTRAP CACHE)
-ENDIF()
+ set(CMAKE_BOOTSTRAP 1)
+ unset(CMAKE_BOOTSTRAP CACHE)
+endif()
-SET(CMake_BIN_DIR ${CMake_BINARY_DIR}/bin)
+set(CMake_BIN_DIR ${CMake_BINARY_DIR}/bin)
-IF("${CMake_SOURCE_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}")
+if("${CMake_SOURCE_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}")
# Disallow architecture-specific try_run. It may not run on the host.
- MACRO(TRY_RUN)
- IF(CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
- MESSAGE(FATAL_ERROR "TRY_RUN not allowed with CMAKE_TRY_COMPILE_OSX_ARCHITECTURES=[${CMAKE_TRY_COMPILE_OSX_ARCHITECTURES}]")
- ELSE()
+ macro(TRY_RUN)
+ if(CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
+ message(FATAL_ERROR "TRY_RUN not allowed with CMAKE_TRY_COMPILE_OSX_ARCHITECTURES=[${CMAKE_TRY_COMPILE_OSX_ARCHITECTURES}]")
+ else()
_TRY_RUN(${ARGV})
- ENDIF()
- ENDMACRO()
-ENDIF()
+ endif()
+ endmacro()
+endif()
#-----------------------------------------------------------------------
# a macro to deal with system libraries, implemented as a macro
# simply to improve readability of the main script
#-----------------------------------------------------------------------
-MACRO(CMAKE_HANDLE_SYSTEM_LIBRARIES)
+macro(CMAKE_HANDLE_SYSTEM_LIBRARIES)
# Options have dependencies.
- INCLUDE(CMakeDependentOption)
+ include(CMakeDependentOption)
# Optionally use system xmlrpc. We no longer build or use it by default.
- OPTION(CTEST_USE_XMLRPC "Enable xmlrpc submission method in CTest." OFF)
- MARK_AS_ADVANCED(CTEST_USE_XMLRPC)
+ option(CTEST_USE_XMLRPC "Enable xmlrpc submission method in CTest." OFF)
+ mark_as_advanced(CTEST_USE_XMLRPC)
# Allow the user to enable/disable all system utility library options by
# defining CMAKE_USE_SYSTEM_LIBRARIES or CMAKE_USE_SYSTEM_LIBRARY_${util}.
- SET(UTILITIES BZIP2 CURL EXPAT LIBARCHIVE ZLIB)
- FOREACH(util ${UTILITIES})
- IF(NOT DEFINED CMAKE_USE_SYSTEM_LIBRARY_${util}
+ set(UTILITIES BZIP2 CURL EXPAT LIBARCHIVE ZLIB)
+ foreach(util ${UTILITIES})
+ if(NOT DEFINED CMAKE_USE_SYSTEM_LIBRARY_${util}
AND DEFINED CMAKE_USE_SYSTEM_LIBRARIES)
- SET(CMAKE_USE_SYSTEM_LIBRARY_${util} "${CMAKE_USE_SYSTEM_LIBRARIES}")
- ENDIF()
- IF(DEFINED CMAKE_USE_SYSTEM_LIBRARY_${util})
- IF(CMAKE_USE_SYSTEM_LIBRARY_${util})
- SET(CMAKE_USE_SYSTEM_LIBRARY_${util} ON)
- ELSE()
- SET(CMAKE_USE_SYSTEM_LIBRARY_${util} OFF)
- ENDIF()
- IF(CMAKE_BOOTSTRAP)
- UNSET(CMAKE_USE_SYSTEM_LIBRARY_${util} CACHE)
- ENDIF()
- STRING(TOLOWER "${util}" lutil)
- SET(CMAKE_USE_SYSTEM_${util} "${CMAKE_USE_SYSTEM_LIBRARY_${util}}"
+ set(CMAKE_USE_SYSTEM_LIBRARY_${util} "${CMAKE_USE_SYSTEM_LIBRARIES}")
+ endif()
+ if(DEFINED CMAKE_USE_SYSTEM_LIBRARY_${util})
+ if(CMAKE_USE_SYSTEM_LIBRARY_${util})
+ set(CMAKE_USE_SYSTEM_LIBRARY_${util} ON)
+ else()
+ set(CMAKE_USE_SYSTEM_LIBRARY_${util} OFF)
+ endif()
+ if(CMAKE_BOOTSTRAP)
+ unset(CMAKE_USE_SYSTEM_LIBRARY_${util} CACHE)
+ endif()
+ string(TOLOWER "${util}" lutil)
+ set(CMAKE_USE_SYSTEM_${util} "${CMAKE_USE_SYSTEM_LIBRARY_${util}}"
CACHE BOOL "Use system-installed ${lutil}" FORCE)
- ELSE()
- SET(CMAKE_USE_SYSTEM_LIBRARY_${util} OFF)
- ENDIF()
- ENDFOREACH(util)
- IF(CMAKE_BOOTSTRAP)
- UNSET(CMAKE_USE_SYSTEM_LIBRARIES CACHE)
- ENDIF()
+ else()
+ set(CMAKE_USE_SYSTEM_LIBRARY_${util} OFF)
+ endif()
+ endforeach()
+ if(CMAKE_BOOTSTRAP)
+ unset(CMAKE_USE_SYSTEM_LIBRARIES CACHE)
+ endif()
# Optionally use system utility libraries.
- OPTION(CMAKE_USE_SYSTEM_LIBARCHIVE "Use system-installed libarchive" "${CMAKE_USE_SYSTEM_LIBRARY_LIBARCHIVE}")
+ option(CMAKE_USE_SYSTEM_LIBARCHIVE "Use system-installed libarchive" "${CMAKE_USE_SYSTEM_LIBRARY_LIBARCHIVE}")
CMAKE_DEPENDENT_OPTION(CMAKE_USE_SYSTEM_CURL "Use system-installed curl"
"${CMAKE_USE_SYSTEM_LIBRARY_CURL}" "NOT CTEST_USE_XMLRPC" ON)
CMAKE_DEPENDENT_OPTION(CMAKE_USE_SYSTEM_EXPAT "Use system-installed expat"
@@ -84,155 +84,154 @@ MACRO(CMAKE_HANDLE_SYSTEM_LIBRARIES)
"${CMAKE_USE_SYSTEM_LIBRARY_BZIP2}" "NOT CMAKE_USE_SYSTEM_LIBARCHIVE" ON)
# Mention to the user what system libraries are being used.
- FOREACH(util ${UTILITIES})
- IF(CMAKE_USE_SYSTEM_${util})
- MESSAGE(STATUS "Using system-installed ${util}")
- ENDIF(CMAKE_USE_SYSTEM_${util})
- ENDFOREACH(util)
+ foreach(util ${UTILITIES})
+ if(CMAKE_USE_SYSTEM_${util})
+ message(STATUS "Using system-installed ${util}")
+ endif()
+ endforeach()
# Inform utility library header wrappers whether to use system versions.
- CONFIGURE_FILE(${CMake_SOURCE_DIR}/Utilities/cmThirdParty.h.in
+ configure_file(${CMake_SOURCE_DIR}/Utilities/cmThirdParty.h.in
${CMake_BINARY_DIR}/Utilities/cmThirdParty.h
@ONLY)
-ENDMACRO(CMAKE_HANDLE_SYSTEM_LIBRARIES)
+endmacro()
-SET(CMAKE_BUILD_ON_VISUAL_STUDIO 0)
-IF(WIN32 AND NOT UNIX AND NOT BORLAND AND NOT MINGW )
- SET(CMAKE_BUILD_ON_VISUAL_STUDIO 1)
-ENDIF(WIN32 AND NOT UNIX AND NOT BORLAND AND NOT MINGW )
+set(CMAKE_BUILD_ON_VISUAL_STUDIO 0)
+if(WIN32 AND NOT UNIX AND NOT BORLAND AND NOT MINGW )
+ set(CMAKE_BUILD_ON_VISUAL_STUDIO 1)
+endif()
#-----------------------------------------------------------------------
# a macro to determine the generator and ctest executable to use
# for testing. Simply to improve readability of the main script.
#-----------------------------------------------------------------------
-MACRO(CMAKE_SETUP_TESTING)
- IF (NOT DART_ROOT)
- SET(MAKEPROGRAM ${CMAKE_MAKE_PROGRAM})
- ENDIF (NOT DART_ROOT)
-
- IF(BUILD_TESTING)
- SET(CMAKE_TEST_GENERATOR "" CACHE STRING
+macro(CMAKE_SETUP_TESTING)
+ if (NOT DART_ROOT)
+ set(MAKEPROGRAM ${CMAKE_MAKE_PROGRAM})
+ endif ()
+
+ if(BUILD_TESTING)
+ set(CMAKE_TEST_GENERATOR "" CACHE STRING
"Generator used when running tests")
- SET(CMAKE_TEST_MAKEPROGRAM "" CACHE FILEPATH
+ set(CMAKE_TEST_MAKEPROGRAM "" CACHE FILEPATH
"Generator used when running tests")
- IF(NOT CMAKE_TEST_GENERATOR)
- SET(CMAKE_TEST_GENERATOR "${CMAKE_GENERATOR}")
- SET(CMAKE_TEST_MAKEPROGRAM "${MAKEPROGRAM}")
- ELSE(NOT CMAKE_TEST_GENERATOR)
- SET(CMAKE_TEST_DIFFERENT_GENERATOR TRUE)
- ENDIF(NOT CMAKE_TEST_GENERATOR)
-
+ if(NOT CMAKE_TEST_GENERATOR)
+ set(CMAKE_TEST_GENERATOR "${CMAKE_GENERATOR}")
+ set(CMAKE_TEST_MAKEPROGRAM "${MAKEPROGRAM}")
+ else()
+ set(CMAKE_TEST_DIFFERENT_GENERATOR TRUE)
+ endif()
+
# Are we testing with the MSVC compiler?
- SET(CMAKE_TEST_MSVC 0)
- IF(MSVC AND NOT CMAKE_TEST_DIFFERENT_GENERATOR)
- SET(CMAKE_TEST_MSVC 1)
- ELSE(MSVC AND NOT CMAKE_TEST_DIFFERENT_GENERATOR)
- IF("${CMAKE_TEST_GENERATOR}" MATCHES "NMake" OR
+ set(CMAKE_TEST_MSVC 0)
+ if(MSVC AND NOT CMAKE_TEST_DIFFERENT_GENERATOR)
+ set(CMAKE_TEST_MSVC 1)
+ else()
+ if("${CMAKE_TEST_GENERATOR}" MATCHES "NMake" OR
"${CMAKE_TEST_GENERATOR}" MATCHES "Visual Studio")
- SET(CMAKE_TEST_MSVC 1)
- ENDIF("${CMAKE_TEST_GENERATOR}" MATCHES "NMake" OR
- "${CMAKE_TEST_GENERATOR}" MATCHES "Visual Studio")
- ENDIF(MSVC AND NOT CMAKE_TEST_DIFFERENT_GENERATOR)
-
- SET(CMAKE_TEST_SYSTEM_LIBRARIES 0)
- FOREACH(util CURL EXPAT XMLRPC ZLIB)
- IF(CMAKE_USE_SYSTEM_${util})
- SET(CMAKE_TEST_SYSTEM_LIBRARIES 1)
- ENDIF(CMAKE_USE_SYSTEM_${util})
- ENDFOREACH(util)
-
+ set(CMAKE_TEST_MSVC 1)
+ endif()
+ endif()
+
+ set(CMAKE_TEST_SYSTEM_LIBRARIES 0)
+ foreach(util CURL EXPAT XMLRPC ZLIB)
+ if(CMAKE_USE_SYSTEM_${util})
+ set(CMAKE_TEST_SYSTEM_LIBRARIES 1)
+ endif()
+ endforeach()
+
# This variable is set by cmake, however to
# test cmake we want to make sure that
# the ctest from this cmake is used for testing
# and not the ctest from the cmake building and testing
# cmake.
- SET(CMAKE_CTEST_COMMAND "${CMake_BIN_DIR}/ctest")
- SET(CMAKE_CMAKE_COMMAND "${CMake_BIN_DIR}/cmake")
- SET(CMAKE_CPACK_COMMAND "${CMake_BIN_DIR}/cpack")
- ENDIF(BUILD_TESTING)
+ set(CMAKE_CTEST_COMMAND "${CMake_BIN_DIR}/ctest")
+ set(CMAKE_CMAKE_COMMAND "${CMake_BIN_DIR}/cmake")
+ set(CMAKE_CPACK_COMMAND "${CMake_BIN_DIR}/cpack")
+ endif()
# configure some files for testing
- CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/Templates/CTestScript.cmake.in"
+ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/Templates/CTestScript.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/CTestScript.cmake"
@ONLY)
- CONFIGURE_FILE(${CMake_SOURCE_DIR}/Tests/.NoDartCoverage
+ configure_file(${CMake_SOURCE_DIR}/Tests/.NoDartCoverage
${CMake_BINARY_DIR}/Tests/.NoDartCoverage)
- CONFIGURE_FILE(${CMake_SOURCE_DIR}/Tests/.NoDartCoverage
+ configure_file(${CMake_SOURCE_DIR}/Tests/.NoDartCoverage
${CMake_BINARY_DIR}/Modules/.NoDartCoverage)
- CONFIGURE_FILE(${CMake_SOURCE_DIR}/CTestCustom.cmake.in
+ configure_file(${CMake_SOURCE_DIR}/CTestCustom.cmake.in
${CMake_BINARY_DIR}/CTestCustom.cmake @ONLY)
- CONFIGURE_FILE(${CMake_SOURCE_DIR}/CTestCustom.ctest.in
+ configure_file(${CMake_SOURCE_DIR}/CTestCustom.ctest.in
${CMake_BINARY_DIR}/CTestCustom.ctest @ONLY)
- IF(BUILD_TESTING AND DART_ROOT)
- CONFIGURE_FILE(${CMake_SOURCE_DIR}/CMakeLogo.gif
+ if(BUILD_TESTING AND DART_ROOT)
+ configure_file(${CMake_SOURCE_DIR}/CMakeLogo.gif
${CMake_BINARY_DIR}/Testing/HTML/TestingResults/Icons/Logo.gif COPYONLY)
- ENDIF(BUILD_TESTING AND DART_ROOT)
- MARK_AS_ADVANCED(DART_ROOT)
- MARK_AS_ADVANCED(CURL_TESTING)
-ENDMACRO(CMAKE_SETUP_TESTING)
+ endif()
+ mark_as_advanced(DART_ROOT)
+ mark_as_advanced(CURL_TESTING)
+endmacro()
# Provide a way for Visual Studio Express users to turn OFF the new FOLDER
# organization feature. Default to ON for non-Express users. Express users must
# explicitly turn off this option to build CMake in the Express IDE...
#
-OPTION(CMAKE_USE_FOLDERS "Enable folder grouping of projects in IDEs." ON)
-MARK_AS_ADVANCED(CMAKE_USE_FOLDERS)
+option(CMAKE_USE_FOLDERS "Enable folder grouping of projects in IDEs." ON)
+mark_as_advanced(CMAKE_USE_FOLDERS)
#-----------------------------------------------------------------------
# a macro that only sets the FOLDER target property if it's
# "appropriate"
#-----------------------------------------------------------------------
-MACRO(CMAKE_SET_TARGET_FOLDER tgt folder)
- IF(CMAKE_USE_FOLDERS)
- SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON)
+macro(CMAKE_SET_TARGET_FOLDER tgt folder)
+ if(CMAKE_USE_FOLDERS)
+ set_property(GLOBAL PROPERTY USE_FOLDERS ON)
# Really, I just want this to be an "if(TARGET ${tgt})" ...
# but I'm not sure that our min req'd., CMake 2.4.5 can handle
# that... so I'm just activating this for now, with a version
# compare, and only for MSVC builds.
- IF(MSVC)
- IF(NOT ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} LESS 2.8)
- SET_PROPERTY(TARGET "${tgt}" PROPERTY FOLDER "${folder}")
- ENDIF()
- ENDIF()
- ELSE()
- SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS OFF)
- ENDIF()
-ENDMACRO(CMAKE_SET_TARGET_FOLDER)
+ if(MSVC)
+ if(NOT ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} LESS 2.8)
+ set_property(TARGET "${tgt}" PROPERTY FOLDER "${folder}")
+ endif()
+ endif()
+ else()
+ set_property(GLOBAL PROPERTY USE_FOLDERS OFF)
+ endif()
+endmacro()
#-----------------------------------------------------------------------
# a macro to build the utilities used by CMake
# Simply to improve readability of the main script.
#-----------------------------------------------------------------------
-MACRO (CMAKE_BUILD_UTILITIES)
+macro (CMAKE_BUILD_UTILITIES)
#---------------------------------------------------------------------
# Create the KWIML library for CMake.
- SET(KWIML cmIML)
- SET(KWIML_HEADER_ROOT ${CMake_BINARY_DIR}/Utilities)
- ADD_SUBDIRECTORY(Utilities/KWIML)
+ set(KWIML cmIML)
+ set(KWIML_HEADER_ROOT ${CMake_BINARY_DIR}/Utilities)
+ add_subdirectory(Utilities/KWIML)
#---------------------------------------------------------------------
# Create the kwsys library for CMake.
- SET(KWSYS_NAMESPACE cmsys)
- SET(KWSYS_USE_SystemTools 1)
- SET(KWSYS_USE_Directory 1)
- SET(KWSYS_USE_RegularExpression 1)
- SET(KWSYS_USE_Base64 1)
- SET(KWSYS_USE_MD5 1)
- SET(KWSYS_USE_Process 1)
- SET(KWSYS_USE_CommandLineArguments 1)
- SET(KWSYS_HEADER_ROOT ${CMake_BINARY_DIR}/Source)
- SET(KWSYS_INSTALL_DOC_DIR "${CMake_DOC_DEST}")
- ADD_SUBDIRECTORY(Source/kwsys)
- SET(kwsys_folder "Utilities/KWSys")
+ set(KWSYS_NAMESPACE cmsys)
+ set(KWSYS_USE_SystemTools 1)
+ set(KWSYS_USE_Directory 1)
+ set(KWSYS_USE_RegularExpression 1)
+ set(KWSYS_USE_Base64 1)
+ set(KWSYS_USE_MD5 1)
+ set(KWSYS_USE_Process 1)
+ set(KWSYS_USE_CommandLineArguments 1)
+ set(KWSYS_HEADER_ROOT ${CMake_BINARY_DIR}/Source)
+ set(KWSYS_INSTALL_DOC_DIR "${CMake_DOC_DEST}")
+ add_subdirectory(Source/kwsys)
+ set(kwsys_folder "Utilities/KWSys")
CMAKE_SET_TARGET_FOLDER(${KWSYS_NAMESPACE} "${kwsys_folder}")
CMAKE_SET_TARGET_FOLDER(${KWSYS_NAMESPACE}_c "${kwsys_folder}")
CMAKE_SET_TARGET_FOLDER(${KWSYS_NAMESPACE}EncodeExecutable "${kwsys_folder}")
@@ -249,248 +248,248 @@ MACRO (CMAKE_BUILD_UTILITIES)
# Setup third-party libraries.
# Everything in the tree should be able to include files from the
# Utilities directory.
- INCLUDE_DIRECTORIES(
+ include_directories(
${CMake_BINARY_DIR}/Utilities
${CMake_SOURCE_DIR}/Utilities
)
-
+
# check for the use of system libraries versus builtin ones
# (a macro defined in this file)
CMAKE_HANDLE_SYSTEM_LIBRARIES()
-
+
#---------------------------------------------------------------------
# Build zlib library for Curl, CMake, and CTest.
- SET(CMAKE_ZLIB_HEADER "cm_zlib.h")
- IF(CMAKE_USE_SYSTEM_ZLIB)
- FIND_PACKAGE(ZLIB)
- IF(NOT ZLIB_FOUND)
- MESSAGE(FATAL_ERROR
+ set(CMAKE_ZLIB_HEADER "cm_zlib.h")
+ if(CMAKE_USE_SYSTEM_ZLIB)
+ find_package(ZLIB)
+ if(NOT ZLIB_FOUND)
+ message(FATAL_ERROR
"CMAKE_USE_SYSTEM_ZLIB is ON but a zlib is not found!")
- ENDIF(NOT ZLIB_FOUND)
- SET(CMAKE_ZLIB_INCLUDES ${ZLIB_INCLUDE_DIR})
- SET(CMAKE_ZLIB_LIBRARIES ${ZLIB_LIBRARIES})
- ELSE(CMAKE_USE_SYSTEM_ZLIB)
- SET(CMAKE_ZLIB_INCLUDES ${CMake_SOURCE_DIR}/Utilities)
- SET(CMAKE_ZLIB_LIBRARIES cmzlib)
- ADD_SUBDIRECTORY(Utilities/cmzlib)
+ endif()
+ set(CMAKE_ZLIB_INCLUDES ${ZLIB_INCLUDE_DIR})
+ set(CMAKE_ZLIB_LIBRARIES ${ZLIB_LIBRARIES})
+ else()
+ set(CMAKE_ZLIB_INCLUDES ${CMake_SOURCE_DIR}/Utilities)
+ set(CMAKE_ZLIB_LIBRARIES cmzlib)
+ add_subdirectory(Utilities/cmzlib)
CMAKE_SET_TARGET_FOLDER(cmzlib "Utilities/3rdParty")
- ENDIF(CMAKE_USE_SYSTEM_ZLIB)
-
+ endif()
+
#---------------------------------------------------------------------
# Build Curl library for CTest.
- IF(CMAKE_USE_SYSTEM_CURL)
- FIND_PACKAGE(CURL)
- IF(NOT CURL_FOUND)
- MESSAGE(FATAL_ERROR
+ if(CMAKE_USE_SYSTEM_CURL)
+ find_package(CURL)
+ if(NOT CURL_FOUND)
+ message(FATAL_ERROR
"CMAKE_USE_SYSTEM_CURL is ON but a curl is not found!")
- ENDIF(NOT CURL_FOUND)
- SET(CMAKE_CURL_INCLUDES ${CURL_INCLUDE_DIRS})
- SET(CMAKE_CURL_LIBRARIES ${CURL_LIBRARIES})
- ELSE(CMAKE_USE_SYSTEM_CURL)
- SET(CURL_SPECIAL_ZLIB_H ${CMAKE_ZLIB_HEADER})
- SET(CURL_SPECIAL_LIBZ_INCLUDES ${CMAKE_ZLIB_INCLUDES})
- SET(CURL_SPECIAL_LIBZ ${CMAKE_ZLIB_LIBRARIES})
- OPTION(CMAKE_BUILD_CURL_SHARED "Should curl be built shared" FALSE)
- IF(NOT CMAKE_BUILD_CURL_SHARED)
- ADD_DEFINITIONS(-DCURL_STATICLIB)
- ENDIF(NOT CMAKE_BUILD_CURL_SHARED)
- SET(CMAKE_CURL_INCLUDES)
- SET(CMAKE_CURL_LIBRARIES cmcurl)
- IF(CMAKE_TESTS_CDASH_SERVER)
- SET(CMAKE_CURL_TEST_URL "${CMAKE_TESTS_CDASH_SERVER}/user.php")
- ENDIF(CMAKE_TESTS_CDASH_SERVER)
- ADD_SUBDIRECTORY(Utilities/cmcurl)
+ endif()
+ set(CMAKE_CURL_INCLUDES ${CURL_INCLUDE_DIRS})
+ set(CMAKE_CURL_LIBRARIES ${CURL_LIBRARIES})
+ else()
+ set(CURL_SPECIAL_ZLIB_H ${CMAKE_ZLIB_HEADER})
+ set(CURL_SPECIAL_LIBZ_INCLUDES ${CMAKE_ZLIB_INCLUDES})
+ set(CURL_SPECIAL_LIBZ ${CMAKE_ZLIB_LIBRARIES})
+ option(CMAKE_BUILD_CURL_SHARED "Should curl be built shared" FALSE)
+ if(NOT CMAKE_BUILD_CURL_SHARED)
+ add_definitions(-DCURL_STATICLIB)
+ endif()
+ set(CMAKE_CURL_INCLUDES)
+ set(CMAKE_CURL_LIBRARIES cmcurl)
+ if(CMAKE_TESTS_CDASH_SERVER)
+ set(CMAKE_CURL_TEST_URL "${CMAKE_TESTS_CDASH_SERVER}/user.php")
+ endif()
+ add_subdirectory(Utilities/cmcurl)
CMAKE_SET_TARGET_FOLDER(cmcurl "Utilities/3rdParty")
CMAKE_SET_TARGET_FOLDER(LIBCURL "Utilities/3rdParty")
- ENDIF(CMAKE_USE_SYSTEM_CURL)
+ endif()
#---------------------------------------------------------------------
# Build Compress library for CTest.
- SET(CMAKE_COMPRESS_INCLUDES
+ set(CMAKE_COMPRESS_INCLUDES
"${CMAKE_CURRENT_BINARY_DIR}/Utilities/cmcompress")
- SET(CMAKE_COMPRESS_LIBRARIES "cmcompress")
- ADD_SUBDIRECTORY(Utilities/cmcompress)
+ set(CMAKE_COMPRESS_LIBRARIES "cmcompress")
+ add_subdirectory(Utilities/cmcompress)
CMAKE_SET_TARGET_FOLDER(cmcompress "Utilities/3rdParty")
- IF(CMAKE_USE_SYSTEM_BZIP2)
- FIND_PACKAGE(BZip2)
- ELSE()
- SET(BZIP2_INCLUDE_DIR
+ if(CMAKE_USE_SYSTEM_BZIP2)
+ find_package(BZip2)
+ else()
+ set(BZIP2_INCLUDE_DIR
"${CMAKE_CURRENT_SOURCE_DIR}/Utilities/cmbzip2")
- SET(BZIP2_LIBRARIES cmbzip2)
- ADD_SUBDIRECTORY(Utilities/cmbzip2)
+ set(BZIP2_LIBRARIES cmbzip2)
+ add_subdirectory(Utilities/cmbzip2)
CMAKE_SET_TARGET_FOLDER(cmbzip2 "Utilities/3rdParty")
- ENDIF()
+ endif()
#---------------------------------------------------------------------
# Build or use system libarchive for CMake and CTest.
- IF(CMAKE_USE_SYSTEM_LIBARCHIVE)
- IF(EXISTS ${CMAKE_ROOT}/Modules/FindLibArchive.cmake) # added in 2.8.3
- FIND_PACKAGE(LibArchive)
- ELSE()
- INCLUDE(${CMake_SOURCE_DIR}/Modules/FindLibArchive.cmake)
- ENDIF()
- IF(NOT LibArchive_FOUND)
- MESSAGE(FATAL_ERROR "CMAKE_USE_SYSTEM_LIBARCHIVE is ON but LibArchive is not found!")
- ENDIF()
- SET(CMAKE_TAR_INCLUDES ${LibArchive_INCLUDE_DIRS})
- SET(CMAKE_TAR_LIBRARIES ${LibArchive_LIBRARIES})
- ELSE(CMAKE_USE_SYSTEM_LIBARCHIVE)
- SET(ZLIB_INCLUDE_DIR ${CMAKE_ZLIB_INCLUDES})
- SET(ZLIB_LIBRARY ${CMAKE_ZLIB_LIBRARIES})
- ADD_DEFINITIONS(-DLIBARCHIVE_STATIC)
- SET(ENABLE_NETTLE OFF CACHE INTERNAL "Enable use of Nettle")
- SET(ENABLE_OPENSSL ${CMAKE_USE_OPENSSL} CACHE INTERNAL "Enable use of OpenSSL")
- SET(ENABLE_XATTR OFF CACHE INTERNAL "Enable extended attribute support")
- SET(ENABLE_ACL OFF CACHE INTERNAL "Enable ACL support")
- SET(ENABLE_ICONV OFF CACHE INTERNAL "Enable iconv support")
- ADD_SUBDIRECTORY(Utilities/cmlibarchive)
+ if(CMAKE_USE_SYSTEM_LIBARCHIVE)
+ if(EXISTS ${CMAKE_ROOT}/Modules/FindLibArchive.cmake) # added in 2.8.3
+ find_package(LibArchive)
+ else()
+ include(${CMake_SOURCE_DIR}/Modules/FindLibArchive.cmake)
+ endif()
+ if(NOT LibArchive_FOUND)
+ message(FATAL_ERROR "CMAKE_USE_SYSTEM_LIBARCHIVE is ON but LibArchive is not found!")
+ endif()
+ set(CMAKE_TAR_INCLUDES ${LibArchive_INCLUDE_DIRS})
+ set(CMAKE_TAR_LIBRARIES ${LibArchive_LIBRARIES})
+ else()
+ set(ZLIB_INCLUDE_DIR ${CMAKE_ZLIB_INCLUDES})
+ set(ZLIB_LIBRARY ${CMAKE_ZLIB_LIBRARIES})
+ add_definitions(-DLIBARCHIVE_STATIC)
+ set(ENABLE_NETTLE OFF CACHE INTERNAL "Enable use of Nettle")
+ set(ENABLE_OPENSSL ${CMAKE_USE_OPENSSL} CACHE INTERNAL "Enable use of OpenSSL")
+ set(ENABLE_XATTR OFF CACHE INTERNAL "Enable extended attribute support")
+ set(ENABLE_ACL OFF CACHE INTERNAL "Enable ACL support")
+ set(ENABLE_ICONV OFF CACHE INTERNAL "Enable iconv support")
+ add_subdirectory(Utilities/cmlibarchive)
CMAKE_SET_TARGET_FOLDER(cmlibarchive "Utilities/3rdParty")
- SET(CMAKE_TAR_LIBRARIES cmlibarchive ${BZIP2_LIBRARIES})
- ENDIF(CMAKE_USE_SYSTEM_LIBARCHIVE)
+ set(CMAKE_TAR_LIBRARIES cmlibarchive ${BZIP2_LIBRARIES})
+ endif()
#---------------------------------------------------------------------
# Build expat library for CMake and CTest.
- IF(CMAKE_USE_SYSTEM_EXPAT)
- FIND_PACKAGE(EXPAT)
- IF(NOT EXPAT_FOUND)
- MESSAGE(FATAL_ERROR
+ if(CMAKE_USE_SYSTEM_EXPAT)
+ find_package(EXPAT)
+ if(NOT EXPAT_FOUND)
+ message(FATAL_ERROR
"CMAKE_USE_SYSTEM_EXPAT is ON but a expat is not found!")
- ENDIF(NOT EXPAT_FOUND)
- SET(CMAKE_EXPAT_INCLUDES ${EXPAT_INCLUDE_DIRS})
- SET(CMAKE_EXPAT_LIBRARIES ${EXPAT_LIBRARIES})
- ELSE(CMAKE_USE_SYSTEM_EXPAT)
- SET(CMAKE_EXPAT_INCLUDES)
- SET(CMAKE_EXPAT_LIBRARIES cmexpat)
- ADD_SUBDIRECTORY(Utilities/cmexpat)
+ endif()
+ set(CMAKE_EXPAT_INCLUDES ${EXPAT_INCLUDE_DIRS})
+ set(CMAKE_EXPAT_LIBRARIES ${EXPAT_LIBRARIES})
+ else()
+ set(CMAKE_EXPAT_INCLUDES)
+ set(CMAKE_EXPAT_LIBRARIES cmexpat)
+ add_subdirectory(Utilities/cmexpat)
CMAKE_SET_TARGET_FOLDER(cmexpat "Utilities/3rdParty")
- ENDIF(CMAKE_USE_SYSTEM_EXPAT)
-
+ endif()
+
#---------------------------------------------------------------------
# Build XMLRPC library for CMake and CTest.
- IF(CTEST_USE_XMLRPC)
- FIND_PACKAGE(XMLRPC QUIET REQUIRED libwww-client)
- IF(NOT XMLRPC_FOUND)
- MESSAGE(FATAL_ERROR
+ if(CTEST_USE_XMLRPC)
+ find_package(XMLRPC QUIET REQUIRED libwww-client)
+ if(NOT XMLRPC_FOUND)
+ message(FATAL_ERROR
"CTEST_USE_XMLRPC is ON but xmlrpc is not found!")
- ENDIF(NOT XMLRPC_FOUND)
- SET(CMAKE_XMLRPC_INCLUDES ${XMLRPC_INCLUDE_DIRS})
- SET(CMAKE_XMLRPC_LIBRARIES ${XMLRPC_LIBRARIES})
- ENDIF(CTEST_USE_XMLRPC)
-
+ endif()
+ set(CMAKE_XMLRPC_INCLUDES ${XMLRPC_INCLUDE_DIRS})
+ set(CMAKE_XMLRPC_LIBRARIES ${XMLRPC_LIBRARIES})
+ endif()
+
#---------------------------------------------------------------------
# Use curses?
- IF (UNIX)
+ if (UNIX)
# there is a bug in the Syllable libraries which makes linking ccmake fail, Alex
- IF(NOT "${CMAKE_SYSTEM_NAME}" MATCHES syllable)
- SET(CURSES_NEED_NCURSES TRUE)
- FIND_PACKAGE(Curses QUIET)
- IF (CURSES_LIBRARY)
- OPTION(BUILD_CursesDialog "Build the CMake Curses Dialog ccmake" ON)
- ELSE (CURSES_LIBRARY)
- MESSAGE("Curses libraries were not found. Curses GUI for CMake will not be built.")
- SET(BUILD_CursesDialog 0)
- ENDIF (CURSES_LIBRARY)
- ELSE(NOT "${CMAKE_SYSTEM_NAME}" MATCHES syllable)
- SET(BUILD_CursesDialog 0)
- ENDIF(NOT "${CMAKE_SYSTEM_NAME}" MATCHES syllable)
- ELSE (UNIX)
- SET(BUILD_CursesDialog 0)
- ENDIF (UNIX)
- IF(BUILD_CursesDialog)
- ADD_SUBDIRECTORY(Source/CursesDialog/form)
- ENDIF(BUILD_CursesDialog)
-ENDMACRO (CMAKE_BUILD_UTILITIES)
+ if(NOT "${CMAKE_SYSTEM_NAME}" MATCHES syllable)
+ set(CURSES_NEED_NCURSES TRUE)
+ find_package(Curses QUIET)
+ if (CURSES_LIBRARY)
+ option(BUILD_CursesDialog "Build the CMake Curses Dialog ccmake" ON)
+ else ()
+ message("Curses libraries were not found. Curses GUI for CMake will not be built.")
+ set(BUILD_CursesDialog 0)
+ endif ()
+ else()
+ set(BUILD_CursesDialog 0)
+ endif()
+ else ()
+ set(BUILD_CursesDialog 0)
+ endif ()
+ if(BUILD_CursesDialog)
+ add_subdirectory(Source/CursesDialog/form)
+ endif()
+endmacro ()
#-----------------------------------------------------------------------
-IF(CMAKE_CXX_PLATFORM_ID MATCHES "OpenBSD")
- EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER}
+if(CMAKE_CXX_PLATFORM_ID MATCHES "OpenBSD")
+ execute_process(COMMAND ${CMAKE_CXX_COMPILER}
${CMAKE_CXX_COMPILER_ARG1} -dumpversion
OUTPUT_VARIABLE _GXX_VERSION
)
- STRING(REGEX REPLACE "([0-9])\\.([0-9])(\\.[0-9])?" "\\1\\2"
+ string(REGEX REPLACE "([0-9])\\.([0-9])(\\.[0-9])?" "\\1\\2"
_GXX_VERSION_SHORT ${_GXX_VERSION})
- IF(_GXX_VERSION_SHORT EQUAL 33)
- MESSAGE(FATAL_ERROR
+ if(_GXX_VERSION_SHORT EQUAL 33)
+ message(FATAL_ERROR
"GXX 3.3 on OpenBSD is known to cause CPack to Crash.\n"
"Please use GXX 4.2 or greater to build CMake on OpenBSD\n"
"${CMAKE_CXX_COMPILER} version is: ${_GXX_VERSION}")
- ENDIF()
-ENDIF()
+ endif()
+endif()
#-----------------------------------------------------------------------
# The main section of the CMakeLists file
#
#-----------------------------------------------------------------------
-INCLUDE(Source/CMakeVersion.cmake)
+include(Source/CMakeVersion.cmake)
# Releases define a small tweak level.
-IF("${CMake_VERSION_TWEAK}" VERSION_LESS 20000000)
- SET(CMake_VERSION_IS_RELEASE 1)
- SET(CMake_VERSION_SOURCE "")
-ELSE()
- SET(CMake_VERSION_IS_RELEASE 0)
- INCLUDE(${CMake_SOURCE_DIR}/Source/CMakeVersionSource.cmake)
-ENDIF()
+if("${CMake_VERSION_TWEAK}" VERSION_LESS 20000000)
+ set(CMake_VERSION_IS_RELEASE 1)
+ set(CMake_VERSION_SOURCE "")
+else()
+ set(CMake_VERSION_IS_RELEASE 0)
+ include(${CMake_SOURCE_DIR}/Source/CMakeVersionSource.cmake)
+endif()
# Compute the full version string.
-SET(CMake_VERSION ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}.${CMake_VERSION_PATCH})
-IF(${CMake_VERSION_TWEAK} GREATER 0)
- SET(CMake_VERSION ${CMake_VERSION}.${CMake_VERSION_TWEAK})
-ENDIF()
-IF(CMake_VERSION_RC)
- SET(CMake_VERSION ${CMake_VERSION}-rc${CMake_VERSION_RC})
-ENDIF()
-IF(CMake_VERSION_SOURCE)
- SET(CMake_VERSION ${CMake_VERSION}-${CMake_VERSION_SOURCE})
-ENDIF()
+set(CMake_VERSION ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}.${CMake_VERSION_PATCH})
+if(${CMake_VERSION_TWEAK} GREATER 0)
+ set(CMake_VERSION ${CMake_VERSION}.${CMake_VERSION_TWEAK})
+endif()
+if(CMake_VERSION_RC)
+ set(CMake_VERSION ${CMake_VERSION}-rc${CMake_VERSION_RC})
+endif()
+if(CMake_VERSION_SOURCE)
+ set(CMake_VERSION ${CMake_VERSION}-${CMake_VERSION_SOURCE})
+endif()
# Include the standard Dart testing module
-ENABLE_TESTING()
-INCLUDE (${CMAKE_ROOT}/Modules/Dart.cmake)
+enable_testing()
+include (${CMAKE_ROOT}/Modules/Dart.cmake)
# Set up test-time configuration.
-SET_DIRECTORY_PROPERTIES(PROPERTIES
+set_directory_properties(PROPERTIES
TEST_INCLUDE_FILE "${CMake_BINARY_DIR}/Tests/EnforceConfig.cmake")
# where to write the resulting executables and libraries
-SET(BUILD_SHARED_LIBS OFF)
-SET(EXECUTABLE_OUTPUT_PATH "" CACHE INTERNAL "No configurable exe dir.")
-SET(LIBRARY_OUTPUT_PATH "" CACHE INTERNAL
+set(BUILD_SHARED_LIBS OFF)
+set(EXECUTABLE_OUTPUT_PATH "" CACHE INTERNAL "No configurable exe dir.")
+set(LIBRARY_OUTPUT_PATH "" CACHE INTERNAL
"Where to put the libraries for CMake")
# The CMake executables usually do not need any rpath to run in the build or
# install tree.
-SET(CMAKE_SKIP_RPATH ON CACHE INTERNAL "CMake does not need RPATHs.")
+set(CMAKE_SKIP_RPATH ON CACHE INTERNAL "CMake does not need RPATHs.")
-SET(CMAKE_DATA_DIR "/share/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}" CACHE STRING
+set(CMAKE_DATA_DIR "/share/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}" CACHE STRING
"Install location for data (relative to prefix).")
-SET(CMAKE_DOC_DIR "/doc/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}" CACHE STRING
+set(CMAKE_DOC_DIR "/doc/cmake-${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}" CACHE STRING
"Install location for documentation (relative to prefix).")
-SET(CMAKE_MAN_DIR "/man" CACHE STRING
+set(CMAKE_MAN_DIR "/man" CACHE STRING
"Install location for man pages (relative to prefix).")
-MARK_AS_ADVANCED(CMAKE_DATA_DIR CMAKE_DOC_DIR CMAKE_MAN_DIR)
-IF(CYGWIN AND EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
+mark_as_advanced(CMAKE_DATA_DIR CMAKE_DOC_DIR CMAKE_MAN_DIR)
+if(CYGWIN AND EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
# Force doc, data and man dirs to conform to cygwin layout.
- SET(CMAKE_DOC_DIR "/share/doc/cmake-${CMake_VERSION}")
- SET(CMAKE_DATA_DIR "/share/cmake-${CMake_VERSION}")
- SET(CMAKE_MAN_DIR "/share/man")
+ set(CMAKE_DOC_DIR "/share/doc/cmake-${CMake_VERSION}")
+ set(CMAKE_DATA_DIR "/share/cmake-${CMake_VERSION}")
+ set(CMAKE_MAN_DIR "/share/man")
# let the user know we just forced these values
- MESSAGE(STATUS "Setup for Cygwin packaging")
- MESSAGE(STATUS "Override cache CMAKE_DOC_DIR = ${CMAKE_DOC_DIR}")
- MESSAGE(STATUS "Override cache CMAKE_DATA_DIR = ${CMAKE_DATA_DIR}")
- MESSAGE(STATUS "Override cache CMAKE_MAN_DIR = ${CMAKE_MAN_DIR}")
-ENDIF()
-STRING(REGEX REPLACE "^/" "" CMake_DATA_DEST "${CMAKE_DATA_DIR}")
-STRING(REGEX REPLACE "^/" "" CMake_DOC_DEST "${CMAKE_DOC_DIR}")
-
-IF(BUILD_TESTING)
- INCLUDE(${CMake_SOURCE_DIR}/Tests/CMakeInstall.cmake)
-ENDIF()
+ message(STATUS "Setup for Cygwin packaging")
+ message(STATUS "Override cache CMAKE_DOC_DIR = ${CMAKE_DOC_DIR}")
+ message(STATUS "Override cache CMAKE_DATA_DIR = ${CMAKE_DATA_DIR}")
+ message(STATUS "Override cache CMAKE_MAN_DIR = ${CMAKE_MAN_DIR}")
+endif()
+string(REGEX REPLACE "^/" "" CMake_DATA_DEST "${CMAKE_DATA_DIR}")
+string(REGEX REPLACE "^/" "" CMake_DOC_DEST "${CMAKE_DOC_DIR}")
+
+if(BUILD_TESTING)
+ include(${CMake_SOURCE_DIR}/Tests/CMakeInstall.cmake)
+endif()
# include special compile flags for some compilers
-INCLUDE(CompileFlags.cmake)
+include(CompileFlags.cmake)
# no clue why we are testing for this here
-INCLUDE(CheckSymbolExists)
+include(CheckSymbolExists)
CHECK_SYMBOL_EXISTS(unsetenv "stdlib.h" HAVE_UNSETENV)
CHECK_SYMBOL_EXISTS(environ "stdlib.h" HAVE_ENVIRON_NOT_REQUIRE_PROTOTYPE)
@@ -507,91 +506,90 @@ CHECK_SYMBOL_EXISTS(environ "stdlib.h" HAVE_ENVIRON_NOT_REQUIRE_PROTOTYPE)
# to a cdash4simpletest database. In these cases, the CDash dashboards
# should be run first.
#
-IF("x${CMAKE_TESTS_CDASH_SERVER}" STREQUAL "x")
- SET(CMAKE_TESTS_CDASH_SERVER "http://www.cdash.org/CDash")
-ENDIF("x${CMAKE_TESTS_CDASH_SERVER}" STREQUAL "x")
+if("x${CMAKE_TESTS_CDASH_SERVER}" STREQUAL "x")
+ set(CMAKE_TESTS_CDASH_SERVER "http://www.cdash.org/CDash")
+endif()
-# build the utilities (a macro defined in this file)
+# build the utilities (a macro defined in this file)
CMAKE_BUILD_UTILITIES()
# On NetBSD ncurses is required, since curses doesn't have the wsyncup()
# function. ncurses is installed via pkgsrc, so the library is in /usr/pkg/lib,
-# which isn't in the default linker search path. So without RPATH ccmake
+# which isn't in the default linker search path. So without RPATH ccmake
# doesn't run and the build doesn't succeed since ccmake is executed for
# generating the documentation.
-IF(BUILD_CursesDialog)
- GET_FILENAME_COMPONENT(_CURSES_DIR "${CURSES_LIBRARY}" PATH)
- SET(CURSES_NEED_RPATH FALSE)
- IF(NOT "${_CURSES_DIR}" STREQUAL "/lib" AND NOT "${_CURSES_DIR}" STREQUAL "/usr/lib" AND NOT "${_CURSES_DIR}" STREQUAL "/lib64" AND NOT "${_CURSES_DIR}" STREQUAL "/usr/lib64")
- SET(CURSES_NEED_RPATH TRUE)
- ENDIF(NOT "${_CURSES_DIR}" STREQUAL "/lib" AND NOT "${_CURSES_DIR}" STREQUAL "/usr/lib" AND NOT "${_CURSES_DIR}" STREQUAL "/lib64" AND NOT "${_CURSES_DIR}" STREQUAL "/usr/lib64")
-ENDIF(BUILD_CursesDialog)
-
-IF(BUILD_QtDialog)
- IF(APPLE)
- SET(CMAKE_BUNDLE_NAME
+if(BUILD_CursesDialog)
+ get_filename_component(_CURSES_DIR "${CURSES_LIBRARY}" PATH)
+ set(CURSES_NEED_RPATH FALSE)
+ if(NOT "${_CURSES_DIR}" STREQUAL "/lib" AND NOT "${_CURSES_DIR}" STREQUAL "/usr/lib" AND NOT "${_CURSES_DIR}" STREQUAL "/lib64" AND NOT "${_CURSES_DIR}" STREQUAL "/usr/lib64")
+ set(CURSES_NEED_RPATH TRUE)
+ endif()
+endif()
+
+if(BUILD_QtDialog)
+ if(APPLE)
+ set(CMAKE_BUNDLE_NAME
"CMake ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}-${CMake_VERSION_PATCH}")
- SET(CMAKE_BUNDLE_LOCATION "${CMAKE_INSTALL_PREFIX}")
+ set(CMAKE_BUNDLE_LOCATION "${CMAKE_INSTALL_PREFIX}")
# make sure CMAKE_INSTALL_PREFIX ends in /
- STRING(LENGTH "${CMAKE_INSTALL_PREFIX}" LEN)
- MATH(EXPR LEN "${LEN} -1" )
- STRING(SUBSTRING "${CMAKE_INSTALL_PREFIX}" ${LEN} 1 ENDCH)
- IF(NOT "${ENDCH}" STREQUAL "/")
- SET(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/")
- ENDIF(NOT "${ENDCH}" STREQUAL "/")
- SET(CMAKE_INSTALL_PREFIX
+ string(LENGTH "${CMAKE_INSTALL_PREFIX}" LEN)
+ math(EXPR LEN "${LEN} -1" )
+ string(SUBSTRING "${CMAKE_INSTALL_PREFIX}" ${LEN} 1 ENDCH)
+ if(NOT "${ENDCH}" STREQUAL "/")
+ set(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/")
+ endif()
+ set(CMAKE_INSTALL_PREFIX
"${CMAKE_INSTALL_PREFIX}${CMAKE_BUNDLE_NAME}.app/Contents")
- ENDIF(APPLE)
-
- SET(QT_NEED_RPATH FALSE)
- IF(NOT "${QT_LIBRARY_DIR}" STREQUAL "/lib" AND NOT "${QT_LIBRARY_DIR}" STREQUAL "/usr/lib" AND NOT "${QT_LIBRARY_DIR}" STREQUAL "/lib64" AND NOT "${QT_LIBRARY_DIR}" STREQUAL "/usr/lib64")
- SET(QT_NEED_RPATH TRUE)
- ENDIF(NOT "${QT_LIBRARY_DIR}" STREQUAL "/lib" AND NOT "${QT_LIBRARY_DIR}" STREQUAL "/usr/lib" AND NOT "${QT_LIBRARY_DIR}" STREQUAL "/lib64" AND NOT "${QT_LIBRARY_DIR}" STREQUAL "/usr/lib64")
-ENDIF(BUILD_QtDialog)
+ endif()
+
+ set(QT_NEED_RPATH FALSE)
+ if(NOT "${QT_LIBRARY_DIR}" STREQUAL "/lib" AND NOT "${QT_LIBRARY_DIR}" STREQUAL "/usr/lib" AND NOT "${QT_LIBRARY_DIR}" STREQUAL "/lib64" AND NOT "${QT_LIBRARY_DIR}" STREQUAL "/usr/lib64")
+ set(QT_NEED_RPATH TRUE)
+ endif()
+endif()
# The same might be true on other systems for other libraries.
-# Then only enable RPATH if we have are building at least with cmake 2.4,
+# Then only enable RPATH if we have are building at least with cmake 2.4,
# since this one has much better RPATH features than cmake 2.2.
# The executables are then built with the RPATH for the libraries outside
# the build tree, which is both the build and the install RPATH.
-IF (UNIX)
- IF( CMAKE_USE_SYSTEM_CURL OR CMAKE_USE_SYSTEM_ZLIB
+if (UNIX)
+ if( CMAKE_USE_SYSTEM_CURL OR CMAKE_USE_SYSTEM_ZLIB
OR CMAKE_USE_SYSTEM_EXPAT OR CTEST_USE_XMLRPC OR CURSES_NEED_RPATH OR QT_NEED_RPATH)
- SET(CMAKE_SKIP_RPATH OFF CACHE INTERNAL "CMake built with RPATH.")
- SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
- SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
- ENDIF(CMAKE_USE_SYSTEM_CURL OR CMAKE_USE_SYSTEM_ZLIB
- OR CMAKE_USE_SYSTEM_EXPAT OR CTEST_USE_XMLRPC OR CURSES_NEED_RPATH OR QT_NEED_RPATH)
-ENDIF (UNIX)
+ set(CMAKE_SKIP_RPATH OFF CACHE INTERNAL "CMake built with RPATH.")
+ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+ set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
+ endif()
+endif ()
# add the uninstall support
-CONFIGURE_FILE(
+configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
@ONLY)
-ADD_CUSTOM_TARGET(uninstall
+add_custom_target(uninstall
"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
-INCLUDE (CMakeCPack.cmake)
+include (CMakeCPack.cmake)
# setup some Testing support (a macro defined in this file)
CMAKE_SETUP_TESTING()
-CONFIGURE_FILE(
+configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/DartLocal.conf.in"
"${CMAKE_CURRENT_BINARY_DIR}/DartLocal.conf"
COPYONLY)
-OPTION(CMAKE_STRICT
+option(CMAKE_STRICT
"Perform strict testing to record property and variable access. Can be used to report any undefined properties or variables" OFF)
-MARK_AS_ADVANCED(CMAKE_STRICT)
+mark_as_advanced(CMAKE_STRICT)
# build the remaining subdirectories
-ADD_SUBDIRECTORY(Source)
-ADD_SUBDIRECTORY(Utilities)
-ADD_SUBDIRECTORY(Tests)
+add_subdirectory(Source)
+add_subdirectory(Utilities)
+add_subdirectory(Tests)
if(BUILD_TESTING)
CMAKE_SET_TARGET_FOLDER(CMakeLibTests "Tests")
@@ -600,14 +598,14 @@ CMAKE_SET_TARGET_FOLDER(cmw9xcom "Utilities/Win9xCompat")
CMAKE_SET_TARGET_FOLDER(documentation "Documentation")
# add a test
-ADD_TEST(SystemInformationNew "${CMAKE_CMAKE_COMMAND}"
+add_test(SystemInformationNew "${CMAKE_CMAKE_COMMAND}"
--system-information -G "${CMAKE_TEST_GENERATOR}" )
# Install license file as it requires.
-INSTALL(FILES Copyright.txt DESTINATION ${CMake_DOC_DEST})
+install(FILES Copyright.txt DESTINATION ${CMake_DOC_DEST})
# Install script directories.
-INSTALL(
+install(
DIRECTORY Modules Templates
DESTINATION "${CMake_DATA_DEST}"
FILE_PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
@@ -620,7 +618,7 @@ INSTALL(
)
# process docs related install
-ADD_SUBDIRECTORY(Docs)
+add_subdirectory(Docs)
#-----------------------------------------------------------------------
# End of the main section of the CMakeLists file
@@ -631,4 +629,4 @@ ADD_SUBDIRECTORY(Docs)
# to compute the location of the "cmake" executable. We set it here
# so that those CMake versions can find it. We wait until after all
# the add_subdirectory() calls to avoid affecting the subdirectories.
-SET(EXECUTABLE_OUTPUT_PATH ${CMake_BIN_DIR})
+set(EXECUTABLE_OUTPUT_PATH ${CMake_BIN_DIR})
diff --git a/CTestConfig.cmake b/CTestConfig.cmake
index 39032220e..92eacd8e3 100644
--- a/CTestConfig.cmake
+++ b/CTestConfig.cmake
@@ -19,7 +19,7 @@ set(CTEST_DROP_SITE_CDASH TRUE)
set(CTEST_CDASH_VERSION "1.6")
set(CTEST_CDASH_QUERY_VERSION TRUE)
-# use old trigger stuff so that cmake 2.4 and below will not
+# use old trigger stuff so that cmake 2.4 and below will not
# get errors on trigger
-SET (TRIGGER_SITE
+set (TRIGGER_SITE
"http://public.kitware.com/cgi-bin/Submit-CMake-TestingResults.cgi")
diff --git a/CTestCustom.cmake.in b/CTestCustom.cmake.in
index 982919198..1e6224b4b 100644
--- a/CTestCustom.cmake.in
+++ b/CTestCustom.cmake.in
@@ -1,8 +1,8 @@
-SET(CTEST_CUSTOM_ERROR_MATCH
+set(CTEST_CUSTOM_ERROR_MATCH
${CTEST_CUSTOM_ERROR_MATCH}
"ERROR:")
-SET(CTEST_CUSTOM_WARNING_EXCEPTION
+set(CTEST_CUSTOM_WARNING_EXCEPTION
${CTEST_CUSTOM_WARNING_EXCEPTION}
"xtree.[0-9]+. : warning C4702: unreachable code"
"warning LNK4221"
@@ -56,21 +56,21 @@ SET(CTEST_CUSTOM_WARNING_EXCEPTION
"[0-9,]+ warnings? generated."
)
-IF(NOT "@CMAKE_GENERATOR@" MATCHES "Xcode")
- SET(CTEST_CUSTOM_COVERAGE_EXCLUDE
+if(NOT "@CMAKE_GENERATOR@" MATCHES "Xcode")
+ set(CTEST_CUSTOM_COVERAGE_EXCLUDE
${CTEST_CUSTOM_COVERAGE_EXCLUDE}
"XCode"
)
-ENDIF (NOT "@CMAKE_GENERATOR@" MATCHES "Xcode")
+endif ()
-IF(NOT "@CMAKE_GENERATOR@" MATCHES "KDevelop")
- SET(CTEST_CUSTOM_COVERAGE_EXCLUDE
+if(NOT "@CMAKE_GENERATOR@" MATCHES "KDevelop")
+ set(CTEST_CUSTOM_COVERAGE_EXCLUDE
${CTEST_CUSTOM_COVERAGE_EXCLUDE}
"Kdevelop"
)
-ENDIF (NOT "@CMAKE_GENERATOR@" MATCHES "KDevelop")
+endif ()
-SET(CTEST_CUSTOM_COVERAGE_EXCLUDE
+set(CTEST_CUSTOM_COVERAGE_EXCLUDE
${CTEST_CUSTOM_COVERAGE_EXCLUDE}
# Exclude kwsys files from coverage results. They are reported
diff --git a/ChangeLog.manual b/ChangeLog.manual
index cdab4422d..90c91629e 100644
--- a/ChangeLog.manual
+++ b/ChangeLog.manual
@@ -1,3 +1,477 @@
+Changes in CMake 2.8.10.2 (since 2.8.10.1)
+----------------------------------------------
+Alex Neundorf (1):
+ Automoc: fix regression #13667, broken build in phonon
+
+Brad King (1):
+ Initialize IMPORTED GLOBAL targets on reconfigure (#13702)
+
+David Cole (1):
+ CMake: Fix infinite loop untarring corrupt tar file
+
+Rolf Eike Beer (1):
+ FindGettext: fix overwriting result with empty variable (#13691)
+
+Changes in CMake 2.8.10.1 (since 2.8.10)
+----------------------------------------------
+Brad King (5):
+ Fix default PDB output directory (#13644)
+ Fix PathScale compiler id for Clang-based upstream
+ Update programmatically-reported copyright year (#13638)
+ FindSDL: Restore accidentally dropped search paths (#13651)
+ OS X: Fix default CMAKE_OSX_SYSROOT with deployment target
+
+Rolf Eike Beer (2):
+ FindOpenSSL: fix library selection on Windows (#13645)
+ FindOpenSSL: also find the non-MD debug libraries for MSVC
+
+Stephen Kelly (1):
+ GenEx: Use case insensitive comparison for $<CONFIG:...>
+
+Changes in CMake 2.8.10 (since 2.8.10-rc3)
+----------------------------------------------
+None
+
+Changes in CMake 2.8.10-rc3 (since 2.8.10-rc2)
+----------------------------------------------
+Rolf Eike Beer (2):
+ SelectLibraryConfigurations: add testcase
+ SelectLibraryConfigurations: fix for release and debug libs being the same
+
+Stephen Kelly (5):
+ BasicConfigVersion: Make docs refer to the macro, not the module name
+ Document LOCATION undefined behavior with use of LINKER_LANGUAGE.
+ GenEx: Add an accessor for imported targets in a makefile.
+ GenEx: Create cmGeneratorTargets for imported targets.
+ GexEx: Validate Target names and property names differently.
+
+Thomas Arcila (1):
+ SelectLibraryConfigurations: Fix foreach(x IN LISTS ...) syntax
+
+Changes in CMake 2.8.10-rc2 (since 2.8.10-rc1)
+----------------------------------------------
+Alex Neundorf (2):
+ Document CMAKE_FIND_PACKAGE_NAME
+ Automoc: fix #13572: issue with symbolic links
+
+Brad King (4):
+ cmCTestSVN: Fix compilation with Sun CC 5.1
+ if: Document that plain 'NOTFOUND' is a false constant
+ string: Clarify regex documentation of '-' behavior
+ FortranCInterface: Pass all flags to VERIFY project (#13579)
+
+David Cole (1):
+ NSIS: Fix incorrect uninstall registry key name (#13578)
+
+Eric NOULARD (3):
+ CPACK_XX_ON_ABSOLUTE_INSTALL_DESTINATION is now properly checked for ON/OFF
+ Document CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY and fix some typo.
+ Make CPACK_SET_DESTDIR work with archive generator + component-based packaging
+
+Jean-Christophe Fillion-Robin (1):
+ CTest: Ensure CTEST_USE_LAUNCHERS behaves nicely in Superbuild setup
+
+Pere Nubiola i Radigales (1):
+ Find PostgreSQL headers on Debian
+
+Peter Kümmel (4):
+ Ninja: also set OBJECT_DIR when compiling
+ Ninja: don't pollute current dir when using gui (#13495)
+ Ninja: implicit dependency for custom command files
+ Fix regression: write compile definitions if any
+
+Philip Lowman (4):
+ FindGTK2: Rollback lib64 changes which broke header file finding
+ FindGTK2: #12049 fix detection of header files on multiarch systems
+ FindGTK2: #12596 Missing paths for FindGTK2 on NetBSD
+ FindGTK2: Update local changelog
+
+Rolf Eike Beer (6):
+ CTest: fix usage of memory checker with spaces in path
+ CTest: fix pre and post test commands with spaces
+ CTest: add tests that simulate memcheck runs
+ CTest: improve memory checker type detection
+ CTest: add a test for CTEST_CUSTOM_MEMCHECK_IGNORE
+ CTest: add a check with a quoted memory checker
+
+Stephen Kelly (18):
+ GenEx: It is not an error to specify an empty parameter
+ GenEx: Return after error reported.
+ GenEx: Report actual target name not found, not "0" each time.
+ GenEx: Parse comma after colon tokens specially
+ GenEx: Validate target and property names.
+ GenEx: Ensure that the empty CONFIGURATION can be used conditionally.
+ GenEx: Add test for $<BOOL:> with empty parameter.
+ GenEx: Add tests for "0" and "1" expressions with literal commas.
+ GenEx: Don't use std::vector::at(int).
+ Attempt to fix the compile of cmake on Sun CC.
+ GenEx: Parse colon after arguments separator colon specially.
+ GenEx: Test the use of generator expressions to generate lists.
+ GenEx: Fix termination bugs in generator expression parser.
+ GenEx: Break if there are no more commas in the container
+ GenEx: Add some more asserts to verify code-sanity.
+ GenEx: Replace some failing tests with Borland and NMake makefiles.
+ GenEx: Fix reporting about not-found include directories and libraries.
+ Fix config-specific INCLUDE_DIRECTORIES in multi-config generators
+
+Changes in CMake 2.8.10-rc1 (since 2.8.9)
+-----------------------------------------
+Scripted Changes (3):
+ Remove trailing whitespace from most CMake and C/C++ code
+ Convert CMake-language commands to lower case
+ Remove CMake-language block-end command arguments
+
+Alex Neundorf (27):
+ Eclipse: add support for the 4.2 Juno release (#13367)
+ Eclipse: improve (fix ?) version detection on OSX
+ Eclipse: fix #13358: don't create bad linked resources
+ Eclipse: fix #13358: don't create bad linked resources
+ remove non-working KDE4 test
+ Eclipse on OSX: fix handling of framework include dirs (#13464)
+ Eclipse on OSX: improve handling of framework include dirs (#13367)
+ -fix line length
+ fix #13474: also rescan dependencies if the depender does not exist
+ -fix line length
+ -fix Java dependency scanning, broken in previous commit
+ error out if CTEST_USE_LAUNCHERS is TRUE but RULE_LAUNCH_* are not set
+ fix #13494: rerun automoc also if include dirs or moc options change
+ CMakeDetermineFortranCompiler: add support for cross-compiling (#13379)
+ Automoc: fix #13493, use target properties for include dirs
+ Automoc: do not use DEFINITIONS, but only COMPILE_DEFINITIONS
+ Automoc: also the makefile-COMPILE_DEFINITIONS
+ cmGlobalGenerator.h: some minor coding style fixes
+ Modules/readme.txt: fix typo
+ find_package: add support for a <package>_NOT_FOUND_MESSAGE variable
+ exports: store pointers to all installations of each export set
+ exports: accept a missing target if it is exported exactly once
+ exports: first try at error handling if a target is missing
+ exports: fix build with MSVC6
+ exports: move the handling of missing targets into subclasses
+ exports: define a CMAKE_FIND_PACKAGE_NAME var set by find_package()
+ exports: add a test for exporting dependent targets
+
+Andreas Mohr (1):
+ FindCURL: Find older MSVC prebuilts
+
+Andy Piper (1):
+ Do not include directories which are part of the package install prefix.
+
+Benjamin Eikel (21):
+ Initial version of find module
+ FindSDL: Add version support for FindSDL_net
+ FindSDL: Version support for FindSDL_image
+ FindSDL: Use prefix SDL_NET, because it matches the file name.
+ FindSDL: Use SDL_IMAGE prefix for varibales
+ FindSDL: Add "cmake_minimum_required" to "try_compile" project
+ FindSDL: Format the documentation
+ FindSDL: Version support for FindSDL_sound
+ FindSDL: Use same capitalization for FPHSA as file name
+ FindSDL: Pass SDL_SOUND_LIBRARY to FIND_PACKAGE_HANDLE_STANDARD_ARGS
+ FindSDL: Use SDL_MIXER prefix for variables
+ FindSDL: Add version support for FindSDL_mixer
+ FindSDL: Update documentation
+ FindSDL: Use SDL_TTF prefix for variables
+ FindSDL: Add version support for FindSDL_ttf
+ FindSDL: Update documentation
+ FindSDL: Format documentation
+ FindSDL: Add version support
+ FindSDL: Add my copyright tag to all FindSDL_* modules
+ FindSDL: Remove from find_... calls PATHS that are set by default
+ FindSDL: Stay compatible with old input variables
+
+Bill Hoffman (8):
+ Use OUTPUT_NORMAL instead of OUTPUT_MERGE for cmake -E chdir.
+ curl: Use find_package(OpenSSL)
+ curl: Make OpenSSL DLLs available to CMake on Windows
+ file(DOWNLOAD): Generalize EXPECTED_MD5 to EXPECTED_HASH
+ file(DOWNLOAD): Add options for SSL
+ Utilities/Release: Enable CMAKE_USE_OPENSSL in nightly binaries
+ Add SSL_VERIFYPEER and CAINFO file options to ExternalProject_Add.
+ Revert "Ninja: don't expand any rsp files"
+
+Brad King (83):
+ find_library: Add test covering lib->lib64 cases
+ find_library: Refactor lib->lib64 conversion
+ find_library: Simplify lib->lib<arch> expansion
+ find_library: Fix mixed lib->lib64 (non-)conversion cases (#13419)
+ CMakeDetermine(C|CXX)Compiler: Consider Clang compilers
+ Factor common code out of CMakeDetermine(ASM|C|CXX|Fortran)Compiler
+ Prefer generic system compilers by default for C, C++, and Fortran
+ Xcode: Fix object library references in multi-project trees (#13452)
+ Xcode: Run xcode-select to find Xcode version file (#13463)
+ Watcom: Simplify compiler version detection (#11866)
+ Remove trailing TAB from NSIS.template.in
+ Fix WarnUnusedUnusedViaUnset test pass/fail regex
+ CMakeVersion.bash: Update sed expression for lower-case 'set'
+ GetPrerequisites: Mark file_cmd as advanced cache entry
+ Add boolean generator expressions
+ Add $<CONFIG:...> boolean query generator expression
+ Recognize Clang ASM support (#13473)
+ Xcode: Set ASM source language in project file (#13472)
+ Tests/Assembler: Do not use assembler in universal binaries
+ Add FindHg module to find Mercurial
+ ExternalProject: Add Mercurial (hg) repository support
+ Qt4Macros: Fix recently broken resource file parsing
+ Tests/ObjectLibrary: Do not enable CXX in subdirectories
+ VS11: Rename 'Immersive' to 'WindowsAppContainer' (#12930)
+ VS: Disable precompiled headers unless enabled by project (#12930)
+ VS11: Generate flag tables from MSBuild V110 tool files
+ Detect Compaq compiler version with its id
+ Detect PathScale compiler version with its id
+ Detect TI compiler version with its id
+ Detect Comeau compiler version with its id
+ Detect SDCC compiler version with its id
+ Detect Cray compiler version with its id
+ Detect Analog VisualDSP++ compiler version with its id
+ Re-order C/C++/Fortran compiler determination logic
+ CMakeDetermineCompilerId: Prepare to detect IDE compiler id
+ Xcode: Detect the compiler id and tool location
+ VS10: Define CMAKE_VS_PLATFORM_TOOLSET variable
+ VS: Detect the compiler id and tool location
+ Cleanly enable a language in multiple subdirectories
+ Test variables CMAKE_(C|CXX|Fortran)_COMPILER(|_ID|_VERSION)
+ Document CMAKE_<LANG>_COMPILER_(ID|VERSION) values
+ Make platform information files specific to the CMake version
+ Move CMAKE_<LANG>_COMPILER_WORKS to compiler information files
+ Store ABI detection results in compiler information files
+ VS: Remove support for "free" version 2003 tools
+ VS: Simplify MSVC version reporting
+ Modernize MSVC compiler information files
+ VS: Fix MSVC_IDE definition recently broken by refactoring
+ add_library: Document POSITION_INDEPENDENT_CODE default (#13479)
+ magrathea: Tell cmELF about DT_RUNPATH (#13497)
+ Utilities/Release: Link AIX binary with large maxdata
+ Utilities/xml: Add .gitattributes to disable whitespace checks
+ Utilities/xml: Add docbook-4.5 DTD (#13508)
+ docbook: Fix formatter naming convention to avoid shadow
+ docbook: Fix Sun CC warning on ptr_fun(isalnum)
+ curl: Honor OPENSSL_NO_SSL2
+ if: Compare up to 8 components in VERSION tests
+ ExternalProject: Generalize URL_MD5 option to URL_HASH
+ Rename SSL terminology to TLS
+ file(DOWNLOAD): Make TLS options behave as documented
+ OS X: Add platform-specific Clang compiler info files (#13536)
+ VS11: Detect VS 2012 Express for default generator (#13348)
+ VS11: Add VS 2012 Express support (#13348)
+ file(DOWNLOAD): Add HTTP User-Agent string
+ ExternalProject: Add DOWNLOAD_NAME option
+ file(DOWNLOAD): Change EXPECTED_HASH to take ALGO=value
+ VS8: Remove '.NET' from generator description (#10158)
+ Clang: Split Compiler/Clang* modules out from GNU (#13550)
+ Clang: All versions know about -fPIE (#13550)
+ Xcode: Remove unused code reading CMAKE_OSX_SYSROOT_DEFAULT
+ OS X: Always generate -isysroot if any SDK is in use
+ OS X: Improve default CMAKE_OSX_SYSROOT selection
+ bootstrap: Suppress CMAKE_OSX_SYSROOT if CFLAGS have -isysroot
+ Tests/Assembler: Use CMAKE_OSX_SYSROOT to generate .s file
+ OS X: Allow CMAKE_OSX_SYSROOT to be a logical SDK name
+ OS X: Simplify selection of CMAKE_OSX_ARCHITECTURES
+ OS X: If CMAKE_OSX_SYSROOT is already set do not compute default
+ OS X: Further improve default CMAKE_OSX_SYSROOT selection
+ OS X: Teach deployment target sanity check about SDK names
+ OS X: Ignore MACOSX_DEPLOYMENT_TARGET during Xcode compiler id
+ Verify that PDB_(NAME|OUTPUT_DIRECTORY) are honored in test
+ Document that PDB_(NAME|OUTPUT_DIRECTORY) are ignored for VS 6
+ Run PDBDirectoryAndName test on MSVC and Intel
+
+Clinton Stimpson (8):
+ fphsa: clarify message about minimum required version found.
+ DeployQt4: Include DESTDIR for some cpack generators.
+ Add -DNDEBUG to RelWithDebInfo flags where where Release flags had it.
+ Fix regex for qt minor version.
+ FindQt4: Give precedence to QTDIR environment variable, if set.
+ FindQt4: Give precedence to QTDIR environment variable, if set.
+ Fix errors detecting Qt4 on Windows 8.
+ cmake-gui: Fix error status when interrupted.
+
+Daniel Pfeifer (8):
+ Simplify CMake.HTML documentation test command line
+ docbook: Remove table of contents
+ docbook: Factor out code to write valid DocBook IDs
+ docbook: Fix the DocBook section output
+ docbook: Cleanup formatter and generated DocBook
+ docbook: Add support for <abstract> at section level 1
+ docbook: Add CMake.DocBook test to validate xml (#13508)
+ docbook: Remove redundant docs that cause invalid DocBook
+
+David Cole (9):
+ Begin post-2.8.9 development
+ Release: Temporarily exclude ExternalProject test on cygwin
+ Add ability to run as a ctest -S script also
+ CMake: Clarify the documentation for if(f1 IS_NEWER_THAN f2)
+ Convert the CPACK_CYGWIN_PATCH_NUMBER variable to a cache variable
+ InstallRequiredSystemLibraries: Use correct file names (#13315)
+ ProcessorCount: Mark find_program vars as advanced (#13236)
+ FindQt4: Avoid "finding" non-existent library in a .framework
+ FindMPI: Set correct variables for calls to FPHSA
+
+Eric NOULARD (2):
+ Enhance DESTDIR documentation. Fixes #0012374.
+ Handles %attr(nnn,-,-) /path/to/file in CPACK_RPM_USER_FILELIST properly.
+
+James Bigler (3):
+ Replace -g3 with -g for CUDA 4.1 and 4.2 in addition to CUDA < 3.0.
+ Added CUDA_SOURCE_PROPERTY_FORMAT. Allows setting per file format (OBJ or PTX)
+ FindCUDA: Added CUDA_HOST_COMPILER variable.
+
+Marcin Wojdyr (1):
+ Remove CMake multiline block-end command arguments
+
+Nils Gladitz (1):
+ ctest_update: Tell svn not to prompt interactively (#13024)
+
+Patrick Gansterer (4):
+ VS: Cleanup AddPlatformDefinitions() of Visual Studio generators
+ Add additional architectures to CMakePlatformId.h.in
+ Add WindowsCE platform information files
+ VS: Remove duplicated implementations of CreateLocalGenerator()
+
+Peter Kuemmel (1):
+ Ninja: don't expand any rsp files
+
+Peter Kümmel (15):
+ Ninja: cmcldeps needs a compiler
+ Ninja: don't crash on returned 0 pointer
+ Ninja: prepare msvc pdb cleanup
+ Ninja:split out setting of msvc TARGET_PDB
+ Ninja: remove GetTargetPDB because it is used only once
+ Ninja: also detect /showInclude prefix for icl
+ Find mingw's windres also when Unix Makefiles are used
+ Ninja: don't suppress warning about compiler options
+ Ninja: suppress cmcldeps only for source file signature try_compiles
+ Ninja: filter target specific compile flags with language specific regex
+ Ninja: OBJECT_DEPENDS should set an implicit dependency
+ Ninja: don't confuse ninja's rsp files with nmake's
+ Ninja: move -LIBPATH behind -link option
+ Ninja: move <OBJECTS> in front of the first linker option
+ Ninja: add option to enforce usage of response files
+
+Philip Lowman (3):
+ FindOpenSceneGraph: CMake variable OSG_DIR influences detection now too
+ FindGTK2: Add GTK2_CAIROMMCONFIG_INCLUDE_DIR for cairommconfig.h
+ CMakeDetermineVSServicePack: Visual Studio 2012 added
+
+Rolf Eike Beer (25):
+ remove lib64 Unix paths if the respective lib path is also given
+ FindOpenSSL: find cross-compiled OpenSSL from MinGW (#13431)
+ FindOpenSSL: use SelectLibraryConfigurations
+ FindOpenSSL: let CMake handle environment variable HINTS
+ FindOpenSSL: cleanup path hints
+ FindOpenSSL: remove leftover comment
+ SelectLibraryConfiguration: generate correct output when input vars are lists
+ Fix typo direcotry -> directory (and similar) [#13444]
+ FindSelfPackers: fix typo (#13456)
+ CheckTypeSize: show in documentation how to get struct member size (#10579)
+ CheckTypeSize: add a test for size of struct members
+ FindX11: remove duplicates from X11 include path list (#13316)
+ FindX11: avoid calling list(REMOVE_DUPLICATES) on an empty list
+ list command: error on too many arguments
+ CMake.List test: explicitely test with lists containing only an empty string
+ use the find_* functions ENV parameter
+ use PATH_SUFFIXES to simplify find_* calls
+ do not escape spaces in regular expressions
+ read less from version headers into variables
+ FindFLEX: fix version extraction on Apple
+ FindGettext: remove code duplicating FPHSA checks
+ include FPHSA from current directory in all modules
+ FindOpenSceneGraph: simplify by using more features of FPHSA
+ FindSDL: add SDLMAIN_LIBRARY only once (#13262)
+ add documentation for all MSVCxxx version variables (#12567)
+
+Sergei Nikulov (1):
+ fix for discovering ft2build.h using FREETYPE_DIR environment var (#13502)
+
+Stephen Kelly (60):
+ Add new qt4_use_modules function.
+ Add missing whitespace to docs.
+ Fix some typos in the docs.
+ Remove incorrect doc string for link type enum
+ Remove duplicate 'of' from docs.
+ Fix unfortunate documentation error for PIC feature.
+ Don't duplicate -D defines sent to the compiler.
+ Fix CompileDefinitions test on Visual Studio.
+ Fix the test setting COMPILE_DEFINITIONS target property
+ Rename files from main.cpp to more meaningful names.
+ Fix casing of 'Qt' in docs, comments and user-visible strings.
+ Read entire Qt4 qrc file when parsing for depends info.
+ Add a return-after-error if an old Qt is found.
+ Use CMake platform variables instead of Qt ones.
+ Move variable setting down to where it relates to.
+ Remove an if which is always true.
+ Use add_subdirectory instead of the obsolete subdirs.
+ Replace two include_directories with a setting.
+ Compile with both Qt4 and Qt5.
+ Build with Qt5 if it is found.
+ cmGeneratorExpression: Re-write for multi-stage evaluation
+ cmGeneratorExpression: Port users to two-stage processing
+ Fix the regular expression validator for target names.
+ Handle colons as a special case in the generator expression parser.
+ Enable deprecated API when using Qt 5.
+ Add more forwarding API to cmGeneratorTarget.
+ Store cmGeneratorTargets with the makefile.
+ Move GenerateTargetManifest to cmGeneratorTarget.
+ Move GetLinkInformation to cmGeneratorTarget
+ Make cmLocalGenerator::AddArchitectureFlags take a cmGeneratorTarget.
+ Move GetCreateRuleVariable to cmGeneratorTarget.
+ Port cmLocalGenerator::GetTargetFlags to cmGeneratorTarget.
+ Move GetIncludeDirectories to cmGeneratorTarget.
+ Append the COMPILE_DEFINITIONS from the Makefile to all targets.
+ Add a wrapper for accessing config-specific compile-definitions.
+ Add convenience for getting a cmGeneratorTarget to use.
+ Fix compiler warning with initialization order.
+ Revert "Move GenerateTargetManifest to cmGeneratorTarget."
+ Use the cmGeneratorTarget for the include directories API.
+ Fix indentation in the code blocks generator.
+ Port remaining code to GetCompileDefinitions().
+ Add include guard for cmGeneratorExpression.
+ Don't prepend a path before generator expressions in include_directories.
+ Convert paths in INCLUDE_DIRECTORIES property to Unix slashes.
+ Add an AppendDefines std::string overload.
+ Return a std::string from GetCompileDefinitions.
+ Refactor GetCompileDefinitions a bit.
+ Extend the generator expression language with more logic.
+ Add a generator expression for target properties.
+ Add API to check that dependent target properties form a DAG.
+ Add a self-reference check for target properties.
+ Early return if there is no target.
+ Process generator expressions in the INCLUDE_DIRECTORIES property.
+ Process generator expressions in the COMPILE_DEFINITIONS target property.
+ Fix the layout of the generator expression documentation.
+ Fix punctuation in some variables documentation.
+ Document that generator expressions can be used in target properties.
+ Remove unused parameter marker and the unused parameter.
+ Fix minor typos.
+ Remove period at the end of the check message.
+
+Tom Schutter (2):
+ cmake-mode.el: Use more readable regex and case-fold-search
+ cmake-mode.el: add local keybindings
+
+Xavier Besseron (7):
+ cmCTestSVN: Add the new SVNInfo structure
+ cmCTestSVN: Extend Revision struct with SVN repo information
+ cmCTestSVN: Add the Repositories list and the RootInfo pointer
+ cmCTestSVN: Create the SVNInfo for the root repository
+ cmCTestSVN: Use the SVNInfo structure
+ cmCTestSVN: Add a LoadExternal() function and an ExternalParser class
+ cmCTestSVN: Load and process information from externals
+
+Yuchen Deng (1):
+ Add PDB_OUTPUT_DIRECTORY and PDB_NAME target properties (#10830)
+
+Yury G. Kudryashov (7):
+ exports: Move cmTargetExport to a dedicated header file
+ exports: Remove cmTargetExport constructor
+ exports: Rename cmGlobalGenerator::AddTargetToExport{s,}
+ exports: Create class cmExportSet
+ exports: Add cmExportSetMap class
+ exports: Hold an ExportSet pointer in cm*Export*Generator
+ exports: cmGlobalGenerator::ExportSets destructor will clear it
+
+Zack Galbreath (2):
+ Clean up documentation formatting so that it is rendered properly in HTML.
+ cmparseMSBuildXML: Include DisplayName in the output
+
Changes in CMake 2.8.9 (since 2.8.9-rc3)
----------------------------------------
None
diff --git a/CompileFlags.cmake b/CompileFlags.cmake
index 3b455b96f..b2044e441 100644
--- a/CompileFlags.cmake
+++ b/CompileFlags.cmake
@@ -13,52 +13,52 @@
#-----------------------------------------------------------------------------
# set some special flags for different compilers
#
-IF(CMAKE_GENERATOR MATCHES "Visual Studio 7")
- SET(CMAKE_SKIP_COMPATIBILITY_TESTS 1)
-ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 7")
-IF(CMAKE_GENERATOR MATCHES "Visual Studio 6")
- SET(CMAKE_SKIP_COMPATIBILITY_TESTS 1)
-ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 6")
-INCLUDE (${CMAKE_ROOT}/Modules/CMakeBackwardCompatibilityCXX.cmake)
+if(CMAKE_GENERATOR MATCHES "Visual Studio 7")
+ set(CMAKE_SKIP_COMPATIBILITY_TESTS 1)
+endif()
+if(CMAKE_GENERATOR MATCHES "Visual Studio 6")
+ set(CMAKE_SKIP_COMPATIBILITY_TESTS 1)
+endif()
+include (${CMAKE_ROOT}/Modules/CMakeBackwardCompatibilityCXX.cmake)
-IF(WIN32 AND "${CMAKE_C_COMPILER_ID}" MATCHES "^(Intel)$")
- SET(_INTEL_WINDOWS 1)
-ENDIF()
+if(WIN32 AND "${CMAKE_C_COMPILER_ID}" MATCHES "^(Intel)$")
+ set(_INTEL_WINDOWS 1)
+endif()
# Disable deprecation warnings for standard C functions.
# really only needed for newer versions of VS, but should
-# not hurt other versions, and this will work into the
+# not hurt other versions, and this will work into the
# future
-IF(MSVC OR _INTEL_WINDOWS)
- ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE)
-ELSE()
-ENDIF()
+if(MSVC OR _INTEL_WINDOWS)
+ add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE)
+else()
+endif()
#silence duplicate symbol warnings on AIX
-IF(CMAKE_SYSTEM MATCHES "AIX.*")
- IF(NOT CMAKE_COMPILER_IS_GNUCXX)
- SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -bhalt:5 ")
- ENDIF(NOT CMAKE_COMPILER_IS_GNUCXX)
-ENDIF(CMAKE_SYSTEM MATCHES "AIX.*")
+if(CMAKE_SYSTEM MATCHES "AIX.*")
+ if(NOT CMAKE_COMPILER_IS_GNUCXX)
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -bhalt:5 ")
+ endif()
+endif()
-IF(CMAKE_SYSTEM MATCHES "IRIX.*")
- IF(NOT CMAKE_COMPILER_IS_GNUCXX)
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,-woff84 -no_auto_include")
- SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-woff15")
- ENDIF(NOT CMAKE_COMPILER_IS_GNUCXX)
-ENDIF(CMAKE_SYSTEM MATCHES "IRIX.*")
+if(CMAKE_SYSTEM MATCHES "IRIX.*")
+ if(NOT CMAKE_COMPILER_IS_GNUCXX)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,-woff84 -no_auto_include")
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-woff15")
+ endif()
+endif()
-IF(CMAKE_SYSTEM MATCHES "OSF1-V.*")
- IF(NOT CMAKE_COMPILER_IS_GNUCXX)
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -timplicit_local -no_implicit_include ")
- ENDIF(NOT CMAKE_COMPILER_IS_GNUCXX)
-ENDIF(CMAKE_SYSTEM MATCHES "OSF1-V.*")
+if(CMAKE_SYSTEM MATCHES "OSF1-V.*")
+ if(NOT CMAKE_COMPILER_IS_GNUCXX)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -timplicit_local -no_implicit_include ")
+ endif()
+endif()
# use the ansi CXX compile flag for building cmake
-IF (CMAKE_ANSI_CXXFLAGS)
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_ANSI_CXXFLAGS}")
-ENDIF (CMAKE_ANSI_CXXFLAGS)
+if (CMAKE_ANSI_CXXFLAGS)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_ANSI_CXXFLAGS}")
+endif ()
-IF (CMAKE_ANSI_CFLAGS)
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_ANSI_CFLAGS}")
-ENDIF (CMAKE_ANSI_CFLAGS)
+if (CMAKE_ANSI_CFLAGS)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_ANSI_CFLAGS}")
+endif ()
diff --git a/Docs/CMakeLists.txt b/Docs/CMakeLists.txt
index b04b32d5e..a5e91c9d1 100644
--- a/Docs/CMakeLists.txt
+++ b/Docs/CMakeLists.txt
@@ -1,4 +1,4 @@
string(REGEX REPLACE "^/(.*)" "\\1" REL_CMAKE_DATA_DIR "${CMAKE_DATA_DIR}")
install(FILES cmake-help.vim cmake-indent.vim cmake-syntax.vim DESTINATION ${REL_CMAKE_DATA_DIR}/editors/vim)
install(FILES cmake-mode.el DESTINATION ${REL_CMAKE_DATA_DIR}/editors/emacs)
-ADD_SUBDIRECTORY (bash-completion)
+add_subdirectory (bash-completion)
diff --git a/Docs/bash-completion/cpack b/Docs/bash-completion/cpack
index 84dcfd534..a0c1f8375 100644
--- a/Docs/bash-completion/cpack
+++ b/Docs/bash-completion/cpack
@@ -8,7 +8,7 @@ _cpack()
case "$prev" in
-G)
COMPREPLY=( $( compgen -W '$( cpack --help 2>/dev/null |
- grep "^ .*=\ .*" 2> /dev/null | grep -v "^ -" 2>/dev/null |
+ grep "^ .*= .*" 2> /dev/null | grep -v "^ -" 2>/dev/null |
cut -d" " -f 3 )' -- "$cur" ) )
return
;;
diff --git a/Docs/cmake-indent.vim b/Docs/cmake-indent.vim
index f149873ed..a26dd06a2 100644
--- a/Docs/cmake-indent.vim
+++ b/Docs/cmake-indent.vim
@@ -1,11 +1,11 @@
" =============================================================================
-"
+"
" Program: CMake - Cross-Platform Makefile Generator
" Module: $RCSfile$
" Language: VIM
" Date: $Date$
" Version: $Revision$
-"
+"
" =============================================================================
" Vim indent file
diff --git a/Docs/cmake-mode.el b/Docs/cmake-mode.el
index 951745515..6feed94c5 100644
--- a/Docs/cmake-mode.el
+++ b/Docs/cmake-mode.el
@@ -34,7 +34,7 @@
;; cmake executable variable used to run cmake --help-command
;; on commands in cmake-mode
;;
-;; cmake-command-help Written by James Bigler
+;; cmake-command-help Written by James Bigler
;;
(defcustom cmake-mode-cmake-executable "cmake"
@@ -68,9 +68,9 @@ set the path with these commands:
"\\|" "[ \t\r\n]"
"\\)*"))
(defconst cmake-regex-block-open
- "^\\([iI][fF]\\|[mM][aA][cC][rR][oO]\\|[fF][oO][rR][eE][aA][cC][hH]\\|[eE][lL][sS][eE]\\|[eE][lL][sS][eE][iI][fF]\\|[wW][hH][iI][lL][eE]\\|[fF][uU][nN][cC][tT][iI][oO][nN]\\)$")
+ "^\\(if\\|macro\\|foreach\\|else\\|elseif\\|while\\|function\\)$")
(defconst cmake-regex-block-close
- "^[ \t]*\\([eE][nN][dD][iI][fF]\\|[eE][nN][dD][fF][oO][rR][eE][aA][cC][hH]\\|[eE][nN][dD][mM][aA][cC][rR][oO]\\|[eE][lL][sS][eE]\\|[eE][lL][sS][eE][iI][fF]\\|[eE][nN][dD][wW][hH][iI][lL][eE]\\|[eE][nN][dD][fF][uU][nN][cC][tT][iI][oO][nN]\\)[ \t]*(")
+ "^[ \t]*\\(endif\\|endforeach\\|endmacro\\|else\\|elseif\\|endwhile\\|endfunction\\)[ \t]*(")
;------------------------------------------------------------------------------
@@ -126,6 +126,7 @@ set the path with these commands:
(beginning-of-line)
(let ((point-start (point))
+ (case-fold-search t) ;; case-insensitive
token)
; Search back for the last indented line.
@@ -191,11 +192,11 @@ the indentation. Otherwise it retains the same position on the line"
(setq save-point (point))
(goto-char (point-min))
(while (re-search-forward "^\\([ \t]*\\)\\(\\w+\\)\\([ \t]*(\\)" nil t)
- (replace-match
- (concat
- (match-string 1)
- (downcase (match-string 2))
- (match-string 3))
+ (replace-match
+ (concat
+ (match-string 1)
+ (downcase (match-string 2))
+ (match-string 3))
t))
(goto-char save-point)
)
@@ -229,13 +230,26 @@ the indentation. Otherwise it retains the same position on the line"
;;
(defvar cmake-tab-width 2)
+;;
+;; Keymap.
+;;
+(defvar cmake-mode-map
+ (let ((map (make-sparse-keymap)))
+ (define-key map "\C-ch" 'cmake-help-command)
+ (define-key map "\C-cl" 'cmake-help-list-commands)
+ (define-key map "\C-cu" 'unscreamify-cmake-buffer)
+ map)
+ "Keymap used in cmake-mode buffers.")
+
;------------------------------------------------------------------------------
;;
;; CMake mode startup function.
;;
(defun cmake-mode ()
- "Major mode for editing CMake listfiles."
+ "Major mode for editing CMake listfiles.
+
+\\{cmake-mode-map}"
(interactive)
(kill-all-local-variables)
(setq major-mode 'cmake-mode)
@@ -262,6 +276,9 @@ the indentation. Otherwise it retains the same position on the line"
(make-local-variable 'comment-start)
(setq comment-start "#")
+ ; Setup keymap.
+ (use-local-map cmake-mode-map)
+
; Run user hooks.
(run-hooks 'cmake-mode-hook))
diff --git a/Docs/cmake-syntax.vim b/Docs/cmake-syntax.vim
index 80b348eef..80395ab1a 100644
--- a/Docs/cmake-syntax.vim
+++ b/Docs/cmake-syntax.vim
@@ -36,9 +36,9 @@ syn region cmakeVariableValue start=/\${/ end=/}/
\ contained oneline contains=CONTAINED,cmakeTodo
syn region cmakeEnvironment start=/\$ENV{/ end=/}/
\ contained oneline contains=CONTAINED,cmakeTodo
-syn region cmakeString start=/"/ end=/"/
+syn region cmakeString start=/"/ end=/"/
\ contains=CONTAINED,cmakeTodo,cmakeOperators
-syn region cmakeArguments 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 MSVC90
@@ -49,11 +49,11 @@ syn keyword cmakeDeprecated ABSTRACT_FILES BUILD_NAME SOURCE_FILES SOURCE_FILES_
\ nextgroup=cmakeArguments
" The keywords are generated as: cmake --help-command-list | tr "\n" " "
-syn keyword cmakeStatement
+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 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
+syn keyword cmakeTodo
+ \ TODO FIXME XXX
\ contained
" Define the default highlighting.
diff --git a/Example/Demo/demo.cxx b/Example/Demo/demo.cxx
index 31de0386c..815c8149e 100644
--- a/Example/Demo/demo.cxx
+++ b/Example/Demo/demo.cxx
@@ -5,6 +5,6 @@ extern Hello hello;
int main()
{
hello.Print();
-
+
return 0;
}
diff --git a/Modules/AddFileDependencies.cmake b/Modules/AddFileDependencies.cmake
index f971e37f5..e88025c14 100644
--- a/Modules/AddFileDependencies.cmake
+++ b/Modules/AddFileDependencies.cmake
@@ -15,15 +15,15 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-MACRO(ADD_FILE_DEPENDENCIES _file)
+macro(ADD_FILE_DEPENDENCIES _file)
- GET_SOURCE_FILE_PROPERTY(_deps ${_file} OBJECT_DEPENDS)
- IF (_deps)
- SET(_deps ${_deps} ${ARGN})
- ELSE (_deps)
- SET(_deps ${ARGN})
- ENDIF (_deps)
+ get_source_file_property(_deps ${_file} OBJECT_DEPENDS)
+ if (_deps)
+ set(_deps ${_deps} ${ARGN})
+ else ()
+ set(_deps ${ARGN})
+ endif ()
- SET_SOURCE_FILES_PROPERTIES(${_file} PROPERTIES OBJECT_DEPENDS "${_deps}")
+ set_source_files_properties(${_file} PROPERTIES OBJECT_DEPENDS "${_deps}")
-ENDMACRO(ADD_FILE_DEPENDENCIES)
+endmacro()
diff --git a/Modules/AutomocInfo.cmake.in b/Modules/AutomocInfo.cmake.in
index 13f21617b..640bf70a0 100644
--- a/Modules/AutomocInfo.cmake.in
+++ b/Modules/AutomocInfo.cmake.in
@@ -1,7 +1,6 @@
set(AM_SOURCES @_moc_files@ )
set(AM_HEADERS @_moc_headers@ )
set(AM_MOC_COMPILE_DEFINITIONS @_moc_compile_defs@)
-set(AM_MOC_DEFINITIONS @_moc_defs@)
set(AM_MOC_INCLUDES @_moc_incs@)
set(AM_MOC_OPTIONS @_moc_options@)
set(AM_CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE "@CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE@")
diff --git a/Modules/BasicConfigVersion-AnyNewerVersion.cmake.in b/Modules/BasicConfigVersion-AnyNewerVersion.cmake.in
index 9f7f03e27..b1c4fdf81 100644
--- a/Modules/BasicConfigVersion-AnyNewerVersion.cmake.in
+++ b/Modules/BasicConfigVersion-AnyNewerVersion.cmake.in
@@ -1,5 +1,5 @@
# This is a basic version file for the Config-mode of find_package().
-# It is used by WriteBasicConfigVersionFile.cmake as input file for configure_file()
+# It is used by write_basic_package_version_file() as input file for configure_file()
# to create a version-file which can be installed along a config.cmake file.
#
# The created file sets PACKAGE_VERSION_EXACT if the current version string and
diff --git a/Modules/BasicConfigVersion-SameMajorVersion.cmake.in b/Modules/BasicConfigVersion-SameMajorVersion.cmake.in
index 7bcea88a5..4acd9bb5e 100644
--- a/Modules/BasicConfigVersion-SameMajorVersion.cmake.in
+++ b/Modules/BasicConfigVersion-SameMajorVersion.cmake.in
@@ -1,5 +1,5 @@
# This is a basic version file for the Config-mode of find_package().
-# It is used by WriteBasicConfigVersionFile.cmake as input file for configure_file()
+# It is used by write_basic_package_version_file() as input file for configure_file()
# to create a version-file which can be installed along a config.cmake file.
#
# The created file sets PACKAGE_VERSION_EXACT if the current version string and
diff --git a/Modules/BundleUtilities.cmake b/Modules/BundleUtilities.cmake
index 0143d593d..4557be6e0 100644
--- a/Modules/BundleUtilities.cmake
+++ b/Modules/BundleUtilities.cmake
@@ -184,17 +184,17 @@ function(get_bundle_main_executable bundle result_var)
if(line_is_main_executable)
string(REGEX REPLACE "^.*<string>(.*)</string>.*$" "\\1" bundle_executable "${line}")
break()
- endif(line_is_main_executable)
+ endif()
if(line MATCHES "^.*<key>CFBundleExecutable</key>.*$")
set(line_is_main_executable 1)
- endif(line MATCHES "^.*<key>CFBundleExecutable</key>.*$")
- endforeach(line)
+ endif()
+ endforeach()
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}")
+ else()
# Ultimate goal:
# If not in "Contents/MacOS" then scan the bundle for matching files. If
@@ -207,9 +207,9 @@ function(get_bundle_main_executable bundle result_var)
# 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")
+ endif()
+ endif()
+ else()
#
# More inclusive technique... (This one would work on Windows and Linux
# too, if a developer followed the typical Mac bundle naming convention...)
@@ -217,10 +217,10 @@ function(get_bundle_main_executable bundle result_var)
# 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")
+ endif()
set(${result_var} "${result}" PARENT_SCOPE)
-endfunction(get_bundle_main_executable)
+endfunction()
function(get_dotapp_dir exe dotapp_dir_var)
@@ -240,9 +240,9 @@ function(get_dotapp_dir exe dotapp_dir_var)
if(sname MATCHES "\\.app$")
set(done 1)
set(dotapp_dir "${sdir}/${sname}")
- endif(sname MATCHES "\\.app$")
- endwhile(NOT ${done})
- else(s MATCHES "^.*/.*\\.app/.*$")
+ endif()
+ endwhile()
+ else()
# Otherwise use a directory containing the exe
# (typical of a non-bundle executable on Mac, Windows or Linux)
#
@@ -250,14 +250,14 @@ function(get_dotapp_dir exe dotapp_dir_var)
if(is_executable)
get_filename_component(sdir "${s}" PATH)
set(dotapp_dir "${sdir}")
- else(is_executable)
+ else()
set(dotapp_dir "${s}")
- endif(is_executable)
- endif(s MATCHES "^.*/.*\\.app/.*$")
+ endif()
+ endif()
set(${dotapp_dir_var} "${dotapp_dir}" PARENT_SCOPE)
-endfunction(get_dotapp_dir)
+endfunction()
function(get_bundle_and_executable app bundle_var executable_var valid_var)
@@ -273,13 +273,13 @@ function(get_bundle_and_executable app bundle_var executable_var valid_var)
set(${executable_var} "${executable}" PARENT_SCOPE)
set(valid 1)
#message(STATUS "info: handled .app directory case...")
- else(EXISTS "${app}" AND EXISTS "${executable}")
+ else()
message(STATUS "warning: *NOT* handled - .app directory case...")
- endif(EXISTS "${app}" AND EXISTS "${executable}")
- else(app MATCHES "\\.app$")
+ endif()
+ else()
message(STATUS "warning: *NOT* handled - directory but not .app case...")
- endif(app MATCHES "\\.app$")
- else(IS_DIRECTORY "${app}")
+ endif()
+ else()
# Is it an executable file?
is_file_executable("${app}" is_executable)
if(is_executable)
@@ -296,21 +296,21 @@ function(get_bundle_and_executable app bundle_var executable_var valid_var)
set(valid 1)
#message(STATUS "info: handled executable file in any dir case...")
endif()
- else(is_executable)
+ else()
message(STATUS "warning: *NOT* handled - not .app dir, not executable file...")
- endif(is_executable)
- endif(IS_DIRECTORY "${app}")
- else(EXISTS "${app}")
+ endif()
+ endif()
+ else()
message(STATUS "warning: *NOT* handled - directory/file does not exist...")
- endif(EXISTS "${app}")
+ endif()
if(NOT valid)
set(${bundle_var} "error: not a bundle" PARENT_SCOPE)
set(${executable_var} "error: not a bundle" PARENT_SCOPE)
- endif(NOT valid)
+ endif()
set(${valid_var} ${valid} PARENT_SCOPE)
-endfunction(get_bundle_and_executable)
+endfunction()
function(get_bundle_all_executables bundle exes_var)
@@ -321,11 +321,11 @@ function(get_bundle_all_executables bundle exes_var)
is_file_executable("${f}" is_executable)
if(is_executable)
set(exes ${exes} "${f}")
- endif(is_executable)
- endforeach(f)
+ endif()
+ endforeach()
set(${exes_var} "${exes}" PARENT_SCOPE)
-endfunction(get_bundle_all_executables)
+endfunction()
function(get_item_key item key_var)
@@ -335,7 +335,7 @@ function(get_item_key item key_var)
endif()
string(REGEX REPLACE "\\." "_" ${key_var} "${item_name}")
set(${key_var} ${${key_var}} PARENT_SCOPE)
-endfunction(get_item_key)
+endfunction()
function(clear_bundle_keys keys_var)
@@ -346,9 +346,9 @@ function(clear_bundle_keys keys_var)
set(${key}_EMBEDDED_ITEM PARENT_SCOPE)
set(${key}_RESOLVED_EMBEDDED_ITEM PARENT_SCOPE)
set(${key}_COPYFLAG PARENT_SCOPE)
- endforeach(key)
+ endforeach()
set(${keys_var} PARENT_SCOPE)
-endfunction(clear_bundle_keys)
+endfunction()
function(set_bundle_key_values keys_var context item exepath dirs copyflag)
@@ -370,12 +370,12 @@ function(set_bundle_key_values keys_var context item exepath dirs copyflag)
# 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/")
+ else()
# 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/")
+ endif()
# Replace @executable_path and resolve ".." references:
#
@@ -391,7 +391,7 @@ function(set_bundle_key_values keys_var context item exepath dirs copyflag)
#
if(NOT copyflag)
set(resolved_embedded_item "${resolved_item}")
- endif(NOT copyflag)
+ endif()
set(${keys_var} ${${keys_var}} PARENT_SCOPE)
set(${key}_ITEM "${item}" PARENT_SCOPE)
@@ -400,10 +400,10 @@ function(set_bundle_key_values keys_var context item exepath dirs copyflag)
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)
+ else()
#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)
+ endif()
+endfunction()
function(get_bundle_keys app libs dirs keys_var)
@@ -432,8 +432,8 @@ function(get_bundle_keys app libs dirs keys_var)
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)
+ endforeach()
+ endforeach()
# For each executable found in the bundle, accumulate keys as we go.
# The list of keys should be complete when all prerequisites of all
@@ -450,8 +450,8 @@ function(get_bundle_keys app libs dirs keys_var)
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)
+ endforeach()
+ endforeach()
# Propagate values to caller's scope:
#
@@ -463,9 +463,9 @@ function(get_bundle_keys app libs dirs keys_var)
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)
+ endforeach()
+ endif()
+endfunction()
function(copy_resolved_item_into_bundle resolved_item resolved_embedded_item)
@@ -485,10 +485,10 @@ function(copy_resolved_item_into_bundle resolved_item resolved_embedded_item)
execute_process(COMMAND ${CMAKE_COMMAND} -E copy "${resolved_item}" "${resolved_embedded_item}")
if(UNIX AND NOT APPLE)
file(RPATH_REMOVE FILE "${resolved_embedded_item}")
- endif(UNIX AND NOT APPLE)
+ endif()
endif()
-endfunction(copy_resolved_item_into_bundle)
+endfunction()
function(copy_resolved_framework_into_bundle resolved_item resolved_embedded_item)
@@ -527,10 +527,10 @@ function(copy_resolved_framework_into_bundle resolved_item resolved_embedded_ite
endif()
if(UNIX AND NOT APPLE)
file(RPATH_REMOVE FILE "${resolved_embedded_item}")
- endif(UNIX AND NOT APPLE)
+ endif()
endif()
-endfunction(copy_resolved_framework_into_bundle)
+endfunction()
function(fixup_bundle_item resolved_embedded_item exepath dirs)
@@ -580,10 +580,10 @@ function(fixup_bundle_item resolved_embedded_item exepath dirs)
if(NOT "${${rkey}_EMBEDDED_ITEM}" STREQUAL "")
set(changes ${changes} "-change" "${pr}" "${${rkey}_EMBEDDED_ITEM}")
- else(NOT "${${rkey}_EMBEDDED_ITEM}" STREQUAL "")
+ else()
message("warning: unexpected reference to '${pr}'")
- endif(NOT "${${rkey}_EMBEDDED_ITEM}" STREQUAL "")
- endforeach(pr)
+ endif()
+ endforeach()
if(BU_CHMOD_BUNDLE_ITEMS)
execute_process(COMMAND chmod u+w "${resolved_embedded_item}")
@@ -595,7 +595,7 @@ function(fixup_bundle_item resolved_embedded_item exepath dirs)
execute_process(COMMAND install_name_tool
${changes} -id "${${ikey}_EMBEDDED_ITEM}" "${resolved_embedded_item}"
)
-endfunction(fixup_bundle_item)
+endfunction()
function(fixup_bundle app libs dirs)
@@ -620,9 +620,9 @@ function(fixup_bundle app libs dirs)
math(EXPR i ${i}+1)
if(${${key}_COPYFLAG})
message(STATUS "${i}/${n}: copying '${${key}_RESOLVED_ITEM}'")
- else(${${key}_COPYFLAG})
+ else()
message(STATUS "${i}/${n}: *NOT* copying '${${key}_RESOLVED_ITEM}'")
- endif(${${key}_COPYFLAG})
+ endif()
set(show_status 0)
if(show_status)
@@ -634,7 +634,7 @@ function(fixup_bundle app libs dirs)
message(STATUS "resolved_embedded_item='${${key}_RESOLVED_EMBEDDED_ITEM}'")
message(STATUS "copyflag='${${key}_COPYFLAG}'")
message(STATUS "")
- endif(show_status)
+ endif()
if(${${key}_COPYFLAG})
set(item "${${key}_ITEM}")
@@ -645,8 +645,8 @@ function(fixup_bundle app libs dirs)
copy_resolved_item_into_bundle("${${key}_RESOLVED_ITEM}"
"${${key}_RESOLVED_EMBEDDED_ITEM}")
endif()
- endif(${${key}_COPYFLAG})
- endforeach(key)
+ endif()
+ endforeach()
message(STATUS "fixup_bundle: fixing...")
foreach(key ${keys})
@@ -654,28 +654,28 @@ function(fixup_bundle app libs dirs)
if(APPLE)
message(STATUS "${i}/${n}: fixing up '${${key}_RESOLVED_EMBEDDED_ITEM}'")
fixup_bundle_item("${${key}_RESOLVED_EMBEDDED_ITEM}" "${exepath}" "${dirs}")
- else(APPLE)
+ else()
message(STATUS "${i}/${n}: fix-up not required on this platform '${${key}_RESOLVED_EMBEDDED_ITEM}'")
- endif(APPLE)
- endforeach(key)
+ endif()
+ endforeach()
message(STATUS "fixup_bundle: cleaning up...")
clear_bundle_keys(keys)
message(STATUS "fixup_bundle: verifying...")
verify_app("${app}")
- else(valid)
+ else()
message(SEND_ERROR "error: fixup_bundle: not a valid bundle")
- endif(valid)
+ endif()
message(STATUS "fixup_bundle: done")
-endfunction(fixup_bundle)
+endfunction()
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)
+endfunction()
function(verify_bundle_prerequisites bundle result_var info_var)
@@ -720,23 +720,23 @@ function(verify_bundle_prerequisites bundle result_var info_var)
set(external_prereqs ${external_prereqs} "${p}")
endif()
endif()
- endforeach(p)
+ endforeach()
if(external_prereqs)
# Found non-system/somehow-unacceptable prerequisites:
set(result 0)
set(info ${info} "external prerequisites found:\nf='${f}'\nexternal_prereqs='${external_prereqs}'\n")
- endif(external_prereqs)
- endif(is_executable)
- endforeach(f)
+ endif()
+ endif()
+ endforeach()
if(result)
set(info "Verified ${count} executable files in '${bundle}'")
- endif(result)
+ endif()
set(${result_var} "${result}" PARENT_SCOPE)
set(${info_var} "${info}" PARENT_SCOPE)
-endfunction(verify_bundle_prerequisites)
+endfunction()
function(verify_bundle_symlinks bundle result_var info_var)
@@ -749,7 +749,7 @@ function(verify_bundle_symlinks bundle result_var info_var)
set(${result_var} "${result}" PARENT_SCOPE)
set(${info_var} "${info}" PARENT_SCOPE)
-endfunction(verify_bundle_symlinks)
+endfunction()
function(verify_app app)
@@ -778,9 +778,9 @@ function(verify_app app)
message(STATUS "verified='${verified}'")
message(STATUS "info='${info}'")
message(STATUS "")
- endif(verified)
+ endif()
if(NOT verified)
message(FATAL_ERROR "error: verify_app failed")
- endif(NOT verified)
-endfunction(verify_app)
+ endif()
+endfunction()
diff --git a/Modules/CMakeASM-ATTInformation.cmake b/Modules/CMakeASM-ATTInformation.cmake
index cb1f5d69c..675c13bb3 100644
--- a/Modules/CMakeASM-ATTInformation.cmake
+++ b/Modules/CMakeASM-ATTInformation.cmake
@@ -14,12 +14,12 @@
# support for AT&T syntax assemblers, e.g. GNU as
-SET(ASM_DIALECT "-ATT")
+set(ASM_DIALECT "-ATT")
# *.S files are supposed to be preprocessed, so they should not be passed to
# assembler but should be processed by gcc
-SET(CMAKE_ASM${ASM_DIALECT}_SOURCE_FILE_EXTENSIONS s;asm)
+set(CMAKE_ASM${ASM_DIALECT}_SOURCE_FILE_EXTENSIONS s;asm)
-SET(CMAKE_ASM${ASM_DIALECT}_COMPILE_OBJECT "<CMAKE_ASM${ASM_DIALECT}_COMPILER> <FLAGS> -o <OBJECT> <SOURCE>")
+set(CMAKE_ASM${ASM_DIALECT}_COMPILE_OBJECT "<CMAKE_ASM${ASM_DIALECT}_COMPILER> <FLAGS> -o <OBJECT> <SOURCE>")
-INCLUDE(CMakeASMInformation)
-SET(ASM_DIALECT)
+include(CMakeASMInformation)
+set(ASM_DIALECT)
diff --git a/Modules/CMakeASMCompiler.cmake.in b/Modules/CMakeASMCompiler.cmake.in
index 2dc24b06d..8e58307e9 100644
--- a/Modules/CMakeASMCompiler.cmake.in
+++ b/Modules/CMakeASMCompiler.cmake.in
@@ -1,12 +1,12 @@
-SET(CMAKE_ASM@ASM_DIALECT@_COMPILER "@_CMAKE_ASM_COMPILER@")
-SET(CMAKE_ASM@ASM_DIALECT@_COMPILER_ARG1 "@_CMAKE_ASM_COMPILER_ARG1@")
-SET(CMAKE_AR "@CMAKE_AR@")
-SET(CMAKE_RANLIB "@CMAKE_RANLIB@")
-SET(CMAKE_LINKER "@CMAKE_LINKER@")
-SET(CMAKE_ASM@ASM_DIALECT@_COMPILER_LOADED 1)
-SET(CMAKE_ASM@ASM_DIALECT@_COMPILER_ID "@_CMAKE_ASM_COMPILER_ID@")
-SET(CMAKE_ASM@ASM_DIALECT@_COMPILER_ENV_VAR "@_CMAKE_ASM_COMPILER_ENV_VAR@")
+set(CMAKE_ASM@ASM_DIALECT@_COMPILER "@_CMAKE_ASM_COMPILER@")
+set(CMAKE_ASM@ASM_DIALECT@_COMPILER_ARG1 "@_CMAKE_ASM_COMPILER_ARG1@")
+set(CMAKE_AR "@CMAKE_AR@")
+set(CMAKE_RANLIB "@CMAKE_RANLIB@")
+set(CMAKE_LINKER "@CMAKE_LINKER@")
+set(CMAKE_ASM@ASM_DIALECT@_COMPILER_LOADED 1)
+set(CMAKE_ASM@ASM_DIALECT@_COMPILER_ID "@_CMAKE_ASM_COMPILER_ID@")
+set(CMAKE_ASM@ASM_DIALECT@_COMPILER_ENV_VAR "@_CMAKE_ASM_COMPILER_ENV_VAR@")
-SET(CMAKE_ASM@ASM_DIALECT@_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
-SET(CMAKE_ASM@ASM_DIALECT@_LINKER_PREFERENCE 0)
+set(CMAKE_ASM@ASM_DIALECT@_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
+set(CMAKE_ASM@ASM_DIALECT@_LINKER_PREFERENCE 0)
diff --git a/Modules/CMakeASMInformation.cmake b/Modules/CMakeASMInformation.cmake
index b5f242033..dce162496 100644
--- a/Modules/CMakeASMInformation.cmake
+++ b/Modules/CMakeASMInformation.cmake
@@ -12,76 +12,76 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-IF(UNIX)
- SET(CMAKE_ASM${ASM_DIALECT}_OUTPUT_EXTENSION .o)
-ELSE(UNIX)
- SET(CMAKE_ASM${ASM_DIALECT}_OUTPUT_EXTENSION .obj)
-ENDIF(UNIX)
+if(UNIX)
+ set(CMAKE_ASM${ASM_DIALECT}_OUTPUT_EXTENSION .o)
+else()
+ set(CMAKE_ASM${ASM_DIALECT}_OUTPUT_EXTENSION .obj)
+endif()
-SET(CMAKE_INCLUDE_FLAG_ASM${ASM_DIALECT} "-I") # -I
-SET(CMAKE_BASE_NAME)
-GET_FILENAME_COMPONENT(CMAKE_BASE_NAME "${CMAKE_ASM${ASM_DIALECT}_COMPILER}" NAME_WE)
+set(CMAKE_INCLUDE_FLAG_ASM${ASM_DIALECT} "-I") # -I
+set(CMAKE_BASE_NAME)
+get_filename_component(CMAKE_BASE_NAME "${CMAKE_ASM${ASM_DIALECT}_COMPILER}" NAME_WE)
-IF("${CMAKE_BASE_NAME}" STREQUAL "as")
- SET(CMAKE_BASE_NAME gas)
-ENDIF("${CMAKE_BASE_NAME}" STREQUAL "as")
+if("${CMAKE_BASE_NAME}" STREQUAL "as")
+ set(CMAKE_BASE_NAME gas)
+endif()
# Load compiler-specific information.
-SET(_INCLUDED_FILE "")
-IF(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID)
- INCLUDE(Compiler/${CMAKE_ASM${ASM_DIALECT}_COMPILER_ID}-ASM${ASM_DIALECT} OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
-ENDIF(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID)
-IF(NOT _INCLUDED_FILE)
- IF("ASM${ASM_DIALECT}" STREQUAL "ASM")
- MESSAGE(STATUS "Warning: Did not find file Compiler/${CMAKE_ASM${ASM_DIALECT}_COMPILER_ID}-ASM${ASM_DIALECT}")
- ENDIF("ASM${ASM_DIALECT}" STREQUAL "ASM")
- INCLUDE(Platform/${CMAKE_BASE_NAME} OPTIONAL)
-ENDIF(NOT _INCLUDED_FILE)
-
-IF(CMAKE_SYSTEM_PROCESSOR)
- INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_ASM${ASM_DIALECT}_COMPILER_ID}-ASM${ASM_DIALECT}-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
- IF(NOT _INCLUDED_FILE)
- INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL)
- ENDIF(NOT _INCLUDED_FILE)
-ENDIF(CMAKE_SYSTEM_PROCESSOR)
-
-INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_ASM${ASM_DIALECT}_COMPILER_ID}-ASM${ASM_DIALECT} OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
-IF(NOT _INCLUDED_FILE)
- INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME} OPTIONAL)
-ENDIF(NOT _INCLUDED_FILE)
+set(_INCLUDED_FILE "")
+if(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID)
+ include(Compiler/${CMAKE_ASM${ASM_DIALECT}_COMPILER_ID}-ASM${ASM_DIALECT} OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
+endif()
+if(NOT _INCLUDED_FILE)
+ if("ASM${ASM_DIALECT}" STREQUAL "ASM")
+ message(STATUS "Warning: Did not find file Compiler/${CMAKE_ASM${ASM_DIALECT}_COMPILER_ID}-ASM${ASM_DIALECT}")
+ endif()
+ include(Platform/${CMAKE_BASE_NAME} OPTIONAL)
+endif()
+
+if(CMAKE_SYSTEM_PROCESSOR)
+ include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_ASM${ASM_DIALECT}_COMPILER_ID}-ASM${ASM_DIALECT}-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
+ if(NOT _INCLUDED_FILE)
+ include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL)
+ endif()
+endif()
+
+include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_ASM${ASM_DIALECT}_COMPILER_ID}-ASM${ASM_DIALECT} OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
+if(NOT _INCLUDED_FILE)
+ include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME} OPTIONAL)
+endif()
# Set default assembler file extensions:
-IF(NOT CMAKE_ASM${ASM_DIALECT}_SOURCE_FILE_EXTENSIONS)
- SET(CMAKE_ASM${ASM_DIALECT}_SOURCE_FILE_EXTENSIONS s;S;asm)
-ENDIF(NOT CMAKE_ASM${ASM_DIALECT}_SOURCE_FILE_EXTENSIONS)
+if(NOT CMAKE_ASM${ASM_DIALECT}_SOURCE_FILE_EXTENSIONS)
+ set(CMAKE_ASM${ASM_DIALECT}_SOURCE_FILE_EXTENSIONS s;S;asm)
+endif()
# Support for CMAKE_ASM${ASM_DIALECT}_FLAGS_INIT and friends:
-SET(CMAKE_ASM${ASM_DIALECT}_FLAGS_INIT "$ENV{ASM${ASM_DIALECT}FLAGS} ${CMAKE_ASM${ASM_DIALECT}_FLAGS_INIT}")
+set(CMAKE_ASM${ASM_DIALECT}_FLAGS_INIT "$ENV{ASM${ASM_DIALECT}FLAGS} ${CMAKE_ASM${ASM_DIALECT}_FLAGS_INIT}")
# avoid just having a space as the initial value for the cache
-IF(CMAKE_ASM${ASM_DIALECT}_FLAGS_INIT STREQUAL " ")
- SET(CMAKE_ASM${ASM_DIALECT}_FLAGS_INIT)
-ENDIF(CMAKE_ASM${ASM_DIALECT}_FLAGS_INIT STREQUAL " ")
-SET (CMAKE_ASM${ASM_DIALECT}_FLAGS "${CMAKE_ASM${ASM_DIALECT}_FLAGS_INIT}" CACHE STRING
+if(CMAKE_ASM${ASM_DIALECT}_FLAGS_INIT STREQUAL " ")
+ set(CMAKE_ASM${ASM_DIALECT}_FLAGS_INIT)
+endif()
+set (CMAKE_ASM${ASM_DIALECT}_FLAGS "${CMAKE_ASM${ASM_DIALECT}_FLAGS_INIT}" CACHE STRING
"Flags used by the assembler during all build types.")
-IF(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
+if(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
# default build type is none
- IF(NOT CMAKE_NO_BUILD_TYPE)
- SET (CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE_INIT} CACHE STRING
+ if(NOT CMAKE_NO_BUILD_TYPE)
+ set (CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE_INIT} CACHE STRING
"Choose the type of build, options are: None, Debug Release RelWithDebInfo MinSizeRel.")
- ENDIF(NOT CMAKE_NO_BUILD_TYPE)
- SET (CMAKE_ASM${ASM_DIALECT}_FLAGS_DEBUG "${CMAKE_ASM${ASM_DIALECT}_FLAGS_DEBUG_INIT}" CACHE STRING
+ endif()
+ set (CMAKE_ASM${ASM_DIALECT}_FLAGS_DEBUG "${CMAKE_ASM${ASM_DIALECT}_FLAGS_DEBUG_INIT}" CACHE STRING
"Flags used by the assembler during debug builds.")
- SET (CMAKE_ASM${ASM_DIALECT}_FLAGS_MINSIZEREL "${CMAKE_ASM${ASM_DIALECT}_FLAGS_MINSIZEREL_INIT}" CACHE STRING
+ set (CMAKE_ASM${ASM_DIALECT}_FLAGS_MINSIZEREL "${CMAKE_ASM${ASM_DIALECT}_FLAGS_MINSIZEREL_INIT}" CACHE STRING
"Flags used by the assembler during release minsize builds.")
- SET (CMAKE_ASM${ASM_DIALECT}_FLAGS_RELEASE "${CMAKE_ASM${ASM_DIALECT}_FLAGS_RELEASE_INIT}" CACHE STRING
+ set (CMAKE_ASM${ASM_DIALECT}_FLAGS_RELEASE "${CMAKE_ASM${ASM_DIALECT}_FLAGS_RELEASE_INIT}" CACHE STRING
"Flags used by the assembler during release builds.")
- SET (CMAKE_ASM${ASM_DIALECT}_FLAGS_RELWITHDEBINFO "${CMAKE_ASM${ASM_DIALECT}_FLAGS_RELWITHDEBINFO_INIT}" CACHE STRING
+ set (CMAKE_ASM${ASM_DIALECT}_FLAGS_RELWITHDEBINFO "${CMAKE_ASM${ASM_DIALECT}_FLAGS_RELWITHDEBINFO_INIT}" CACHE STRING
"Flags used by the assembler during Release with Debug Info builds.")
-ENDIF(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
+endif()
-MARK_AS_ADVANCED(CMAKE_ASM${ASM_DIALECT}_FLAGS
+mark_as_advanced(CMAKE_ASM${ASM_DIALECT}_FLAGS
CMAKE_ASM${ASM_DIALECT}_FLAGS_DEBUG
CMAKE_ASM${ASM_DIALECT}_FLAGS_MINSIZEREL
CMAKE_ASM${ASM_DIALECT}_FLAGS_RELEASE
@@ -89,42 +89,42 @@ MARK_AS_ADVANCED(CMAKE_ASM${ASM_DIALECT}_FLAGS
)
-IF(NOT CMAKE_ASM${ASM_DIALECT}_COMPILE_OBJECT)
- SET(CMAKE_ASM${ASM_DIALECT}_COMPILE_OBJECT "<CMAKE_ASM${ASM_DIALECT}_COMPILER> <DEFINES> <FLAGS> -o <OBJECT> -c <SOURCE>")
-ENDIF(NOT CMAKE_ASM${ASM_DIALECT}_COMPILE_OBJECT)
+if(NOT CMAKE_ASM${ASM_DIALECT}_COMPILE_OBJECT)
+ set(CMAKE_ASM${ASM_DIALECT}_COMPILE_OBJECT "<CMAKE_ASM${ASM_DIALECT}_COMPILER> <DEFINES> <FLAGS> -o <OBJECT> -c <SOURCE>")
+endif()
-IF(NOT CMAKE_ASM${ASM_DIALECT}_CREATE_STATIC_LIBRARY)
- SET(CMAKE_ASM${ASM_DIALECT}_CREATE_STATIC_LIBRARY
+if(NOT CMAKE_ASM${ASM_DIALECT}_CREATE_STATIC_LIBRARY)
+ set(CMAKE_ASM${ASM_DIALECT}_CREATE_STATIC_LIBRARY
"<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS> "
"<CMAKE_RANLIB> <TARGET> ")
-ENDIF(NOT CMAKE_ASM${ASM_DIALECT}_CREATE_STATIC_LIBRARY)
+endif()
-IF(NOT CMAKE_ASM${ASM_DIALECT}_LINK_EXECUTABLE)
- SET(CMAKE_ASM${ASM_DIALECT}_LINK_EXECUTABLE
+if(NOT CMAKE_ASM${ASM_DIALECT}_LINK_EXECUTABLE)
+ set(CMAKE_ASM${ASM_DIALECT}_LINK_EXECUTABLE
"<CMAKE_ASM${ASM_DIALECT}_COMPILER> <FLAGS> <CMAKE_ASM${ASM_DIALECT}_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
-ENDIF(NOT CMAKE_ASM${ASM_DIALECT}_LINK_EXECUTABLE)
+endif()
-IF(NOT CMAKE_EXECUTABLE_RUNTIME_ASM${ASM_DIALECT}_FLAG)
- SET(CMAKE_EXECUTABLE_RUNTIME_ASM${ASM_DIALECT}_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_ASM${ASM_DIALECT}_FLAG})
-ENDIF()
+if(NOT CMAKE_EXECUTABLE_RUNTIME_ASM${ASM_DIALECT}_FLAG)
+ set(CMAKE_EXECUTABLE_RUNTIME_ASM${ASM_DIALECT}_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_ASM${ASM_DIALECT}_FLAG})
+endif()
-IF(NOT CMAKE_EXECUTABLE_RUNTIME_ASM${ASM_DIALECT}_FLAG_SEP)
- SET(CMAKE_EXECUTABLE_RUNTIME_ASM${ASM_DIALECT}_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_ASM${ASM_DIALECT}_FLAG_SEP})
-ENDIF()
+if(NOT CMAKE_EXECUTABLE_RUNTIME_ASM${ASM_DIALECT}_FLAG_SEP)
+ set(CMAKE_EXECUTABLE_RUNTIME_ASM${ASM_DIALECT}_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_ASM${ASM_DIALECT}_FLAG_SEP})
+endif()
-IF(NOT CMAKE_EXECUTABLE_RPATH_LINK_ASM${ASM_DIALECT}_FLAG)
- SET(CMAKE_EXECUTABLE_RPATH_LINK_ASM${ASM_DIALECT}_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_ASM${ASM_DIALECT}_FLAG})
-ENDIF()
+if(NOT CMAKE_EXECUTABLE_RPATH_LINK_ASM${ASM_DIALECT}_FLAG)
+ set(CMAKE_EXECUTABLE_RPATH_LINK_ASM${ASM_DIALECT}_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_ASM${ASM_DIALECT}_FLAG})
+endif()
# to be done
-IF(NOT CMAKE_ASM${ASM_DIALECT}_CREATE_SHARED_LIBRARY)
- SET(CMAKE_ASM${ASM_DIALECT}_CREATE_SHARED_LIBRARY)
-ENDIF(NOT CMAKE_ASM${ASM_DIALECT}_CREATE_SHARED_LIBRARY)
+if(NOT CMAKE_ASM${ASM_DIALECT}_CREATE_SHARED_LIBRARY)
+ set(CMAKE_ASM${ASM_DIALECT}_CREATE_SHARED_LIBRARY)
+endif()
-IF(NOT CMAKE_ASM${ASM_DIALECT}_CREATE_SHARED_MODULE)
- SET(CMAKE_ASM${ASM_DIALECT}_CREATE_SHARED_MODULE)
-ENDIF(NOT CMAKE_ASM${ASM_DIALECT}_CREATE_SHARED_MODULE)
+if(NOT CMAKE_ASM${ASM_DIALECT}_CREATE_SHARED_MODULE)
+ set(CMAKE_ASM${ASM_DIALECT}_CREATE_SHARED_MODULE)
+endif()
-SET(CMAKE_ASM${ASM_DIALECT}_INFOMATION_LOADED 1)
+set(CMAKE_ASM${ASM_DIALECT}_INFOMATION_LOADED 1)
diff --git a/Modules/CMakeASM_MASMInformation.cmake b/Modules/CMakeASM_MASMInformation.cmake
index 4e1386fab..eb105ab10 100644
--- a/Modules/CMakeASM_MASMInformation.cmake
+++ b/Modules/CMakeASM_MASMInformation.cmake
@@ -14,11 +14,11 @@
# support for the MS assembler, masm and masm64
-SET(ASM_DIALECT "_MASM")
+set(ASM_DIALECT "_MASM")
-SET(CMAKE_ASM${ASM_DIALECT}_SOURCE_FILE_EXTENSIONS asm)
+set(CMAKE_ASM${ASM_DIALECT}_SOURCE_FILE_EXTENSIONS asm)
-SET(CMAKE_ASM${ASM_DIALECT}_COMPILE_OBJECT "<CMAKE_ASM${ASM_DIALECT}_COMPILER> <FLAGS> /c /Fo <OBJECT> <SOURCE>")
+set(CMAKE_ASM${ASM_DIALECT}_COMPILE_OBJECT "<CMAKE_ASM${ASM_DIALECT}_COMPILER> <FLAGS> /c /Fo <OBJECT> <SOURCE>")
-INCLUDE(CMakeASMInformation)
-SET(ASM_DIALECT)
+include(CMakeASMInformation)
+set(ASM_DIALECT)
diff --git a/Modules/CMakeASM_NASMInformation.cmake b/Modules/CMakeASM_NASMInformation.cmake
index 9da7d306c..7058fc7ae 100644
--- a/Modules/CMakeASM_NASMInformation.cmake
+++ b/Modules/CMakeASM_NASMInformation.cmake
@@ -19,21 +19,21 @@ set(CMAKE_ASM_NASM_SOURCE_FILE_EXTENSIONS nasm asm)
if(NOT CMAKE_ASM_NASM_OBJECT_FORMAT)
if(WIN32)
if(CMAKE_C_SIZEOF_DATA_PTR EQUAL 8)
- SET(CMAKE_ASM_NASM_OBJECT_FORMAT win64)
+ set(CMAKE_ASM_NASM_OBJECT_FORMAT win64)
else()
- SET(CMAKE_ASM_NASM_OBJECT_FORMAT win32)
+ set(CMAKE_ASM_NASM_OBJECT_FORMAT win32)
endif()
elseif(APPLE)
if(CMAKE_C_SIZEOF_DATA_PTR EQUAL 8)
- SET(CMAKE_ASM_NASM_OBJECT_FORMAT macho64)
+ set(CMAKE_ASM_NASM_OBJECT_FORMAT macho64)
else()
- SET(CMAKE_ASM_NASM_OBJECT_FORMAT macho)
+ set(CMAKE_ASM_NASM_OBJECT_FORMAT macho)
endif()
else()
if(CMAKE_C_SIZEOF_DATA_PTR EQUAL 8)
- SET(CMAKE_ASM_NASM_OBJECT_FORMAT elf64)
+ set(CMAKE_ASM_NASM_OBJECT_FORMAT elf64)
else()
- SET(CMAKE_ASM_NASM_OBJECT_FORMAT elf)
+ set(CMAKE_ASM_NASM_OBJECT_FORMAT elf)
endif()
endif()
endif()
diff --git a/Modules/CMakeAddNewLanguage.txt b/Modules/CMakeAddNewLanguage.txt
index 203c39dfe..6a30dd88b 100644
--- a/Modules/CMakeAddNewLanguage.txt
+++ b/Modules/CMakeAddNewLanguage.txt
@@ -1,7 +1,7 @@
CMakeDetermine(LANG)Compiler.cmake -> this should find the compiler for LANG and configure CMake(LANG)Compiler.cmake.in
CMake(LANG)Compiler.cmake.in -> used by CMakeDetermine(LANG)Compiler.cmake
- This file is used to store compiler information and is copied down into try
+ This file is used to store compiler information and is copied down into try
compile directories so that try compiles do not need to re-determine and test the LANG
CMakeTest(LANG)Compiler.cmake -> test the compiler and set:
diff --git a/Modules/CMakeBackwardCompatibilityC.cmake b/Modules/CMakeBackwardCompatibilityC.cmake
index 00e568830..e3b6c823e 100644
--- a/Modules/CMakeBackwardCompatibilityC.cmake
+++ b/Modules/CMakeBackwardCompatibilityC.cmake
@@ -13,28 +13,28 @@
# License text for the above reference.)
# Nothing here yet
-IF(CMAKE_GENERATOR MATCHES "Visual Studio 7")
- INCLUDE(CMakeVS7BackwardCompatibility)
- SET(CMAKE_SKIP_COMPATIBILITY_TESTS 1)
-ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 7")
-IF(CMAKE_GENERATOR MATCHES "Visual Studio 6")
- INCLUDE(CMakeVS6BackwardCompatibility)
- SET(CMAKE_SKIP_COMPATIBILITY_TESTS 1)
-ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 6")
-
-IF(NOT CMAKE_SKIP_COMPATIBILITY_TESTS)
+if(CMAKE_GENERATOR MATCHES "Visual Studio 7")
+ include(CMakeVS7BackwardCompatibility)
+ set(CMAKE_SKIP_COMPATIBILITY_TESTS 1)
+endif()
+if(CMAKE_GENERATOR MATCHES "Visual Studio 6")
+ include(CMakeVS6BackwardCompatibility)
+ set(CMAKE_SKIP_COMPATIBILITY_TESTS 1)
+endif()
+
+if(NOT CMAKE_SKIP_COMPATIBILITY_TESTS)
# Old CMake versions did not support OS X universal binaries anyway,
# so just get through this with at least some size for the types.
- LIST(LENGTH CMAKE_OSX_ARCHITECTURES NUM_ARCHS)
- IF(${NUM_ARCHS} GREATER 1)
- IF(NOT DEFINED CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
- MESSAGE(WARNING "This module does not work with OS X universal binaries.")
- SET(__ERASE_CMAKE_TRY_COMPILE_OSX_ARCHITECTURES 1)
- LIST(GET CMAKE_OSX_ARCHITECTURES 0 CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
- ENDIF()
- ENDIF()
-
- INCLUDE (CheckTypeSize)
+ list(LENGTH CMAKE_OSX_ARCHITECTURES NUM_ARCHS)
+ if(${NUM_ARCHS} GREATER 1)
+ if(NOT DEFINED CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
+ message(WARNING "This module does not work with OS X universal binaries.")
+ set(__ERASE_CMAKE_TRY_COMPILE_OSX_ARCHITECTURES 1)
+ list(GET CMAKE_OSX_ARCHITECTURES 0 CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
+ endif()
+ endif()
+
+ include (CheckTypeSize)
CHECK_TYPE_SIZE(int CMAKE_SIZEOF_INT)
CHECK_TYPE_SIZE(long CMAKE_SIZEOF_LONG)
CHECK_TYPE_SIZE("void*" CMAKE_SIZEOF_VOID_P)
@@ -43,52 +43,52 @@ IF(NOT CMAKE_SKIP_COMPATIBILITY_TESTS)
CHECK_TYPE_SIZE(float CMAKE_SIZEOF_FLOAT)
CHECK_TYPE_SIZE(double CMAKE_SIZEOF_DOUBLE)
- INCLUDE (CheckIncludeFile)
+ include (CheckIncludeFile)
CHECK_INCLUDE_FILE("limits.h" CMAKE_HAVE_LIMITS_H)
CHECK_INCLUDE_FILE("unistd.h" CMAKE_HAVE_UNISTD_H)
CHECK_INCLUDE_FILE("pthread.h" CMAKE_HAVE_PTHREAD_H)
- INCLUDE (CheckIncludeFiles)
+ include (CheckIncludeFiles)
CHECK_INCLUDE_FILES("sys/types.h;sys/prctl.h" CMAKE_HAVE_SYS_PRCTL_H)
- INCLUDE (TestBigEndian)
+ include (TestBigEndian)
TEST_BIG_ENDIAN(CMAKE_WORDS_BIGENDIAN)
- INCLUDE (FindX11)
+ include (FindX11)
- IF("${X11_X11_INCLUDE_PATH}" MATCHES "^/usr/include$")
- SET (CMAKE_X_CFLAGS "" CACHE STRING "X11 extra flags.")
- ELSE("${X11_X11_INCLUDE_PATH}" MATCHES "^/usr/include$")
- SET (CMAKE_X_CFLAGS "-I${X11_X11_INCLUDE_PATH}" CACHE STRING
+ if("${X11_X11_INCLUDE_PATH}" MATCHES "^/usr/include$")
+ set (CMAKE_X_CFLAGS "" CACHE STRING "X11 extra flags.")
+ else()
+ set (CMAKE_X_CFLAGS "-I${X11_X11_INCLUDE_PATH}" CACHE STRING
"X11 extra flags.")
- ENDIF("${X11_X11_INCLUDE_PATH}" MATCHES "^/usr/include$")
- SET (CMAKE_X_LIBS "${X11_LIBRARIES}" CACHE STRING
+ endif()
+ set (CMAKE_X_LIBS "${X11_LIBRARIES}" CACHE STRING
"Libraries and options used in X11 programs.")
- SET (CMAKE_HAS_X "${X11_FOUND}" CACHE INTERNAL "Is X11 around.")
+ set (CMAKE_HAS_X "${X11_FOUND}" CACHE INTERNAL "Is X11 around.")
- INCLUDE (FindThreads)
+ include (FindThreads)
- SET (CMAKE_THREAD_LIBS "${CMAKE_THREAD_LIBS_INIT}" CACHE STRING
+ set (CMAKE_THREAD_LIBS "${CMAKE_THREAD_LIBS_INIT}" CACHE STRING
"Thread library used.")
- SET (CMAKE_USE_PTHREADS "${CMAKE_USE_PTHREADS_INIT}" CACHE BOOL
+ set (CMAKE_USE_PTHREADS "${CMAKE_USE_PTHREADS_INIT}" CACHE BOOL
"Use the pthreads library.")
- SET (CMAKE_USE_WIN32_THREADS "${CMAKE_USE_WIN32_THREADS_INIT}" CACHE BOOL
+ set (CMAKE_USE_WIN32_THREADS "${CMAKE_USE_WIN32_THREADS_INIT}" CACHE BOOL
"Use the win32 thread library.")
- SET (CMAKE_HP_PTHREADS ${CMAKE_HP_PTHREADS_INIT} CACHE BOOL
+ set (CMAKE_HP_PTHREADS ${CMAKE_HP_PTHREADS_INIT} CACHE BOOL
"Use HP pthreads.")
- SET (CMAKE_USE_SPROC ${CMAKE_USE_SPROC_INIT} CACHE BOOL
+ set (CMAKE_USE_SPROC ${CMAKE_USE_SPROC_INIT} CACHE BOOL
"Use sproc libs.")
- IF(__ERASE_CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
- SET(CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
- SET(__ERASE_CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
- ENDIF()
-ENDIF(NOT CMAKE_SKIP_COMPATIBILITY_TESTS)
+ if(__ERASE_CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
+ set(CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
+ set(__ERASE_CMAKE_TRY_COMPILE_OSX_ARCHITECTURES)
+ endif()
+endif()
-MARK_AS_ADVANCED(
+mark_as_advanced(
CMAKE_HP_PTHREADS
CMAKE_THREAD_LIBS
CMAKE_USE_PTHREADS
diff --git a/Modules/CMakeBackwardCompatibilityCXX.cmake b/Modules/CMakeBackwardCompatibilityCXX.cmake
index 707bbde50..cfc1d91f9 100644
--- a/Modules/CMakeBackwardCompatibilityCXX.cmake
+++ b/Modules/CMakeBackwardCompatibilityCXX.cmake
@@ -1,10 +1,10 @@
# - define a bunch of backwards compatibility variables
-# CMAKE_ANSI_CXXFLAGS - flag for ansi c++
+# CMAKE_ANSI_CXXFLAGS - flag for ansi c++
# CMAKE_HAS_ANSI_STRING_STREAM - has <strstream>
-# INCLUDE(TestForANSIStreamHeaders)
-# INCLUDE(CheckIncludeFileCXX)
-# INCLUDE(TestForSTDNamespace)
-# INCLUDE(TestForANSIForScope)
+# include(TestForANSIStreamHeaders)
+# include(CheckIncludeFileCXX)
+# include(TestForSTDNamespace)
+# include(TestForANSIForScope)
#=============================================================================
# Copyright 2002-2009 Kitware, Inc.
@@ -19,36 +19,36 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-IF(NOT CMAKE_SKIP_COMPATIBILITY_TESTS)
+if(NOT CMAKE_SKIP_COMPATIBILITY_TESTS)
# check for some ANSI flags in the CXX compiler if it is not gnu
- IF(NOT CMAKE_COMPILER_IS_GNUCXX)
- INCLUDE(TestCXXAcceptsFlag)
- SET(CMAKE_TRY_ANSI_CXX_FLAGS "")
- IF(CMAKE_SYSTEM MATCHES "IRIX.*")
- SET(CMAKE_TRY_ANSI_CXX_FLAGS "-LANG:std")
- ENDIF(CMAKE_SYSTEM MATCHES "IRIX.*")
- IF(CMAKE_SYSTEM MATCHES "OSF.*")
- SET(CMAKE_TRY_ANSI_CXX_FLAGS "-std strict_ansi -nopure_cname")
- ENDIF(CMAKE_SYSTEM MATCHES "OSF.*")
+ if(NOT CMAKE_COMPILER_IS_GNUCXX)
+ include(TestCXXAcceptsFlag)
+ set(CMAKE_TRY_ANSI_CXX_FLAGS "")
+ if(CMAKE_SYSTEM MATCHES "IRIX.*")
+ set(CMAKE_TRY_ANSI_CXX_FLAGS "-LANG:std")
+ endif()
+ if(CMAKE_SYSTEM MATCHES "OSF.*")
+ set(CMAKE_TRY_ANSI_CXX_FLAGS "-std strict_ansi -nopure_cname")
+ endif()
# if CMAKE_TRY_ANSI_CXX_FLAGS has something in it, see
# if the compiler accepts it
- IF( CMAKE_TRY_ANSI_CXX_FLAGS MATCHES ".+")
+ if( CMAKE_TRY_ANSI_CXX_FLAGS MATCHES ".+")
CHECK_CXX_ACCEPTS_FLAG(${CMAKE_TRY_ANSI_CXX_FLAGS} CMAKE_CXX_ACCEPTS_FLAGS)
# if the compiler liked the flag then set CMAKE_ANSI_CXXFLAGS
# to the flag
- IF(CMAKE_CXX_ACCEPTS_FLAGS)
- SET(CMAKE_ANSI_CXXFLAGS ${CMAKE_TRY_ANSI_CXX_FLAGS} CACHE INTERNAL
+ if(CMAKE_CXX_ACCEPTS_FLAGS)
+ set(CMAKE_ANSI_CXXFLAGS ${CMAKE_TRY_ANSI_CXX_FLAGS} CACHE INTERNAL
"What flags are required by the c++ compiler to make it ansi." )
- ENDIF(CMAKE_CXX_ACCEPTS_FLAGS)
- ENDIF( CMAKE_TRY_ANSI_CXX_FLAGS MATCHES ".+")
- ENDIF(NOT CMAKE_COMPILER_IS_GNUCXX)
- SET(CMAKE_CXX_FLAGS_SAVE ${CMAKE_CXX_FLAGS})
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_ANSI_CXXFLAGS}")
- INCLUDE(TestForANSIStreamHeaders)
- INCLUDE(CheckIncludeFileCXX)
- INCLUDE(TestForSTDNamespace)
- INCLUDE(TestForANSIForScope)
- INCLUDE(TestForSSTREAM)
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_SAVE}")
-ENDIF(NOT CMAKE_SKIP_COMPATIBILITY_TESTS)
+ endif()
+ endif()
+ endif()
+ set(CMAKE_CXX_FLAGS_SAVE ${CMAKE_CXX_FLAGS})
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_ANSI_CXXFLAGS}")
+ include(TestForANSIStreamHeaders)
+ include(CheckIncludeFileCXX)
+ include(TestForSTDNamespace)
+ include(TestForANSIForScope)
+ include(TestForSSTREAM)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_SAVE}")
+endif()
diff --git a/Modules/CMakeBorlandFindMake.cmake b/Modules/CMakeBorlandFindMake.cmake
index 1ef28df83..43b31c695 100644
--- a/Modules/CMakeBorlandFindMake.cmake
+++ b/Modules/CMakeBorlandFindMake.cmake
@@ -12,6 +12,6 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-SET (CMAKE_MAKE_PROGRAM "make" CACHE STRING
+set (CMAKE_MAKE_PROGRAM "make" CACHE STRING
"Program used to build from makefiles.")
-MARK_AS_ADVANCED(CMAKE_MAKE_PROGRAM)
+mark_as_advanced(CMAKE_MAKE_PROGRAM)
diff --git a/Modules/CMakeCCompiler.cmake.in b/Modules/CMakeCCompiler.cmake.in
index ded8cf6ab..d74dcdcee 100644
--- a/Modules/CMakeCCompiler.cmake.in
+++ b/Modules/CMakeCCompiler.cmake.in
@@ -1,53 +1,55 @@
-SET(CMAKE_C_COMPILER "@CMAKE_C_COMPILER@")
-SET(CMAKE_C_COMPILER_ARG1 "@CMAKE_C_COMPILER_ARG1@")
-SET(CMAKE_C_COMPILER_ID "@CMAKE_C_COMPILER_ID@")
-SET(CMAKE_C_COMPILER_VERSION "@CMAKE_C_COMPILER_VERSION@")
-SET(CMAKE_C_PLATFORM_ID "@CMAKE_C_PLATFORM_ID@")
+set(CMAKE_C_COMPILER "@CMAKE_C_COMPILER@")
+set(CMAKE_C_COMPILER_ARG1 "@CMAKE_C_COMPILER_ARG1@")
+set(CMAKE_C_COMPILER_ID "@CMAKE_C_COMPILER_ID@")
+set(CMAKE_C_COMPILER_VERSION "@CMAKE_C_COMPILER_VERSION@")
+set(CMAKE_C_PLATFORM_ID "@CMAKE_C_PLATFORM_ID@")
@SET_MSVC_C_ARCHITECTURE_ID@
-SET(CMAKE_AR "@CMAKE_AR@")
-SET(CMAKE_RANLIB "@CMAKE_RANLIB@")
-SET(CMAKE_LINKER "@CMAKE_LINKER@")
-SET(CMAKE_COMPILER_IS_GNUCC @CMAKE_COMPILER_IS_GNUCC@)
-SET(CMAKE_C_COMPILER_LOADED 1)
-SET(CMAKE_COMPILER_IS_MINGW @CMAKE_COMPILER_IS_MINGW@)
-SET(CMAKE_COMPILER_IS_CYGWIN @CMAKE_COMPILER_IS_CYGWIN@)
-IF(CMAKE_COMPILER_IS_CYGWIN)
- SET(CYGWIN 1)
- SET(UNIX 1)
-ENDIF(CMAKE_COMPILER_IS_CYGWIN)
-
-SET(CMAKE_C_COMPILER_ENV_VAR "CC")
-
-IF(CMAKE_COMPILER_IS_MINGW)
- SET(MINGW 1)
-ENDIF(CMAKE_COMPILER_IS_MINGW)
-SET(CMAKE_C_COMPILER_ID_RUN 1)
-SET(CMAKE_C_SOURCE_FILE_EXTENSIONS c)
-SET(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
-SET(CMAKE_C_LINKER_PREFERENCE 10)
+set(CMAKE_AR "@CMAKE_AR@")
+set(CMAKE_RANLIB "@CMAKE_RANLIB@")
+set(CMAKE_LINKER "@CMAKE_LINKER@")
+set(CMAKE_COMPILER_IS_GNUCC @CMAKE_COMPILER_IS_GNUCC@)
+set(CMAKE_C_COMPILER_LOADED 1)
+set(CMAKE_C_COMPILER_WORKS @CMAKE_C_COMPILER_WORKS@)
+set(CMAKE_C_ABI_COMPILED @CMAKE_C_ABI_COMPILED@)
+set(CMAKE_COMPILER_IS_MINGW @CMAKE_COMPILER_IS_MINGW@)
+set(CMAKE_COMPILER_IS_CYGWIN @CMAKE_COMPILER_IS_CYGWIN@)
+if(CMAKE_COMPILER_IS_CYGWIN)
+ set(CYGWIN 1)
+ set(UNIX 1)
+endif()
+
+set(CMAKE_C_COMPILER_ENV_VAR "CC")
+
+if(CMAKE_COMPILER_IS_MINGW)
+ set(MINGW 1)
+endif()
+set(CMAKE_C_COMPILER_ID_RUN 1)
+set(CMAKE_C_SOURCE_FILE_EXTENSIONS c)
+set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
+set(CMAKE_C_LINKER_PREFERENCE 10)
# Save compiler ABI information.
-SET(CMAKE_C_SIZEOF_DATA_PTR "@CMAKE_C_SIZEOF_DATA_PTR@")
-SET(CMAKE_C_COMPILER_ABI "@CMAKE_C_COMPILER_ABI@")
-SET(CMAKE_C_LIBRARY_ARCHITECTURE "@CMAKE_C_LIBRARY_ARCHITECTURE@")
+set(CMAKE_C_SIZEOF_DATA_PTR "@CMAKE_C_SIZEOF_DATA_PTR@")
+set(CMAKE_C_COMPILER_ABI "@CMAKE_C_COMPILER_ABI@")
+set(CMAKE_C_LIBRARY_ARCHITECTURE "@CMAKE_C_LIBRARY_ARCHITECTURE@")
-IF(CMAKE_C_SIZEOF_DATA_PTR)
- SET(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
-ENDIF(CMAKE_C_SIZEOF_DATA_PTR)
+if(CMAKE_C_SIZEOF_DATA_PTR)
+ set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
+endif()
-IF(CMAKE_C_COMPILER_ABI)
- SET(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
-ENDIF(CMAKE_C_COMPILER_ABI)
+if(CMAKE_C_COMPILER_ABI)
+ set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
+endif()
-IF(CMAKE_C_LIBRARY_ARCHITECTURE)
- SET(CMAKE_LIBRARY_ARCHITECTURE "@CMAKE_C_LIBRARY_ARCHITECTURE@")
-ENDIF()
+if(CMAKE_C_LIBRARY_ARCHITECTURE)
+ set(CMAKE_LIBRARY_ARCHITECTURE "@CMAKE_C_LIBRARY_ARCHITECTURE@")
+endif()
-SET(CMAKE_C_HAS_ISYSROOT "@CMAKE_C_HAS_ISYSROOT@")
+@CMAKE_C_SYSROOT_FLAG_CODE@
@CMAKE_C_OSX_DEPLOYMENT_TARGET_FLAG_CODE@
-SET(CMAKE_C_IMPLICIT_LINK_LIBRARIES "@CMAKE_C_IMPLICIT_LINK_LIBRARIES@")
-SET(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "@CMAKE_C_IMPLICIT_LINK_DIRECTORIES@")
+set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "@CMAKE_C_IMPLICIT_LINK_LIBRARIES@")
+set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "@CMAKE_C_IMPLICIT_LINK_DIRECTORIES@")
@SET_CMAKE_CMCLDEPS_EXECUTABLE@
@SET_CMAKE_CL_SHOWINCLUDE_PREFIX@
diff --git a/Modules/CMakeCCompilerId.c.in b/Modules/CMakeCCompilerId.c.in
index 06aa9bf06..2d76c7a34 100644
--- a/Modules/CMakeCCompilerId.c.in
+++ b/Modules/CMakeCCompilerId.c.in
@@ -20,6 +20,14 @@
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
# endif
+#elif defined(__PATHCC__)
+# define COMPILER_ID "PathScale"
+# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
+# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
+# if defined(__PATHCC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
+# endif
+
#elif defined(__clang__)
# define COMPILER_ID "Clang"
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
@@ -67,6 +75,10 @@
#elif defined(__DECC)
# define COMPILER_ID "Compaq"
+ /* __DECC_VER = VVRRTPPPP */
+# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
+# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100)
+# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000)
#elif defined(__IBMC__)
# if defined(__COMPILER_VER__)
@@ -91,14 +103,17 @@
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
# endif
-#elif defined(__PATHSCALE__)
-# define COMPILER_ID "PathScale"
-
#elif defined(_CRAYC)
# define COMPILER_ID "Cray"
+# define COMPILER_VERSION_MAJOR DEC(_RELEASE)
+# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
#elif defined(__TI_COMPILER_VERSION__)
# define COMPILER_ID "TI_DSP"
+ /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
+# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
+# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
+# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
#elif defined(__TINYC__)
# define COMPILER_ID "TinyCC"
@@ -132,9 +147,16 @@
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
# endif
+/* Analog VisualDSP++ >= 4.5.6 */
+#elif defined(__VISUALDSPVERSION__)
+# define COMPILER_ID "ADSP"
+ /* __VISUALDSPVERSION__ = 0xVVRRPP00 */
+# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
+# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
+
+/* Analog VisualDSP++ < 4.5.6 */
#elif defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
-/* Analog Devices C++ compiler for Blackfin, TigerSHARC and
- SHARC (21000) DSPs */
# define COMPILER_ID "ADSP"
/* IAR Systems compiler for embedded systems.
@@ -147,6 +169,10 @@
http://sdcc.sourceforge.net */
#elif defined(SDCC)
# define COMPILER_ID "SDCC"
+ /* SDCC = VRP */
+# define COMPILER_VERSION_MAJOR DEC(SDCC/100)
+# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(SDCC % 10)
#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION)
# define COMPILER_ID "MIPSpro"
diff --git a/Modules/CMakeCInformation.cmake b/Modules/CMakeCInformation.cmake
index afac7a452..ce5ce4409 100644
--- a/Modules/CMakeCInformation.cmake
+++ b/Modules/CMakeCInformation.cmake
@@ -20,119 +20,119 @@
# some compilers use different extensions (e.g. sdcc uses .rel)
# so set the extension here first so it can be overridden by the compiler specific file
-IF(UNIX)
- SET(CMAKE_C_OUTPUT_EXTENSION .o)
-ELSE(UNIX)
- SET(CMAKE_C_OUTPUT_EXTENSION .obj)
-ENDIF(UNIX)
+if(UNIX)
+ set(CMAKE_C_OUTPUT_EXTENSION .o)
+else()
+ set(CMAKE_C_OUTPUT_EXTENSION .obj)
+endif()
-SET(_INCLUDED_FILE 0)
+set(_INCLUDED_FILE 0)
# Load compiler-specific information.
-IF(CMAKE_C_COMPILER_ID)
- INCLUDE(Compiler/${CMAKE_C_COMPILER_ID}-C OPTIONAL)
-ENDIF(CMAKE_C_COMPILER_ID)
+if(CMAKE_C_COMPILER_ID)
+ include(Compiler/${CMAKE_C_COMPILER_ID}-C OPTIONAL)
+endif()
-SET(CMAKE_BASE_NAME)
-GET_FILENAME_COMPONENT(CMAKE_BASE_NAME ${CMAKE_C_COMPILER} NAME_WE)
-IF(CMAKE_COMPILER_IS_GNUCC)
- SET(CMAKE_BASE_NAME gcc)
-ENDIF(CMAKE_COMPILER_IS_GNUCC)
+set(CMAKE_BASE_NAME)
+get_filename_component(CMAKE_BASE_NAME ${CMAKE_C_COMPILER} NAME_WE)
+if(CMAKE_COMPILER_IS_GNUCC)
+ set(CMAKE_BASE_NAME gcc)
+endif()
# load a hardware specific file, mostly useful for embedded compilers
-IF(CMAKE_SYSTEM_PROCESSOR)
- IF(CMAKE_C_COMPILER_ID)
- INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_C_COMPILER_ID}-C-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
- ENDIF(CMAKE_C_COMPILER_ID)
- IF (NOT _INCLUDED_FILE)
- INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL)
- ENDIF (NOT _INCLUDED_FILE)
-ENDIF(CMAKE_SYSTEM_PROCESSOR)
+if(CMAKE_SYSTEM_PROCESSOR)
+ if(CMAKE_C_COMPILER_ID)
+ include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_C_COMPILER_ID}-C-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
+ endif()
+ if (NOT _INCLUDED_FILE)
+ include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL)
+ endif ()
+endif()
# load the system- and compiler specific files
-IF(CMAKE_C_COMPILER_ID)
- INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_C_COMPILER_ID}-C
+if(CMAKE_C_COMPILER_ID)
+ include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_C_COMPILER_ID}-C
OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
-ENDIF(CMAKE_C_COMPILER_ID)
-IF (NOT _INCLUDED_FILE)
- INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}
+endif()
+if (NOT _INCLUDED_FILE)
+ include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}
OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
-ENDIF (NOT _INCLUDED_FILE)
+endif ()
# We specify the compiler information in the system file for some
# platforms, but this language may not have been enabled when the file
# was first included. Include it again to get the language info.
# Remove this when all compiler info is removed from system files.
-IF (NOT _INCLUDED_FILE)
- INCLUDE(Platform/${CMAKE_SYSTEM_NAME} OPTIONAL)
-ENDIF (NOT _INCLUDED_FILE)
+if (NOT _INCLUDED_FILE)
+ include(Platform/${CMAKE_SYSTEM_NAME} OPTIONAL)
+endif ()
-IF(CMAKE_C_SIZEOF_DATA_PTR)
- FOREACH(f ${CMAKE_C_ABI_FILES})
- INCLUDE(${f})
- ENDFOREACH()
- UNSET(CMAKE_C_ABI_FILES)
-ENDIF()
+if(CMAKE_C_SIZEOF_DATA_PTR)
+ foreach(f ${CMAKE_C_ABI_FILES})
+ include(${f})
+ endforeach()
+ unset(CMAKE_C_ABI_FILES)
+endif()
# This should be included before the _INIT variables are
-# used to initialize the cache. Since the rule variables
+# used to initialize the cache. Since the rule variables
# have if blocks on them, users can still define them here.
# But, it should still be after the platform file so changes can
# be made to those values.
-IF(CMAKE_USER_MAKE_RULES_OVERRIDE)
+if(CMAKE_USER_MAKE_RULES_OVERRIDE)
# Save the full path of the file so try_compile can use it.
- INCLUDE(${CMAKE_USER_MAKE_RULES_OVERRIDE} RESULT_VARIABLE _override)
- SET(CMAKE_USER_MAKE_RULES_OVERRIDE "${_override}")
-ENDIF()
+ include(${CMAKE_USER_MAKE_RULES_OVERRIDE} RESULT_VARIABLE _override)
+ set(CMAKE_USER_MAKE_RULES_OVERRIDE "${_override}")
+endif()
-IF(CMAKE_USER_MAKE_RULES_OVERRIDE_C)
+if(CMAKE_USER_MAKE_RULES_OVERRIDE_C)
# Save the full path of the file so try_compile can use it.
- INCLUDE(${CMAKE_USER_MAKE_RULES_OVERRIDE_C} RESULT_VARIABLE _override)
- SET(CMAKE_USER_MAKE_RULES_OVERRIDE_C "${_override}")
-ENDIF()
+ include(${CMAKE_USER_MAKE_RULES_OVERRIDE_C} RESULT_VARIABLE _override)
+ set(CMAKE_USER_MAKE_RULES_OVERRIDE_C "${_override}")
+endif()
# for most systems a module is the same as a shared library
# so unless the variable CMAKE_MODULE_EXISTS is set just
# copy the values from the LIBRARY variables
-IF(NOT CMAKE_MODULE_EXISTS)
- SET(CMAKE_SHARED_MODULE_C_FLAGS ${CMAKE_SHARED_LIBRARY_C_FLAGS})
- SET(CMAKE_SHARED_MODULE_CREATE_C_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS})
-ENDIF(NOT CMAKE_MODULE_EXISTS)
-
-SET(CMAKE_C_FLAGS_INIT "$ENV{CFLAGS} ${CMAKE_C_FLAGS_INIT}")
-# avoid just having a space as the initial value for the cache
-IF(CMAKE_C_FLAGS_INIT STREQUAL " ")
- SET(CMAKE_C_FLAGS_INIT)
-ENDIF(CMAKE_C_FLAGS_INIT STREQUAL " ")
-SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS_INIT}" CACHE STRING
+if(NOT CMAKE_MODULE_EXISTS)
+ set(CMAKE_SHARED_MODULE_C_FLAGS ${CMAKE_SHARED_LIBRARY_C_FLAGS})
+ set(CMAKE_SHARED_MODULE_CREATE_C_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS})
+endif()
+
+set(CMAKE_C_FLAGS_INIT "$ENV{CFLAGS} ${CMAKE_C_FLAGS_INIT}")
+# avoid just having a space as the initial value for the cache
+if(CMAKE_C_FLAGS_INIT STREQUAL " ")
+ set(CMAKE_C_FLAGS_INIT)
+endif()
+set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS_INIT}" CACHE STRING
"Flags used by the compiler during all build types.")
-IF(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
+if(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
# default build type is none
- IF(NOT CMAKE_NO_BUILD_TYPE)
- SET (CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE_INIT} CACHE STRING
+ if(NOT CMAKE_NO_BUILD_TYPE)
+ set (CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE_INIT} CACHE STRING
"Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.")
- ENDIF(NOT CMAKE_NO_BUILD_TYPE)
- SET (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG_INIT}" CACHE STRING
+ endif()
+ set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG_INIT}" CACHE STRING
"Flags used by the compiler during debug builds.")
- SET (CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL_INIT}" CACHE STRING
+ set (CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL_INIT}" CACHE STRING
"Flags used by the compiler during release minsize builds.")
- SET (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE_INIT}" CACHE STRING
+ set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE_INIT}" CACHE STRING
"Flags used by the compiler during release builds (/MD /Ob1 /Oi /Ot /Oy /Gs will produce slightly less optimized but smaller files).")
- SET (CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO_INIT}" CACHE STRING
+ set (CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO_INIT}" CACHE STRING
"Flags used by the compiler during Release with Debug Info builds.")
-ENDIF(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
+endif()
-IF(CMAKE_C_STANDARD_LIBRARIES_INIT)
- SET(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES_INIT}"
+if(CMAKE_C_STANDARD_LIBRARIES_INIT)
+ set(CMAKE_C_STANDARD_LIBRARIES "${CMAKE_C_STANDARD_LIBRARIES_INIT}"
CACHE STRING "Libraries linked by defalut with all C applications.")
- MARK_AS_ADVANCED(CMAKE_C_STANDARD_LIBRARIES)
-ENDIF(CMAKE_C_STANDARD_LIBRARIES_INIT)
+ mark_as_advanced(CMAKE_C_STANDARD_LIBRARIES)
+endif()
-INCLUDE(CMakeCommonLanguageInclude)
+include(CMakeCommonLanguageInclude)
# now define the following rule variables
@@ -151,69 +151,69 @@ INCLUDE(CMakeCommonLanguageInclude)
# <LINK_FLAGS>
# C compiler information
-# <CMAKE_C_COMPILER>
+# <CMAKE_C_COMPILER>
# <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS>
# <CMAKE_SHARED_MODULE_CREATE_C_FLAGS>
# <CMAKE_C_LINK_FLAGS>
# Static library tools
-# <CMAKE_AR>
+# <CMAKE_AR>
# <CMAKE_RANLIB>
# create a C shared library
-IF(NOT CMAKE_C_CREATE_SHARED_LIBRARY)
- SET(CMAKE_C_CREATE_SHARED_LIBRARY
+if(NOT CMAKE_C_CREATE_SHARED_LIBRARY)
+ set(CMAKE_C_CREATE_SHARED_LIBRARY
"<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_C_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> <SONAME_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
-ENDIF(NOT CMAKE_C_CREATE_SHARED_LIBRARY)
+endif()
# create a C shared module just copy the shared library rule
-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)
+if(NOT CMAKE_C_CREATE_SHARED_MODULE)
+ set(CMAKE_C_CREATE_SHARED_MODULE ${CMAKE_C_CREATE_SHARED_LIBRARY})
+endif()
# Create a static archive incrementally for large object file counts.
# If CMAKE_C_CREATE_STATIC_LIBRARY is set it will override these.
-IF(NOT DEFINED CMAKE_C_ARCHIVE_CREATE)
- SET(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS>")
-ENDIF()
-IF(NOT DEFINED CMAKE_C_ARCHIVE_APPEND)
- SET(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> r <TARGET> <LINK_FLAGS> <OBJECTS>")
-ENDIF()
-IF(NOT DEFINED CMAKE_C_ARCHIVE_FINISH)
- SET(CMAKE_C_ARCHIVE_FINISH "<CMAKE_RANLIB> <TARGET>")
-ENDIF()
+if(NOT DEFINED CMAKE_C_ARCHIVE_CREATE)
+ set(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS>")
+endif()
+if(NOT DEFINED CMAKE_C_ARCHIVE_APPEND)
+ set(CMAKE_C_ARCHIVE_APPEND "<CMAKE_AR> r <TARGET> <LINK_FLAGS> <OBJECTS>")
+endif()
+if(NOT DEFINED CMAKE_C_ARCHIVE_FINISH)
+ set(CMAKE_C_ARCHIVE_FINISH "<CMAKE_RANLIB> <TARGET>")
+endif()
# compile a C file into an object file
-IF(NOT CMAKE_C_COMPILE_OBJECT)
- SET(CMAKE_C_COMPILE_OBJECT
+if(NOT CMAKE_C_COMPILE_OBJECT)
+ set(CMAKE_C_COMPILE_OBJECT
"<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -o <OBJECT> -c <SOURCE>")
-ENDIF(NOT CMAKE_C_COMPILE_OBJECT)
+endif()
-IF(NOT CMAKE_C_LINK_EXECUTABLE)
- SET(CMAKE_C_LINK_EXECUTABLE
+if(NOT CMAKE_C_LINK_EXECUTABLE)
+ set(CMAKE_C_LINK_EXECUTABLE
"<CMAKE_C_COMPILER> <FLAGS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
-ENDIF(NOT CMAKE_C_LINK_EXECUTABLE)
+endif()
-IF(NOT CMAKE_EXECUTABLE_RUNTIME_C_FLAG)
- SET(CMAKE_EXECUTABLE_RUNTIME_C_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG})
-ENDIF(NOT CMAKE_EXECUTABLE_RUNTIME_C_FLAG)
+if(NOT CMAKE_EXECUTABLE_RUNTIME_C_FLAG)
+ set(CMAKE_EXECUTABLE_RUNTIME_C_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG})
+endif()
-IF(NOT CMAKE_EXECUTABLE_RUNTIME_C_FLAG_SEP)
- SET(CMAKE_EXECUTABLE_RUNTIME_C_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP})
-ENDIF(NOT CMAKE_EXECUTABLE_RUNTIME_C_FLAG_SEP)
+if(NOT CMAKE_EXECUTABLE_RUNTIME_C_FLAG_SEP)
+ set(CMAKE_EXECUTABLE_RUNTIME_C_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP})
+endif()
-IF(NOT CMAKE_EXECUTABLE_RPATH_LINK_C_FLAG)
- SET(CMAKE_EXECUTABLE_RPATH_LINK_C_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG})
-ENDIF(NOT CMAKE_EXECUTABLE_RPATH_LINK_C_FLAG)
+if(NOT CMAKE_EXECUTABLE_RPATH_LINK_C_FLAG)
+ set(CMAKE_EXECUTABLE_RPATH_LINK_C_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG})
+endif()
-MARK_AS_ADVANCED(
+mark_as_advanced(
CMAKE_C_FLAGS
CMAKE_C_FLAGS_DEBUG
CMAKE_C_FLAGS_MINSIZEREL
CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_RELWITHDEBINFO
)
-SET(CMAKE_C_INFORMATION_LOADED 1)
+set(CMAKE_C_INFORMATION_LOADED 1)
diff --git a/Modules/CMakeCXXCompiler.cmake.in b/Modules/CMakeCXXCompiler.cmake.in
index 5b6376a32..8c5d84e6c 100644
--- a/Modules/CMakeCXXCompiler.cmake.in
+++ b/Modules/CMakeCXXCompiler.cmake.in
@@ -1,54 +1,56 @@
-SET(CMAKE_CXX_COMPILER "@CMAKE_CXX_COMPILER@")
-SET(CMAKE_CXX_COMPILER_ARG1 "@CMAKE_CXX_COMPILER_ARG1@")
-SET(CMAKE_CXX_COMPILER_ID "@CMAKE_CXX_COMPILER_ID@")
-SET(CMAKE_CXX_COMPILER_VERSION "@CMAKE_CXX_COMPILER_VERSION@")
-SET(CMAKE_CXX_PLATFORM_ID "@CMAKE_CXX_PLATFORM_ID@")
+set(CMAKE_CXX_COMPILER "@CMAKE_CXX_COMPILER@")
+set(CMAKE_CXX_COMPILER_ARG1 "@CMAKE_CXX_COMPILER_ARG1@")
+set(CMAKE_CXX_COMPILER_ID "@CMAKE_CXX_COMPILER_ID@")
+set(CMAKE_CXX_COMPILER_VERSION "@CMAKE_CXX_COMPILER_VERSION@")
+set(CMAKE_CXX_PLATFORM_ID "@CMAKE_CXX_PLATFORM_ID@")
@SET_MSVC_CXX_ARCHITECTURE_ID@
-SET(CMAKE_AR "@CMAKE_AR@")
-SET(CMAKE_RANLIB "@CMAKE_RANLIB@")
-SET(CMAKE_LINKER "@CMAKE_LINKER@")
-SET(CMAKE_COMPILER_IS_GNUCXX @CMAKE_COMPILER_IS_GNUCXX@)
-SET(CMAKE_CXX_COMPILER_LOADED 1)
-SET(CMAKE_COMPILER_IS_MINGW @CMAKE_COMPILER_IS_MINGW@)
-SET(CMAKE_COMPILER_IS_CYGWIN @CMAKE_COMPILER_IS_CYGWIN@)
-IF(CMAKE_COMPILER_IS_CYGWIN)
- SET(CYGWIN 1)
- SET(UNIX 1)
-ENDIF(CMAKE_COMPILER_IS_CYGWIN)
-
-SET(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
-
-IF(CMAKE_COMPILER_IS_MINGW)
- SET(MINGW 1)
-ENDIF(CMAKE_COMPILER_IS_MINGW)
-SET(CMAKE_CXX_COMPILER_ID_RUN 1)
-SET(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
-SET(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP)
-SET(CMAKE_CXX_LINKER_PREFERENCE 30)
-SET(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
+set(CMAKE_AR "@CMAKE_AR@")
+set(CMAKE_RANLIB "@CMAKE_RANLIB@")
+set(CMAKE_LINKER "@CMAKE_LINKER@")
+set(CMAKE_COMPILER_IS_GNUCXX @CMAKE_COMPILER_IS_GNUCXX@)
+set(CMAKE_CXX_COMPILER_LOADED 1)
+set(CMAKE_CXX_COMPILER_WORKS @CMAKE_CXX_COMPILER_WORKS@)
+set(CMAKE_CXX_ABI_COMPILED @CMAKE_CXX_ABI_COMPILED@)
+set(CMAKE_COMPILER_IS_MINGW @CMAKE_COMPILER_IS_MINGW@)
+set(CMAKE_COMPILER_IS_CYGWIN @CMAKE_COMPILER_IS_CYGWIN@)
+if(CMAKE_COMPILER_IS_CYGWIN)
+ set(CYGWIN 1)
+ set(UNIX 1)
+endif()
+
+set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
+
+if(CMAKE_COMPILER_IS_MINGW)
+ set(MINGW 1)
+endif()
+set(CMAKE_CXX_COMPILER_ID_RUN 1)
+set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
+set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP)
+set(CMAKE_CXX_LINKER_PREFERENCE 30)
+set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
# Save compiler ABI information.
-SET(CMAKE_CXX_SIZEOF_DATA_PTR "@CMAKE_CXX_SIZEOF_DATA_PTR@")
-SET(CMAKE_CXX_COMPILER_ABI "@CMAKE_CXX_COMPILER_ABI@")
-SET(CMAKE_CXX_LIBRARY_ARCHITECTURE "@CMAKE_CXX_LIBRARY_ARCHITECTURE@")
+set(CMAKE_CXX_SIZEOF_DATA_PTR "@CMAKE_CXX_SIZEOF_DATA_PTR@")
+set(CMAKE_CXX_COMPILER_ABI "@CMAKE_CXX_COMPILER_ABI@")
+set(CMAKE_CXX_LIBRARY_ARCHITECTURE "@CMAKE_CXX_LIBRARY_ARCHITECTURE@")
-IF(CMAKE_CXX_SIZEOF_DATA_PTR)
- SET(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
-ENDIF(CMAKE_CXX_SIZEOF_DATA_PTR)
+if(CMAKE_CXX_SIZEOF_DATA_PTR)
+ set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
+endif()
-IF(CMAKE_CXX_COMPILER_ABI)
- SET(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
-ENDIF(CMAKE_CXX_COMPILER_ABI)
+if(CMAKE_CXX_COMPILER_ABI)
+ set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
+endif()
-IF(CMAKE_CXX_LIBRARY_ARCHITECTURE)
- SET(CMAKE_LIBRARY_ARCHITECTURE "@CMAKE_CXX_LIBRARY_ARCHITECTURE@")
-ENDIF()
+if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
+ set(CMAKE_LIBRARY_ARCHITECTURE "@CMAKE_CXX_LIBRARY_ARCHITECTURE@")
+endif()
-SET(CMAKE_CXX_HAS_ISYSROOT "@CMAKE_CXX_HAS_ISYSROOT@")
+@CMAKE_CXX_SYSROOT_FLAG_CODE@
@CMAKE_CXX_OSX_DEPLOYMENT_TARGET_FLAG_CODE@
-SET(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "@CMAKE_CXX_IMPLICIT_LINK_LIBRARIES@")
-SET(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "@CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES@")
+set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "@CMAKE_CXX_IMPLICIT_LINK_LIBRARIES@")
+set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "@CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES@")
@SET_CMAKE_CMCLDEPS_EXECUTABLE@
@SET_CMAKE_CL_SHOWINCLUDE_PREFIX@
diff --git a/Modules/CMakeCXXCompilerId.cpp.in b/Modules/CMakeCXXCompilerId.cpp.in
index 95fc852d6..5e70a4196 100644
--- a/Modules/CMakeCXXCompilerId.cpp.in
+++ b/Modules/CMakeCXXCompilerId.cpp.in
@@ -10,6 +10,9 @@
#if defined(__COMO__)
# define COMPILER_ID "Comeau"
+ /* __COMO_VERSION__ = VRR */
+# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
+# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
#elif defined(__INTEL_COMPILER) || defined(__ICC)
# define COMPILER_ID "Intel"
@@ -22,6 +25,14 @@
# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
# endif
+#elif defined(__PATHCC__)
+# define COMPILER_ID "PathScale"
+# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
+# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
+# if defined(__PATHCC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
+# endif
+
#elif defined(__clang__)
# define COMPILER_ID "Clang"
# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
@@ -69,6 +80,10 @@
#elif defined(__DECCXX)
# define COMPILER_ID "Compaq"
+ /* __DECCXX_VER = VVRRTPPPP */
+# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
+# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
+# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
#elif defined(__IBMCPP__)
# if defined(__COMPILER_VER__)
@@ -93,14 +108,17 @@
# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
# endif
-#elif defined(__PATHSCALE__)
-# define COMPILER_ID "PathScale"
-
#elif defined(_CRAYC)
# define COMPILER_ID "Cray"
+# define COMPILER_VERSION_MAJOR DEC(_RELEASE)
+# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
#elif defined(__TI_COMPILER_VERSION__)
# define COMPILER_ID "TI_DSP"
+ /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
+# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
+# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
+# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
#elif defined(__SCO_VERSION__)
# define COMPILER_ID "SCO"
@@ -131,9 +149,16 @@
# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
# endif
+/* Analog VisualDSP++ >= 4.5.6 */
+#elif defined(__VISUALDSPVERSION__)
+# define COMPILER_ID "ADSP"
+ /* __VISUALDSPVERSION__ = 0xVVRRPP00 */
+# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
+# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
+
+/* Analog VisualDSP++ < 4.5.6 */
#elif defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
-/* Analog Devices C++ compiler for Blackfin, TigerSHARC and
- SHARC (21000) DSPs */
# define COMPILER_ID "ADSP"
#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION)
diff --git a/Modules/CMakeCXXInformation.cmake b/Modules/CMakeCXXInformation.cmake
index 9dc9cbd30..933c15a82 100644
--- a/Modules/CMakeCXXInformation.cmake
+++ b/Modules/CMakeCXXInformation.cmake
@@ -20,210 +20,210 @@
# some compilers use different extensions (e.g. sdcc uses .rel)
# so set the extension here first so it can be overridden by the compiler specific file
-IF(UNIX)
- SET(CMAKE_CXX_OUTPUT_EXTENSION .o)
-ELSE(UNIX)
- SET(CMAKE_CXX_OUTPUT_EXTENSION .obj)
-ENDIF(UNIX)
+if(UNIX)
+ set(CMAKE_CXX_OUTPUT_EXTENSION .o)
+else()
+ set(CMAKE_CXX_OUTPUT_EXTENSION .obj)
+endif()
-SET(_INCLUDED_FILE 0)
+set(_INCLUDED_FILE 0)
# Load compiler-specific information.
-IF(CMAKE_CXX_COMPILER_ID)
- INCLUDE(Compiler/${CMAKE_CXX_COMPILER_ID}-CXX OPTIONAL)
-ENDIF(CMAKE_CXX_COMPILER_ID)
+if(CMAKE_CXX_COMPILER_ID)
+ include(Compiler/${CMAKE_CXX_COMPILER_ID}-CXX OPTIONAL)
+endif()
-SET(CMAKE_BASE_NAME)
-GET_FILENAME_COMPONENT(CMAKE_BASE_NAME ${CMAKE_CXX_COMPILER} NAME_WE)
+set(CMAKE_BASE_NAME)
+get_filename_component(CMAKE_BASE_NAME ${CMAKE_CXX_COMPILER} NAME_WE)
# since the gnu compiler has several names force g++
-IF(CMAKE_COMPILER_IS_GNUCXX)
- SET(CMAKE_BASE_NAME g++)
-ENDIF(CMAKE_COMPILER_IS_GNUCXX)
+if(CMAKE_COMPILER_IS_GNUCXX)
+ set(CMAKE_BASE_NAME g++)
+endif()
# load a hardware specific file, mostly useful for embedded compilers
-IF(CMAKE_SYSTEM_PROCESSOR)
- IF(CMAKE_CXX_COMPILER_ID)
- INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_CXX_COMPILER_ID}-CXX-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
- ENDIF(CMAKE_CXX_COMPILER_ID)
- IF (NOT _INCLUDED_FILE)
- INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL)
- ENDIF (NOT _INCLUDED_FILE)
-ENDIF(CMAKE_SYSTEM_PROCESSOR)
+if(CMAKE_SYSTEM_PROCESSOR)
+ if(CMAKE_CXX_COMPILER_ID)
+ include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_CXX_COMPILER_ID}-CXX-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
+ endif()
+ if (NOT _INCLUDED_FILE)
+ include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}-${CMAKE_SYSTEM_PROCESSOR} OPTIONAL)
+ endif ()
+endif()
# load the system- and compiler specific files
-IF(CMAKE_CXX_COMPILER_ID)
- INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_CXX_COMPILER_ID}-CXX OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
-ENDIF(CMAKE_CXX_COMPILER_ID)
-IF (NOT _INCLUDED_FILE)
- INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME} OPTIONAL
+if(CMAKE_CXX_COMPILER_ID)
+ include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_CXX_COMPILER_ID}-CXX OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
+endif()
+if (NOT _INCLUDED_FILE)
+ include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME} OPTIONAL
RESULT_VARIABLE _INCLUDED_FILE)
-ENDIF (NOT _INCLUDED_FILE)
+endif ()
# We specify the compiler information in the system file for some
# platforms, but this language may not have been enabled when the file
# was first included. Include it again to get the language info.
# Remove this when all compiler info is removed from system files.
-IF (NOT _INCLUDED_FILE)
- INCLUDE(Platform/${CMAKE_SYSTEM_NAME} OPTIONAL)
-ENDIF (NOT _INCLUDED_FILE)
+if (NOT _INCLUDED_FILE)
+ include(Platform/${CMAKE_SYSTEM_NAME} OPTIONAL)
+endif ()
-IF(CMAKE_CXX_SIZEOF_DATA_PTR)
- FOREACH(f ${CMAKE_CXX_ABI_FILES})
- INCLUDE(${f})
- ENDFOREACH()
- UNSET(CMAKE_CXX_ABI_FILES)
-ENDIF()
+if(CMAKE_CXX_SIZEOF_DATA_PTR)
+ foreach(f ${CMAKE_CXX_ABI_FILES})
+ include(${f})
+ endforeach()
+ unset(CMAKE_CXX_ABI_FILES)
+endif()
# This should be included before the _INIT variables are
-# used to initialize the cache. Since the rule variables
+# used to initialize the cache. Since the rule variables
# have if blocks on them, users can still define them here.
# But, it should still be after the platform file so changes can
# be made to those values.
-IF(CMAKE_USER_MAKE_RULES_OVERRIDE)
+if(CMAKE_USER_MAKE_RULES_OVERRIDE)
# Save the full path of the file so try_compile can use it.
- INCLUDE(${CMAKE_USER_MAKE_RULES_OVERRIDE} RESULT_VARIABLE _override)
- SET(CMAKE_USER_MAKE_RULES_OVERRIDE "${_override}")
-ENDIF()
+ include(${CMAKE_USER_MAKE_RULES_OVERRIDE} RESULT_VARIABLE _override)
+ set(CMAKE_USER_MAKE_RULES_OVERRIDE "${_override}")
+endif()
-IF(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX)
+if(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX)
# Save the full path of the file so try_compile can use it.
- INCLUDE(${CMAKE_USER_MAKE_RULES_OVERRIDE_CXX} RESULT_VARIABLE _override)
- SET(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX "${_override}")
-ENDIF()
+ include(${CMAKE_USER_MAKE_RULES_OVERRIDE_CXX} RESULT_VARIABLE _override)
+ set(CMAKE_USER_MAKE_RULES_OVERRIDE_CXX "${_override}")
+endif()
# Create a set of shared library variable specific to C++
# For 90% of the systems, these are the same flags as the C versions
# so if these are not set just copy the flags from the c version
-IF(NOT CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS)
- SET(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS})
-ENDIF(NOT CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS)
+if(NOT CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS)
+ set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS})
+endif()
-IF(NOT CMAKE_CXX_COMPILE_OPTIONS_PIC)
- SET(CMAKE_CXX_COMPILE_OPTIONS_PIC ${CMAKE_C_COMPILE_OPTIONS_PIC})
-ENDIF(NOT CMAKE_CXX_COMPILE_OPTIONS_PIC)
+if(NOT CMAKE_CXX_COMPILE_OPTIONS_PIC)
+ set(CMAKE_CXX_COMPILE_OPTIONS_PIC ${CMAKE_C_COMPILE_OPTIONS_PIC})
+endif()
-IF(NOT CMAKE_CXX_COMPILE_OPTIONS_PIE)
- SET(CMAKE_CXX_COMPILE_OPTIONS_PIE ${CMAKE_C_COMPILE_OPTIONS_PIE})
-ENDIF(NOT CMAKE_CXX_COMPILE_OPTIONS_PIE)
+if(NOT CMAKE_CXX_COMPILE_OPTIONS_PIE)
+ set(CMAKE_CXX_COMPILE_OPTIONS_PIE ${CMAKE_C_COMPILE_OPTIONS_PIE})
+endif()
-IF(NOT CMAKE_CXX_COMPILE_OPTIONS_DLL)
- SET(CMAKE_CXX_COMPILE_OPTIONS_DLL ${CMAKE_C_COMPILE_OPTIONS_DLL})
-ENDIF(NOT CMAKE_CXX_COMPILE_OPTIONS_DLL)
+if(NOT CMAKE_CXX_COMPILE_OPTIONS_DLL)
+ set(CMAKE_CXX_COMPILE_OPTIONS_DLL ${CMAKE_C_COMPILE_OPTIONS_DLL})
+endif()
-IF(NOT CMAKE_SHARED_LIBRARY_CXX_FLAGS)
- SET(CMAKE_SHARED_LIBRARY_CXX_FLAGS ${CMAKE_SHARED_LIBRARY_C_FLAGS})
-ENDIF(NOT CMAKE_SHARED_LIBRARY_CXX_FLAGS)
+if(NOT CMAKE_SHARED_LIBRARY_CXX_FLAGS)
+ set(CMAKE_SHARED_LIBRARY_CXX_FLAGS ${CMAKE_SHARED_LIBRARY_C_FLAGS})
+endif()
-IF(NOT DEFINED CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS)
- SET(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS ${CMAKE_SHARED_LIBRARY_LINK_C_FLAGS})
-ENDIF(NOT DEFINED CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS)
+if(NOT DEFINED CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS)
+ set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS ${CMAKE_SHARED_LIBRARY_LINK_C_FLAGS})
+endif()
-IF(NOT CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG)
- SET(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG})
-ENDIF(NOT CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG)
+if(NOT CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG)
+ set(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG})
+endif()
-IF(NOT CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG_SEP)
- SET(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP})
-ENDIF(NOT CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG_SEP)
+if(NOT CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG_SEP)
+ set(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP})
+endif()
-IF(NOT CMAKE_SHARED_LIBRARY_RPATH_LINK_CXX_FLAG)
- SET(CMAKE_SHARED_LIBRARY_RPATH_LINK_CXX_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG})
-ENDIF(NOT CMAKE_SHARED_LIBRARY_RPATH_LINK_CXX_FLAG)
+if(NOT CMAKE_SHARED_LIBRARY_RPATH_LINK_CXX_FLAG)
+ set(CMAKE_SHARED_LIBRARY_RPATH_LINK_CXX_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG})
+endif()
-IF(NOT DEFINED CMAKE_EXE_EXPORTS_CXX_FLAG)
- SET(CMAKE_EXE_EXPORTS_CXX_FLAG ${CMAKE_EXE_EXPORTS_C_FLAG})
-ENDIF()
+if(NOT DEFINED CMAKE_EXE_EXPORTS_CXX_FLAG)
+ set(CMAKE_EXE_EXPORTS_CXX_FLAG ${CMAKE_EXE_EXPORTS_C_FLAG})
+endif()
-IF(NOT DEFINED CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG)
- SET(CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG ${CMAKE_SHARED_LIBRARY_SONAME_C_FLAG})
-ENDIF()
+if(NOT DEFINED CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG)
+ set(CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG ${CMAKE_SHARED_LIBRARY_SONAME_C_FLAG})
+endif()
-IF(NOT CMAKE_EXECUTABLE_RUNTIME_CXX_FLAG)
- SET(CMAKE_EXECUTABLE_RUNTIME_CXX_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG})
-ENDIF(NOT CMAKE_EXECUTABLE_RUNTIME_CXX_FLAG)
+if(NOT CMAKE_EXECUTABLE_RUNTIME_CXX_FLAG)
+ set(CMAKE_EXECUTABLE_RUNTIME_CXX_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG})
+endif()
-IF(NOT CMAKE_EXECUTABLE_RUNTIME_CXX_FLAG_SEP)
- SET(CMAKE_EXECUTABLE_RUNTIME_CXX_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG_SEP})
-ENDIF(NOT CMAKE_EXECUTABLE_RUNTIME_CXX_FLAG_SEP)
+if(NOT CMAKE_EXECUTABLE_RUNTIME_CXX_FLAG_SEP)
+ set(CMAKE_EXECUTABLE_RUNTIME_CXX_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG_SEP})
+endif()
-IF(NOT CMAKE_EXECUTABLE_RPATH_LINK_CXX_FLAG)
- SET(CMAKE_EXECUTABLE_RPATH_LINK_CXX_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_CXX_FLAG})
-ENDIF(NOT CMAKE_EXECUTABLE_RPATH_LINK_CXX_FLAG)
+if(NOT CMAKE_EXECUTABLE_RPATH_LINK_CXX_FLAG)
+ set(CMAKE_EXECUTABLE_RPATH_LINK_CXX_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_CXX_FLAG})
+endif()
-IF(NOT DEFINED CMAKE_SHARED_LIBRARY_LINK_CXX_WITH_RUNTIME_PATH)
- SET(CMAKE_SHARED_LIBRARY_LINK_CXX_WITH_RUNTIME_PATH ${CMAKE_SHARED_LIBRARY_LINK_C_WITH_RUNTIME_PATH})
-ENDIF(NOT DEFINED CMAKE_SHARED_LIBRARY_LINK_CXX_WITH_RUNTIME_PATH)
+if(NOT DEFINED CMAKE_SHARED_LIBRARY_LINK_CXX_WITH_RUNTIME_PATH)
+ set(CMAKE_SHARED_LIBRARY_LINK_CXX_WITH_RUNTIME_PATH ${CMAKE_SHARED_LIBRARY_LINK_C_WITH_RUNTIME_PATH})
+endif()
-IF(NOT CMAKE_INCLUDE_FLAG_CXX)
- SET(CMAKE_INCLUDE_FLAG_CXX ${CMAKE_INCLUDE_FLAG_C})
-ENDIF(NOT CMAKE_INCLUDE_FLAG_CXX)
+if(NOT CMAKE_INCLUDE_FLAG_CXX)
+ set(CMAKE_INCLUDE_FLAG_CXX ${CMAKE_INCLUDE_FLAG_C})
+endif()
-IF(NOT CMAKE_INCLUDE_FLAG_SEP_CXX)
- SET(CMAKE_INCLUDE_FLAG_SEP_CXX ${CMAKE_INCLUDE_FLAG_SEP_C})
-ENDIF(NOT CMAKE_INCLUDE_FLAG_SEP_CXX)
+if(NOT CMAKE_INCLUDE_FLAG_SEP_CXX)
+ set(CMAKE_INCLUDE_FLAG_SEP_CXX ${CMAKE_INCLUDE_FLAG_SEP_C})
+endif()
# for most systems a module is the same as a shared library
# so unless the variable CMAKE_MODULE_EXISTS is set just
# copy the values from the LIBRARY variables
-IF(NOT CMAKE_MODULE_EXISTS)
- SET(CMAKE_SHARED_MODULE_CXX_FLAGS ${CMAKE_SHARED_LIBRARY_CXX_FLAGS})
- SET(CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS})
-ENDIF(NOT CMAKE_MODULE_EXISTS)
+if(NOT CMAKE_MODULE_EXISTS)
+ set(CMAKE_SHARED_MODULE_CXX_FLAGS ${CMAKE_SHARED_LIBRARY_CXX_FLAGS})
+ set(CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS})
+endif()
# repeat for modules
-IF(NOT CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS)
- SET(CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS ${CMAKE_SHARED_MODULE_CREATE_C_FLAGS})
-ENDIF(NOT CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS)
+if(NOT CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS)
+ set(CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS ${CMAKE_SHARED_MODULE_CREATE_C_FLAGS})
+endif()
-IF(NOT CMAKE_SHARED_MODULE_CXX_FLAGS)
- SET(CMAKE_SHARED_MODULE_CXX_FLAGS ${CMAKE_SHARED_MODULE_C_FLAGS})
-ENDIF(NOT CMAKE_SHARED_MODULE_CXX_FLAGS)
+if(NOT CMAKE_SHARED_MODULE_CXX_FLAGS)
+ set(CMAKE_SHARED_MODULE_CXX_FLAGS ${CMAKE_SHARED_MODULE_C_FLAGS})
+endif()
# Initialize CXX link type selection flags from C versions.
-FOREACH(type SHARED_LIBRARY SHARED_MODULE EXE)
- IF(NOT CMAKE_${type}_LINK_STATIC_CXX_FLAGS)
- SET(CMAKE_${type}_LINK_STATIC_CXX_FLAGS
+foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
+ if(NOT CMAKE_${type}_LINK_STATIC_CXX_FLAGS)
+ set(CMAKE_${type}_LINK_STATIC_CXX_FLAGS
${CMAKE_${type}_LINK_STATIC_C_FLAGS})
- ENDIF(NOT CMAKE_${type}_LINK_STATIC_CXX_FLAGS)
- IF(NOT CMAKE_${type}_LINK_DYNAMIC_CXX_FLAGS)
- SET(CMAKE_${type}_LINK_DYNAMIC_CXX_FLAGS
+ endif()
+ if(NOT CMAKE_${type}_LINK_DYNAMIC_CXX_FLAGS)
+ set(CMAKE_${type}_LINK_DYNAMIC_CXX_FLAGS
${CMAKE_${type}_LINK_DYNAMIC_C_FLAGS})
- ENDIF(NOT CMAKE_${type}_LINK_DYNAMIC_CXX_FLAGS)
-ENDFOREACH(type)
+ endif()
+endforeach()
# add the flags to the cache based
# on the initial values computed in the platform/*.cmake files
# use _INIT variables so that this only happens the first time
# and you can set these flags in the cmake cache
-SET(CMAKE_CXX_FLAGS_INIT "$ENV{CXXFLAGS} ${CMAKE_CXX_FLAGS_INIT}")
-# avoid just having a space as the initial value for the cache
-IF(CMAKE_CXX_FLAGS_INIT STREQUAL " ")
- SET(CMAKE_CXX_FLAGS_INIT)
-ENDIF(CMAKE_CXX_FLAGS_INIT STREQUAL " ")
-SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_INIT}" CACHE STRING
+set(CMAKE_CXX_FLAGS_INIT "$ENV{CXXFLAGS} ${CMAKE_CXX_FLAGS_INIT}")
+# avoid just having a space as the initial value for the cache
+if(CMAKE_CXX_FLAGS_INIT STREQUAL " ")
+ set(CMAKE_CXX_FLAGS_INIT)
+endif()
+set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_INIT}" CACHE STRING
"Flags used by the compiler during all build types.")
-IF(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
- SET (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG_INIT}" CACHE STRING
+if(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
+ set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG_INIT}" CACHE STRING
"Flags used by the compiler during debug builds.")
- SET (CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL_INIT}" CACHE STRING
+ set (CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL_INIT}" CACHE STRING
"Flags used by the compiler during release minsize builds.")
- SET (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE_INIT}" CACHE STRING
+ set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE_INIT}" CACHE STRING
"Flags used by the compiler during release builds (/MD /Ob1 /Oi /Ot /Oy /Gs will produce slightly less optimized but smaller files).")
- SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT}" CACHE STRING
+ set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT}" CACHE STRING
"Flags used by the compiler during Release with Debug Info builds.")
-ENDIF(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
+endif()
-IF(CMAKE_CXX_STANDARD_LIBRARIES_INIT)
- SET(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES_INIT}"
+if(CMAKE_CXX_STANDARD_LIBRARIES_INIT)
+ set(CMAKE_CXX_STANDARD_LIBRARIES "${CMAKE_CXX_STANDARD_LIBRARIES_INIT}"
CACHE STRING "Libraries linked by defalut with all C++ applications.")
- MARK_AS_ADVANCED(CMAKE_CXX_STANDARD_LIBRARIES)
-ENDIF(CMAKE_CXX_STANDARD_LIBRARIES_INIT)
+ mark_as_advanced(CMAKE_CXX_STANDARD_LIBRARIES)
+endif()
-INCLUDE(CMakeCommonLanguageInclude)
+include(CMakeCommonLanguageInclude)
# now define the following rules:
# CMAKE_CXX_CREATE_SHARED_LIBRARY
@@ -241,59 +241,59 @@ INCLUDE(CMakeCommonLanguageInclude)
# <LINK_FLAGS>
# CXX compiler information
-# <CMAKE_CXX_COMPILER>
+# <CMAKE_CXX_COMPILER>
# <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS>
# <CMAKE_CXX_SHARED_MODULE_CREATE_FLAGS>
# <CMAKE_CXX_LINK_FLAGS>
# Static library tools
-# <CMAKE_AR>
+# <CMAKE_AR>
# <CMAKE_RANLIB>
# create a shared C++ library
-IF(NOT CMAKE_CXX_CREATE_SHARED_LIBRARY)
- SET(CMAKE_CXX_CREATE_SHARED_LIBRARY
+if(NOT CMAKE_CXX_CREATE_SHARED_LIBRARY)
+ set(CMAKE_CXX_CREATE_SHARED_LIBRARY
"<CMAKE_CXX_COMPILER> <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <SONAME_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
-ENDIF(NOT CMAKE_CXX_CREATE_SHARED_LIBRARY)
+endif()
# create a c++ shared module copy the shared library rule by default
-IF(NOT CMAKE_CXX_CREATE_SHARED_MODULE)
- SET(CMAKE_CXX_CREATE_SHARED_MODULE ${CMAKE_CXX_CREATE_SHARED_LIBRARY})
-ENDIF(NOT CMAKE_CXX_CREATE_SHARED_MODULE)
+if(NOT CMAKE_CXX_CREATE_SHARED_MODULE)
+ set(CMAKE_CXX_CREATE_SHARED_MODULE ${CMAKE_CXX_CREATE_SHARED_LIBRARY})
+endif()
# Create a static archive incrementally for large object file counts.
# If CMAKE_CXX_CREATE_STATIC_LIBRARY is set it will override these.
-IF(NOT DEFINED CMAKE_CXX_ARCHIVE_CREATE)
- SET(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS>")
-ENDIF()
-IF(NOT DEFINED CMAKE_CXX_ARCHIVE_APPEND)
- SET(CMAKE_CXX_ARCHIVE_APPEND "<CMAKE_AR> r <TARGET> <LINK_FLAGS> <OBJECTS>")
-ENDIF()
-IF(NOT DEFINED CMAKE_CXX_ARCHIVE_FINISH)
- SET(CMAKE_CXX_ARCHIVE_FINISH "<CMAKE_RANLIB> <TARGET>")
-ENDIF()
+if(NOT DEFINED CMAKE_CXX_ARCHIVE_CREATE)
+ set(CMAKE_CXX_ARCHIVE_CREATE "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS>")
+endif()
+if(NOT DEFINED CMAKE_CXX_ARCHIVE_APPEND)
+ set(CMAKE_CXX_ARCHIVE_APPEND "<CMAKE_AR> r <TARGET> <LINK_FLAGS> <OBJECTS>")
+endif()
+if(NOT DEFINED CMAKE_CXX_ARCHIVE_FINISH)
+ set(CMAKE_CXX_ARCHIVE_FINISH "<CMAKE_RANLIB> <TARGET>")
+endif()
# compile a C++ file into an object file
-IF(NOT CMAKE_CXX_COMPILE_OBJECT)
- SET(CMAKE_CXX_COMPILE_OBJECT
+if(NOT CMAKE_CXX_COMPILE_OBJECT)
+ set(CMAKE_CXX_COMPILE_OBJECT
"<CMAKE_CXX_COMPILER> <DEFINES> <FLAGS> -o <OBJECT> -c <SOURCE>")
-ENDIF(NOT CMAKE_CXX_COMPILE_OBJECT)
+endif()
-IF(NOT CMAKE_CXX_LINK_EXECUTABLE)
- SET(CMAKE_CXX_LINK_EXECUTABLE
+if(NOT CMAKE_CXX_LINK_EXECUTABLE)
+ set(CMAKE_CXX_LINK_EXECUTABLE
"<CMAKE_CXX_COMPILER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
-ENDIF(NOT CMAKE_CXX_LINK_EXECUTABLE)
+endif()
-MARK_AS_ADVANCED(
+mark_as_advanced(
CMAKE_BUILD_TOOL
-CMAKE_VERBOSE_MAKEFILE
+CMAKE_VERBOSE_MAKEFILE
CMAKE_CXX_FLAGS
CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_RELWITHDEBINFO
CMAKE_CXX_FLAGS_MINSIZEREL
CMAKE_CXX_FLAGS_DEBUG)
-SET(CMAKE_CXX_INFORMATION_LOADED 1)
+set(CMAKE_CXX_INFORMATION_LOADED 1)
diff --git a/Modules/CMakeClDeps.cmake b/Modules/CMakeClDeps.cmake
index 6815e2b75..0214ead2b 100644
--- a/Modules/CMakeClDeps.cmake
+++ b/Modules/CMakeClDeps.cmake
@@ -20,18 +20,15 @@
# in front of each include path, so it can remove it.
#
-IF(MSVC_C_ARCHITECTURE_ID AND CMAKE_GENERATOR MATCHES "Ninja" AND CMAKE_C_COMPILER AND CMAKE_COMMAND)
- STRING(REPLACE "cmake.exe" "cmcldeps.exe" CMAKE_CMCLDEPS_EXECUTABLE ${CMAKE_COMMAND})
- SET(showdir ${CMAKE_BINARY_DIR}/CMakeFiles/ShowIncludes)
- FILE(WRITE ${showdir}/foo.h "\n")
- FILE(WRITE ${showdir}/main.c "#include \"foo.h\" \nint main(){}\n")
- EXECUTE_PROCESS(COMMAND ${CMAKE_C_COMPILER} /nologo /showIncludes ${showdir}/main.c
- WORKING_DIRECTORY ${showdir} OUTPUT_VARIABLE showOut)
- STRING(REPLACE main.c "" showOut1 ${showOut})
- STRING(REPLACE "/" "\\" header1 ${showdir}/foo.h)
- STRING(TOLOWER ${header1} header2)
- STRING(REPLACE ${header2} "" showOut2 ${showOut1})
- STRING(REPLACE "\n" "" showOut3 ${showOut2})
- SET(SET_CMAKE_CMCLDEPS_EXECUTABLE "SET(CMAKE_CMCLDEPS_EXECUTABLE \"${CMAKE_CMCLDEPS_EXECUTABLE}\")")
- SET(SET_CMAKE_CL_SHOWINCLUDE_PREFIX "SET(CMAKE_CL_SHOWINCLUDE_PREFIX \"${showOut3}\")")
-ENDIF()
+if(MSVC_C_ARCHITECTURE_ID AND CMAKE_GENERATOR MATCHES "Ninja" AND CMAKE_C_COMPILER AND CMAKE_COMMAND)
+ string(REPLACE "cmake.exe" "cmcldeps.exe" CMAKE_CMCLDEPS_EXECUTABLE ${CMAKE_COMMAND})
+ set(showdir ${CMAKE_BINARY_DIR}/CMakeFiles/ShowIncludes)
+ file(WRITE ${showdir}/foo.h "\n")
+ file(WRITE ${showdir}/main.c "#include \"foo.h\" \nint main(){}\n")
+ execute_process(COMMAND ${CMAKE_C_COMPILER} /nologo /showIncludes ${showdir}/main.c
+ WORKING_DIRECTORY ${showdir} OUTPUT_VARIABLE outLine)
+ string(REGEX MATCH "\n([^:]*:[^:]*:[ \t]*)" tmp "${outLine}")
+ set(localizedPrefix "${CMAKE_MATCH_1}")
+ set(SET_CMAKE_CMCLDEPS_EXECUTABLE "set(CMAKE_CMCLDEPS_EXECUTABLE \"${CMAKE_CMCLDEPS_EXECUTABLE}\")")
+ set(SET_CMAKE_CL_SHOWINCLUDE_PREFIX "set(CMAKE_CL_SHOWINCLUDE_PREFIX \"${localizedPrefix}\")")
+endif()
diff --git a/Modules/CMakeCommonLanguageInclude.cmake b/Modules/CMakeCommonLanguageInclude.cmake
index a2929f1ea..bf94f9ff6 100644
--- a/Modules/CMakeCommonLanguageInclude.cmake
+++ b/Modules/CMakeCommonLanguageInclude.cmake
@@ -16,74 +16,74 @@
# cache values that can be initialized in the platform-compiler.cmake file
# it may be included by more than one language.
-SET (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS_INIT} $ENV{LDFLAGS}"
+set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS_INIT} $ENV{LDFLAGS}"
CACHE STRING "Flags used by the linker.")
-IF(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
+if(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
# default build type is none
- IF(NOT CMAKE_NO_BUILD_TYPE)
- SET (CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE_INIT} CACHE STRING
+ if(NOT CMAKE_NO_BUILD_TYPE)
+ set (CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE_INIT} CACHE STRING
"Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.")
- ENDIF(NOT CMAKE_NO_BUILD_TYPE)
-
- SET (CMAKE_EXE_LINKER_FLAGS_DEBUG ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT} CACHE STRING
+ endif()
+
+ set (CMAKE_EXE_LINKER_FLAGS_DEBUG ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT} CACHE STRING
"Flags used by the linker during debug builds.")
- SET (CMAKE_EXE_LINKER_FLAGS_MINSIZEREL ${CMAKE_EXE_LINKER_FLAGS_MINSIZEREL_INIT} CACHE STRING
+ set (CMAKE_EXE_LINKER_FLAGS_MINSIZEREL ${CMAKE_EXE_LINKER_FLAGS_MINSIZEREL_INIT} CACHE STRING
"Flags used by the linker during release minsize builds.")
- SET (CMAKE_EXE_LINKER_FLAGS_RELEASE ${CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT} CACHE STRING
+ set (CMAKE_EXE_LINKER_FLAGS_RELEASE ${CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT} CACHE STRING
"Flags used by the linker during release builds.")
- SET (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
+ set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT} CACHE STRING
"Flags used by the linker during Release with Debug Info builds.")
-
- SET (CMAKE_SHARED_LINKER_FLAGS_DEBUG ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT} CACHE STRING
+
+ set (CMAKE_SHARED_LINKER_FLAGS_DEBUG ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT} CACHE STRING
"Flags used by the linker during debug builds.")
- SET (CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL ${CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL_INIT}
+ set (CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL ${CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL_INIT}
CACHE STRING
"Flags used by the linker during release minsize builds.")
- SET (CMAKE_SHARED_LINKER_FLAGS_RELEASE ${CMAKE_SHARED_LINKER_FLAGS_RELEASE_INIT} CACHE STRING
+ set (CMAKE_SHARED_LINKER_FLAGS_RELEASE ${CMAKE_SHARED_LINKER_FLAGS_RELEASE_INIT} CACHE STRING
"Flags used by the linker during release builds.")
- SET (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
+ set (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT} CACHE STRING
"Flags used by the linker during Release with Debug Info builds.")
- SET (CMAKE_MODULE_LINKER_FLAGS_DEBUG ${CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT} CACHE STRING
+ set (CMAKE_MODULE_LINKER_FLAGS_DEBUG ${CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT} CACHE STRING
"Flags used by the linker during debug builds.")
- SET (CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL ${CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL_INIT}
+ set (CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL ${CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL_INIT}
CACHE STRING
"Flags used by the linker during release minsize builds.")
- SET (CMAKE_MODULE_LINKER_FLAGS_RELEASE ${CMAKE_MODULE_LINKER_FLAGS_RELEASE_INIT} CACHE STRING
+ set (CMAKE_MODULE_LINKER_FLAGS_RELEASE ${CMAKE_MODULE_LINKER_FLAGS_RELEASE_INIT} CACHE STRING
"Flags used by the linker during release builds.")
- SET (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
+ set (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
${CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT} CACHE STRING
"Flags used by the linker during Release with Debug Info builds.")
-ENDIF(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
+endif()
# shared linker flags
-SET (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS_INIT} $ENV{LDFLAGS}"
+set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS_INIT} $ENV{LDFLAGS}"
CACHE STRING "Flags used by the linker during the creation of dll's.")
# module linker flags
-SET (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS_INIT} $ENV{LDFLAGS}"
+set (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS_INIT} $ENV{LDFLAGS}"
CACHE STRING "Flags used by the linker during the creation of modules.")
-SET(CMAKE_BUILD_TOOL ${CMAKE_MAKE_PROGRAM} CACHE INTERNAL
+set(CMAKE_BUILD_TOOL ${CMAKE_MAKE_PROGRAM} CACHE INTERNAL
"What is the target build tool cmake is generating for.")
-MARK_AS_ADVANCED(
+mark_as_advanced(
CMAKE_BUILD_TOOL
-CMAKE_VERBOSE_MAKEFILE
+CMAKE_VERBOSE_MAKEFILE
CMAKE_EXE_LINKER_FLAGS
CMAKE_EXE_LINKER_FLAGS_DEBUG
diff --git a/Modules/CMakeDependentOption.cmake b/Modules/CMakeDependentOption.cmake
index 8b8dc07fb..990728f9f 100644
--- a/Modules/CMakeDependentOption.cmake
+++ b/Modules/CMakeDependentOption.cmake
@@ -25,27 +25,27 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-MACRO(CMAKE_DEPENDENT_OPTION option doc default depends force)
- IF(${option}_ISSET MATCHES "^${option}_ISSET$")
- SET(${option}_AVAILABLE 1)
- FOREACH(d ${depends})
- STRING(REGEX REPLACE " +" ";" CMAKE_DEPENDENT_OPTION_DEP "${d}")
- IF(${CMAKE_DEPENDENT_OPTION_DEP})
- ELSE(${CMAKE_DEPENDENT_OPTION_DEP})
- SET(${option}_AVAILABLE 0)
- ENDIF(${CMAKE_DEPENDENT_OPTION_DEP})
- ENDFOREACH(d)
- IF(${option}_AVAILABLE)
- OPTION(${option} "${doc}" "${default}")
- SET(${option} "${${option}}" CACHE BOOL "${doc}" FORCE)
- ELSE(${option}_AVAILABLE)
- IF(${option} MATCHES "^${option}$")
- ELSE(${option} MATCHES "^${option}$")
- SET(${option} "${${option}}" CACHE INTERNAL "${doc}")
- ENDIF(${option} MATCHES "^${option}$")
- SET(${option} ${force})
- ENDIF(${option}_AVAILABLE)
- ELSE(${option}_ISSET MATCHES "^${option}_ISSET$")
- SET(${option} "${${option}_ISSET}")
- ENDIF(${option}_ISSET MATCHES "^${option}_ISSET$")
-ENDMACRO(CMAKE_DEPENDENT_OPTION)
+macro(CMAKE_DEPENDENT_OPTION option doc default depends force)
+ if(${option}_ISSET MATCHES "^${option}_ISSET$")
+ set(${option}_AVAILABLE 1)
+ foreach(d ${depends})
+ string(REGEX REPLACE " +" ";" CMAKE_DEPENDENT_OPTION_DEP "${d}")
+ if(${CMAKE_DEPENDENT_OPTION_DEP})
+ else()
+ set(${option}_AVAILABLE 0)
+ endif()
+ endforeach()
+ if(${option}_AVAILABLE)
+ option(${option} "${doc}" "${default}")
+ set(${option} "${${option}}" CACHE BOOL "${doc}" FORCE)
+ else()
+ if(${option} MATCHES "^${option}$")
+ else()
+ set(${option} "${${option}}" CACHE INTERNAL "${doc}")
+ endif()
+ set(${option} ${force})
+ endif()
+ else()
+ set(${option} "${${option}_ISSET}")
+ endif()
+endmacro()
diff --git a/Modules/CMakeDetermineASM-ATTCompiler.cmake b/Modules/CMakeDetermineASM-ATTCompiler.cmake
index 9dd2f11de..cec09e985 100644
--- a/Modules/CMakeDetermineASM-ATTCompiler.cmake
+++ b/Modules/CMakeDetermineASM-ATTCompiler.cmake
@@ -14,7 +14,7 @@
# determine the compiler to use for ASM using AT&T syntax, e.g. GNU as
-SET(ASM_DIALECT "-ATT")
-SET(CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT ${_CMAKE_TOOLCHAIN_PREFIX}gas ${_CMAKE_TOOLCHAIN_PREFIX}as)
-INCLUDE(CMakeDetermineASMCompiler)
-SET(ASM_DIALECT)
+set(ASM_DIALECT "-ATT")
+set(CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT ${_CMAKE_TOOLCHAIN_PREFIX}gas ${_CMAKE_TOOLCHAIN_PREFIX}as)
+include(CMakeDetermineASMCompiler)
+set(ASM_DIALECT)
diff --git a/Modules/CMakeDetermineASMCompiler.cmake b/Modules/CMakeDetermineASMCompiler.cmake
index 0a70d0a82..9f0b30ab4 100644
--- a/Modules/CMakeDetermineASMCompiler.cmake
+++ b/Modules/CMakeDetermineASMCompiler.cmake
@@ -14,52 +14,40 @@
# determine the compiler to use for ASM programs
-IF(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER)
+include(${CMAKE_ROOT}/Modules/CMakeDetermineCompiler.cmake)
+
+if(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER)
# prefer the environment variable ASM
- IF($ENV{ASM${ASM_DIALECT}} MATCHES ".+")
- SET(CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT "$ENV{ASM${ASM_DIALECT}}")
- ENDIF($ENV{ASM${ASM_DIALECT}} MATCHES ".+")
+ if($ENV{ASM${ASM_DIALECT}} MATCHES ".+")
+ set(CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT "$ENV{ASM${ASM_DIALECT}}")
+ endif()
# finally list compilers to try
- IF("ASM${ASM_DIALECT}" STREQUAL "ASM") # the generic assembler support
-
- IF(CMAKE_ASM_COMPILER_INIT)
- SET(CMAKE_ASM_COMPILER_LIST ${CMAKE_ASM_COMPILER_INIT})
- ELSE(CMAKE_ASM_COMPILER_INIT)
-
- IF(CMAKE_C_COMPILER)
- SET(CMAKE_ASM_COMPILER "${CMAKE_C_COMPILER}" CACHE FILEPATH "The ASM compiler")
- SET(CMAKE_ASM_COMPILER_ID "${CMAKE_C_COMPILER_ID}")
- ELSEIF(CMAKE_CXX_COMPILER)
- SET(CMAKE_ASM_COMPILER "${CMAKE_CXX_COMPILER}" CACHE FILEPATH "The ASM compiler")
- SET(CMAKE_ASM_COMPILER_ID "${CMAKE_CXX_COMPILER_ID}")
- ELSE(CMAKE_CXX_COMPILER)
+ if("ASM${ASM_DIALECT}" STREQUAL "ASM") # the generic assembler support
+ if(NOT CMAKE_ASM_COMPILER_INIT)
+ if(CMAKE_C_COMPILER)
+ set(CMAKE_ASM_COMPILER "${CMAKE_C_COMPILER}" CACHE FILEPATH "The ASM compiler")
+ set(CMAKE_ASM_COMPILER_ID "${CMAKE_C_COMPILER_ID}")
+ elseif(CMAKE_CXX_COMPILER)
+ set(CMAKE_ASM_COMPILER "${CMAKE_CXX_COMPILER}" CACHE FILEPATH "The ASM compiler")
+ set(CMAKE_ASM_COMPILER_ID "${CMAKE_CXX_COMPILER_ID}")
+ else()
# List all default C and CXX compilers
- SET(CMAKE_ASM${ASM_DIALECT}_COMPILER_LIST ${_CMAKE_TOOLCHAIN_PREFIX}gcc ${_CMAKE_TOOLCHAIN_PREFIX}cc cl bcc xlc
- ${_CMAKE_TOOLCHAIN_PREFIX}c++ ${_CMAKE_TOOLCHAIN_PREFIX}g++ CC aCC cl bcc xlC)
- ENDIF(CMAKE_C_COMPILER)
-
- ENDIF(CMAKE_ASM_COMPILER_INIT)
-
-
- ELSE("ASM${ASM_DIALECT}" STREQUAL "ASM") # some specific assembler "dialect"
-
- IF(CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT)
- SET(CMAKE_ASM${ASM_DIALECT}_COMPILER_LIST ${CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT})
- ELSE(CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT)
- MESSAGE(FATAL_ERROR "CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT must be preset !")
- ENDIF(CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT)
-
- ENDIF("ASM${ASM_DIALECT}" STREQUAL "ASM")
-
+ set(CMAKE_ASM${ASM_DIALECT}_COMPILER_LIST
+ ${_CMAKE_TOOLCHAIN_PREFIX}cc ${_CMAKE_TOOLCHAIN_PREFIX}gcc cl bcc xlc
+ CC ${_CMAKE_TOOLCHAIN_PREFIX}c++ ${_CMAKE_TOOLCHAIN_PREFIX}g++ aCC cl bcc xlC)
+ endif()
+ endif()
+ else() # some specific assembler "dialect"
+ if(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT)
+ message(FATAL_ERROR "CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT must be preset !")
+ endif()
+ endif()
# Find the compiler.
- IF (_CMAKE_USER_CXX_COMPILER_PATH OR _CMAKE_USER_C_COMPILER_PATH)
- FIND_PROGRAM(CMAKE_ASM${ASM_DIALECT}_COMPILER NAMES ${CMAKE_ASM${ASM_DIALECT}_COMPILER_LIST} PATHS ${_CMAKE_USER_C_COMPILER_PATH} ${_CMAKE_USER_CXX_COMPILER_PATH} DOC "Assembler" NO_DEFAULT_PATH)
- ENDIF (_CMAKE_USER_CXX_COMPILER_PATH OR _CMAKE_USER_C_COMPILER_PATH)
- FIND_PROGRAM(CMAKE_ASM${ASM_DIALECT}_COMPILER NAMES ${CMAKE_ASM${ASM_DIALECT}_COMPILER_LIST} PATHS ${_CMAKE_TOOLCHAIN_LOCATION} DOC "Assembler")
+ _cmake_find_compiler(ASM${ASM_DIALECT})
-ELSE(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER)
+else()
# we only get here if CMAKE_ASM${ASM_DIALECT}_COMPILER was specified using -D or a pre-made CMakeCache.txt
# (e.g. via ctest) or set in CMAKE_TOOLCHAIN_FILE
@@ -68,63 +56,63 @@ ELSE(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER)
# now try to find it with the full path
# if it is found, force it into the cache,
# if not, don't overwrite the setting (which was given by the user) with "NOTFOUND"
- GET_FILENAME_COMPONENT(_CMAKE_USER_ASM${ASM_DIALECT}_COMPILER_PATH "${CMAKE_ASM${ASM_DIALECT}_COMPILER}" PATH)
- IF(NOT _CMAKE_USER_ASM${ASM_DIALECT}_COMPILER_PATH)
- FIND_PROGRAM(CMAKE_ASM${ASM_DIALECT}_COMPILER_WITH_PATH NAMES ${CMAKE_ASM${ASM_DIALECT}_COMPILER})
- MARK_AS_ADVANCED(CMAKE_ASM${ASM_DIALECT}_COMPILER_WITH_PATH)
- IF(CMAKE_ASM${ASM_DIALECT}_COMPILER_WITH_PATH)
- SET(CMAKE_ASM${ASM_DIALECT}_COMPILER ${CMAKE_ASM${ASM_DIALECT}_COMPILER_WITH_PATH} CACHE FILEPATH "Assembler" FORCE)
- ENDIF(CMAKE_ASM${ASM_DIALECT}_COMPILER_WITH_PATH)
- ENDIF(NOT _CMAKE_USER_ASM${ASM_DIALECT}_COMPILER_PATH)
-ENDIF(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER)
-MARK_AS_ADVANCED(CMAKE_ASM${ASM_DIALECT}_COMPILER)
+ get_filename_component(_CMAKE_USER_ASM${ASM_DIALECT}_COMPILER_PATH "${CMAKE_ASM${ASM_DIALECT}_COMPILER}" PATH)
+ if(NOT _CMAKE_USER_ASM${ASM_DIALECT}_COMPILER_PATH)
+ find_program(CMAKE_ASM${ASM_DIALECT}_COMPILER_WITH_PATH NAMES ${CMAKE_ASM${ASM_DIALECT}_COMPILER})
+ mark_as_advanced(CMAKE_ASM${ASM_DIALECT}_COMPILER_WITH_PATH)
+ if(CMAKE_ASM${ASM_DIALECT}_COMPILER_WITH_PATH)
+ set(CMAKE_ASM${ASM_DIALECT}_COMPILER ${CMAKE_ASM${ASM_DIALECT}_COMPILER_WITH_PATH} CACHE FILEPATH "Assembler" FORCE)
+ endif()
+ endif()
+endif()
+mark_as_advanced(CMAKE_ASM${ASM_DIALECT}_COMPILER)
-IF (NOT _CMAKE_TOOLCHAIN_LOCATION)
- GET_FILENAME_COMPONENT(_CMAKE_TOOLCHAIN_LOCATION "${CMAKE_ASM${ASM_DIALECT}_COMPILER}" PATH)
-ENDIF (NOT _CMAKE_TOOLCHAIN_LOCATION)
+if (NOT _CMAKE_TOOLCHAIN_LOCATION)
+ get_filename_component(_CMAKE_TOOLCHAIN_LOCATION "${CMAKE_ASM${ASM_DIALECT}_COMPILER}" PATH)
+endif ()
-IF(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER_ID)
+if(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER_ID)
# Table of per-vendor compiler id flags with expected output.
- LIST(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS GNU )
- SET(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_GNU "--version")
- SET(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_GNU "(GNU assembler)|(GCC)|(Free Software Foundation)")
+ list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS GNU )
+ set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_GNU "--version")
+ set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_GNU "(GNU assembler)|(GCC)|(Free Software Foundation)")
- LIST(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS HP )
- SET(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_HP "-V")
- SET(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_HP "HP C")
+ list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS HP )
+ set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_HP "-V")
+ set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_HP "HP C")
- LIST(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS Intel )
- SET(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_Intel "--version")
- SET(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_Intel "(ICC)")
+ list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS Intel )
+ set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_Intel "--version")
+ set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_Intel "(ICC)")
- LIST(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS SunPro )
- SET(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_SunPro "-V")
- SET(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_SunPro "Sun C")
+ list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS SunPro )
+ set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_SunPro "-V")
+ set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_SunPro "Sun C")
- LIST(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS XL )
- SET(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_XL "-qversion")
- SET(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_XL "XL C")
+ list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS XL )
+ set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_XL "-qversion")
+ set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_XL "XL C")
- LIST(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS MSVC )
- SET(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_MSVC "/?")
- SET(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_MSVC "Microsoft")
+ list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS MSVC )
+ set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_MSVC "/?")
+ set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_MSVC "Microsoft")
- LIST(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS TI_DSP )
- SET(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_TI_DSP "-h")
- SET(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_TI_DSP "Texas Instruments")
+ list(APPEND CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDORS TI_DSP )
+ set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_FLAGS_TI_DSP "-h")
+ set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID_VENDOR_REGEX_TI_DSP "Texas Instruments")
- INCLUDE(CMakeDetermineCompilerId)
+ include(CMakeDetermineCompilerId)
CMAKE_DETERMINE_COMPILER_ID_VENDOR(ASM${ASM_DIALECT})
-ENDIF()
+endif()
-IF(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID)
- MESSAGE(STATUS "The ASM${ASM_DIALECT} compiler identification is ${CMAKE_ASM${ASM_DIALECT}_COMPILER_ID}")
-ELSE(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID)
- MESSAGE(STATUS "The ASM${ASM_DIALECT} compiler identification is unknown")
-ENDIF(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID)
+if(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID)
+ message(STATUS "The ASM${ASM_DIALECT} compiler identification is ${CMAKE_ASM${ASM_DIALECT}_COMPILER_ID}")
+else()
+ message(STATUS "The ASM${ASM_DIALECT} compiler identification is unknown")
+endif()
@@ -135,48 +123,48 @@ ENDIF(CMAKE_ASM${ASM_DIALECT}_COMPILER_ID)
# NAME_WE cannot be used since then this test will fail for names lile
# "arm-unknown-nto-qnx6.3.0-gas.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)
- IF (COMPILER_BASENAME MATCHES "^(.+-)g?as(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
- SET(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
- ENDIF (COMPILER_BASENAME MATCHES "^(.+-)g?as(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
-ENDIF (NOT _CMAKE_TOOLCHAIN_PREFIX)
+if (NOT _CMAKE_TOOLCHAIN_PREFIX)
+ get_filename_component(COMPILER_BASENAME "${CMAKE_ASM${ASM_DIALECT}_COMPILER}" NAME)
+ if (COMPILER_BASENAME MATCHES "^(.+-)g?as(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
+ set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
+ endif ()
+endif ()
# Now try the C compiler regexp:
-IF (NOT _CMAKE_TOOLCHAIN_PREFIX)
- IF (COMPILER_BASENAME MATCHES "^(.+-)g?cc(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
- SET(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
- ENDIF (COMPILER_BASENAME MATCHES "^(.+-)g?cc(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
-ENDIF (NOT _CMAKE_TOOLCHAIN_PREFIX)
+if (NOT _CMAKE_TOOLCHAIN_PREFIX)
+ if (COMPILER_BASENAME MATCHES "^(.+-)g?cc(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
+ set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
+ endif ()
+endif ()
# Finally try the CXX compiler regexp:
-IF (NOT _CMAKE_TOOLCHAIN_PREFIX)
- IF (COMPILER_BASENAME MATCHES "^(.+-)[gc]\\+\\+(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
- SET(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
- ENDIF (COMPILER_BASENAME MATCHES "^(.+-)[gc]\\+\\+(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
-ENDIF (NOT _CMAKE_TOOLCHAIN_PREFIX)
+if (NOT _CMAKE_TOOLCHAIN_PREFIX)
+ if (COMPILER_BASENAME MATCHES "^(.+-)[gc]\\+\\+(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
+ set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
+ endif ()
+endif ()
-INCLUDE(CMakeFindBinUtils)
+include(CMakeFindBinUtils)
-SET(CMAKE_ASM${ASM_DIALECT}_COMPILER_ENV_VAR "ASM${ASM_DIALECT}")
+set(CMAKE_ASM${ASM_DIALECT}_COMPILER_ENV_VAR "ASM${ASM_DIALECT}")
-IF(CMAKE_ASM${ASM_DIALECT}_COMPILER)
- MESSAGE(STATUS "Found assembler: ${CMAKE_ASM${ASM_DIALECT}_COMPILER}")
-ELSE(CMAKE_ASM${ASM_DIALECT}_COMPILER)
- MESSAGE(STATUS "Didn't find assembler")
-ENDIF(CMAKE_ASM${ASM_DIALECT}_COMPILER)
+if(CMAKE_ASM${ASM_DIALECT}_COMPILER)
+ message(STATUS "Found assembler: ${CMAKE_ASM${ASM_DIALECT}_COMPILER}")
+else()
+ message(STATUS "Didn't find assembler")
+endif()
-SET(_CMAKE_ASM_COMPILER "${CMAKE_ASM${ASM_DIALECT}_COMPILER}")
-SET(_CMAKE_ASM_COMPILER_ID "${CMAKE_ASM${ASM_DIALECT}_COMPILER_ID}")
-SET(_CMAKE_ASM_COMPILER_ARG1 "${CMAKE_ASM${ASM_DIALECT}_COMPILER_ARG1}")
-SET(_CMAKE_ASM_COMPILER_ENV_VAR "${CMAKE_ASM${ASM_DIALECT}_COMPILER_ENV_VAR}")
+set(_CMAKE_ASM_COMPILER "${CMAKE_ASM${ASM_DIALECT}_COMPILER}")
+set(_CMAKE_ASM_COMPILER_ID "${CMAKE_ASM${ASM_DIALECT}_COMPILER_ID}")
+set(_CMAKE_ASM_COMPILER_ARG1 "${CMAKE_ASM${ASM_DIALECT}_COMPILER_ARG1}")
+set(_CMAKE_ASM_COMPILER_ENV_VAR "${CMAKE_ASM${ASM_DIALECT}_COMPILER_ENV_VAR}")
# configure variables set in this file for fast reload later on
-CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CMakeASMCompiler.cmake.in
- ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeASM${ASM_DIALECT}Compiler.cmake IMMEDIATE @ONLY)
+configure_file(${CMAKE_ROOT}/Modules/CMakeASMCompiler.cmake.in
+ ${CMAKE_PLATFORM_INFO_DIR}/CMakeASM${ASM_DIALECT}Compiler.cmake IMMEDIATE @ONLY)
-SET(_CMAKE_ASM_COMPILER)
-SET(_CMAKE_ASM_COMPILER_ARG1)
-SET(_CMAKE_ASM_COMPILER_ENV_VAR)
+set(_CMAKE_ASM_COMPILER)
+set(_CMAKE_ASM_COMPILER_ARG1)
+set(_CMAKE_ASM_COMPILER_ENV_VAR)
diff --git a/Modules/CMakeDetermineASM_MASMCompiler.cmake b/Modules/CMakeDetermineASM_MASMCompiler.cmake
index e23f7db4c..665a65cc5 100644
--- a/Modules/CMakeDetermineASM_MASMCompiler.cmake
+++ b/Modules/CMakeDetermineASM_MASMCompiler.cmake
@@ -14,14 +14,14 @@
# Find the MS assembler (masm or masm64)
-SET(ASM_DIALECT "_MASM")
+set(ASM_DIALECT "_MASM")
# if we are using the 64bit cl compiler, assume we also want the 64bit assembler
-IF(CMAKE_CL_64)
- SET(CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT ml64)
-ELSE(CMAKE_CL_64)
- SET(CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT ml)
-ENDIF(CMAKE_CL_64)
+if(CMAKE_CL_64)
+ set(CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT ml64)
+else()
+ set(CMAKE_ASM${ASM_DIALECT}_COMPILER_INIT ml)
+endif()
-INCLUDE(CMakeDetermineASMCompiler)
-SET(ASM_DIALECT)
+include(CMakeDetermineASMCompiler)
+set(ASM_DIALECT)
diff --git a/Modules/CMakeDetermineASM_NASMCompiler.cmake b/Modules/CMakeDetermineASM_NASMCompiler.cmake
index d184c0a81..50f71dd8c 100644
--- a/Modules/CMakeDetermineASM_NASMCompiler.cmake
+++ b/Modules/CMakeDetermineASM_NASMCompiler.cmake
@@ -14,14 +14,14 @@
# Find the nasm assembler. yasm (http://www.tortall.net/projects/yasm/) is nasm compatible
-SET(CMAKE_ASM_NASM_COMPILER_INIT nasm yasm)
+set(CMAKE_ASM_NASM_COMPILER_INIT nasm yasm)
-IF(NOT CMAKE_ASM_NASM_COMPILER)
- FIND_PROGRAM(CMAKE_ASM_NASM_COMPILER nasm
+if(NOT CMAKE_ASM_NASM_COMPILER)
+ find_program(CMAKE_ASM_NASM_COMPILER nasm
"$ENV{ProgramFiles}/NASM")
-ENDIF(NOT CMAKE_ASM_NASM_COMPILER)
+endif()
# Load the generic DetermineASM compiler file with the DIALECT set properly:
-SET(ASM_DIALECT "_NASM")
-INCLUDE(CMakeDetermineASMCompiler)
-SET(ASM_DIALECT)
+set(ASM_DIALECT "_NASM")
+include(CMakeDetermineASMCompiler)
+set(ASM_DIALECT)
diff --git a/Modules/CMakeDetermineCCompiler.cmake b/Modules/CMakeDetermineCCompiler.cmake
index 9028e8e06..275fc4758 100644
--- a/Modules/CMakeDetermineCCompiler.cmake
+++ b/Modules/CMakeDetermineCCompiler.cmake
@@ -31,114 +31,112 @@
# If not already set before, it also sets
# _CMAKE_TOOLCHAIN_PREFIX
-IF(NOT CMAKE_C_COMPILER)
- SET(CMAKE_C_COMPILER_INIT NOTFOUND)
-
- # prefer the environment variable CC
- IF($ENV{CC} MATCHES ".+")
- GET_FILENAME_COMPONENT(CMAKE_C_COMPILER_INIT $ENV{CC} PROGRAM PROGRAM_ARGS CMAKE_C_FLAGS_ENV_INIT)
- IF(CMAKE_C_FLAGS_ENV_INIT)
- SET(CMAKE_C_COMPILER_ARG1 "${CMAKE_C_FLAGS_ENV_INIT}" CACHE STRING "First argument to C compiler")
- ENDIF(CMAKE_C_FLAGS_ENV_INIT)
- IF(NOT EXISTS ${CMAKE_C_COMPILER_INIT})
- MESSAGE(FATAL_ERROR "Could not find compiler set in environment variable CC:\n$ENV{CC}.")
- ENDIF(NOT EXISTS ${CMAKE_C_COMPILER_INIT})
- ENDIF($ENV{CC} MATCHES ".+")
-
- # next try prefer the compiler specified by the generator
- IF(CMAKE_GENERATOR_CC)
- IF(NOT CMAKE_C_COMPILER_INIT)
- SET(CMAKE_C_COMPILER_INIT ${CMAKE_GENERATOR_CC})
- ENDIF(NOT CMAKE_C_COMPILER_INIT)
- ENDIF(CMAKE_GENERATOR_CC)
-
- # finally list compilers to try
- IF(CMAKE_C_COMPILER_INIT)
- SET(CMAKE_C_COMPILER_LIST ${CMAKE_C_COMPILER_INIT})
- ELSE(CMAKE_C_COMPILER_INIT)
- SET(CMAKE_C_COMPILER_LIST ${_CMAKE_TOOLCHAIN_PREFIX}gcc ${_CMAKE_TOOLCHAIN_PREFIX}cc cl bcc xlc)
- ENDIF(CMAKE_C_COMPILER_INIT)
-
- # Find the compiler.
- IF (_CMAKE_USER_CXX_COMPILER_PATH)
- FIND_PROGRAM(CMAKE_C_COMPILER NAMES ${CMAKE_C_COMPILER_LIST} PATHS ${_CMAKE_USER_CXX_COMPILER_PATH} DOC "C compiler" NO_DEFAULT_PATH)
- ENDIF (_CMAKE_USER_CXX_COMPILER_PATH)
- FIND_PROGRAM(CMAKE_C_COMPILER NAMES ${CMAKE_C_COMPILER_LIST} DOC "C compiler")
-
- IF(CMAKE_C_COMPILER_INIT AND NOT CMAKE_C_COMPILER)
- SET(CMAKE_C_COMPILER "${CMAKE_C_COMPILER_INIT}" CACHE FILEPATH "C compiler" FORCE)
- ENDIF(CMAKE_C_COMPILER_INIT AND NOT CMAKE_C_COMPILER)
-ELSE(NOT CMAKE_C_COMPILER)
-
- # we only get here if CMAKE_C_COMPILER was specified using -D or a pre-made CMakeCache.txt
- # (e.g. via ctest) or set in CMAKE_TOOLCHAIN_FILE
- # if CMAKE_C_COMPILER is a list of length 2, use the first item as
- # CMAKE_C_COMPILER and the 2nd one as CMAKE_C_COMPILER_ARG1
-
- LIST(LENGTH CMAKE_C_COMPILER _CMAKE_C_COMPILER_LIST_LENGTH)
- IF("${_CMAKE_C_COMPILER_LIST_LENGTH}" EQUAL 2)
- LIST(GET CMAKE_C_COMPILER 1 CMAKE_C_COMPILER_ARG1)
- LIST(GET CMAKE_C_COMPILER 0 CMAKE_C_COMPILER)
- ENDIF("${_CMAKE_C_COMPILER_LIST_LENGTH}" EQUAL 2)
-
- # if a compiler was specified by the user but without path,
- # now try to find it with the full path
- # if it is found, force it into the cache,
- # if not, don't overwrite the setting (which was given by the user) with "NOTFOUND"
- # if the C compiler already had a path, reuse it for searching the CXX compiler
- GET_FILENAME_COMPONENT(_CMAKE_USER_C_COMPILER_PATH "${CMAKE_C_COMPILER}" PATH)
- IF(NOT _CMAKE_USER_C_COMPILER_PATH)
- FIND_PROGRAM(CMAKE_C_COMPILER_WITH_PATH NAMES ${CMAKE_C_COMPILER})
- MARK_AS_ADVANCED(CMAKE_C_COMPILER_WITH_PATH)
- IF(CMAKE_C_COMPILER_WITH_PATH)
- SET(CMAKE_C_COMPILER ${CMAKE_C_COMPILER_WITH_PATH} CACHE STRING "C compiler" FORCE)
- ENDIF(CMAKE_C_COMPILER_WITH_PATH)
- ENDIF(NOT _CMAKE_USER_C_COMPILER_PATH)
-ENDIF(NOT CMAKE_C_COMPILER)
-MARK_AS_ADVANCED(CMAKE_C_COMPILER)
-
-IF (NOT _CMAKE_TOOLCHAIN_LOCATION)
- GET_FILENAME_COMPONENT(_CMAKE_TOOLCHAIN_LOCATION "${CMAKE_C_COMPILER}" PATH)
-ENDIF (NOT _CMAKE_TOOLCHAIN_LOCATION)
-
-# Build a small source file to identify the compiler.
-IF(${CMAKE_GENERATOR} MATCHES "Visual Studio")
- SET(CMAKE_C_COMPILER_ID_RUN 1)
- SET(CMAKE_C_PLATFORM_ID "Windows")
- SET(CMAKE_C_COMPILER_ID "MSVC")
-ENDIF(${CMAKE_GENERATOR} MATCHES "Visual Studio")
-
-IF(NOT CMAKE_C_COMPILER_ID_RUN)
- SET(CMAKE_C_COMPILER_ID_RUN 1)
+include(${CMAKE_ROOT}/Modules/CMakeDetermineCompiler.cmake)
+
+# Load system-specific compiler preferences for this language.
+include(Platform/${CMAKE_SYSTEM_NAME}-C OPTIONAL)
+if(NOT CMAKE_C_COMPILER_NAMES)
+ set(CMAKE_C_COMPILER_NAMES cc)
+endif()
+
+if(${CMAKE_GENERATOR} MATCHES "Visual Studio")
+elseif("${CMAKE_GENERATOR}" MATCHES "Xcode")
+ set(CMAKE_C_COMPILER_XCODE_TYPE sourcecode.c.c)
+else()
+ if(NOT CMAKE_C_COMPILER)
+ set(CMAKE_C_COMPILER_INIT NOTFOUND)
+
+ # prefer the environment variable CC
+ if($ENV{CC} MATCHES ".+")
+ get_filename_component(CMAKE_C_COMPILER_INIT $ENV{CC} PROGRAM PROGRAM_ARGS CMAKE_C_FLAGS_ENV_INIT)
+ if(CMAKE_C_FLAGS_ENV_INIT)
+ set(CMAKE_C_COMPILER_ARG1 "${CMAKE_C_FLAGS_ENV_INIT}" CACHE STRING "First argument to C compiler")
+ endif()
+ if(NOT EXISTS ${CMAKE_C_COMPILER_INIT})
+ message(FATAL_ERROR "Could not find compiler set in environment variable CC:\n$ENV{CC}.")
+ endif()
+ endif()
+
+ # next try prefer the compiler specified by the generator
+ if(CMAKE_GENERATOR_CC)
+ if(NOT CMAKE_C_COMPILER_INIT)
+ set(CMAKE_C_COMPILER_INIT ${CMAKE_GENERATOR_CC})
+ endif()
+ endif()
+
+ # finally list compilers to try
+ if(NOT CMAKE_C_COMPILER_INIT)
+ set(CMAKE_C_COMPILER_LIST ${_CMAKE_TOOLCHAIN_PREFIX}cc ${_CMAKE_TOOLCHAIN_PREFIX}gcc cl bcc xlc clang)
+ endif()
+
+ _cmake_find_compiler(C)
+
+ else()
+
+ # we only get here if CMAKE_C_COMPILER was specified using -D or a pre-made CMakeCache.txt
+ # (e.g. via ctest) or set in CMAKE_TOOLCHAIN_FILE
+ # if CMAKE_C_COMPILER is a list of length 2, use the first item as
+ # CMAKE_C_COMPILER and the 2nd one as CMAKE_C_COMPILER_ARG1
+
+ list(LENGTH CMAKE_C_COMPILER _CMAKE_C_COMPILER_LIST_LENGTH)
+ if("${_CMAKE_C_COMPILER_LIST_LENGTH}" EQUAL 2)
+ list(GET CMAKE_C_COMPILER 1 CMAKE_C_COMPILER_ARG1)
+ list(GET CMAKE_C_COMPILER 0 CMAKE_C_COMPILER)
+ endif()
+
+ # if a compiler was specified by the user but without path,
+ # now try to find it with the full path
+ # if it is found, force it into the cache,
+ # if not, don't overwrite the setting (which was given by the user) with "NOTFOUND"
+ # if the C compiler already had a path, reuse it for searching the CXX compiler
+ get_filename_component(_CMAKE_USER_C_COMPILER_PATH "${CMAKE_C_COMPILER}" PATH)
+ if(NOT _CMAKE_USER_C_COMPILER_PATH)
+ find_program(CMAKE_C_COMPILER_WITH_PATH NAMES ${CMAKE_C_COMPILER})
+ mark_as_advanced(CMAKE_C_COMPILER_WITH_PATH)
+ if(CMAKE_C_COMPILER_WITH_PATH)
+ set(CMAKE_C_COMPILER ${CMAKE_C_COMPILER_WITH_PATH} CACHE STRING "C compiler" FORCE)
+ endif()
+ endif()
+ endif()
+ mark_as_advanced(CMAKE_C_COMPILER)
# Each entry in this list is a set of extra flags to try
# adding to the compile line to see if it helps produce
# a valid identification file.
- SET(CMAKE_C_COMPILER_ID_TEST_FLAGS
+ set(CMAKE_C_COMPILER_ID_TEST_FLAGS
# Try compiling to an object file only.
"-c"
# Try enabling ANSI mode on HP.
"-Aa"
)
+endif()
+
+# Build a small source file to identify the compiler.
+if(NOT CMAKE_C_COMPILER_ID_RUN)
+ set(CMAKE_C_COMPILER_ID_RUN 1)
# Try to identify the compiler.
- SET(CMAKE_C_COMPILER_ID)
- FILE(READ ${CMAKE_ROOT}/Modules/CMakePlatformId.h.in
+ set(CMAKE_C_COMPILER_ID)
+ file(READ ${CMAKE_ROOT}/Modules/CMakePlatformId.h.in
CMAKE_C_COMPILER_ID_PLATFORM_CONTENT)
- INCLUDE(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerId.cmake)
+ include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerId.cmake)
CMAKE_DETERMINE_COMPILER_ID(C CFLAGS CMakeCCompilerId.c)
# Set old compiler and platform id variables.
- IF("${CMAKE_C_COMPILER_ID}" MATCHES "GNU")
- SET(CMAKE_COMPILER_IS_GNUCC 1)
- ENDIF("${CMAKE_C_COMPILER_ID}" MATCHES "GNU")
- IF("${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW")
- SET(CMAKE_COMPILER_IS_MINGW 1)
- ELSEIF("${CMAKE_C_PLATFORM_ID}" MATCHES "Cygwin")
- SET(CMAKE_COMPILER_IS_CYGWIN 1)
- ENDIF("${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW")
-ENDIF(NOT CMAKE_C_COMPILER_ID_RUN)
+ if("${CMAKE_C_COMPILER_ID}" MATCHES "GNU")
+ set(CMAKE_COMPILER_IS_GNUCC 1)
+ endif()
+ if("${CMAKE_C_PLATFORM_ID}" MATCHES "MinGW")
+ set(CMAKE_COMPILER_IS_MINGW 1)
+ elseif("${CMAKE_C_PLATFORM_ID}" MATCHES "Cygwin")
+ set(CMAKE_COMPILER_IS_CYGWIN 1)
+ endif()
+endif()
+
+if (NOT _CMAKE_TOOLCHAIN_LOCATION)
+ get_filename_component(_CMAKE_TOOLCHAIN_LOCATION "${CMAKE_C_COMPILER}" PATH)
+endif ()
# 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, optionally
@@ -147,33 +145,31 @@ ENDIF(NOT CMAKE_C_COMPILER_ID_RUN)
# 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
+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(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
- SET(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
- ENDIF (COMPILER_BASENAME MATCHES "^(.+-)g?cc(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
+ get_filename_component(COMPILER_BASENAME "${CMAKE_C_COMPILER}" NAME)
+ if (COMPILER_BASENAME MATCHES "^(.+-)g?cc(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
+ set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
+ endif ()
# 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(${CMAKE_ROOT}/Modules/CMakeClDeps.cmake)
-INCLUDE(CMakeFindBinUtils)
-IF(MSVC_C_ARCHITECTURE_ID)
- SET(SET_MSVC_C_ARCHITECTURE_ID
- "SET(MSVC_C_ARCHITECTURE_ID ${MSVC_C_ARCHITECTURE_ID})")
-ENDIF(MSVC_C_ARCHITECTURE_ID)
+ if ("${_CMAKE_TOOLCHAIN_PREFIX}" MATCHES "(.+-)?llvm-$")
+ set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
+ endif ()
+
+endif ()
+
+include(${CMAKE_ROOT}/Modules/CMakeClDeps.cmake)
+include(CMakeFindBinUtils)
+if(MSVC_C_ARCHITECTURE_ID)
+ set(SET_MSVC_C_ARCHITECTURE_ID
+ "set(MSVC_C_ARCHITECTURE_ID ${MSVC_C_ARCHITECTURE_ID})")
+endif()
# configure variables set in this file for fast reload later on
-CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CMakeCCompiler.cmake.in
- "${CMAKE_PLATFORM_ROOT_BIN}/CMakeCCompiler.cmake"
+configure_file(${CMAKE_ROOT}/Modules/CMakeCCompiler.cmake.in
+ ${CMAKE_PLATFORM_INFO_DIR}/CMakeCCompiler.cmake
@ONLY IMMEDIATE # IMMEDIATE must be here for compatibility mode <= 2.0
)
-SET(CMAKE_C_COMPILER_ENV_VAR "CC")
+set(CMAKE_C_COMPILER_ENV_VAR "CC")
diff --git a/Modules/CMakeDetermineCXXCompiler.cmake b/Modules/CMakeDetermineCXXCompiler.cmake
index 7f8f3ec8b..59da3e60d 100644
--- a/Modules/CMakeDetermineCXXCompiler.cmake
+++ b/Modules/CMakeDetermineCXXCompiler.cmake
@@ -30,123 +30,109 @@
# If not already set before, it also sets
# _CMAKE_TOOLCHAIN_PREFIX
-IF(NOT CMAKE_CXX_COMPILER)
- SET(CMAKE_CXX_COMPILER_INIT NOTFOUND)
-
- # prefer the environment variable CXX
- IF($ENV{CXX} MATCHES ".+")
- GET_FILENAME_COMPONENT(CMAKE_CXX_COMPILER_INIT $ENV{CXX} PROGRAM PROGRAM_ARGS CMAKE_CXX_FLAGS_ENV_INIT)
- IF(CMAKE_CXX_FLAGS_ENV_INIT)
- SET(CMAKE_CXX_COMPILER_ARG1 "${CMAKE_CXX_FLAGS_ENV_INIT}" CACHE STRING "First argument to CXX compiler")
- ENDIF(CMAKE_CXX_FLAGS_ENV_INIT)
- IF(NOT EXISTS ${CMAKE_CXX_COMPILER_INIT})
- MESSAGE(FATAL_ERROR "Could not find compiler set in environment variable CXX:\n$ENV{CXX}.\n${CMAKE_CXX_COMPILER_INIT}")
- ENDIF(NOT EXISTS ${CMAKE_CXX_COMPILER_INIT})
- ENDIF($ENV{CXX} MATCHES ".+")
-
- # next prefer the generator specified compiler
- IF(CMAKE_GENERATOR_CXX)
- IF(NOT CMAKE_CXX_COMPILER_INIT)
- SET(CMAKE_CXX_COMPILER_INIT ${CMAKE_GENERATOR_CXX})
- ENDIF(NOT CMAKE_CXX_COMPILER_INIT)
- ENDIF(CMAKE_GENERATOR_CXX)
-
- # finally list compilers to try
- IF(CMAKE_CXX_COMPILER_INIT)
- SET(CMAKE_CXX_COMPILER_LIST ${CMAKE_CXX_COMPILER_INIT})
- ELSE(CMAKE_CXX_COMPILER_INIT)
- SET(CMAKE_CXX_COMPILER_LIST ${_CMAKE_TOOLCHAIN_PREFIX}c++ ${_CMAKE_TOOLCHAIN_PREFIX}g++ CC aCC cl bcc xlC)
- ENDIF(CMAKE_CXX_COMPILER_INIT)
-
- # Find the compiler.
- IF (_CMAKE_USER_C_COMPILER_PATH)
- FIND_PROGRAM(CMAKE_CXX_COMPILER NAMES ${CMAKE_CXX_COMPILER_LIST} PATHS ${_CMAKE_USER_C_COMPILER_PATH} DOC "C++ compiler" NO_DEFAULT_PATH)
- ENDIF (_CMAKE_USER_C_COMPILER_PATH)
- FIND_PROGRAM(CMAKE_CXX_COMPILER NAMES ${CMAKE_CXX_COMPILER_LIST} DOC "C++ compiler")
-
- IF(CMAKE_CXX_COMPILER_INIT AND NOT CMAKE_CXX_COMPILER)
- SET(CMAKE_CXX_COMPILER "${CMAKE_CXX_COMPILER_INIT}" CACHE FILEPATH "C++ compiler" FORCE)
- ENDIF(CMAKE_CXX_COMPILER_INIT AND NOT CMAKE_CXX_COMPILER)
-ELSE(NOT CMAKE_CXX_COMPILER)
-
-# we only get here if CMAKE_CXX_COMPILER was specified using -D or a pre-made CMakeCache.txt
-# (e.g. via ctest) or set in CMAKE_TOOLCHAIN_FILE
-#
-# if CMAKE_CXX_COMPILER is a list of length 2, use the first item as
-# CMAKE_CXX_COMPILER and the 2nd one as CMAKE_CXX_COMPILER_ARG1
-
- LIST(LENGTH CMAKE_CXX_COMPILER _CMAKE_CXX_COMPILER_LIST_LENGTH)
- IF("${_CMAKE_CXX_COMPILER_LIST_LENGTH}" EQUAL 2)
- LIST(GET CMAKE_CXX_COMPILER 1 CMAKE_CXX_COMPILER_ARG1)
- LIST(GET CMAKE_CXX_COMPILER 0 CMAKE_CXX_COMPILER)
- ENDIF("${_CMAKE_CXX_COMPILER_LIST_LENGTH}" EQUAL 2)
-
-# if a compiler was specified by the user but without path,
-# now try to find it with the full path
-# if it is found, force it into the cache,
-# if not, don't overwrite the setting (which was given by the user) with "NOTFOUND"
-# if the CXX compiler already had a path, reuse it for searching the C compiler
- GET_FILENAME_COMPONENT(_CMAKE_USER_CXX_COMPILER_PATH "${CMAKE_CXX_COMPILER}" PATH)
- IF(NOT _CMAKE_USER_CXX_COMPILER_PATH)
- FIND_PROGRAM(CMAKE_CXX_COMPILER_WITH_PATH NAMES ${CMAKE_CXX_COMPILER})
- MARK_AS_ADVANCED(CMAKE_CXX_COMPILER_WITH_PATH)
- IF(CMAKE_CXX_COMPILER_WITH_PATH)
- SET(CMAKE_CXX_COMPILER ${CMAKE_CXX_COMPILER_WITH_PATH} CACHE STRING "CXX compiler" FORCE)
- ENDIF(CMAKE_CXX_COMPILER_WITH_PATH)
- ENDIF(NOT _CMAKE_USER_CXX_COMPILER_PATH)
-ENDIF(NOT CMAKE_CXX_COMPILER)
-MARK_AS_ADVANCED(CMAKE_CXX_COMPILER)
-
-IF (NOT _CMAKE_TOOLCHAIN_LOCATION)
- GET_FILENAME_COMPONENT(_CMAKE_TOOLCHAIN_LOCATION "${CMAKE_CXX_COMPILER}" PATH)
-ENDIF (NOT _CMAKE_TOOLCHAIN_LOCATION)
-
-# 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.
-#
-# The g++ that comes with BeOS 5 segfaults if you run "g++ -E"
-# ("gcc -E" is fine), which throws up a system dialog box that hangs cmake
-# until the user clicks "OK"...so for now, we just assume it's g++.
-# IF(BEOS)
-# SET(CMAKE_COMPILER_IS_GNUCXX 1)
-# SET(CMAKE_COMPILER_IS_GNUCXX_RUN 1)
-# ENDIF(BEOS)
-
-# Build a small source file to identify the compiler.
-IF(${CMAKE_GENERATOR} MATCHES "Visual Studio")
- SET(CMAKE_CXX_COMPILER_ID_RUN 1)
- SET(CMAKE_CXX_PLATFORM_ID "Windows")
- SET(CMAKE_CXX_COMPILER_ID "MSVC")
-ENDIF(${CMAKE_GENERATOR} MATCHES "Visual Studio")
-IF(NOT CMAKE_CXX_COMPILER_ID_RUN)
- SET(CMAKE_CXX_COMPILER_ID_RUN 1)
+include(${CMAKE_ROOT}/Modules/CMakeDetermineCompiler.cmake)
+
+# Load system-specific compiler preferences for this language.
+include(Platform/${CMAKE_SYSTEM_NAME}-CXX OPTIONAL)
+if(NOT CMAKE_CXX_COMPILER_NAMES)
+ set(CMAKE_CXX_COMPILER_NAMES CC)
+endif()
+
+if(${CMAKE_GENERATOR} MATCHES "Visual Studio")
+elseif("${CMAKE_GENERATOR}" MATCHES "Xcode")
+ set(CMAKE_CXX_COMPILER_XCODE_TYPE sourcecode.cpp.cpp)
+else()
+ if(NOT CMAKE_CXX_COMPILER)
+ set(CMAKE_CXX_COMPILER_INIT NOTFOUND)
+
+ # prefer the environment variable CXX
+ if($ENV{CXX} MATCHES ".+")
+ get_filename_component(CMAKE_CXX_COMPILER_INIT $ENV{CXX} PROGRAM PROGRAM_ARGS CMAKE_CXX_FLAGS_ENV_INIT)
+ if(CMAKE_CXX_FLAGS_ENV_INIT)
+ set(CMAKE_CXX_COMPILER_ARG1 "${CMAKE_CXX_FLAGS_ENV_INIT}" CACHE STRING "First argument to CXX compiler")
+ endif()
+ if(NOT EXISTS ${CMAKE_CXX_COMPILER_INIT})
+ message(FATAL_ERROR "Could not find compiler set in environment variable CXX:\n$ENV{CXX}.\n${CMAKE_CXX_COMPILER_INIT}")
+ endif()
+ endif()
+
+ # next prefer the generator specified compiler
+ if(CMAKE_GENERATOR_CXX)
+ if(NOT CMAKE_CXX_COMPILER_INIT)
+ set(CMAKE_CXX_COMPILER_INIT ${CMAKE_GENERATOR_CXX})
+ endif()
+ endif()
+
+ # finally list compilers to try
+ if(NOT CMAKE_CXX_COMPILER_INIT)
+ set(CMAKE_CXX_COMPILER_LIST CC ${_CMAKE_TOOLCHAIN_PREFIX}c++ ${_CMAKE_TOOLCHAIN_PREFIX}g++ aCC cl bcc xlC clang++)
+ endif()
+
+ _cmake_find_compiler(CXX)
+ else()
+
+ # we only get here if CMAKE_CXX_COMPILER was specified using -D or a pre-made CMakeCache.txt
+ # (e.g. via ctest) or set in CMAKE_TOOLCHAIN_FILE
+ #
+ # if CMAKE_CXX_COMPILER is a list of length 2, use the first item as
+ # CMAKE_CXX_COMPILER and the 2nd one as CMAKE_CXX_COMPILER_ARG1
+
+ list(LENGTH CMAKE_CXX_COMPILER _CMAKE_CXX_COMPILER_LIST_LENGTH)
+ if("${_CMAKE_CXX_COMPILER_LIST_LENGTH}" EQUAL 2)
+ list(GET CMAKE_CXX_COMPILER 1 CMAKE_CXX_COMPILER_ARG1)
+ list(GET CMAKE_CXX_COMPILER 0 CMAKE_CXX_COMPILER)
+ endif()
+
+ # if a compiler was specified by the user but without path,
+ # now try to find it with the full path
+ # if it is found, force it into the cache,
+ # if not, don't overwrite the setting (which was given by the user) with "NOTFOUND"
+ # if the CXX compiler already had a path, reuse it for searching the C compiler
+ get_filename_component(_CMAKE_USER_CXX_COMPILER_PATH "${CMAKE_CXX_COMPILER}" PATH)
+ if(NOT _CMAKE_USER_CXX_COMPILER_PATH)
+ find_program(CMAKE_CXX_COMPILER_WITH_PATH NAMES ${CMAKE_CXX_COMPILER})
+ mark_as_advanced(CMAKE_CXX_COMPILER_WITH_PATH)
+ if(CMAKE_CXX_COMPILER_WITH_PATH)
+ set(CMAKE_CXX_COMPILER ${CMAKE_CXX_COMPILER_WITH_PATH} CACHE STRING "CXX compiler" FORCE)
+ endif()
+ endif()
+ endif()
+ mark_as_advanced(CMAKE_CXX_COMPILER)
# Each entry in this list is a set of extra flags to try
# adding to the compile line to see if it helps produce
# a valid identification file.
- SET(CMAKE_CXX_COMPILER_ID_TEST_FLAGS
+ set(CMAKE_CXX_COMPILER_ID_TEST_FLAGS
# Try compiling to an object file only.
"-c"
)
+endif()
+
+# Build a small source file to identify the compiler.
+if(NOT CMAKE_CXX_COMPILER_ID_RUN)
+ set(CMAKE_CXX_COMPILER_ID_RUN 1)
# Try to identify the compiler.
- SET(CMAKE_CXX_COMPILER_ID)
- FILE(READ ${CMAKE_ROOT}/Modules/CMakePlatformId.h.in
+ set(CMAKE_CXX_COMPILER_ID)
+ file(READ ${CMAKE_ROOT}/Modules/CMakePlatformId.h.in
CMAKE_CXX_COMPILER_ID_PLATFORM_CONTENT)
- INCLUDE(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerId.cmake)
+ include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerId.cmake)
CMAKE_DETERMINE_COMPILER_ID(CXX CXXFLAGS CMakeCXXCompilerId.cpp)
# Set old compiler and platform id variables.
- IF("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
- SET(CMAKE_COMPILER_IS_GNUCXX 1)
- ENDIF("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
- IF("${CMAKE_CXX_PLATFORM_ID}" MATCHES "MinGW")
- SET(CMAKE_COMPILER_IS_MINGW 1)
- ELSEIF("${CMAKE_CXX_PLATFORM_ID}" MATCHES "Cygwin")
- SET(CMAKE_COMPILER_IS_CYGWIN 1)
- ENDIF("${CMAKE_CXX_PLATFORM_ID}" MATCHES "MinGW")
-ENDIF(NOT CMAKE_CXX_COMPILER_ID_RUN)
+ if("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
+ set(CMAKE_COMPILER_IS_GNUCXX 1)
+ endif()
+ if("${CMAKE_CXX_PLATFORM_ID}" MATCHES "MinGW")
+ set(CMAKE_COMPILER_IS_MINGW 1)
+ elseif("${CMAKE_CXX_PLATFORM_ID}" MATCHES "Cygwin")
+ set(CMAKE_COMPILER_IS_CYGWIN 1)
+ endif()
+endif()
+
+if (NOT _CMAKE_TOOLCHAIN_LOCATION)
+ get_filename_component(_CMAKE_TOOLCHAIN_LOCATION "${CMAKE_CXX_COMPILER}" PATH)
+endif ()
# 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++ , optionally
@@ -155,34 +141,32 @@ ENDIF(NOT CMAKE_CXX_COMPILER_ID_RUN)
# 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
+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]\\+\\+(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
- SET(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
- ENDIF (COMPILER_BASENAME MATCHES "^(.+-)[gc]\\+\\+(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
+ get_filename_component(COMPILER_BASENAME "${CMAKE_CXX_COMPILER}" NAME)
+ if (COMPILER_BASENAME MATCHES "^(.+-)[gc]\\+\\+(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
+ set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
+ endif ()
# 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(${CMAKE_ROOT}/Modules/CMakeClDeps.cmake)
-INCLUDE(CMakeFindBinUtils)
-IF(MSVC_CXX_ARCHITECTURE_ID)
- SET(SET_MSVC_CXX_ARCHITECTURE_ID
- "SET(MSVC_CXX_ARCHITECTURE_ID ${MSVC_CXX_ARCHITECTURE_ID})")
-ENDIF(MSVC_CXX_ARCHITECTURE_ID)
+ if ("${_CMAKE_TOOLCHAIN_PREFIX}" MATCHES "(.+-)?llvm-$")
+ set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
+ endif ()
+
+endif ()
+
+include(${CMAKE_ROOT}/Modules/CMakeClDeps.cmake)
+include(CMakeFindBinUtils)
+if(MSVC_CXX_ARCHITECTURE_ID)
+ set(SET_MSVC_CXX_ARCHITECTURE_ID
+ "set(MSVC_CXX_ARCHITECTURE_ID ${MSVC_CXX_ARCHITECTURE_ID})")
+endif()
# configure all variables set in this file
-CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CMakeCXXCompiler.cmake.in
- ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeCXXCompiler.cmake
+configure_file(${CMAKE_ROOT}/Modules/CMakeCXXCompiler.cmake.in
+ ${CMAKE_PLATFORM_INFO_DIR}/CMakeCXXCompiler.cmake
@ONLY IMMEDIATE # IMMEDIATE must be here for compatibility mode <= 2.0
)
-SET(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
+set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
diff --git a/Modules/CMakeDetermineCompiler.cmake b/Modules/CMakeDetermineCompiler.cmake
new file mode 100644
index 000000000..2d12c0757
--- /dev/null
+++ b/Modules/CMakeDetermineCompiler.cmake
@@ -0,0 +1,72 @@
+
+#=============================================================================
+# Copyright 2004-2012 Kitware, Inc.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distribute this file outside of CMake, substitute the full
+# License text for the above reference.)
+
+macro(_cmake_find_compiler lang)
+ # Use already-enabled languages for reference.
+ get_property(_languages GLOBAL PROPERTY ENABLED_LANGUAGES)
+ list(REMOVE_ITEM _languages "${lang}")
+
+ if(CMAKE_${lang}_COMPILER_INIT)
+ # Search only for the specified compiler.
+ set(CMAKE_${lang}_COMPILER_LIST "${CMAKE_${lang}_COMPILER_INIT}")
+ else()
+ # Re-order the compiler list with preferred vendors first.
+ set(_${lang}_COMPILER_LIST "${CMAKE_${lang}_COMPILER_LIST}")
+ set(CMAKE_${lang}_COMPILER_LIST "")
+ # Prefer vendors of compilers from reference languages.
+ foreach(l ${_languages})
+ list(APPEND CMAKE_${lang}_COMPILER_LIST
+ ${_${lang}_COMPILER_NAMES_${CMAKE_${l}_COMPILER_ID}})
+ endforeach()
+ # Prefer vendors based on the platform.
+ list(APPEND CMAKE_${lang}_COMPILER_LIST ${CMAKE_${lang}_COMPILER_NAMES})
+ # Append the rest of the list and remove duplicates.
+ list(APPEND CMAKE_${lang}_COMPILER_LIST ${_${lang}_COMPILER_LIST})
+ unset(_${lang}_COMPILER_LIST)
+ list(REMOVE_DUPLICATES CMAKE_${lang}_COMPILER_LIST)
+ if(CMAKE_${lang}_COMPILER_EXCLUDE)
+ list(REMOVE_ITEM CMAKE_${lang}_COMPILER_LIST
+ ${CMAKE_${lang}_COMPILER_EXCLUDE})
+ endif()
+ endif()
+
+ # Look for directories containing compilers of reference languages.
+ set(_${lang}_COMPILER_HINTS)
+ foreach(l ${_languages})
+ if(CMAKE_${l}_COMPILER AND IS_ABSOLUTE "${CMAKE_${l}_COMPILER}")
+ get_filename_component(_hint "${CMAKE_${l}_COMPILER}" PATH)
+ if(IS_DIRECTORY "${_hint}")
+ list(APPEND _${lang}_COMPILER_HINTS "${_hint}")
+ endif()
+ unset(_hint)
+ endif()
+ endforeach()
+
+ # Find the compiler.
+ if(_${lang}_COMPILER_HINTS)
+ # Prefer directories containing compilers of reference languages.
+ list(REMOVE_DUPLICATES _${lang}_COMPILER_HINTS)
+ find_program(CMAKE_${lang}_COMPILER
+ NAMES ${CMAKE_${lang}_COMPILER_LIST}
+ PATHS ${_${lang}_COMPILER_HINTS}
+ NO_DEFAULT_PATH
+ DOC "${lang} compiler")
+ endif()
+ find_program(CMAKE_${lang}_COMPILER NAMES ${CMAKE_${lang}_COMPILER_LIST} DOC "${lang} compiler")
+ if(CMAKE_${lang}_COMPILER_INIT AND NOT CMAKE_${lang}_COMPILER)
+ set(CMAKE_${lang}_COMPILER "${CMAKE_${lang}_COMPILER_INIT}" CACHE FILEPATH "${lang} compiler" FORCE)
+ endif()
+ unset(_${lang}_COMPILER_HINTS)
+ unset(_languages)
+endmacro()
diff --git a/Modules/CMakeDetermineCompilerABI.cmake b/Modules/CMakeDetermineCompilerABI.cmake
index 1c9899e64..75247d955 100644
--- a/Modules/CMakeDetermineCompilerABI.cmake
+++ b/Modules/CMakeDetermineCompilerABI.cmake
@@ -16,19 +16,19 @@
# This is used internally by CMake and should not be included by user
# code.
-INCLUDE(${CMAKE_ROOT}/Modules/CMakeParseImplicitLinkInfo.cmake)
+include(${CMAKE_ROOT}/Modules/CMakeParseImplicitLinkInfo.cmake)
-FUNCTION(CMAKE_DETERMINE_COMPILER_ABI lang src)
- IF(NOT DEFINED CMAKE_DETERMINE_${lang}_ABI_COMPILED)
- MESSAGE(STATUS "Detecting ${lang} compiler ABI info")
+function(CMAKE_DETERMINE_COMPILER_ABI lang src)
+ if(NOT DEFINED CMAKE_${lang}_ABI_COMPILED)
+ message(STATUS "Detecting ${lang} compiler ABI info")
# Compile the ABI identification source.
- SET(BIN "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeDetermineCompilerABI_${lang}.bin")
- SET(CMAKE_FLAGS )
- IF(DEFINED CMAKE_${lang}_VERBOSE_FLAG)
- SET(CMAKE_FLAGS "-DCMAKE_EXE_LINKER_FLAGS=${CMAKE_${lang}_VERBOSE_FLAG}")
- ENDIF()
- TRY_COMPILE(CMAKE_DETERMINE_${lang}_ABI_COMPILED
+ set(BIN "${CMAKE_PLATFORM_INFO_DIR}/CMakeDetermineCompilerABI_${lang}.bin")
+ set(CMAKE_FLAGS )
+ if(DEFINED CMAKE_${lang}_VERBOSE_FLAG)
+ set(CMAKE_FLAGS "-DCMAKE_EXE_LINKER_FLAGS=${CMAKE_${lang}_VERBOSE_FLAG}")
+ endif()
+ try_compile(CMAKE_${lang}_ABI_COMPILED
${CMAKE_BINARY_DIR} ${src}
CMAKE_FLAGS "${CMAKE_FLAGS}"
"-DCMAKE_${lang}_STANDARD_LIBRARIES="
@@ -39,42 +39,46 @@ FUNCTION(CMAKE_DETERMINE_COMPILER_ABI lang src)
OUTPUT_VARIABLE OUTPUT
COPY_FILE "${BIN}"
)
+ # Move result from cache to normal variable.
+ set(CMAKE_${lang}_ABI_COMPILED ${CMAKE_${lang}_ABI_COMPILED})
+ unset(CMAKE_${lang}_ABI_COMPILED CACHE)
+ set(CMAKE_${lang}_ABI_COMPILED ${CMAKE_${lang}_ABI_COMPILED} PARENT_SCOPE)
# Load the resulting information strings.
- IF(CMAKE_DETERMINE_${lang}_ABI_COMPILED)
- MESSAGE(STATUS "Detecting ${lang} compiler ABI info - done")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ if(CMAKE_${lang}_ABI_COMPILED)
+ message(STATUS "Detecting ${lang} compiler ABI info - done")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Detecting ${lang} compiler ABI info compiled with the following output:\n${OUTPUT}\n\n")
- FILE(STRINGS "${BIN}" ABI_STRINGS LIMIT_COUNT 2 REGEX "INFO:[^[]*\\[")
- FOREACH(info ${ABI_STRINGS})
- IF("${info}" MATCHES ".*INFO:sizeof_dptr\\[0*([^]]*)\\].*")
- STRING(REGEX REPLACE ".*INFO:sizeof_dptr\\[0*([^]]*)\\].*" "\\1" ABI_SIZEOF_DPTR "${info}")
- ENDIF("${info}" MATCHES ".*INFO:sizeof_dptr\\[0*([^]]*)\\].*")
- IF("${info}" MATCHES ".*INFO:abi\\[([^]]*)\\].*")
- STRING(REGEX REPLACE ".*INFO:abi\\[([^]]*)\\].*" "\\1" ABI_NAME "${info}")
- ENDIF("${info}" MATCHES ".*INFO:abi\\[([^]]*)\\].*")
- ENDFOREACH(info)
+ file(STRINGS "${BIN}" ABI_STRINGS LIMIT_COUNT 2 REGEX "INFO:[^[]*\\[")
+ foreach(info ${ABI_STRINGS})
+ if("${info}" MATCHES ".*INFO:sizeof_dptr\\[0*([^]]*)\\].*")
+ string(REGEX REPLACE ".*INFO:sizeof_dptr\\[0*([^]]*)\\].*" "\\1" ABI_SIZEOF_DPTR "${info}")
+ endif()
+ if("${info}" MATCHES ".*INFO:abi\\[([^]]*)\\].*")
+ string(REGEX REPLACE ".*INFO:abi\\[([^]]*)\\].*" "\\1" ABI_NAME "${info}")
+ endif()
+ endforeach()
- IF(ABI_SIZEOF_DPTR)
- SET(CMAKE_${lang}_SIZEOF_DATA_PTR "${ABI_SIZEOF_DPTR}" PARENT_SCOPE)
- ELSEIF(CMAKE_${lang}_SIZEOF_DATA_PTR_DEFAULT)
- SET(CMAKE_${lang}_SIZEOF_DATA_PTR "${CMAKE_${lang}_SIZEOF_DATA_PTR_DEFAULT}" PARENT_SCOPE)
- ENDIF(ABI_SIZEOF_DPTR)
+ if(ABI_SIZEOF_DPTR)
+ set(CMAKE_${lang}_SIZEOF_DATA_PTR "${ABI_SIZEOF_DPTR}" PARENT_SCOPE)
+ elseif(CMAKE_${lang}_SIZEOF_DATA_PTR_DEFAULT)
+ set(CMAKE_${lang}_SIZEOF_DATA_PTR "${CMAKE_${lang}_SIZEOF_DATA_PTR_DEFAULT}" PARENT_SCOPE)
+ endif()
- IF(ABI_NAME)
- SET(CMAKE_${lang}_COMPILER_ABI "${ABI_NAME}" PARENT_SCOPE)
- ENDIF(ABI_NAME)
+ if(ABI_NAME)
+ set(CMAKE_${lang}_COMPILER_ABI "${ABI_NAME}" PARENT_SCOPE)
+ endif()
# Parse implicit linker information for this language, if available.
- SET(implicit_dirs "")
- SET(implicit_libs "")
- SET(MULTI_ARCH FALSE)
- IF(DEFINED CMAKE_OSX_ARCHITECTURES)
- IF( "${CMAKE_OSX_ARCHITECTURES}" MATCHES ";" )
- SET(MULTI_ARCH TRUE)
- ENDIF()
- ENDIF()
- IF(CMAKE_${lang}_VERBOSE_FLAG
+ set(implicit_dirs "")
+ set(implicit_libs "")
+ set(MULTI_ARCH FALSE)
+ if(DEFINED CMAKE_OSX_ARCHITECTURES)
+ if( "${CMAKE_OSX_ARCHITECTURES}" MATCHES ";" )
+ set(MULTI_ARCH TRUE)
+ endif()
+ endif()
+ if(CMAKE_${lang}_VERBOSE_FLAG
# Implicit link information cannot be used explicitly for
# multiple OS X architectures, so we skip it.
AND NOT MULTI_ARCH
@@ -82,50 +86,50 @@ FUNCTION(CMAKE_DETERMINE_COMPILER_ABI lang src)
AND NOT "${CMAKE_GENERATOR}" MATCHES Xcode)
CMAKE_PARSE_IMPLICIT_LINK_INFO("${OUTPUT}" implicit_libs implicit_dirs log
"${CMAKE_${lang}_IMPLICIT_OBJECT_REGEX}")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Parsed ${lang} implicit link information from above output:\n${log}\n\n")
- ENDIF()
+ endif()
# for VS IDE Intel Fortran we have to figure out the
# implicit link path for the fortran run time using
# a try-compile
- IF("${lang}" MATCHES "Fortran"
+ if("${lang}" MATCHES "Fortran"
AND "${CMAKE_GENERATOR}" MATCHES "Visual Studio")
- SET(_desc "Determine Intel Fortran Compiler Implicit Link Path")
- MESSAGE(STATUS "${_desc}")
+ set(_desc "Determine Intel Fortran Compiler Implicit Link Path")
+ message(STATUS "${_desc}")
# Build a sample project which reports symbols.
- TRY_COMPILE(IFORT_LIB_PATH_COMPILED
+ try_compile(IFORT_LIB_PATH_COMPILED
${CMAKE_BINARY_DIR}/CMakeFiles/IntelVSImplicitPath
${CMAKE_ROOT}/Modules/IntelVSImplicitPath
IntelFortranImplicit
CMAKE_FLAGS
"-DCMAKE_Fortran_FLAGS:STRING=${CMAKE_Fortran_FLAGS}"
OUTPUT_VARIABLE _output)
- FILE(WRITE
+ file(WRITE
"${CMAKE_BINARY_DIR}/CMakeFiles/IntelVSImplicitPath/output.txt"
"${_output}")
- INCLUDE(${CMAKE_BINARY_DIR}/CMakeFiles/IntelVSImplicitPath/output.cmake OPTIONAL)
- SET(_desc "Determine Intel Fortran Compiler Implicit Link Path -- done")
- MESSAGE(STATUS "${_desc}")
- ENDIF()
+ include(${CMAKE_BINARY_DIR}/CMakeFiles/IntelVSImplicitPath/output.cmake OPTIONAL)
+ set(_desc "Determine Intel Fortran Compiler Implicit Link Path -- done")
+ message(STATUS "${_desc}")
+ endif()
- SET(CMAKE_${lang}_IMPLICIT_LINK_LIBRARIES "${implicit_libs}" PARENT_SCOPE)
- SET(CMAKE_${lang}_IMPLICIT_LINK_DIRECTORIES "${implicit_dirs}" PARENT_SCOPE)
+ set(CMAKE_${lang}_IMPLICIT_LINK_LIBRARIES "${implicit_libs}" PARENT_SCOPE)
+ set(CMAKE_${lang}_IMPLICIT_LINK_DIRECTORIES "${implicit_dirs}" PARENT_SCOPE)
# Detect library architecture directory name.
- IF(CMAKE_LIBRARY_ARCHITECTURE_REGEX)
- FOREACH(dir ${implicit_dirs})
- IF("${dir}" MATCHES "/lib/${CMAKE_LIBRARY_ARCHITECTURE_REGEX}$")
- GET_FILENAME_COMPONENT(arch "${dir}" NAME)
- SET(CMAKE_${lang}_LIBRARY_ARCHITECTURE "${arch}" PARENT_SCOPE)
- BREAK()
- ENDIF()
- ENDFOREACH()
- ENDIF()
+ if(CMAKE_LIBRARY_ARCHITECTURE_REGEX)
+ foreach(dir ${implicit_dirs})
+ if("${dir}" MATCHES "/lib/${CMAKE_LIBRARY_ARCHITECTURE_REGEX}$")
+ get_filename_component(arch "${dir}" NAME)
+ set(CMAKE_${lang}_LIBRARY_ARCHITECTURE "${arch}" PARENT_SCOPE)
+ break()
+ endif()
+ endforeach()
+ endif()
- ELSE(CMAKE_DETERMINE_${lang}_ABI_COMPILED)
- MESSAGE(STATUS "Detecting ${lang} compiler ABI info - failed")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ else()
+ message(STATUS "Detecting ${lang} compiler ABI info - failed")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Detecting ${lang} compiler ABI info failed to compile with the following output:\n${OUTPUT}\n\n")
- ENDIF(CMAKE_DETERMINE_${lang}_ABI_COMPILED)
- ENDIF(NOT DEFINED CMAKE_DETERMINE_${lang}_ABI_COMPILED)
-ENDFUNCTION(CMAKE_DETERMINE_COMPILER_ABI)
+ endif()
+ endif()
+endfunction()
diff --git a/Modules/CMakeDetermineCompilerId.cmake b/Modules/CMakeDetermineCompilerId.cmake
index 67f5a5906..906a5e7ba 100644
--- a/Modules/CMakeDetermineCompilerId.cmake
+++ b/Modules/CMakeDetermineCompilerId.cmake
@@ -16,116 +16,231 @@
# used internally by CMake and should not be included by user code.
# If successful, sets CMAKE_<lang>_COMPILER_ID and CMAKE_<lang>_PLATFORM_ID
-FUNCTION(CMAKE_DETERMINE_COMPILER_ID lang flagvar src)
+function(CMAKE_DETERMINE_COMPILER_ID lang flagvar src)
# Make sure the compiler arguments are clean.
- STRING(STRIP "${CMAKE_${lang}_COMPILER_ARG1}" CMAKE_${lang}_COMPILER_ID_ARG1)
- STRING(REGEX REPLACE " +" ";" CMAKE_${lang}_COMPILER_ID_ARG1 "${CMAKE_${lang}_COMPILER_ID_ARG1}")
+ string(STRIP "${CMAKE_${lang}_COMPILER_ARG1}" CMAKE_${lang}_COMPILER_ID_ARG1)
+ string(REGEX REPLACE " +" ";" CMAKE_${lang}_COMPILER_ID_ARG1 "${CMAKE_${lang}_COMPILER_ID_ARG1}")
# Make sure user-specified compiler flags are used.
- IF(CMAKE_${lang}_FLAGS)
- SET(CMAKE_${lang}_COMPILER_ID_FLAGS ${CMAKE_${lang}_FLAGS})
- ELSE(CMAKE_${lang}_FLAGS)
- SET(CMAKE_${lang}_COMPILER_ID_FLAGS $ENV{${flagvar}})
- ENDIF(CMAKE_${lang}_FLAGS)
- STRING(REGEX REPLACE " " ";" CMAKE_${lang}_COMPILER_ID_FLAGS_LIST "${CMAKE_${lang}_COMPILER_ID_FLAGS}")
+ if(CMAKE_${lang}_FLAGS)
+ set(CMAKE_${lang}_COMPILER_ID_FLAGS ${CMAKE_${lang}_FLAGS})
+ else()
+ set(CMAKE_${lang}_COMPILER_ID_FLAGS $ENV{${flagvar}})
+ endif()
+ string(REGEX REPLACE " " ";" CMAKE_${lang}_COMPILER_ID_FLAGS_LIST "${CMAKE_${lang}_COMPILER_ID_FLAGS}")
# Compute the directory in which to run the test.
- SET(CMAKE_${lang}_COMPILER_ID_DIR ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CompilerId${lang})
+ set(CMAKE_${lang}_COMPILER_ID_DIR ${CMAKE_PLATFORM_INFO_DIR}/CompilerId${lang})
# Try building with no extra flags and then try each set
# of helper flags. Stop when the compiler is identified.
- FOREACH(flags "" ${CMAKE_${lang}_COMPILER_ID_TEST_FLAGS})
- IF(NOT CMAKE_${lang}_COMPILER_ID)
+ foreach(flags "" ${CMAKE_${lang}_COMPILER_ID_TEST_FLAGS})
+ if(NOT CMAKE_${lang}_COMPILER_ID)
CMAKE_DETERMINE_COMPILER_ID_BUILD("${lang}" "${flags}" "${src}")
- FOREACH(file ${COMPILER_${lang}_PRODUCED_FILES})
+ foreach(file ${COMPILER_${lang}_PRODUCED_FILES})
CMAKE_DETERMINE_COMPILER_ID_CHECK("${lang}" "${CMAKE_${lang}_COMPILER_ID_DIR}/${file}" "${src}")
- ENDFOREACH(file)
- ENDIF(NOT CMAKE_${lang}_COMPILER_ID)
- ENDFOREACH(flags)
+ endforeach()
+ endif()
+ endforeach()
# If the compiler is still unknown, try to query its vendor.
- IF(NOT CMAKE_${lang}_COMPILER_ID)
+ if(NOT CMAKE_${lang}_COMPILER_ID)
CMAKE_DETERMINE_COMPILER_ID_VENDOR(${lang})
- ENDIF()
+ endif()
# if the format is unknown after all files have been checked, put "Unknown" in the cache
- IF(NOT CMAKE_EXECUTABLE_FORMAT)
- SET(CMAKE_EXECUTABLE_FORMAT "Unknown" CACHE INTERNAL "Executable file format")
- ENDIF(NOT CMAKE_EXECUTABLE_FORMAT)
+ if(NOT CMAKE_EXECUTABLE_FORMAT)
+ set(CMAKE_EXECUTABLE_FORMAT "Unknown" CACHE INTERNAL "Executable file format")
+ endif()
# Display the final identification result.
- IF(CMAKE_${lang}_COMPILER_ID)
- IF(CMAKE_${lang}_COMPILER_VERSION)
- SET(_version " ${CMAKE_${lang}_COMPILER_VERSION}")
- ELSE()
- SET(_version "")
- ENDIF()
- MESSAGE(STATUS "The ${lang} compiler identification is "
+ if(CMAKE_${lang}_COMPILER_ID)
+ if(CMAKE_${lang}_COMPILER_VERSION)
+ set(_version " ${CMAKE_${lang}_COMPILER_VERSION}")
+ else()
+ set(_version "")
+ endif()
+ message(STATUS "The ${lang} compiler identification is "
"${CMAKE_${lang}_COMPILER_ID}${_version}")
- ELSE(CMAKE_${lang}_COMPILER_ID)
- MESSAGE(STATUS "The ${lang} compiler identification is unknown")
- ENDIF(CMAKE_${lang}_COMPILER_ID)
-
- SET(CMAKE_${lang}_COMPILER_ID "${CMAKE_${lang}_COMPILER_ID}" PARENT_SCOPE)
- SET(CMAKE_${lang}_PLATFORM_ID "${CMAKE_${lang}_PLATFORM_ID}" PARENT_SCOPE)
- SET(MSVC_${lang}_ARCHITECTURE_ID "${MSVC_${lang}_ARCHITECTURE_ID}"
+ else()
+ message(STATUS "The ${lang} compiler identification is unknown")
+ endif()
+
+ # Check if compiler id detection gave us the compiler tool.
+ if(NOT CMAKE_${lang}_COMPILER)
+ if(CMAKE_${lang}_COMPILER_ID_TOOL)
+ set(CMAKE_${lang}_COMPILER "${CMAKE_${lang}_COMPILER_ID_TOOL}" PARENT_SCOPE)
+ else()
+ set(CMAKE_${lang}_COMPILER "CMAKE_${lang}_COMPILER-NOTFOUND" PARENT_SCOPE)
+ endif()
+ endif()
+
+ set(CMAKE_${lang}_COMPILER_ID "${CMAKE_${lang}_COMPILER_ID}" PARENT_SCOPE)
+ set(CMAKE_${lang}_PLATFORM_ID "${CMAKE_${lang}_PLATFORM_ID}" PARENT_SCOPE)
+ set(MSVC_${lang}_ARCHITECTURE_ID "${MSVC_${lang}_ARCHITECTURE_ID}"
PARENT_SCOPE)
- SET(CMAKE_${lang}_COMPILER_VERSION "${CMAKE_${lang}_COMPILER_VERSION}" PARENT_SCOPE)
-ENDFUNCTION(CMAKE_DETERMINE_COMPILER_ID)
+ set(CMAKE_${lang}_COMPILER_VERSION "${CMAKE_${lang}_COMPILER_VERSION}" PARENT_SCOPE)
+endfunction()
#-----------------------------------------------------------------------------
# Function to write the compiler id source file.
-FUNCTION(CMAKE_DETERMINE_COMPILER_ID_WRITE lang src)
- FILE(READ ${CMAKE_ROOT}/Modules/${src}.in ID_CONTENT_IN)
- STRING(CONFIGURE "${ID_CONTENT_IN}" ID_CONTENT_OUT @ONLY)
- FILE(WRITE ${CMAKE_${lang}_COMPILER_ID_DIR}/${src} "${ID_CONTENT_OUT}")
-ENDFUNCTION(CMAKE_DETERMINE_COMPILER_ID_WRITE)
+function(CMAKE_DETERMINE_COMPILER_ID_WRITE lang src)
+ file(READ ${CMAKE_ROOT}/Modules/${src}.in ID_CONTENT_IN)
+ string(CONFIGURE "${ID_CONTENT_IN}" ID_CONTENT_OUT @ONLY)
+ file(WRITE ${CMAKE_${lang}_COMPILER_ID_DIR}/${src} "${ID_CONTENT_OUT}")
+endfunction()
#-----------------------------------------------------------------------------
# Function to build the compiler id source file and look for output
# files.
-FUNCTION(CMAKE_DETERMINE_COMPILER_ID_BUILD lang testflags src)
+function(CMAKE_DETERMINE_COMPILER_ID_BUILD lang testflags src)
# Create a clean working directory.
- FILE(REMOVE_RECURSE ${CMAKE_${lang}_COMPILER_ID_DIR})
- FILE(MAKE_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR})
+ file(REMOVE_RECURSE ${CMAKE_${lang}_COMPILER_ID_DIR})
+ file(MAKE_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR})
CMAKE_DETERMINE_COMPILER_ID_WRITE("${lang}" "${src}")
# Construct a description of this test case.
- SET(COMPILER_DESCRIPTION
+ set(COMPILER_DESCRIPTION
"Compiler: ${CMAKE_${lang}_COMPILER} ${CMAKE_${lang}_COMPILER_ID_ARG1}
Build flags: ${CMAKE_${lang}_COMPILER_ID_FLAGS_LIST}
Id flags: ${testflags}
")
# Compile the compiler identification source.
- IF(COMMAND EXECUTE_PROCESS)
- EXECUTE_PROCESS(
- COMMAND ${CMAKE_${lang}_COMPILER}
- ${CMAKE_${lang}_COMPILER_ID_ARG1}
- ${CMAKE_${lang}_COMPILER_ID_FLAGS_LIST}
- ${testflags}
- "${src}"
+ if("${CMAKE_GENERATOR}" MATCHES "Visual Studio ([0-9]+)( .NET)?( 200[358])? *((Win64|IA64|ARM))?")
+ set(vs_version ${CMAKE_MATCH_1})
+ set(vs_arch ${CMAKE_MATCH_4})
+ set(id_lang "${lang}")
+ set(id_cl cl.exe)
+ if(NOT "${vs_version}" VERSION_LESS 10)
+ set(v 10)
+ set(ext vcxproj)
+ elseif(NOT "${vs_version}" VERSION_LESS 7)
+ set(id_version ${vs_version}.00)
+ set(v 7)
+ set(ext vcproj)
+ else()
+ set(v 6)
+ set(ext dsp)
+ endif()
+ if("${vs_arch}" STREQUAL "Win64")
+ set(id_machine_7 17)
+ set(id_machine_10 MachineX64)
+ set(id_arch x64)
+ elseif("${vs_arch}" STREQUAL "IA64")
+ set(id_machine_7 5)
+ set(id_machine_10 MachineIA64)
+ set(id_arch ia64)
+ else()
+ set(id_machine_6 x86)
+ set(id_machine_7 1)
+ set(id_machine_10 MachineX86)
+ set(id_arch Win32)
+ endif()
+ if(CMAKE_VS_PLATFORM_TOOLSET)
+ set(id_toolset "<PlatformToolset>${CMAKE_VS_PLATFORM_TOOLSET}</PlatformToolset>")
+ else()
+ set(id_toolset "")
+ endif()
+ if("${CMAKE_MAKE_PROGRAM}" MATCHES "[Mm][Ss][Bb][Uu][Ii][Ll][Dd]")
+ set(build /p:Configuration=Debug /p:Platform=@id_arch@ /p:VisualStudioVersion=${vs_version}.0)
+ elseif("${CMAKE_MAKE_PROGRAM}" MATCHES "[Mm][Ss][Dd][Ee][Vv]")
+ set(build /make)
+ else()
+ set(build /build Debug)
+ endif()
+ set(id_dir ${CMAKE_${lang}_COMPILER_ID_DIR})
+ get_filename_component(id_src "${src}" NAME)
+ configure_file(${CMAKE_ROOT}/Modules/CompilerId/VS-${v}.${ext}.in
+ ${id_dir}/CompilerId${lang}.${ext} @ONLY IMMEDIATE)
+ execute_process(
+ COMMAND ${CMAKE_MAKE_PROGRAM} CompilerId${lang}.${ext} ${build}
WORKING_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR}
OUTPUT_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
ERROR_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
RESULT_VARIABLE CMAKE_${lang}_COMPILER_ID_RESULT
)
- ELSE(COMMAND EXECUTE_PROCESS)
- EXEC_PROGRAM(
- ${CMAKE_${lang}_COMPILER} ${CMAKE_${lang}_COMPILER_ID_DIR}
- ARGS ${CMAKE_${lang}_COMPILER_ID_ARG1}
- ${CMAKE_${lang}_COMPILER_ID_FLAGS_LIST}
- ${testflags}
- \"${src}\"
+ # Match the compiler location line printed out.
+ if("${CMAKE_${lang}_COMPILER_ID_OUTPUT}" MATCHES "CMAKE_${lang}_COMPILER=([^%\r\n]+)[\r\n]")
+ set(_comp "${CMAKE_MATCH_1}")
+ if(EXISTS "${_comp}")
+ file(TO_CMAKE_PATH "${_comp}" _comp)
+ set(CMAKE_${lang}_COMPILER_ID_TOOL "${_comp}" PARENT_SCOPE)
+ endif()
+ endif()
+ elseif("${CMAKE_GENERATOR}" MATCHES "Xcode")
+ set(id_lang "${lang}")
+ set(id_type ${CMAKE_${lang}_COMPILER_XCODE_TYPE})
+ set(id_dir ${CMAKE_${lang}_COMPILER_ID_DIR})
+ get_filename_component(id_src "${src}" NAME)
+ if(NOT ${XCODE_VERSION} VERSION_LESS 3)
+ set(v 3)
+ set(ext xcodeproj)
+ elseif(NOT ${XCODE_VERSION} VERSION_LESS 2)
+ set(v 2)
+ set(ext xcodeproj)
+ else()
+ set(v 1)
+ set(ext xcode)
+ endif()
+ configure_file(${CMAKE_ROOT}/Modules/CompilerId/Xcode-${v}.pbxproj.in
+ ${id_dir}/CompilerId${lang}.${ext}/project.pbxproj @ONLY IMMEDIATE)
+ unset(_ENV_MACOSX_DEPLOYMENT_TARGET)
+ if(DEFINED ENV{MACOSX_DEPLOYMENT_TARGET})
+ set(_ENV_MACOSX_DEPLOYMENT_TARGET "$ENV{MACOSX_DEPLOYMENT_TARGET}")
+ set(ENV{MACOSX_DEPLOYMENT_TARGET} "")
+ endif()
+ execute_process(COMMAND xcodebuild
+ WORKING_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR}
OUTPUT_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
- RETURN_VALUE CMAKE_${lang}_COMPILER_ID_RESULT
+ ERROR_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
+ RESULT_VARIABLE CMAKE_${lang}_COMPILER_ID_RESULT
)
- ENDIF(COMMAND EXECUTE_PROCESS)
+ if(DEFINED _ENV_MACOSX_DEPLOYMENT_TARGET)
+ set(ENV{MACOSX_DEPLOYMENT_TARGET} "${_ENV_MACOSX_DEPLOYMENT_TARGET}")
+ endif()
+
+ # Match the link line from xcodebuild output of the form
+ # Ld ...
+ # ...
+ # /path/to/cc ...CompilerId${lang}/...
+ # to extract the compiler front-end for the language.
+ if("${CMAKE_${lang}_COMPILER_ID_OUTPUT}" MATCHES "\nLd[^\n]*(\n[ \t]+[^\n]*)*\n[ \t]+([^ \t\r\n]+)[^\r\n]*-o[^\r\n]*CompilerId${lang}/\\./CompilerId${lang}[ \t\n\\\"]")
+ set(_comp "${CMAKE_MATCH_2}")
+ if(EXISTS "${_comp}")
+ set(CMAKE_${lang}_COMPILER_ID_TOOL "${_comp}" PARENT_SCOPE)
+ endif()
+ endif()
+ else()
+ if(COMMAND EXECUTE_PROCESS)
+ execute_process(
+ COMMAND ${CMAKE_${lang}_COMPILER}
+ ${CMAKE_${lang}_COMPILER_ID_ARG1}
+ ${CMAKE_${lang}_COMPILER_ID_FLAGS_LIST}
+ ${testflags}
+ "${src}"
+ WORKING_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR}
+ OUTPUT_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
+ ERROR_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
+ RESULT_VARIABLE CMAKE_${lang}_COMPILER_ID_RESULT
+ )
+ else()
+ exec_program(
+ ${CMAKE_${lang}_COMPILER} ${CMAKE_${lang}_COMPILER_ID_DIR}
+ ARGS ${CMAKE_${lang}_COMPILER_ID_ARG1}
+ ${CMAKE_${lang}_COMPILER_ID_FLAGS_LIST}
+ ${testflags}
+ \"${src}\"
+ OUTPUT_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT
+ RETURN_VALUE CMAKE_${lang}_COMPILER_ID_RESULT
+ )
+ endif()
+ endif()
# Check the result of compilation.
- IF(CMAKE_${lang}_COMPILER_ID_RESULT)
+ if(CMAKE_${lang}_COMPILER_ID_RESULT)
# Compilation failed.
- SET(MSG
+ set(MSG
"Compiling the ${lang} compiler identification source file \"${src}\" failed.
${COMPILER_DESCRIPTION}
The output was:
@@ -133,16 +248,16 @@ ${CMAKE_${lang}_COMPILER_ID_RESULT}
${CMAKE_${lang}_COMPILER_ID_OUTPUT}
")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log "${MSG}")
- #IF(NOT CMAKE_${lang}_COMPILER_ID_ALLOW_FAIL)
- # MESSAGE(FATAL_ERROR "${MSG}")
- #ENDIF(NOT CMAKE_${lang}_COMPILER_ID_ALLOW_FAIL)
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log "${MSG}")
+ #if(NOT CMAKE_${lang}_COMPILER_ID_ALLOW_FAIL)
+ # message(FATAL_ERROR "${MSG}")
+ #endif()
# No output files should be inspected.
- SET(COMPILER_${lang}_PRODUCED_FILES)
- ELSE(CMAKE_${lang}_COMPILER_ID_RESULT)
+ set(COMPILER_${lang}_PRODUCED_FILES)
+ else()
# Compilation succeeded.
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Compiling the ${lang} compiler identification source file \"${src}\" succeeded.
${COMPILER_DESCRIPTION}
The output was:
@@ -153,120 +268,124 @@ ${CMAKE_${lang}_COMPILER_ID_OUTPUT}
# Find the executable produced by the compiler, try all files in the
# binary dir.
- FILE(GLOB COMPILER_${lang}_PRODUCED_FILES
+ file(GLOB files
RELATIVE ${CMAKE_${lang}_COMPILER_ID_DIR}
${CMAKE_${lang}_COMPILER_ID_DIR}/*)
- LIST(REMOVE_ITEM COMPILER_${lang}_PRODUCED_FILES "${src}")
- FOREACH(file ${COMPILER_${lang}_PRODUCED_FILES})
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
- "Compilation of the ${lang} compiler identification source \""
- "${src}\" produced \"${file}\"\n\n")
- ENDFOREACH(file)
-
- IF(NOT COMPILER_${lang}_PRODUCED_FILES)
+ list(REMOVE_ITEM files "${src}")
+ set(COMPILER_${lang}_PRODUCED_FILES "")
+ foreach(file ${files})
+ if(NOT IS_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR}/${file})
+ list(APPEND COMPILER_${lang}_PRODUCED_FILES ${file})
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ "Compilation of the ${lang} compiler identification source \""
+ "${src}\" produced \"${file}\"\n\n")
+ endif()
+ endforeach()
+
+ if(NOT COMPILER_${lang}_PRODUCED_FILES)
# No executable was found.
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Compilation of the ${lang} compiler identification source \""
"${src}\" did not produce an executable in \""
"${CMAKE_${lang}_COMPILER_ID_DIR}\".\n\n")
- ENDIF(NOT COMPILER_${lang}_PRODUCED_FILES)
- ENDIF(CMAKE_${lang}_COMPILER_ID_RESULT)
+ endif()
+ endif()
# Return the files produced by the compilation.
- SET(COMPILER_${lang}_PRODUCED_FILES "${COMPILER_${lang}_PRODUCED_FILES}" PARENT_SCOPE)
-ENDFUNCTION(CMAKE_DETERMINE_COMPILER_ID_BUILD lang testflags src)
+ set(COMPILER_${lang}_PRODUCED_FILES "${COMPILER_${lang}_PRODUCED_FILES}" PARENT_SCOPE)
+endfunction()
#-----------------------------------------------------------------------------
# Function to extract the compiler id from an executable.
-FUNCTION(CMAKE_DETERMINE_COMPILER_ID_CHECK lang file)
+function(CMAKE_DETERMINE_COMPILER_ID_CHECK lang file)
# Look for a compiler id if not yet known.
- IF(NOT CMAKE_${lang}_COMPILER_ID)
+ if(NOT CMAKE_${lang}_COMPILER_ID)
# Read the compiler identification string from the executable file.
- SET(COMPILER_ID)
- SET(COMPILER_VERSION)
- SET(PLATFORM_ID)
- FILE(STRINGS ${file}
+ set(COMPILER_ID)
+ set(COMPILER_VERSION)
+ set(PLATFORM_ID)
+ file(STRINGS ${file}
CMAKE_${lang}_COMPILER_ID_STRINGS LIMIT_COUNT 4 REGEX "INFO:")
- SET(HAVE_COMPILER_TWICE 0)
- FOREACH(info ${CMAKE_${lang}_COMPILER_ID_STRINGS})
- IF("${info}" MATCHES ".*INFO:compiler\\[([^]\"]*)\\].*")
- IF(COMPILER_ID)
- SET(COMPILER_ID_TWICE 1)
- ENDIF(COMPILER_ID)
- STRING(REGEX REPLACE ".*INFO:compiler\\[([^]]*)\\].*" "\\1"
+ set(HAVE_COMPILER_TWICE 0)
+ foreach(info ${CMAKE_${lang}_COMPILER_ID_STRINGS})
+ if("${info}" MATCHES ".*INFO:compiler\\[([^]\"]*)\\].*")
+ if(COMPILER_ID)
+ set(COMPILER_ID_TWICE 1)
+ endif()
+ string(REGEX REPLACE ".*INFO:compiler\\[([^]]*)\\].*" "\\1"
COMPILER_ID "${info}")
- ENDIF("${info}" MATCHES ".*INFO:compiler\\[([^]\"]*)\\].*")
- IF("${info}" MATCHES ".*INFO:platform\\[([^]\"]*)\\].*")
- STRING(REGEX REPLACE ".*INFO:platform\\[([^]]*)\\].*" "\\1"
+ endif()
+ if("${info}" MATCHES ".*INFO:platform\\[([^]\"]*)\\].*")
+ string(REGEX REPLACE ".*INFO:platform\\[([^]]*)\\].*" "\\1"
PLATFORM_ID "${info}")
- ENDIF("${info}" MATCHES ".*INFO:platform\\[([^]\"]*)\\].*")
- IF("${info}" MATCHES ".*INFO:arch\\[([^]\"]*)\\].*")
- STRING(REGEX REPLACE ".*INFO:arch\\[([^]]*)\\].*" "\\1"
+ endif()
+ if("${info}" MATCHES ".*INFO:arch\\[([^]\"]*)\\].*")
+ string(REGEX REPLACE ".*INFO:arch\\[([^]]*)\\].*" "\\1"
ARCHITECTURE_ID "${info}")
- ENDIF("${info}" MATCHES ".*INFO:arch\\[([^]\"]*)\\].*")
- IF("${info}" MATCHES ".*INFO:compiler_version\\[([^]\"]*)\\].*")
- STRING(REGEX REPLACE ".*INFO:compiler_version\\[([^]]*)\\].*" "\\1" COMPILER_VERSION "${info}")
- STRING(REGEX REPLACE "^0+([0-9])" "\\1" COMPILER_VERSION "${COMPILER_VERSION}")
- STRING(REGEX REPLACE "\\.0+([0-9])" ".\\1" COMPILER_VERSION "${COMPILER_VERSION}")
- ENDIF("${info}" MATCHES ".*INFO:compiler_version\\[([^]\"]*)\\].*")
- ENDFOREACH(info)
+ endif()
+ if("${info}" MATCHES ".*INFO:compiler_version\\[([^]\"]*)\\].*")
+ string(REGEX REPLACE ".*INFO:compiler_version\\[([^]]*)\\].*" "\\1" COMPILER_VERSION "${info}")
+ string(REGEX REPLACE "^0+([0-9])" "\\1" COMPILER_VERSION "${COMPILER_VERSION}")
+ string(REGEX REPLACE "\\.0+([0-9])" ".\\1" COMPILER_VERSION "${COMPILER_VERSION}")
+ endif()
+ endforeach()
# Check if a valid compiler and platform were found.
- IF(COMPILER_ID AND NOT COMPILER_ID_TWICE)
- SET(CMAKE_${lang}_COMPILER_ID "${COMPILER_ID}")
- SET(CMAKE_${lang}_PLATFORM_ID "${PLATFORM_ID}")
- SET(MSVC_${lang}_ARCHITECTURE_ID "${ARCHITECTURE_ID}")
- SET(CMAKE_${lang}_COMPILER_VERSION "${COMPILER_VERSION}")
- ENDIF(COMPILER_ID AND NOT COMPILER_ID_TWICE)
+ if(COMPILER_ID AND NOT COMPILER_ID_TWICE)
+ set(CMAKE_${lang}_COMPILER_ID "${COMPILER_ID}")
+ set(CMAKE_${lang}_PLATFORM_ID "${PLATFORM_ID}")
+ set(MSVC_${lang}_ARCHITECTURE_ID "${ARCHITECTURE_ID}")
+ set(CMAKE_${lang}_COMPILER_VERSION "${COMPILER_VERSION}")
+ endif()
# Check the compiler identification string.
- IF(CMAKE_${lang}_COMPILER_ID)
+ if(CMAKE_${lang}_COMPILER_ID)
# The compiler identification was found.
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"The ${lang} compiler identification is ${CMAKE_${lang}_COMPILER_ID}, found in \""
"${file}\"\n\n")
- ELSE(CMAKE_${lang}_COMPILER_ID)
+ else()
# The compiler identification could not be found.
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"The ${lang} compiler identification could not be found in \""
"${file}\"\n\n")
- ENDIF(CMAKE_${lang}_COMPILER_ID)
- ENDIF(NOT CMAKE_${lang}_COMPILER_ID)
+ endif()
+ endif()
# try to figure out the executable format: ELF, COFF, Mach-O
- IF(NOT CMAKE_EXECUTABLE_FORMAT)
- FILE(READ ${file} CMAKE_EXECUTABLE_MAGIC LIMIT 4 HEX)
+ if(NOT CMAKE_EXECUTABLE_FORMAT)
+ file(READ ${file} CMAKE_EXECUTABLE_MAGIC LIMIT 4 HEX)
# ELF files start with 0x7f"ELF"
- IF("${CMAKE_EXECUTABLE_MAGIC}" STREQUAL "7f454c46")
- SET(CMAKE_EXECUTABLE_FORMAT "ELF" CACHE INTERNAL "Executable file format")
- ENDIF("${CMAKE_EXECUTABLE_MAGIC}" STREQUAL "7f454c46")
+ if("${CMAKE_EXECUTABLE_MAGIC}" STREQUAL "7f454c46")
+ set(CMAKE_EXECUTABLE_FORMAT "ELF" CACHE INTERNAL "Executable file format")
+ endif()
# # COFF (.exe) files start with "MZ"
-# IF("${CMAKE_EXECUTABLE_MAGIC}" MATCHES "4d5a....")
-# SET(CMAKE_EXECUTABLE_FORMAT "COFF" CACHE STRING "Executable file format")
-# ENDIF("${CMAKE_EXECUTABLE_MAGIC}" MATCHES "4d5a....")
+# if("${CMAKE_EXECUTABLE_MAGIC}" MATCHES "4d5a....")
+# set(CMAKE_EXECUTABLE_FORMAT "COFF" CACHE STRING "Executable file format")
+# endif()
#
# # Mach-O files start with CAFEBABE or FEEDFACE, according to http://radio.weblogs.com/0100490/2003/01/28.html
-# IF("${CMAKE_EXECUTABLE_MAGIC}" MATCHES "cafebabe")
-# SET(CMAKE_EXECUTABLE_FORMAT "MACHO" CACHE STRING "Executable file format")
-# ENDIF("${CMAKE_EXECUTABLE_MAGIC}" MATCHES "cafebabe")
-# IF("${CMAKE_EXECUTABLE_MAGIC}" MATCHES "feedface")
-# SET(CMAKE_EXECUTABLE_FORMAT "MACHO" CACHE STRING "Executable file format")
-# ENDIF("${CMAKE_EXECUTABLE_MAGIC}" MATCHES "feedface")
-
- ENDIF(NOT CMAKE_EXECUTABLE_FORMAT)
- IF(NOT DEFINED CMAKE_EXECUTABLE_FORMAT)
- SET(CMAKE_EXECUTABLE_FORMAT)
- ENDIF()
+# if("${CMAKE_EXECUTABLE_MAGIC}" MATCHES "cafebabe")
+# set(CMAKE_EXECUTABLE_FORMAT "MACHO" CACHE STRING "Executable file format")
+# endif()
+# if("${CMAKE_EXECUTABLE_MAGIC}" MATCHES "feedface")
+# set(CMAKE_EXECUTABLE_FORMAT "MACHO" CACHE STRING "Executable file format")
+# endif()
+
+ endif()
+ if(NOT DEFINED CMAKE_EXECUTABLE_FORMAT)
+ set(CMAKE_EXECUTABLE_FORMAT)
+ endif()
# Return the information extracted.
- SET(CMAKE_${lang}_COMPILER_ID "${CMAKE_${lang}_COMPILER_ID}" PARENT_SCOPE)
- SET(CMAKE_${lang}_PLATFORM_ID "${CMAKE_${lang}_PLATFORM_ID}" PARENT_SCOPE)
- SET(MSVC_${lang}_ARCHITECTURE_ID "${MSVC_${lang}_ARCHITECTURE_ID}"
+ set(CMAKE_${lang}_COMPILER_ID "${CMAKE_${lang}_COMPILER_ID}" PARENT_SCOPE)
+ set(CMAKE_${lang}_PLATFORM_ID "${CMAKE_${lang}_PLATFORM_ID}" PARENT_SCOPE)
+ set(MSVC_${lang}_ARCHITECTURE_ID "${MSVC_${lang}_ARCHITECTURE_ID}"
PARENT_SCOPE)
- SET(CMAKE_${lang}_COMPILER_VERSION "${CMAKE_${lang}_COMPILER_VERSION}" PARENT_SCOPE)
- SET(CMAKE_EXECUTABLE_FORMAT "${CMAKE_EXECUTABLE_FORMAT}" PARENT_SCOPE)
-ENDFUNCTION(CMAKE_DETERMINE_COMPILER_ID_CHECK lang)
+ set(CMAKE_${lang}_COMPILER_VERSION "${CMAKE_${lang}_COMPILER_VERSION}" PARENT_SCOPE)
+ set(CMAKE_EXECUTABLE_FORMAT "${CMAKE_EXECUTABLE_FORMAT}" PARENT_SCOPE)
+endfunction()
#-----------------------------------------------------------------------------
# Function to query the compiler vendor.
@@ -276,22 +395,22 @@ ENDFUNCTION(CMAKE_DETERMINE_COMPILER_ID_CHECK lang)
# set(CMAKE_${lang}_COMPILER_ID_VENDOR_REGEX_${vendor} "Some Vendor Output")
# We try running the compiler with the flag for each vendor and
# matching its regular expression in the output.
-FUNCTION(CMAKE_DETERMINE_COMPILER_ID_VENDOR lang)
+function(CMAKE_DETERMINE_COMPILER_ID_VENDOR lang)
- IF(NOT CMAKE_${lang}_COMPILER_ID_DIR)
+ if(NOT CMAKE_${lang}_COMPILER_ID_DIR)
# We get here when this function is called not from within CMAKE_DETERMINE_COMPILER_ID()
# This is done e.g. for detecting the compiler ID for assemblers.
# Compute the directory in which to run the test and Create a clean working directory.
- SET(CMAKE_${lang}_COMPILER_ID_DIR ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CompilerId${lang})
- FILE(REMOVE_RECURSE ${CMAKE_${lang}_COMPILER_ID_DIR})
- FILE(MAKE_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR})
- ENDIF(NOT CMAKE_${lang}_COMPILER_ID_DIR)
+ set(CMAKE_${lang}_COMPILER_ID_DIR ${CMAKE_PLATFORM_INFO_DIR}/CompilerId${lang})
+ file(REMOVE_RECURSE ${CMAKE_${lang}_COMPILER_ID_DIR})
+ file(MAKE_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR})
+ endif()
- FOREACH(vendor ${CMAKE_${lang}_COMPILER_ID_VENDORS})
- SET(flags ${CMAKE_${lang}_COMPILER_ID_VENDOR_FLAGS_${vendor}})
- SET(regex ${CMAKE_${lang}_COMPILER_ID_VENDOR_REGEX_${vendor}})
- EXECUTE_PROCESS(
+ foreach(vendor ${CMAKE_${lang}_COMPILER_ID_VENDORS})
+ set(flags ${CMAKE_${lang}_COMPILER_ID_VENDOR_FLAGS_${vendor}})
+ set(regex ${CMAKE_${lang}_COMPILER_ID_VENDOR_REGEX_${vendor}})
+ execute_process(
COMMAND ${CMAKE_${lang}_COMPILER}
${CMAKE_${lang}_COMPILER_ID_ARG1}
${CMAKE_${lang}_COMPILER_ID_FLAGS_LIST}
@@ -302,22 +421,22 @@ FUNCTION(CMAKE_DETERMINE_COMPILER_ID_VENDOR lang)
TIMEOUT 10
)
- IF("${output}" MATCHES "${regex}")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ if("${output}" MATCHES "${regex}")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Checking whether the ${lang} compiler is ${vendor} using \"${flags}\" "
"matched \"${regex}\":\n${output}")
- SET(CMAKE_${lang}_COMPILER_ID "${vendor}" PARENT_SCOPE)
- BREAK()
- ELSE()
- IF("${result}" MATCHES "timeout")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ set(CMAKE_${lang}_COMPILER_ID "${vendor}" PARENT_SCOPE)
+ break()
+ else()
+ if("${result}" MATCHES "timeout")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Checking whether the ${lang} compiler is ${vendor} using \"${flags}\" "
"terminated after 10 s due to timeout.")
- ELSE()
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ else()
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Checking whether the ${lang} compiler is ${vendor} using \"${flags}\" "
"did not match \"${regex}\":\n${output}")
- ENDIF()
- ENDIF()
- ENDFOREACH()
-ENDFUNCTION(CMAKE_DETERMINE_COMPILER_ID_VENDOR)
+ endif()
+ endif()
+ endforeach()
+endfunction()
diff --git a/Modules/CMakeDetermineFortranCompiler.cmake b/Modules/CMakeDetermineFortranCompiler.cmake
index ade6d586c..f861e3954 100644
--- a/Modules/CMakeDetermineFortranCompiler.cmake
+++ b/Modules/CMakeDetermineFortranCompiler.cmake
@@ -15,214 +15,215 @@
# determine the compiler to use for Fortran programs
# NOTE, a generator may set CMAKE_Fortran_COMPILER before
# loading this file to force a compiler.
-# use environment variable FC first if defined by user, next use
+# use environment variable FC first if defined by user, next use
# the cmake variable CMAKE_GENERATOR_FC which can be defined by a generator
# as a default compiler
-IF(NOT CMAKE_Fortran_COMPILER)
- # prefer the environment variable CC
- IF($ENV{FC} MATCHES ".+")
- GET_FILENAME_COMPONENT(CMAKE_Fortran_COMPILER_INIT $ENV{FC} PROGRAM PROGRAM_ARGS CMAKE_Fortran_FLAGS_ENV_INIT)
- IF(CMAKE_Fortran_FLAGS_ENV_INIT)
- SET(CMAKE_Fortran_COMPILER_ARG1 "${CMAKE_Fortran_FLAGS_ENV_INIT}" CACHE STRING "First argument to Fortran compiler")
- ENDIF(CMAKE_Fortran_FLAGS_ENV_INIT)
- IF(EXISTS ${CMAKE_Fortran_COMPILER_INIT})
- ELSE(EXISTS ${CMAKE_Fortran_COMPILER_INIT})
- MESSAGE(FATAL_ERROR "Could not find compiler set in environment variable FC:\n$ENV{FC}.")
- ENDIF(EXISTS ${CMAKE_Fortran_COMPILER_INIT})
- ENDIF($ENV{FC} MATCHES ".+")
-
- # next try prefer the compiler specified by the generator
- IF(CMAKE_GENERATOR_FC)
- IF(NOT CMAKE_Fortran_COMPILER_INIT)
- SET(CMAKE_Fortran_COMPILER_INIT ${CMAKE_GENERATOR_FC})
- ENDIF(NOT CMAKE_Fortran_COMPILER_INIT)
- ENDIF(CMAKE_GENERATOR_FC)
-
- # finally list compilers to try
- IF(CMAKE_Fortran_COMPILER_INIT)
- SET(CMAKE_Fortran_COMPILER_LIST ${CMAKE_Fortran_COMPILER_INIT})
- ELSE(CMAKE_Fortran_COMPILER_INIT)
- # Known compilers:
- # f77/f90/f95: generic compiler names
- # g77: GNU Fortran 77 compiler
- # gfortran: putative GNU Fortran 95+ compiler (in progress)
- # fort77: native F77 compiler under HP-UX (and some older Crays)
- # frt: Fujitsu F77 compiler
- # pathf90/pathf95/pathf2003: PathScale Fortran compiler
- # pgf77/pgf90/pgf95/pgfortran: Portland Group F77/F90/F95 compilers
- # xlf/xlf90/xlf95: IBM (AIX) F77/F90/F95 compilers
- # lf95: Lahey-Fujitsu F95 compiler
- # fl32: Microsoft Fortran 77 "PowerStation" compiler
- # af77: Apogee F77 compiler for Intergraph hardware running CLIX
- # epcf90: "Edinburgh Portable Compiler" F90
- # fort: Compaq (now HP) Fortran 90/95 compiler for Tru64 and Linux/Alpha
- # ifc: Intel Fortran 95 compiler for Linux/x86
- # efc: Intel Fortran 95 compiler for IA64
- #
- # The order is 95 or newer compilers first, then 90,
- # then 77 or older compilers, gnu is always last in the group,
- # so if you paid for a compiler it is picked by default.
- SET(CMAKE_Fortran_COMPILER_LIST
- ifort ifc af95 af90 efc f95 pathf2003 pathf95 pgf95 pgfortran lf95 xlf95
- fort gfortran gfortran-4 g95 f90 pathf90 pgf90 xlf90 epcf90 fort77
- frt pgf77 xlf fl32 af77 g77 f77
- )
-
- # Vendor-specific compiler names.
- SET(_Fortran_COMPILER_NAMES_GNU gfortran gfortran-4 g95 g77)
- SET(_Fortran_COMPILER_NAMES_Intel ifort ifc efc)
- SET(_Fortran_COMPILER_NAMES_Absoft af95 af90 af77)
- SET(_Fortran_COMPILER_NAMES_PGI pgf95 pgfortran pgf90 pgf77)
- SET(_Fortran_COMPILER_NAMES_PathScale pathf2003 pathf95 pathf90)
- SET(_Fortran_COMPILER_NAMES_XL xlf)
- SET(_Fortran_COMPILER_NAMES_VisualAge xlf95 xlf90 xlf)
-
- # Prefer vendors matching the C and C++ compilers.
- SET(CMAKE_Fortran_COMPILER_LIST
- ${_Fortran_COMPILER_NAMES_${CMAKE_C_COMPILER_ID}}
- ${_Fortran_COMPILER_NAMES_${CMAKE_CXX_COMPILER_ID}}
- ${CMAKE_Fortran_COMPILER_LIST})
- LIST(REMOVE_DUPLICATES CMAKE_Fortran_COMPILER_LIST)
- ENDIF(CMAKE_Fortran_COMPILER_INIT)
-
- # Look for directories containing the C and C++ compilers.
- SET(_Fortran_COMPILER_HINTS)
- FOREACH(lang C CXX)
- IF(CMAKE_${lang}_COMPILER AND IS_ABSOLUTE "${CMAKE_${lang}_COMPILER}")
- GET_FILENAME_COMPONENT(_hint "${CMAKE_${lang}_COMPILER}" PATH)
- IF(IS_DIRECTORY "${_hint}")
- LIST(APPEND _Fortran_COMPILER_HINTS "${_hint}")
- ENDIF()
- SET(_hint)
- ENDIF()
- ENDFOREACH()
-
- # Find the compiler.
- IF(_Fortran_COMPILER_HINTS)
- # Prefer directories containing C and C++ compilers.
- LIST(REMOVE_DUPLICATES _Fortran_COMPILER_HINTS)
- FIND_PROGRAM(CMAKE_Fortran_COMPILER
- NAMES ${CMAKE_Fortran_COMPILER_LIST}
- PATHS ${_Fortran_COMPILER_HINTS}
- NO_DEFAULT_PATH
- DOC "Fortran compiler")
- ENDIF()
- FIND_PROGRAM(CMAKE_Fortran_COMPILER NAMES ${CMAKE_Fortran_COMPILER_LIST} DOC "Fortran compiler")
- IF(CMAKE_Fortran_COMPILER_INIT AND NOT CMAKE_Fortran_COMPILER)
- SET(CMAKE_Fortran_COMPILER "${CMAKE_Fortran_COMPILER_INIT}" CACHE FILEPATH "Fortran compiler" FORCE)
- ENDIF(CMAKE_Fortran_COMPILER_INIT AND NOT CMAKE_Fortran_COMPILER)
-ELSE(NOT CMAKE_Fortran_COMPILER)
- # we only get here if CMAKE_Fortran_COMPILER was specified using -D or a pre-made CMakeCache.txt
- # (e.g. via ctest) or set in CMAKE_TOOLCHAIN_FILE
- # if CMAKE_Fortran_COMPILER is a list of length 2, use the first item as
- # CMAKE_Fortran_COMPILER and the 2nd one as CMAKE_Fortran_COMPILER_ARG1
-
- LIST(LENGTH CMAKE_Fortran_COMPILER _CMAKE_Fortran_COMPILER_LIST_LENGTH)
- IF("${_CMAKE_Fortran_COMPILER_LIST_LENGTH}" EQUAL 2)
- LIST(GET CMAKE_Fortran_COMPILER 1 CMAKE_Fortran_COMPILER_ARG1)
- LIST(GET CMAKE_Fortran_COMPILER 0 CMAKE_Fortran_COMPILER)
- ENDIF("${_CMAKE_Fortran_COMPILER_LIST_LENGTH}" EQUAL 2)
-
- # if a compiler was specified by the user but without path,
- # now try to find it with the full path
- # if it is found, force it into the cache,
- # if not, don't overwrite the setting (which was given by the user) with "NOTFOUND"
- # if the C compiler already had a path, reuse it for searching the CXX compiler
- GET_FILENAME_COMPONENT(_CMAKE_USER_Fortran_COMPILER_PATH "${CMAKE_Fortran_COMPILER}" PATH)
- IF(NOT _CMAKE_USER_Fortran_COMPILER_PATH)
- FIND_PROGRAM(CMAKE_Fortran_COMPILER_WITH_PATH NAMES ${CMAKE_Fortran_COMPILER})
- MARK_AS_ADVANCED(CMAKE_Fortran_COMPILER_WITH_PATH)
- IF(CMAKE_Fortran_COMPILER_WITH_PATH)
- SET(CMAKE_Fortran_COMPILER ${CMAKE_Fortran_COMPILER_WITH_PATH}
- CACHE STRING "Fortran compiler" FORCE)
- ENDIF(CMAKE_Fortran_COMPILER_WITH_PATH)
- ENDIF(NOT _CMAKE_USER_Fortran_COMPILER_PATH)
-ENDIF(NOT CMAKE_Fortran_COMPILER)
-
-MARK_AS_ADVANCED(CMAKE_Fortran_COMPILER)
-
-# Build a small source file to identify the compiler.
-IF(${CMAKE_GENERATOR} MATCHES "Visual Studio")
- SET(CMAKE_Fortran_COMPILER_ID_RUN 1)
- SET(CMAKE_Fortran_PLATFORM_ID "Windows")
- SET(CMAKE_Fortran_COMPILER_ID "Intel")
-ENDIF(${CMAKE_GENERATOR} MATCHES "Visual Studio")
-
-IF(NOT CMAKE_Fortran_COMPILER_ID_RUN)
- SET(CMAKE_Fortran_COMPILER_ID_RUN 1)
+include(${CMAKE_ROOT}/Modules/CMakeDetermineCompiler.cmake)
+include(Platform/${CMAKE_SYSTEM_NAME}-Fortran OPTIONAL)
+if(NOT CMAKE_Fortran_COMPILER_NAMES)
+ set(CMAKE_Fortran_COMPILER_NAMES f95)
+endif()
+
+if(${CMAKE_GENERATOR} MATCHES "Visual Studio")
+ set(CMAKE_Fortran_COMPILER_ID_RUN 1)
+ set(CMAKE_Fortran_PLATFORM_ID "Windows")
+ set(CMAKE_Fortran_COMPILER_ID "Intel")
+ set(CMAKE_Fortran_COMPILER "${CMAKE_GENERATOR_FC}")
+elseif("${CMAKE_GENERATOR}" MATCHES "Xcode")
+ set(CMAKE_Fortran_COMPILER_XCODE_TYPE sourcecode.fortran.f90)
+else()
+ if(NOT CMAKE_Fortran_COMPILER)
+ # prefer the environment variable CC
+ if($ENV{FC} MATCHES ".+")
+ get_filename_component(CMAKE_Fortran_COMPILER_INIT $ENV{FC} PROGRAM PROGRAM_ARGS CMAKE_Fortran_FLAGS_ENV_INIT)
+ if(CMAKE_Fortran_FLAGS_ENV_INIT)
+ set(CMAKE_Fortran_COMPILER_ARG1 "${CMAKE_Fortran_FLAGS_ENV_INIT}" CACHE STRING "First argument to Fortran compiler")
+ endif()
+ if(EXISTS ${CMAKE_Fortran_COMPILER_INIT})
+ else()
+ message(FATAL_ERROR "Could not find compiler set in environment variable FC:\n$ENV{FC}.")
+ endif()
+ endif()
+
+ # next try prefer the compiler specified by the generator
+ if(CMAKE_GENERATOR_FC)
+ if(NOT CMAKE_Fortran_COMPILER_INIT)
+ set(CMAKE_Fortran_COMPILER_INIT ${CMAKE_GENERATOR_FC})
+ endif()
+ endif()
+
+ # finally list compilers to try
+ if(NOT CMAKE_Fortran_COMPILER_INIT)
+ # Known compilers:
+ # f77/f90/f95: generic compiler names
+ # g77: GNU Fortran 77 compiler
+ # gfortran: putative GNU Fortran 95+ compiler (in progress)
+ # fort77: native F77 compiler under HP-UX (and some older Crays)
+ # frt: Fujitsu F77 compiler
+ # pathf90/pathf95/pathf2003: PathScale Fortran compiler
+ # pgf77/pgf90/pgf95/pgfortran: Portland Group F77/F90/F95 compilers
+ # xlf/xlf90/xlf95: IBM (AIX) F77/F90/F95 compilers
+ # lf95: Lahey-Fujitsu F95 compiler
+ # fl32: Microsoft Fortran 77 "PowerStation" compiler
+ # af77: Apogee F77 compiler for Intergraph hardware running CLIX
+ # epcf90: "Edinburgh Portable Compiler" F90
+ # fort: Compaq (now HP) Fortran 90/95 compiler for Tru64 and Linux/Alpha
+ # ifc: Intel Fortran 95 compiler for Linux/x86
+ # efc: Intel Fortran 95 compiler for IA64
+ #
+ # The order is 95 or newer compilers first, then 90,
+ # then 77 or older compilers, gnu is always last in the group,
+ # so if you paid for a compiler it is picked by default.
+ set(CMAKE_Fortran_COMPILER_LIST
+ ifort ifc af95 af90 efc f95 pathf2003 pathf95 pgf95 pgfortran lf95 xlf95
+ fort gfortran gfortran-4 g95 f90 pathf90 pgf90 xlf90 epcf90 fort77
+ frt pgf77 xlf fl32 af77 g77 f77
+ )
+
+ # Vendor-specific compiler names.
+ set(_Fortran_COMPILER_NAMES_GNU gfortran gfortran-4 g95 g77)
+ set(_Fortran_COMPILER_NAMES_Intel ifort ifc efc)
+ set(_Fortran_COMPILER_NAMES_Absoft af95 af90 af77)
+ set(_Fortran_COMPILER_NAMES_PGI pgf95 pgfortran pgf90 pgf77)
+ set(_Fortran_COMPILER_NAMES_PathScale pathf2003 pathf95 pathf90)
+ set(_Fortran_COMPILER_NAMES_XL xlf)
+ set(_Fortran_COMPILER_NAMES_VisualAge xlf95 xlf90 xlf)
+ endif()
+
+ _cmake_find_compiler(Fortran)
+
+ else()
+ # we only get here if CMAKE_Fortran_COMPILER was specified using -D or a pre-made CMakeCache.txt
+ # (e.g. via ctest) or set in CMAKE_TOOLCHAIN_FILE
+ # if CMAKE_Fortran_COMPILER is a list of length 2, use the first item as
+ # CMAKE_Fortran_COMPILER and the 2nd one as CMAKE_Fortran_COMPILER_ARG1
+
+ list(LENGTH CMAKE_Fortran_COMPILER _CMAKE_Fortran_COMPILER_LIST_LENGTH)
+ if("${_CMAKE_Fortran_COMPILER_LIST_LENGTH}" EQUAL 2)
+ list(GET CMAKE_Fortran_COMPILER 1 CMAKE_Fortran_COMPILER_ARG1)
+ list(GET CMAKE_Fortran_COMPILER 0 CMAKE_Fortran_COMPILER)
+ endif()
+
+ # if a compiler was specified by the user but without path,
+ # now try to find it with the full path
+ # if it is found, force it into the cache,
+ # if not, don't overwrite the setting (which was given by the user) with "NOTFOUND"
+ # if the C compiler already had a path, reuse it for searching the CXX compiler
+ get_filename_component(_CMAKE_USER_Fortran_COMPILER_PATH "${CMAKE_Fortran_COMPILER}" PATH)
+ if(NOT _CMAKE_USER_Fortran_COMPILER_PATH)
+ find_program(CMAKE_Fortran_COMPILER_WITH_PATH NAMES ${CMAKE_Fortran_COMPILER})
+ mark_as_advanced(CMAKE_Fortran_COMPILER_WITH_PATH)
+ if(CMAKE_Fortran_COMPILER_WITH_PATH)
+ set(CMAKE_Fortran_COMPILER ${CMAKE_Fortran_COMPILER_WITH_PATH}
+ CACHE STRING "Fortran compiler" FORCE)
+ endif()
+ endif()
+ endif()
+ mark_as_advanced(CMAKE_Fortran_COMPILER)
# Each entry in this list is a set of extra flags to try
# adding to the compile line to see if it helps produce
# a valid identification executable.
- SET(CMAKE_Fortran_COMPILER_ID_TEST_FLAGS
+ set(CMAKE_Fortran_COMPILER_ID_TEST_FLAGS
# Try compiling to an object file only.
"-c"
# Intel on windows does not preprocess by default.
"-fpp"
)
+endif()
+
+# Build a small source file to identify the compiler.
+if(NOT CMAKE_Fortran_COMPILER_ID_RUN)
+ set(CMAKE_Fortran_COMPILER_ID_RUN 1)
# Table of per-vendor compiler id flags with expected output.
- LIST(APPEND CMAKE_Fortran_COMPILER_ID_VENDORS Compaq)
- SET(CMAKE_Fortran_COMPILER_ID_VENDOR_FLAGS_Compaq "-what")
- SET(CMAKE_Fortran_COMPILER_ID_VENDOR_REGEX_Compaq "Compaq Visual Fortran")
- LIST(APPEND CMAKE_Fortran_COMPILER_ID_VENDORS NAG) # Numerical Algorithms Group
- SET(CMAKE_Fortran_COMPILER_ID_VENDOR_FLAGS_NAG "-V")
- SET(CMAKE_Fortran_COMPILER_ID_VENDOR_REGEX_NAG "NAG Fortran Compiler")
+ list(APPEND CMAKE_Fortran_COMPILER_ID_VENDORS Compaq)
+ set(CMAKE_Fortran_COMPILER_ID_VENDOR_FLAGS_Compaq "-what")
+ set(CMAKE_Fortran_COMPILER_ID_VENDOR_REGEX_Compaq "Compaq Visual Fortran")
+ list(APPEND CMAKE_Fortran_COMPILER_ID_VENDORS NAG) # Numerical Algorithms Group
+ set(CMAKE_Fortran_COMPILER_ID_VENDOR_FLAGS_NAG "-V")
+ set(CMAKE_Fortran_COMPILER_ID_VENDOR_REGEX_NAG "NAG Fortran Compiler")
# Try to identify the compiler.
- SET(CMAKE_Fortran_COMPILER_ID)
- INCLUDE(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerId.cmake)
+ set(CMAKE_Fortran_COMPILER_ID)
+ include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerId.cmake)
CMAKE_DETERMINE_COMPILER_ID(Fortran FFLAGS CMakeFortranCompilerId.F)
# Fall back to old is-GNU test.
- IF(NOT CMAKE_Fortran_COMPILER_ID)
- EXEC_PROGRAM(${CMAKE_Fortran_COMPILER}
+ if(NOT CMAKE_Fortran_COMPILER_ID)
+ exec_program(${CMAKE_Fortran_COMPILER}
ARGS ${CMAKE_Fortran_COMPILER_ID_FLAGS_LIST} -E "\"${CMAKE_ROOT}/Modules/CMakeTestGNU.c\""
OUTPUT_VARIABLE CMAKE_COMPILER_OUTPUT RETURN_VALUE CMAKE_COMPILER_RETURN)
- IF(NOT CMAKE_COMPILER_RETURN)
- IF("${CMAKE_COMPILER_OUTPUT}" MATCHES ".*THIS_IS_GNU.*" )
- SET(CMAKE_Fortran_COMPILER_ID "GNU")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ if(NOT CMAKE_COMPILER_RETURN)
+ if("${CMAKE_COMPILER_OUTPUT}" MATCHES ".*THIS_IS_GNU.*" )
+ set(CMAKE_Fortran_COMPILER_ID "GNU")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Determining if the Fortran compiler is GNU succeeded with "
"the following output:\n${CMAKE_COMPILER_OUTPUT}\n\n")
- ELSE("${CMAKE_COMPILER_OUTPUT}" MATCHES ".*THIS_IS_GNU.*" )
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ else()
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Determining if the Fortran compiler is GNU failed with "
"the following output:\n${CMAKE_COMPILER_OUTPUT}\n\n")
- ENDIF("${CMAKE_COMPILER_OUTPUT}" MATCHES ".*THIS_IS_GNU.*" )
- IF(NOT CMAKE_Fortran_PLATFORM_ID)
- IF("${CMAKE_COMPILER_OUTPUT}" MATCHES ".*THIS_IS_MINGW.*" )
- SET(CMAKE_Fortran_PLATFORM_ID "MinGW")
- ENDIF("${CMAKE_COMPILER_OUTPUT}" MATCHES ".*THIS_IS_MINGW.*" )
- IF("${CMAKE_COMPILER_OUTPUT}" MATCHES ".*THIS_IS_CYGWIN.*" )
- SET(CMAKE_Fortran_PLATFORM_ID "Cygwin")
- ENDIF("${CMAKE_COMPILER_OUTPUT}" MATCHES ".*THIS_IS_CYGWIN.*" )
- ENDIF(NOT CMAKE_Fortran_PLATFORM_ID)
- ENDIF(NOT CMAKE_COMPILER_RETURN)
- ENDIF(NOT CMAKE_Fortran_COMPILER_ID)
+ endif()
+ if(NOT CMAKE_Fortran_PLATFORM_ID)
+ if("${CMAKE_COMPILER_OUTPUT}" MATCHES ".*THIS_IS_MINGW.*" )
+ set(CMAKE_Fortran_PLATFORM_ID "MinGW")
+ endif()
+ if("${CMAKE_COMPILER_OUTPUT}" MATCHES ".*THIS_IS_CYGWIN.*" )
+ set(CMAKE_Fortran_PLATFORM_ID "Cygwin")
+ endif()
+ endif()
+ endif()
+ endif()
# Set old compiler and platform id variables.
- IF("${CMAKE_Fortran_COMPILER_ID}" MATCHES "GNU")
- SET(CMAKE_COMPILER_IS_GNUG77 1)
- ENDIF("${CMAKE_Fortran_COMPILER_ID}" MATCHES "GNU")
- IF("${CMAKE_Fortran_PLATFORM_ID}" MATCHES "MinGW")
- SET(CMAKE_COMPILER_IS_MINGW 1)
- ELSEIF("${CMAKE_Fortran_PLATFORM_ID}" MATCHES "Cygwin")
- SET(CMAKE_COMPILER_IS_CYGWIN 1)
- ENDIF("${CMAKE_Fortran_PLATFORM_ID}" MATCHES "MinGW")
-ENDIF(NOT CMAKE_Fortran_COMPILER_ID_RUN)
-
-INCLUDE(CMakeFindBinUtils)
-
-IF(MSVC_Fortran_ARCHITECTURE_ID)
- SET(SET_MSVC_Fortran_ARCHITECTURE_ID
- "SET(MSVC_Fortran_ARCHITECTURE_ID ${MSVC_Fortran_ARCHITECTURE_ID})")
-ENDIF()
+ if("${CMAKE_Fortran_COMPILER_ID}" MATCHES "GNU")
+ set(CMAKE_COMPILER_IS_GNUG77 1)
+ endif()
+ if("${CMAKE_Fortran_PLATFORM_ID}" MATCHES "MinGW")
+ set(CMAKE_COMPILER_IS_MINGW 1)
+ elseif("${CMAKE_Fortran_PLATFORM_ID}" MATCHES "Cygwin")
+ set(CMAKE_COMPILER_IS_CYGWIN 1)
+ endif()
+endif()
+
+if (NOT _CMAKE_TOOLCHAIN_LOCATION)
+ get_filename_component(_CMAKE_TOOLCHAIN_LOCATION "${CMAKE_Fortran_COMPILER}" PATH)
+endif ()
+
+# if we have a fortran cross compiler, they have usually some prefix, like
+# e.g. powerpc-linux-gfortran, arm-elf-gfortran or i586-mingw32msvc-gfortran , optionally
+# with a 3-component version number at the end (e.g. arm-eabi-gcc-4.5.2).
+# 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_Fortran_COMPILER_ID}" MATCHES "GNU"
+ AND NOT _CMAKE_TOOLCHAIN_PREFIX)
+ get_filename_component(COMPILER_BASENAME "${CMAKE_Fortran_COMPILER}" NAME)
+ if (COMPILER_BASENAME MATCHES "^(.+-)g?fortran(-[0-9]+\\.[0-9]+\\.[0-9]+)?(\\.exe)?$")
+ set(_CMAKE_TOOLCHAIN_PREFIX ${CMAKE_MATCH_1})
+ endif ()
+
+ # 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 ()
+endif ()
+
+include(CMakeFindBinUtils)
+
+if(MSVC_Fortran_ARCHITECTURE_ID)
+ set(SET_MSVC_Fortran_ARCHITECTURE_ID
+ "set(MSVC_Fortran_ARCHITECTURE_ID ${MSVC_Fortran_ARCHITECTURE_ID})")
+endif()
# configure variables set in this file for fast reload later on
-CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CMakeFortranCompiler.cmake.in
- ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeFortranCompiler.cmake
+configure_file(${CMAKE_ROOT}/Modules/CMakeFortranCompiler.cmake.in
+ ${CMAKE_PLATFORM_INFO_DIR}/CMakeFortranCompiler.cmake
@ONLY IMMEDIATE # IMMEDIATE must be here for compatibility mode <= 2.0
)
-SET(CMAKE_Fortran_COMPILER_ENV_VAR "FC")
+set(CMAKE_Fortran_COMPILER_ENV_VAR "FC")
diff --git a/Modules/CMakeDetermineJavaCompiler.cmake b/Modules/CMakeDetermineJavaCompiler.cmake
index aefcaba36..c4217f552 100644
--- a/Modules/CMakeDetermineJavaCompiler.cmake
+++ b/Modules/CMakeDetermineJavaCompiler.cmake
@@ -16,33 +16,33 @@
# NOTE, a generator may set CMAKE_Java_COMPILER before
# loading this file to force a compiler.
-IF(NOT CMAKE_Java_COMPILER)
+if(NOT CMAKE_Java_COMPILER)
# prefer the environment variable CC
- IF($ENV{JAVA_COMPILER} MATCHES ".+")
- GET_FILENAME_COMPONENT(CMAKE_Java_COMPILER_INIT $ENV{JAVA_COMPILER} PROGRAM PROGRAM_ARGS CMAKE_Java_FLAGS_ENV_INIT)
- IF(CMAKE_Java_FLAGS_ENV_INIT)
- SET(CMAKE_Java_COMPILER_ARG1 "${CMAKE_Java_FLAGS_ENV_INIT}" CACHE STRING "First argument to Java compiler")
- ENDIF(CMAKE_Java_FLAGS_ENV_INIT)
- IF(NOT EXISTS ${CMAKE_Java_COMPILER_INIT})
- MESSAGE(SEND_ERROR "Could not find compiler set in environment variable JAVA_COMPILER:\n$ENV{JAVA_COMPILER}.")
- ENDIF(NOT EXISTS ${CMAKE_Java_COMPILER_INIT})
- ENDIF($ENV{JAVA_COMPILER} MATCHES ".+")
+ if($ENV{JAVA_COMPILER} MATCHES ".+")
+ get_filename_component(CMAKE_Java_COMPILER_INIT $ENV{JAVA_COMPILER} PROGRAM PROGRAM_ARGS CMAKE_Java_FLAGS_ENV_INIT)
+ if(CMAKE_Java_FLAGS_ENV_INIT)
+ set(CMAKE_Java_COMPILER_ARG1 "${CMAKE_Java_FLAGS_ENV_INIT}" CACHE STRING "First argument to Java compiler")
+ endif()
+ if(NOT EXISTS ${CMAKE_Java_COMPILER_INIT})
+ message(SEND_ERROR "Could not find compiler set in environment variable JAVA_COMPILER:\n$ENV{JAVA_COMPILER}.")
+ endif()
+ endif()
- IF($ENV{JAVA_RUNTIME} MATCHES ".+")
- GET_FILENAME_COMPONENT(CMAKE_Java_RUNTIME_INIT $ENV{JAVA_RUNTIME} PROGRAM PROGRAM_ARGS CMAKE_Java_FLAGS_ENV_INIT)
- IF(NOT EXISTS ${CMAKE_Java_RUNTIME_INIT})
- MESSAGE(SEND_ERROR "Could not find compiler set in environment variable JAVA_RUNTIME:\n$ENV{JAVA_RUNTIME}.")
- ENDIF(NOT EXISTS ${CMAKE_Java_RUNTIME_INIT})
- ENDIF($ENV{JAVA_RUNTIME} MATCHES ".+")
+ if($ENV{JAVA_RUNTIME} MATCHES ".+")
+ get_filename_component(CMAKE_Java_RUNTIME_INIT $ENV{JAVA_RUNTIME} PROGRAM PROGRAM_ARGS CMAKE_Java_FLAGS_ENV_INIT)
+ if(NOT EXISTS ${CMAKE_Java_RUNTIME_INIT})
+ message(SEND_ERROR "Could not find compiler set in environment variable JAVA_RUNTIME:\n$ENV{JAVA_RUNTIME}.")
+ endif()
+ endif()
- IF($ENV{JAVA_ARCHIVE} MATCHES ".+")
- GET_FILENAME_COMPONENT(CMAKE_Java_ARCHIVE_INIT $ENV{JAVA_ARCHIVE} PROGRAM PROGRAM_ARGS CMAKE_Java_FLAGS_ENV_INIT)
- IF(NOT EXISTS ${CMAKE_Java_ARCHIVE_INIT})
- MESSAGE(SEND_ERROR "Could not find compiler set in environment variable JAVA_ARCHIVE:\n$ENV{JAVA_ARCHIVE}.")
- ENDIF(NOT EXISTS ${CMAKE_Java_ARCHIVE_INIT})
- ENDIF($ENV{JAVA_ARCHIVE} MATCHES ".+")
+ if($ENV{JAVA_ARCHIVE} MATCHES ".+")
+ get_filename_component(CMAKE_Java_ARCHIVE_INIT $ENV{JAVA_ARCHIVE} PROGRAM PROGRAM_ARGS CMAKE_Java_FLAGS_ENV_INIT)
+ if(NOT EXISTS ${CMAKE_Java_ARCHIVE_INIT})
+ message(SEND_ERROR "Could not find compiler set in environment variable JAVA_ARCHIVE:\n$ENV{JAVA_ARCHIVE}.")
+ endif()
+ endif()
- SET(Java_BIN_PATH
+ set(Java_BIN_PATH
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\2.0;JavaHome]/bin"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.9;JavaHome]/bin"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.8;JavaHome]/bin"
@@ -65,38 +65,38 @@ IF(NOT CMAKE_Java_COMPILER)
/opt/sun-jdk-1.5.0.04/bin
)
# if no compiler has been specified yet, then look for one
- IF(CMAKE_Java_COMPILER_INIT)
- SET(CMAKE_Java_COMPILER ${CMAKE_Java_COMPILER_INIT} CACHE PATH "Java Compiler")
- ELSE(CMAKE_Java_COMPILER_INIT)
- FIND_PROGRAM(CMAKE_Java_COMPILER
+ if(CMAKE_Java_COMPILER_INIT)
+ set(CMAKE_Java_COMPILER ${CMAKE_Java_COMPILER_INIT} CACHE PATH "Java Compiler")
+ else()
+ find_program(CMAKE_Java_COMPILER
NAMES javac
PATHS ${Java_BIN_PATH}
- )
- ENDIF(CMAKE_Java_COMPILER_INIT)
+ )
+ endif()
# if no runtime has been specified yet, then look for one
- IF(CMAKE_Java_RUNTIME_INIT)
- SET(CMAKE_Java_RUNTIME ${CMAKE_Java_RUNTIME_INIT} CACHE PATH "Java Compiler")
- ELSE(CMAKE_Java_RUNTIME_INIT)
- FIND_PROGRAM(CMAKE_Java_RUNTIME
+ if(CMAKE_Java_RUNTIME_INIT)
+ set(CMAKE_Java_RUNTIME ${CMAKE_Java_RUNTIME_INIT} CACHE PATH "Java Compiler")
+ else()
+ find_program(CMAKE_Java_RUNTIME
NAMES java
PATHS ${Java_BIN_PATH}
- )
- ENDIF(CMAKE_Java_RUNTIME_INIT)
+ )
+ endif()
# if no archive has been specified yet, then look for one
- IF(CMAKE_Java_ARCHIVE_INIT)
- SET(CMAKE_Java_ARCHIVE ${CMAKE_Java_ARCHIVE_INIT} CACHE PATH "Java Compiler")
- ELSE(CMAKE_Java_ARCHIVE_INIT)
- FIND_PROGRAM(CMAKE_Java_ARCHIVE
+ if(CMAKE_Java_ARCHIVE_INIT)
+ set(CMAKE_Java_ARCHIVE ${CMAKE_Java_ARCHIVE_INIT} CACHE PATH "Java Compiler")
+ else()
+ find_program(CMAKE_Java_ARCHIVE
NAMES jar
PATHS ${Java_BIN_PATH}
- )
- ENDIF(CMAKE_Java_ARCHIVE_INIT)
-ENDIF(NOT CMAKE_Java_COMPILER)
-MARK_AS_ADVANCED(CMAKE_Java_COMPILER)
+ )
+ endif()
+endif()
+mark_as_advanced(CMAKE_Java_COMPILER)
# configure variables set in this file for fast reload later on
-CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CMakeJavaCompiler.cmake.in
- ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeJavaCompiler.cmake IMMEDIATE @ONLY)
-SET(CMAKE_Java_COMPILER_ENV_VAR "JAVA_COMPILER")
+configure_file(${CMAKE_ROOT}/Modules/CMakeJavaCompiler.cmake.in
+ ${CMAKE_PLATFORM_INFO_DIR}/CMakeJavaCompiler.cmake IMMEDIATE @ONLY)
+set(CMAKE_Java_COMPILER_ENV_VAR "JAVA_COMPILER")
diff --git a/Modules/CMakeDetermineRCCompiler.cmake b/Modules/CMakeDetermineRCCompiler.cmake
index 8e085af7a..fa78da03c 100644
--- a/Modules/CMakeDetermineRCCompiler.cmake
+++ b/Modules/CMakeDetermineRCCompiler.cmake
@@ -15,53 +15,53 @@
# determine the compiler to use for C programs
# NOTE, a generator may set CMAKE_C_COMPILER before
# loading this file to force a compiler.
-# use environment variable CCC first if defined by user, next use
+# use environment variable CCC first if defined by user, next use
# the cmake variable CMAKE_GENERATOR_CC which can be defined by a generator
# as a default compiler
-IF(NOT CMAKE_RC_COMPILER)
+if(NOT CMAKE_RC_COMPILER)
# prefer the environment variable CC
- IF($ENV{RC} MATCHES ".+")
- GET_FILENAME_COMPONENT(CMAKE_RC_COMPILER_INIT $ENV{RC} PROGRAM PROGRAM_ARGS CMAKE_RC_FLAGS_ENV_INIT)
- IF(CMAKE_RC_FLAGS_ENV_INIT)
- SET(CMAKE_RC_COMPILER_ARG1 "${CMAKE_RC_FLAGS_ENV_INIT}" CACHE STRING "First argument to RC compiler")
- ENDIF(CMAKE_RC_FLAGS_ENV_INIT)
- IF(EXISTS ${CMAKE_RC_COMPILER_INIT})
- ELSE(EXISTS ${CMAKE_RC_COMPILER_INIT})
- MESSAGE(FATAL_ERROR "Could not find compiler set in environment variable RC:\n$ENV{RC}.")
- ENDIF(EXISTS ${CMAKE_RC_COMPILER_INIT})
- ENDIF($ENV{RC} MATCHES ".+")
-
+ if($ENV{RC} MATCHES ".+")
+ get_filename_component(CMAKE_RC_COMPILER_INIT $ENV{RC} PROGRAM PROGRAM_ARGS CMAKE_RC_FLAGS_ENV_INIT)
+ if(CMAKE_RC_FLAGS_ENV_INIT)
+ set(CMAKE_RC_COMPILER_ARG1 "${CMAKE_RC_FLAGS_ENV_INIT}" CACHE STRING "First argument to RC compiler")
+ endif()
+ if(EXISTS ${CMAKE_RC_COMPILER_INIT})
+ else()
+ message(FATAL_ERROR "Could not find compiler set in environment variable RC:\n$ENV{RC}.")
+ endif()
+ endif()
+
# next try prefer the compiler specified by the generator
- IF(CMAKE_GENERATOR_RC)
- IF(NOT CMAKE_RC_COMPILER_INIT)
- SET(CMAKE_RC_COMPILER_INIT ${CMAKE_GENERATOR_RC})
- ENDIF(NOT CMAKE_RC_COMPILER_INIT)
- ENDIF(CMAKE_GENERATOR_RC)
+ if(CMAKE_GENERATOR_RC)
+ if(NOT CMAKE_RC_COMPILER_INIT)
+ set(CMAKE_RC_COMPILER_INIT ${CMAKE_GENERATOR_RC})
+ endif()
+ endif()
# finally list compilers to try
- IF(CMAKE_RC_COMPILER_INIT)
- SET(CMAKE_RC_COMPILER_LIST ${CMAKE_RC_COMPILER_INIT})
- ELSE(CMAKE_RC_COMPILER_INIT)
- SET(CMAKE_RC_COMPILER_LIST rc)
- ENDIF(CMAKE_RC_COMPILER_INIT)
+ if(CMAKE_RC_COMPILER_INIT)
+ set(CMAKE_RC_COMPILER_LIST ${CMAKE_RC_COMPILER_INIT})
+ else()
+ set(CMAKE_RC_COMPILER_LIST rc)
+ endif()
# Find the compiler.
- FIND_PROGRAM(CMAKE_RC_COMPILER NAMES ${CMAKE_RC_COMPILER_LIST} DOC "RC compiler")
- IF(CMAKE_RC_COMPILER_INIT AND NOT CMAKE_RC_COMPILER)
- SET(CMAKE_RC_COMPILER "${CMAKE_RC_COMPILER_INIT}" CACHE FILEPATH "RC compiler" FORCE)
- ENDIF(CMAKE_RC_COMPILER_INIT AND NOT CMAKE_RC_COMPILER)
-ENDIF(NOT CMAKE_RC_COMPILER)
+ find_program(CMAKE_RC_COMPILER NAMES ${CMAKE_RC_COMPILER_LIST} DOC "RC compiler")
+ if(CMAKE_RC_COMPILER_INIT AND NOT CMAKE_RC_COMPILER)
+ set(CMAKE_RC_COMPILER "${CMAKE_RC_COMPILER_INIT}" CACHE FILEPATH "RC compiler" FORCE)
+ endif()
+endif()
-MARK_AS_ADVANCED(CMAKE_RC_COMPILER)
+mark_as_advanced(CMAKE_RC_COMPILER)
-GET_FILENAME_COMPONENT(_CMAKE_RC_COMPILER_NAME_WE ${CMAKE_RC_COMPILER} NAME_WE)
-IF(_CMAKE_RC_COMPILER_NAME_WE STREQUAL "windres")
- SET(CMAKE_RC_OUTPUT_EXTENSION .obj)
-ELSE()
- SET(CMAKE_RC_OUTPUT_EXTENSION .res)
-ENDIF()
+get_filename_component(_CMAKE_RC_COMPILER_NAME_WE ${CMAKE_RC_COMPILER} NAME_WE)
+if(_CMAKE_RC_COMPILER_NAME_WE STREQUAL "windres")
+ set(CMAKE_RC_OUTPUT_EXTENSION .obj)
+else()
+ set(CMAKE_RC_OUTPUT_EXTENSION .res)
+endif()
# configure variables set in this file for fast reload later on
-CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CMakeRCCompiler.cmake.in
- ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeRCCompiler.cmake IMMEDIATE)
-SET(CMAKE_RC_COMPILER_ENV_VAR "RC")
+configure_file(${CMAKE_ROOT}/Modules/CMakeRCCompiler.cmake.in
+ ${CMAKE_PLATFORM_INFO_DIR}/CMakeRCCompiler.cmake IMMEDIATE)
+set(CMAKE_RC_COMPILER_ENV_VAR "RC")
diff --git a/Modules/CMakeDetermineSystem.cmake b/Modules/CMakeDetermineSystem.cmake
index 7ae377517..cd3344756 100644
--- a/Modules/CMakeDetermineSystem.cmake
+++ b/Modules/CMakeDetermineSystem.cmake
@@ -19,158 +19,158 @@
#
# Expected uname -s output:
#
-# AIX AIX
-# BSD/OS BSD/OS
-# FreeBSD FreeBSD
-# HP-UX HP-UX
-# IRIX IRIX
-# Linux Linux
+# AIX AIX
+# BSD/OS BSD/OS
+# FreeBSD FreeBSD
+# HP-UX HP-UX
+# IRIX IRIX
+# Linux Linux
# GNU/kFreeBSD GNU/kFreeBSD
-# NetBSD NetBSD
-# OpenBSD OpenBSD
-# OFS/1 (Digital Unix) OSF1
-# SCO OpenServer 5 SCO_SV
-# SCO UnixWare 7 UnixWare
-# SCO UnixWare (pre release 7) UNIX_SV
-# SCO XENIX Xenix
-# Solaris SunOS
-# SunOS SunOS
-# Tru64 Tru64
-# Ultrix ULTRIX
+# NetBSD NetBSD
+# OpenBSD OpenBSD
+# OFS/1 (Digital Unix) OSF1
+# SCO OpenServer 5 SCO_SV
+# SCO UnixWare 7 UnixWare
+# SCO UnixWare (pre release 7) UNIX_SV
+# SCO XENIX Xenix
+# Solaris SunOS
+# SunOS SunOS
+# Tru64 Tru64
+# Ultrix ULTRIX
# cygwin CYGWIN_NT-5.1
# MacOSX Darwin
# find out on which system cmake runs
-IF(CMAKE_HOST_UNIX)
- FIND_PROGRAM(CMAKE_UNAME uname /bin /usr/bin /usr/local/bin )
- IF(CMAKE_UNAME)
- EXEC_PROGRAM(uname ARGS -s OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_NAME)
- EXEC_PROGRAM(uname ARGS -r OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_VERSION)
- IF(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux|CYGWIN.*")
- EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR
+if(CMAKE_HOST_UNIX)
+ find_program(CMAKE_UNAME uname /bin /usr/bin /usr/local/bin )
+ if(CMAKE_UNAME)
+ exec_program(uname ARGS -s OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_NAME)
+ exec_program(uname ARGS -r OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_VERSION)
+ if(CMAKE_HOST_SYSTEM_NAME MATCHES "Linux|CYGWIN.*")
+ exec_program(uname ARGS -m OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR
RETURN_VALUE val)
- ELSEIF(CMAKE_HOST_SYSTEM_NAME MATCHES "OpenBSD")
- EXEC_PROGRAM(arch ARGS -s OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR
+ elseif(CMAKE_HOST_SYSTEM_NAME MATCHES "OpenBSD")
+ exec_program(arch ARGS -s OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR
RETURN_VALUE val)
- ELSE()
- EXEC_PROGRAM(uname ARGS -p OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR
+ else()
+ exec_program(uname ARGS -p OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR
RETURN_VALUE val)
- IF("${val}" GREATER 0)
- EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR
+ if("${val}" GREATER 0)
+ exec_program(uname ARGS -m OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_PROCESSOR
RETURN_VALUE val)
- ENDIF("${val}" GREATER 0)
- ENDIF()
- # check the return of the last uname -m or -p
- IF("${val}" GREATER 0)
- SET(CMAKE_HOST_SYSTEM_PROCESSOR "unknown")
- ENDIF("${val}" GREATER 0)
- SET(CMAKE_UNAME ${CMAKE_UNAME} CACHE INTERNAL "uname command")
+ endif()
+ endif()
+ # check the return of the last uname -m or -p
+ if("${val}" GREATER 0)
+ set(CMAKE_HOST_SYSTEM_PROCESSOR "unknown")
+ endif()
+ set(CMAKE_UNAME ${CMAKE_UNAME} CACHE INTERNAL "uname command")
# processor may have double quote in the name, and that needs to be removed
- STRING(REGEX REPLACE "\"" "" CMAKE_HOST_SYSTEM_PROCESSOR "${CMAKE_HOST_SYSTEM_PROCESSOR}")
- STRING(REGEX REPLACE "/" "_" CMAKE_HOST_SYSTEM_PROCESSOR "${CMAKE_HOST_SYSTEM_PROCESSOR}")
- ENDIF(CMAKE_UNAME)
-ELSE(CMAKE_HOST_UNIX)
- IF(CMAKE_HOST_WIN32)
- SET (CMAKE_HOST_SYSTEM_NAME "Windows")
- SET (CMAKE_HOST_SYSTEM_PROCESSOR "$ENV{PROCESSOR_ARCHITECTURE}")
- ENDIF(CMAKE_HOST_WIN32)
-ENDIF(CMAKE_HOST_UNIX)
+ string(REGEX REPLACE "\"" "" CMAKE_HOST_SYSTEM_PROCESSOR "${CMAKE_HOST_SYSTEM_PROCESSOR}")
+ string(REGEX REPLACE "/" "_" CMAKE_HOST_SYSTEM_PROCESSOR "${CMAKE_HOST_SYSTEM_PROCESSOR}")
+ endif()
+else()
+ if(CMAKE_HOST_WIN32)
+ set (CMAKE_HOST_SYSTEM_NAME "Windows")
+ set (CMAKE_HOST_SYSTEM_PROCESSOR "$ENV{PROCESSOR_ARCHITECTURE}")
+ endif()
+endif()
# if a toolchain file is used, the user wants to cross compile.
# in this case read the toolchain file and keep the CMAKE_HOST_SYSTEM_*
-# variables around so they can be used in CMakeLists.txt.
+# variables around so they can be used in CMakeLists.txt.
# In all other cases, the host and target platform are the same.
-IF(CMAKE_TOOLCHAIN_FILE)
+if(CMAKE_TOOLCHAIN_FILE)
# at first try to load it as path relative to the directory from which cmake has been run
- INCLUDE("${CMAKE_BINARY_DIR}/${CMAKE_TOOLCHAIN_FILE}" OPTIONAL RESULT_VARIABLE _INCLUDED_TOOLCHAIN_FILE)
- IF(NOT _INCLUDED_TOOLCHAIN_FILE)
+ include("${CMAKE_BINARY_DIR}/${CMAKE_TOOLCHAIN_FILE}" OPTIONAL RESULT_VARIABLE _INCLUDED_TOOLCHAIN_FILE)
+ if(NOT _INCLUDED_TOOLCHAIN_FILE)
# if the file isn't found there, check the default locations
- INCLUDE("${CMAKE_TOOLCHAIN_FILE}" OPTIONAL RESULT_VARIABLE _INCLUDED_TOOLCHAIN_FILE)
- ENDIF(NOT _INCLUDED_TOOLCHAIN_FILE)
+ include("${CMAKE_TOOLCHAIN_FILE}" OPTIONAL RESULT_VARIABLE _INCLUDED_TOOLCHAIN_FILE)
+ endif()
- IF(_INCLUDED_TOOLCHAIN_FILE)
- SET(CMAKE_TOOLCHAIN_FILE "${_INCLUDED_TOOLCHAIN_FILE}" CACHE FILEPATH "The CMake toolchain file" FORCE)
- ELSE(_INCLUDED_TOOLCHAIN_FILE)
- MESSAGE(FATAL_ERROR "Could not find toolchain file: ${CMAKE_TOOLCHAIN_FILE}")
- SET(CMAKE_TOOLCHAIN_FILE "NOTFOUND" CACHE FILEPATH "The CMake toolchain file" FORCE)
- ENDIF(_INCLUDED_TOOLCHAIN_FILE)
-ENDIF(CMAKE_TOOLCHAIN_FILE)
+ if(_INCLUDED_TOOLCHAIN_FILE)
+ set(CMAKE_TOOLCHAIN_FILE "${_INCLUDED_TOOLCHAIN_FILE}" CACHE FILEPATH "The CMake toolchain file" FORCE)
+ else()
+ message(FATAL_ERROR "Could not find toolchain file: ${CMAKE_TOOLCHAIN_FILE}")
+ set(CMAKE_TOOLCHAIN_FILE "NOTFOUND" CACHE FILEPATH "The CMake toolchain file" FORCE)
+ endif()
+endif()
# if CMAKE_SYSTEM_NAME is here already set, either it comes from a toolchain file
# or it was set via -DCMAKE_SYSTEM_NAME=...
# if that's the case, assume we are crosscompiling
-IF(CMAKE_SYSTEM_NAME)
- IF(NOT DEFINED CMAKE_CROSSCOMPILING)
- SET(CMAKE_CROSSCOMPILING TRUE)
- ENDIF(NOT DEFINED CMAKE_CROSSCOMPILING)
- SET(PRESET_CMAKE_SYSTEM_NAME TRUE)
-ELSE(CMAKE_SYSTEM_NAME)
- SET(CMAKE_SYSTEM_NAME "${CMAKE_HOST_SYSTEM_NAME}")
- SET(CMAKE_SYSTEM_VERSION "${CMAKE_HOST_SYSTEM_VERSION}")
- SET(CMAKE_SYSTEM_PROCESSOR "${CMAKE_HOST_SYSTEM_PROCESSOR}")
- SET(CMAKE_CROSSCOMPILING FALSE)
- SET(PRESET_CMAKE_SYSTEM_NAME FALSE)
-ENDIF(CMAKE_SYSTEM_NAME)
-
-
-MACRO(ADJUST_CMAKE_SYSTEM_VARIABLES _PREFIX)
- IF(NOT ${_PREFIX}_NAME)
- SET(${_PREFIX}_NAME "UnknownOS")
- ENDIF(NOT ${_PREFIX}_NAME)
+if(CMAKE_SYSTEM_NAME)
+ if(NOT DEFINED CMAKE_CROSSCOMPILING)
+ set(CMAKE_CROSSCOMPILING TRUE)
+ endif()
+ set(PRESET_CMAKE_SYSTEM_NAME TRUE)
+else()
+ set(CMAKE_SYSTEM_NAME "${CMAKE_HOST_SYSTEM_NAME}")
+ set(CMAKE_SYSTEM_VERSION "${CMAKE_HOST_SYSTEM_VERSION}")
+ set(CMAKE_SYSTEM_PROCESSOR "${CMAKE_HOST_SYSTEM_PROCESSOR}")
+ set(CMAKE_CROSSCOMPILING FALSE)
+ set(PRESET_CMAKE_SYSTEM_NAME FALSE)
+endif()
+
+
+macro(ADJUST_CMAKE_SYSTEM_VARIABLES _PREFIX)
+ if(NOT ${_PREFIX}_NAME)
+ set(${_PREFIX}_NAME "UnknownOS")
+ endif()
# fix for BSD/OS , remove the /
- IF(${_PREFIX}_NAME MATCHES BSD.OS)
- SET(${_PREFIX}_NAME BSDOS)
- ENDIF(${_PREFIX}_NAME MATCHES BSD.OS)
+ if(${_PREFIX}_NAME MATCHES BSD.OS)
+ set(${_PREFIX}_NAME BSDOS)
+ endif()
# fix for GNU/kFreeBSD, remove the GNU/
- IF(${_PREFIX}_NAME MATCHES kFreeBSD)
- SET(${_PREFIX}_NAME kFreeBSD)
- ENDIF(${_PREFIX}_NAME MATCHES kFreeBSD)
+ if(${_PREFIX}_NAME MATCHES kFreeBSD)
+ set(${_PREFIX}_NAME kFreeBSD)
+ endif()
- # fix for CYGWIN which has windows version in it
- IF(${_PREFIX}_NAME MATCHES CYGWIN)
- SET(${_PREFIX}_NAME CYGWIN)
- ENDIF(${_PREFIX}_NAME MATCHES CYGWIN)
+ # fix for CYGWIN which has windows version in it
+ if(${_PREFIX}_NAME MATCHES CYGWIN)
+ set(${_PREFIX}_NAME CYGWIN)
+ endif()
# set CMAKE_SYSTEM to the CMAKE_SYSTEM_NAME
- SET(${_PREFIX} ${${_PREFIX}_NAME})
+ set(${_PREFIX} ${${_PREFIX}_NAME})
# if there is a CMAKE_SYSTEM_VERSION then add a -${CMAKE_SYSTEM_VERSION}
- IF(${_PREFIX}_VERSION)
- SET(${_PREFIX} ${${_PREFIX}}-${${_PREFIX}_VERSION})
- ENDIF(${_PREFIX}_VERSION)
+ if(${_PREFIX}_VERSION)
+ set(${_PREFIX} ${${_PREFIX}}-${${_PREFIX}_VERSION})
+ endif()
-ENDMACRO(ADJUST_CMAKE_SYSTEM_VARIABLES _PREFIX)
+endmacro()
ADJUST_CMAKE_SYSTEM_VARIABLES(CMAKE_SYSTEM)
ADJUST_CMAKE_SYSTEM_VARIABLES(CMAKE_HOST_SYSTEM)
-# this file is also executed from cpack, then we don't need to generate these files
+# this file is also executed from cpack, then we don't need to generate these files
# in this case there is no CMAKE_BINARY_DIR
-IF(CMAKE_BINARY_DIR)
+if(CMAKE_BINARY_DIR)
# write entry to the log file
- IF(PRESET_CMAKE_SYSTEM_NAME)
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ if(PRESET_CMAKE_SYSTEM_NAME)
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"The target system is: ${CMAKE_SYSTEM_NAME} - ${CMAKE_SYSTEM_VERSION} - ${CMAKE_SYSTEM_PROCESSOR}\n")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"The host system is: ${CMAKE_HOST_SYSTEM_NAME} - ${CMAKE_HOST_SYSTEM_VERSION} - ${CMAKE_HOST_SYSTEM_PROCESSOR}\n")
- ELSE(PRESET_CMAKE_SYSTEM_NAME)
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ else()
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"The system is: ${CMAKE_SYSTEM_NAME} - ${CMAKE_SYSTEM_VERSION} - ${CMAKE_SYSTEM_PROCESSOR}\n")
- ENDIF(PRESET_CMAKE_SYSTEM_NAME)
+ endif()
# if a toolchain file is used, it needs to be included in the configured file,
- # so settings done there are also available if they don't go in the cache and in TRY_COMPILE()
- SET(INCLUDE_CMAKE_TOOLCHAIN_FILE_IF_REQUIRED)
- IF(DEFINED CMAKE_TOOLCHAIN_FILE)
- SET(INCLUDE_CMAKE_TOOLCHAIN_FILE_IF_REQUIRED "INCLUDE(\"${CMAKE_TOOLCHAIN_FILE}\")")
- ENDIF(DEFINED CMAKE_TOOLCHAIN_FILE)
+ # so settings done there are also available if they don't go in the cache and in try_compile()
+ set(INCLUDE_CMAKE_TOOLCHAIN_FILE_IF_REQUIRED)
+ if(DEFINED CMAKE_TOOLCHAIN_FILE)
+ set(INCLUDE_CMAKE_TOOLCHAIN_FILE_IF_REQUIRED "include(\"${CMAKE_TOOLCHAIN_FILE}\")")
+ endif()
# configure variables set in this file for fast reload, the template file is defined at the top of this file
- CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CMakeSystem.cmake.in
- ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeSystem.cmake
+ configure_file(${CMAKE_ROOT}/Modules/CMakeSystem.cmake.in
+ ${CMAKE_PLATFORM_INFO_DIR}/CMakeSystem.cmake
IMMEDIATE @ONLY)
-ENDIF(CMAKE_BINARY_DIR)
+endif()
diff --git a/Modules/CMakeDetermineVSServicePack.cmake b/Modules/CMakeDetermineVSServicePack.cmake
index 33f01415e..98e5bb873 100644
--- a/Modules/CMakeDetermineVSServicePack.cmake
+++ b/Modules/CMakeDetermineVSServicePack.cmake
@@ -9,6 +9,7 @@
# vc90sp1
# vc100
# vc100sp1
+# vc110
#
# Usage:
# ===========================
@@ -54,6 +55,8 @@ function(_DetermineVSServicePackFromCompiler _OUT_VAR _cl_version)
set(_version "vc100")
elseif(${_cl_version} VERSION_EQUAL "16.00.40219.01")
set(_version "vc100sp1")
+ elseif(${_cl_version} VERSION_EQUAL "17.00.50727.1")
+ set(_version "vc110")
else()
set(_version "")
endif()
diff --git a/Modules/CMakeExpandImportedTargets.cmake b/Modules/CMakeExpandImportedTargets.cmake
index fba071a06..14551d1f8 100644
--- a/Modules/CMakeExpandImportedTargets.cmake
+++ b/Modules/CMakeExpandImportedTargets.cmake
@@ -10,7 +10,7 @@
# the first configuration from ${CMAKE_CONFIGURATION_TYPES} if set, otherwise
# ${CMAKE_BUILD_TYPE}.
# This macro is used by all Check*.cmake files which use
-# TRY_COMPILE() or TRY_RUN() and support CMAKE_REQUIRED_LIBRARIES , so that
+# try_compile() or try_run() and support CMAKE_REQUIRED_LIBRARIES , so that
# these checks support imported targets in CMAKE_REQUIRED_LIBRARIES:
# cmake_expand_imported_targets(expandedLibs LIBRARIES ${CMAKE_REQUIRED_LIBRARIES}
# CONFIGURATION "${CMAKE_TRY_COMPILE_CONFIGURATION}" )
@@ -76,16 +76,16 @@ function(CMAKE_EXPAND_IMPORTED_TARGETS _RESULT )
# guard against infinite loop: abort after 100 iterations ( 100 is arbitrary chosen)
if ("${_CCSR_LOOP_COUNTER}" LESS 100)
set(_CHECK_FOR_IMPORTED_TARGETS TRUE)
-# else ("${_CCSR_LOOP_COUNTER}" LESS 1)
+# else ()
# message(STATUS "********* aborting loop, counter : ${_CCSR_LOOP_COUNTER}")
- endif ("${_CCSR_LOOP_COUNTER}" LESS 100)
+ endif ()
# if one of the imported configurations equals ${CMAKE_TRY_COMPILE_CONFIGURATION},
# use it, otherwise simply use the first one:
list(FIND _importedConfigs "${CEIT_CONFIGURATION}" _configIndexToUse)
if("${_configIndexToUse}" EQUAL -1)
set(_configIndexToUse 0)
- endif("${_configIndexToUse}" EQUAL -1)
+ endif()
list(GET _importedConfigs ${_configIndexToUse} _importedConfigToUse)
get_target_property(_importedLocation "${_CURRENT_LIB}" IMPORTED_LOCATION_${_importedConfigToUse})
@@ -98,18 +98,18 @@ function(CMAKE_EXPAND_IMPORTED_TARGETS _RESULT )
# message(STATUS "Appending link interface lib ${_currentLinkInterfaceLib}")
if(_currentLinkInterfaceLib)
list(APPEND _CCSR_NEW_REQ_LIBS "${_currentLinkInterfaceLib}" )
- endif(_currentLinkInterfaceLib)
- endforeach(_currentLinkInterfaceLib "${_linkInterfaceLibs}")
- endif(_linkInterfaceLibs)
- else(_importedConfigs)
+ endif()
+ endforeach()
+ endif()
+ else()
# "Normal" libraries are just used as they are.
list(APPEND _CCSR_NEW_REQ_LIBS "${_CURRENT_LIB}" )
# message(STATUS "Appending lib directly: ${_CURRENT_LIB}")
- endif(_importedConfigs)
- endforeach(_CURRENT_LIB ${_CCSR_REQ_LIBS})
+ endif()
+ endforeach()
set(_CCSR_REQ_LIBS ${_CCSR_NEW_REQ_LIBS} )
- endwhile(_CHECK_FOR_IMPORTED_TARGETS)
+ endwhile()
# Finally we iterate once more over all libraries. This loop only removes
# all remaining imported target names (there shouldn't be any left anyway).
@@ -119,10 +119,10 @@ function(CMAKE_EXPAND_IMPORTED_TARGETS _RESULT )
if (NOT _importedConfigs)
list(APPEND _CCSR_NEW_REQ_LIBS "${_CURRENT_LIB}" )
# message(STATUS "final: appending ${_CURRENT_LIB}")
- else (NOT _importedConfigs)
+ else ()
# message(STATUS "final: skipping ${_CURRENT_LIB}")
- endif (NOT _importedConfigs)
- endforeach(_CURRENT_LIB ${_CCSR_REQ_LIBS})
+ endif ()
+ endforeach()
# message(STATUS "setting -${_RESULT}- to -${_CCSR_NEW_REQ_LIBS}-")
set(${_RESULT} "${_CCSR_NEW_REQ_LIBS}" PARENT_SCOPE)
diff --git a/Modules/CMakeExportBuildSettings.cmake b/Modules/CMakeExportBuildSettings.cmake
index 8d316b941..a18f95062 100644
--- a/Modules/CMakeExportBuildSettings.cmake
+++ b/Modules/CMakeExportBuildSettings.cmake
@@ -13,24 +13,24 @@
# License text for the above reference.)
# This module is purposely no longer documented. It does nothing useful.
-IF(NOT "${CMAKE_MINIMUM_REQUIRED_VERSION}" VERSION_LESS 2.7)
- MESSAGE(FATAL_ERROR
+if(NOT "${CMAKE_MINIMUM_REQUIRED_VERSION}" VERSION_LESS 2.7)
+ message(FATAL_ERROR
"The functionality of this module has been dropped as of CMake 2.8. "
"It was deemed harmful (confusing users by changing their compiler). "
"Please remove calls to the CMAKE_EXPORT_BUILD_SETTINGS macro and "
"stop including this module. "
"If this project generates any files for use by external projects, "
"remove any use of the CMakeImportBuildSettings module from them.")
-ENDIF()
+endif()
# This macro used to store build settings of a project in a file to be
# loaded by another project using CMAKE_IMPORT_BUILD_SETTINGS. Now it
# creates a file that refuses to load (with comment explaining why).
-MACRO(CMAKE_EXPORT_BUILD_SETTINGS SETTINGS_FILE)
- IF(${SETTINGS_FILE} MATCHES ".+")
- CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CMakeBuildSettings.cmake.in
+macro(CMAKE_EXPORT_BUILD_SETTINGS SETTINGS_FILE)
+ if(${SETTINGS_FILE} MATCHES ".+")
+ configure_file(${CMAKE_ROOT}/Modules/CMakeBuildSettings.cmake.in
${SETTINGS_FILE} @ONLY IMMEDIATE)
- ELSE(${SETTINGS_FILE} MATCHES ".+")
- MESSAGE(SEND_ERROR "CMAKE_EXPORT_BUILD_SETTINGS called with no argument.")
- ENDIF(${SETTINGS_FILE} MATCHES ".+")
-ENDMACRO(CMAKE_EXPORT_BUILD_SETTINGS)
+ else()
+ message(SEND_ERROR "CMAKE_EXPORT_BUILD_SETTINGS called with no argument.")
+ endif()
+endmacro()
diff --git a/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake b/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake
index 455f95fe3..1fa0157bd 100644
--- a/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake
+++ b/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake
@@ -18,39 +18,42 @@
# so that they can find the headers at runtime and parsing etc. works better
# This is done here by actually running gcc with the options so it prints its
# system include directories, which are parsed then and stored in the cache.
-MACRO(_DETERMINE_GCC_SYSTEM_INCLUDE_DIRS _lang _resultIncludeDirs _resultDefines)
- SET(${_resultIncludeDirs})
- SET(_gccOutput)
- FILE(WRITE "${CMAKE_BINARY_DIR}/CMakeFiles/dummy" "\n" )
-
- IF (${_lang} STREQUAL "c++")
- SET(_compilerExecutable "${CMAKE_CXX_COMPILER}")
- SET(_arg1 "${CMAKE_CXX_COMPILER_ARG1}")
- ELSE ()
- SET(_compilerExecutable "${CMAKE_C_COMPILER}")
- SET(_arg1 "${CMAKE_C_COMPILER_ARG1}")
- ENDIF ()
- EXECUTE_PROCESS(COMMAND ${_compilerExecutable} ${_arg1} -v -E -x ${_lang} -dD dummy
+macro(_DETERMINE_GCC_SYSTEM_INCLUDE_DIRS _lang _resultIncludeDirs _resultDefines)
+ set(${_resultIncludeDirs})
+ set(_gccOutput)
+ file(WRITE "${CMAKE_BINARY_DIR}/CMakeFiles/dummy" "\n" )
+
+ if (${_lang} STREQUAL "c++")
+ set(_compilerExecutable "${CMAKE_CXX_COMPILER}")
+ set(_arg1 "${CMAKE_CXX_COMPILER_ARG1}")
+ else ()
+ set(_compilerExecutable "${CMAKE_C_COMPILER}")
+ set(_arg1 "${CMAKE_C_COMPILER_ARG1}")
+ endif ()
+ execute_process(COMMAND ${_compilerExecutable} ${_arg1} -v -E -x ${_lang} -dD dummy
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/CMakeFiles
ERROR_VARIABLE _gccOutput
OUTPUT_VARIABLE _gccStdout )
- FILE(REMOVE "${CMAKE_BINARY_DIR}/CMakeFiles/dummy")
+ file(REMOVE "${CMAKE_BINARY_DIR}/CMakeFiles/dummy")
# First find the system include dirs:
- IF( "${_gccOutput}" MATCHES "> search starts here[^\n]+\n *(.+ *\n) *End of (search) list" )
+ if( "${_gccOutput}" MATCHES "> search starts here[^\n]+\n *(.+ *\n) *End of (search) list" )
# split the output into lines and then remove leading and trailing spaces from each of them:
- STRING(REGEX MATCHALL "[^\n]+\n" _includeLines "${CMAKE_MATCH_1}")
- FOREACH(nextLine ${_includeLines})
- STRING(STRIP "${nextLine}" _includePath)
- LIST(APPEND ${_resultIncludeDirs} "${_includePath}")
- ENDFOREACH(nextLine)
+ string(REGEX MATCHALL "[^\n]+\n" _includeLines "${CMAKE_MATCH_1}")
+ foreach(nextLine ${_includeLines})
+ # on OSX, gcc says things like this: "/System/Library/Frameworks (framework directory)", strip the last part
+ string(REGEX REPLACE "\\(framework directory\\)" "" nextLineNoFramework "${nextLine}")
+ # strip spaces at the beginning and the end
+ string(STRIP "${nextLineNoFramework}" _includePath)
+ list(APPEND ${_resultIncludeDirs} "${_includePath}")
+ endforeach()
- ENDIF()
+ endif()
# now find the builtin macros:
- STRING(REGEX MATCHALL "#define[^\n]+\n" _defineLines "${_gccStdout}")
+ string(REGEX MATCHALL "#define[^\n]+\n" _defineLines "${_gccStdout}")
# A few example lines which the regexp below has to match properly:
# #define MAX(a,b) ((a) > (b) ? (a) : (b))
# #define __fastcall __attribute__((__fastcall__))
@@ -59,51 +62,51 @@ MACRO(_DETERMINE_GCC_SYSTEM_INCLUDE_DIRS _lang _resultIncludeDirs _resultDefines
# #define __UINTMAX_TYPE__ long long unsigned int
# #define __i386__ 1
- FOREACH(nextLine ${_defineLines})
- STRING(REGEX MATCH "^#define +([A-Za-z_][A-Za-z0-9_]*)(\\([^\\)]+\\))? +(.+) *$" _dummy "${nextLine}")
- SET(_name "${CMAKE_MATCH_1}${CMAKE_MATCH_2}")
- STRING(STRIP "${CMAKE_MATCH_3}" _value)
- #MESSAGE(STATUS "m1: -${CMAKE_MATCH_1}- m2: -${CMAKE_MATCH_2}- m3: -${CMAKE_MATCH_3}-")
+ foreach(nextLine ${_defineLines})
+ string(REGEX MATCH "^#define +([A-Za-z_][A-Za-z0-9_]*)(\\([^\\)]+\\))? +(.+) *$" _dummy "${nextLine}")
+ set(_name "${CMAKE_MATCH_1}${CMAKE_MATCH_2}")
+ string(STRIP "${CMAKE_MATCH_3}" _value)
+ #message(STATUS "m1: -${CMAKE_MATCH_1}- m2: -${CMAKE_MATCH_2}- m3: -${CMAKE_MATCH_3}-")
- LIST(APPEND ${_resultDefines} "${_name}")
- IF(_value)
- LIST(APPEND ${_resultDefines} "${_value}")
- ELSE()
- LIST(APPEND ${_resultDefines} " ")
- ENDIF()
- ENDFOREACH(nextLine)
+ list(APPEND ${_resultDefines} "${_name}")
+ if(_value)
+ list(APPEND ${_resultDefines} "${_value}")
+ else()
+ list(APPEND ${_resultDefines} " ")
+ endif()
+ endforeach()
-ENDMACRO(_DETERMINE_GCC_SYSTEM_INCLUDE_DIRS _lang)
+endmacro()
# Save the current LC_ALL, LC_MESSAGES, and LANG environment variables and set them
# to "C" that way GCC's "search starts here" text is in English and we can grok it.
-SET(_orig_lc_all $ENV{LC_ALL})
-SET(_orig_lc_messages $ENV{LC_MESSAGES})
-SET(_orig_lang $ENV{LANG})
+set(_orig_lc_all $ENV{LC_ALL})
+set(_orig_lc_messages $ENV{LC_MESSAGES})
+set(_orig_lang $ENV{LANG})
-SET(ENV{LC_ALL} C)
-SET(ENV{LC_MESSAGES} C)
-SET(ENV{LANG} C)
+set(ENV{LC_ALL} C)
+set(ENV{LC_MESSAGES} C)
+set(ENV{LANG} C)
# Now check for C, works for gcc and Intel compiler at least
-IF (NOT CMAKE_EXTRA_GENERATOR_C_SYSTEM_INCLUDE_DIRS)
- IF ("${CMAKE_C_COMPILER_ID}" MATCHES GNU OR "${CMAKE_C_COMPILER_ID}" MATCHES Intel)
+if (NOT CMAKE_EXTRA_GENERATOR_C_SYSTEM_INCLUDE_DIRS)
+ if ("${CMAKE_C_COMPILER_ID}" MATCHES GNU OR "${CMAKE_C_COMPILER_ID}" MATCHES Intel)
_DETERMINE_GCC_SYSTEM_INCLUDE_DIRS(c _dirs _defines)
- SET(CMAKE_EXTRA_GENERATOR_C_SYSTEM_INCLUDE_DIRS "${_dirs}" CACHE INTERNAL "C compiler system include directories")
- SET(CMAKE_EXTRA_GENERATOR_C_SYSTEM_DEFINED_MACROS "${_defines}" CACHE INTERNAL "C compiler system defined macros")
- ENDIF ()
-ENDIF ()
+ set(CMAKE_EXTRA_GENERATOR_C_SYSTEM_INCLUDE_DIRS "${_dirs}" CACHE INTERNAL "C compiler system include directories")
+ set(CMAKE_EXTRA_GENERATOR_C_SYSTEM_DEFINED_MACROS "${_defines}" CACHE INTERNAL "C compiler system defined macros")
+ endif ()
+endif ()
# And now the same for C++
-IF (NOT CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_INCLUDE_DIRS)
- IF ("${CMAKE_CXX_COMPILER_ID}" MATCHES GNU OR "${CMAKE_CXX_COMPILER_ID}" MATCHES Intel)
+if (NOT CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_INCLUDE_DIRS)
+ if ("${CMAKE_CXX_COMPILER_ID}" MATCHES GNU OR "${CMAKE_CXX_COMPILER_ID}" MATCHES Intel)
_DETERMINE_GCC_SYSTEM_INCLUDE_DIRS(c++ _dirs _defines)
- SET(CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_INCLUDE_DIRS "${_dirs}" CACHE INTERNAL "CXX compiler system include directories")
- SET(CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_DEFINED_MACROS "${_defines}" CACHE INTERNAL "CXX compiler system defined macros")
- ENDIF ()
-ENDIF ()
+ set(CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_INCLUDE_DIRS "${_dirs}" CACHE INTERNAL "CXX compiler system include directories")
+ set(CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_DEFINED_MACROS "${_defines}" CACHE INTERNAL "CXX compiler system defined macros")
+ endif ()
+endif ()
# Restore original LC_ALL, LC_MESSAGES, and LANG
-SET(ENV{LC_ALL} ${_orig_lc_all})
-SET(ENV{LC_MESSAGES} ${_orig_lc_messages})
-SET(ENV{LANG} ${_orig_lang})
+set(ENV{LC_ALL} ${_orig_lc_all})
+set(ENV{LC_MESSAGES} ${_orig_lc_messages})
+set(ENV{LANG} ${_orig_lang})
diff --git a/Modules/CMakeFindBinUtils.cmake b/Modules/CMakeFindBinUtils.cmake
index 64ec403ad..e08c1c6a5 100644
--- a/Modules/CMakeFindBinUtils.cmake
+++ b/Modules/CMakeFindBinUtils.cmake
@@ -1,13 +1,13 @@
# search for additional tools required for C/C++ (and other languages ?)
#
-# If the internal cmake variable _CMAKE_TOOLCHAIN_PREFIX is set, this is used
+# If the internal cmake variable _CMAKE_TOOLCHAIN_PREFIX is set, this is used
# as prefix for the tools (e.g. arm-elf-gcc etc.)
# If the cmake variable _CMAKE_TOOLCHAIN_LOCATION is set, the compiler is
-# searched only there. The other tools are at first searched there, then
+# searched only there. The other tools are at first searched there, then
# also in the default locations.
#
-# Sets the following variables:
+# Sets the following variables:
# CMAKE_AR
# CMAKE_RANLIB
# CMAKE_LINKER
@@ -30,46 +30,42 @@
# License text for the above reference.)
# if it's the MS C/CXX compiler, search for link
-IF("${CMAKE_CXX_COMPILER_ID}" MATCHES "MSVC"
+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 HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
+ find_program(CMAKE_LINKER NAMES link HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
- MARK_AS_ADVANCED(CMAKE_LINKER)
+ mark_as_advanced(CMAKE_LINKER)
# in all other cases search for ar, ranlib, etc.
-ELSE("${CMAKE_CXX_COMPILER_ID}" MATCHES "MSVC"
- OR "${CMAKE_C_COMPILER_ID}" MATCHES "MSVC"
- OR "${CMAKE_GENERATOR}" MATCHES "Visual Studio")
+else()
- FIND_PROGRAM(CMAKE_AR NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ar HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
+ find_program(CMAKE_AR NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ar HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
- 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_RANLIB NAMES ${_CMAKE_TOOLCHAIN_PREFIX}ranlib HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
+ if(NOT CMAKE_RANLIB)
+ set(CMAKE_RANLIB : CACHE INTERNAL "noop for ranlib")
+ endif()
- 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})
+ 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)
+ mark_as_advanced(CMAKE_AR CMAKE_RANLIB CMAKE_STRIP CMAKE_LINKER CMAKE_NM CMAKE_OBJDUMP CMAKE_OBJCOPY)
-ENDIF("${CMAKE_CXX_COMPILER_ID}" MATCHES "MSVC"
- OR "${CMAKE_C_COMPILER_ID}" MATCHES "MSVC"
- OR "${CMAKE_GENERATOR}" MATCHES "Visual Studio")
+endif()
# on Apple there really should be install_name_tool
-IF(APPLE)
- FIND_PROGRAM(CMAKE_INSTALL_NAME_TOOL NAMES install_name_tool HINTS ${_CMAKE_TOOLCHAIN_LOCATION})
+if(APPLE)
+ 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.")
- ENDIF(NOT CMAKE_INSTALL_NAME_TOOL)
+ if(NOT CMAKE_INSTALL_NAME_TOOL)
+ message(FATAL_ERROR "Could not find install_name_tool, please check your installation.")
+ endif()
- MARK_AS_ADVANCED(CMAKE_INSTALL_NAME_TOOL)
-ENDIF(APPLE)
+ mark_as_advanced(CMAKE_INSTALL_NAME_TOOL)
+endif()
diff --git a/Modules/CMakeFindCodeBlocks.cmake b/Modules/CMakeFindCodeBlocks.cmake
index 23f2c821d..f8d8d5908 100644
--- a/Modules/CMakeFindCodeBlocks.cmake
+++ b/Modules/CMakeFindCodeBlocks.cmake
@@ -15,11 +15,11 @@
# This file is included in CMakeSystemSpecificInformation.cmake if
# the CodeBlocks extra generator has been selected.
-FIND_PROGRAM(CMAKE_CODEBLOCKS_EXECUTABLE NAMES codeblocks DOC "The CodeBlocks executable")
+find_program(CMAKE_CODEBLOCKS_EXECUTABLE NAMES codeblocks DOC "The CodeBlocks executable")
-IF(CMAKE_CODEBLOCKS_EXECUTABLE)
- SET(CMAKE_OPEN_PROJECT_COMMAND "${CMAKE_CODEBLOCKS_EXECUTABLE} <PROJECT_FILE>" )
-ENDIF(CMAKE_CODEBLOCKS_EXECUTABLE)
+if(CMAKE_CODEBLOCKS_EXECUTABLE)
+ set(CMAKE_OPEN_PROJECT_COMMAND "${CMAKE_CODEBLOCKS_EXECUTABLE} <PROJECT_FILE>" )
+endif()
# Determine builtin macros and include dirs:
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake)
diff --git a/Modules/CMakeFindEclipseCDT4.cmake b/Modules/CMakeFindEclipseCDT4.cmake
index a4264e78e..37b72fa38 100644
--- a/Modules/CMakeFindEclipseCDT4.cmake
+++ b/Modules/CMakeFindEclipseCDT4.cmake
@@ -15,65 +15,71 @@
# This file is included in CMakeSystemSpecificInformation.cmake if
# the Eclipse CDT4 extra generator has been selected.
-FIND_PROGRAM(CMAKE_ECLIPSE_EXECUTABLE NAMES eclipse DOC "The Eclipse executable")
+find_program(CMAKE_ECLIPSE_EXECUTABLE NAMES eclipse DOC "The Eclipse executable")
-FUNCTION(_FIND_ECLIPSE_VERSION)
+function(_FIND_ECLIPSE_VERSION)
# This code is in a function so the variables used here have only local scope
- IF(CMAKE_ECLIPSE_EXECUTABLE)
+ if(CMAKE_ECLIPSE_EXECUTABLE)
# use REALPATH to resolve symlinks (http://public.kitware.com/Bug/view.php?id=13036)
- GET_FILENAME_COMPONENT(_REALPATH_CMAKE_ECLIPSE_EXECUTABLE "${CMAKE_ECLIPSE_EXECUTABLE}" REALPATH)
- GET_FILENAME_COMPONENT(_ECLIPSE_DIR "${_REALPATH_CMAKE_ECLIPSE_EXECUTABLE}" PATH)
- FILE(GLOB _ECLIPSE_FEATURE_DIR "${_ECLIPSE_DIR}/features/org.eclipse.platform*")
- IF("${_ECLIPSE_FEATURE_DIR}" MATCHES ".+org.eclipse.platform_([0-9]+\\.[0-9]+).+")
- SET(_ECLIPSE_VERSION ${CMAKE_MATCH_1})
- ENDIF()
- ENDIF()
+ get_filename_component(_REALPATH_CMAKE_ECLIPSE_EXECUTABLE "${CMAKE_ECLIPSE_EXECUTABLE}" REALPATH)
+ get_filename_component(_ECLIPSE_DIR "${_REALPATH_CMAKE_ECLIPSE_EXECUTABLE}" PATH)
+ file(GLOB _ECLIPSE_FEATURE_DIR "${_ECLIPSE_DIR}/features/org.eclipse.platform*")
+ if(APPLE AND NOT _ECLIPSE_FEATURE_DIR)
+ file(GLOB _ECLIPSE_FEATURE_DIR "${_ECLIPSE_DIR}/../../../features/org.eclipse.platform*")
+ endif()
+ if("${_ECLIPSE_FEATURE_DIR}" MATCHES ".+org.eclipse.platform_([0-9]+\\.[0-9]+).+")
+ set(_ECLIPSE_VERSION ${CMAKE_MATCH_1})
+ endif()
+ endif()
# Set up a map with the names of the Eclipse releases:
- SET(_ECLIPSE_VERSION_NAME_ "Unknown" )
- SET(_ECLIPSE_VERSION_NAME_3.2 "Callisto" )
- SET(_ECLIPSE_VERSION_NAME_3.3 "Europa" )
- SET(_ECLIPSE_VERSION_NAME_3.4 "Ganymede" )
- SET(_ECLIPSE_VERSION_NAME_3.5 "Galileo" )
- SET(_ECLIPSE_VERSION_NAME_3.6 "Helios" )
- SET(_ECLIPSE_VERSION_NAME_3.7 "Indigo" )
+ set(_ECLIPSE_VERSION_NAME_ "Unknown" )
+ set(_ECLIPSE_VERSION_NAME_3.2 "Callisto" )
+ set(_ECLIPSE_VERSION_NAME_3.3 "Europa" )
+ set(_ECLIPSE_VERSION_NAME_3.4 "Ganymede" )
+ set(_ECLIPSE_VERSION_NAME_3.5 "Galileo" )
+ set(_ECLIPSE_VERSION_NAME_3.6 "Helios" )
+ set(_ECLIPSE_VERSION_NAME_3.7 "Indigo" )
+ set(_ECLIPSE_VERSION_NAME_4.2 "Juno" )
- IF(_ECLIPSE_VERSION)
- MESSAGE(STATUS "Found Eclipse version ${_ECLIPSE_VERSION} (${_ECLIPSE_VERSION_NAME_${_ECLIPSE_VERSION}})")
- ELSE()
- SET(_ECLIPSE_VERSION "3.6" )
- MESSAGE(STATUS "Could not determine Eclipse version, assuming at least ${_ECLIPSE_VERSION} (${_ECLIPSE_VERSION_NAME_${_ECLIPSE_VERSION}}). Adjust CMAKE_ECLIPSE_VERSION if this is wrong.")
- ENDIF()
+ if(_ECLIPSE_VERSION)
+ message(STATUS "Found Eclipse version ${_ECLIPSE_VERSION} (${_ECLIPSE_VERSION_NAME_${_ECLIPSE_VERSION}})")
+ else()
+ set(_ECLIPSE_VERSION "3.6" )
+ message(STATUS "Could not determine Eclipse version, assuming at least ${_ECLIPSE_VERSION} (${_ECLIPSE_VERSION_NAME_${_ECLIPSE_VERSION}}). Adjust CMAKE_ECLIPSE_VERSION if this is wrong.")
+ endif()
- SET(CMAKE_ECLIPSE_VERSION "${_ECLIPSE_VERSION} (${_ECLIPSE_VERSION_NAME_${_ECLIPSE_VERSION}})" CACHE STRING "The version of Eclipse. If Eclipse has not been found, 3.6 (Helios) is assumed.")
- SET_PROPERTY(CACHE CMAKE_ECLIPSE_VERSION PROPERTY STRINGS "3.2 (${_ECLIPSE_VERSION_NAME_3.2})"
+ set(CMAKE_ECLIPSE_VERSION "${_ECLIPSE_VERSION} (${_ECLIPSE_VERSION_NAME_${_ECLIPSE_VERSION}})" CACHE STRING "The version of Eclipse. If Eclipse has not been found, 3.6 (Helios) is assumed.")
+ set_property(CACHE CMAKE_ECLIPSE_VERSION PROPERTY STRINGS "3.2 (${_ECLIPSE_VERSION_NAME_3.2})"
"3.3 (${_ECLIPSE_VERSION_NAME_3.3})"
"3.4 (${_ECLIPSE_VERSION_NAME_3.4})"
"3.5 (${_ECLIPSE_VERSION_NAME_3.5})"
"3.6 (${_ECLIPSE_VERSION_NAME_3.6})"
- "3.7 (${_ECLIPSE_VERSION_NAME_3.7})")
-ENDFUNCTION()
+ "3.7 (${_ECLIPSE_VERSION_NAME_3.7})"
+ "4.2 (${_ECLIPSE_VERSION_NAME_4.2})"
+ )
+endfunction()
_FIND_ECLIPSE_VERSION()
# Try to find out how many CPUs we have and set the -j argument for make accordingly
-SET(_CMAKE_ECLIPSE_INITIAL_MAKE_ARGS "")
+set(_CMAKE_ECLIPSE_INITIAL_MAKE_ARGS "")
-INCLUDE(ProcessorCount)
+include(ProcessorCount)
PROCESSORCOUNT(_CMAKE_ECLIPSE_PROCESSOR_COUNT)
# Only set -j if we are under UNIX and if the make-tool used actually has "make" in the name
# (we may also get here in the future e.g. for ninja)
-IF("${_CMAKE_ECLIPSE_PROCESSOR_COUNT}" GREATER 1 AND UNIX AND "${CMAKE_MAKE_PROGRAM}" MATCHES make)
- SET(_CMAKE_ECLIPSE_INITIAL_MAKE_ARGS "-j${_CMAKE_ECLIPSE_PROCESSOR_COUNT}")
-ENDIF()
+if("${_CMAKE_ECLIPSE_PROCESSOR_COUNT}" GREATER 1 AND UNIX AND "${CMAKE_MAKE_PROGRAM}" MATCHES make)
+ set(_CMAKE_ECLIPSE_INITIAL_MAKE_ARGS "-j${_CMAKE_ECLIPSE_PROCESSOR_COUNT}")
+endif()
# This variable is used by the Eclipse generator and appended to the make invocation commands.
-SET(CMAKE_ECLIPSE_MAKE_ARGUMENTS "${_CMAKE_ECLIPSE_INITIAL_MAKE_ARGS}" CACHE STRING "Additional command line arguments when Eclipse invokes make. Enter e.g. -j<some_number> to get parallel builds")
+set(CMAKE_ECLIPSE_MAKE_ARGUMENTS "${_CMAKE_ECLIPSE_INITIAL_MAKE_ARGS}" CACHE STRING "Additional command line arguments when Eclipse invokes make. Enter e.g. -j<some_number> to get parallel builds")
# This variable is used by the Eclipse generator in out-of-source builds only.
-SET(CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT FALSE CACHE BOOL "If enabled, CMake will generate a source project for Eclipse in CMAKE_SOURCE_DIR")
-MARK_AS_ADVANCED(CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT)
+set(CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT FALSE CACHE BOOL "If enabled, CMake will generate a source project for Eclipse in CMAKE_SOURCE_DIR")
+mark_as_advanced(CMAKE_ECLIPSE_GENERATE_SOURCE_PROJECT)
# Determine builtin macros and include dirs:
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake)
diff --git a/Modules/CMakeFindFrameworks.cmake b/Modules/CMakeFindFrameworks.cmake
index 001da20f3..7fdeb84be 100644
--- a/Modules/CMakeFindFrameworks.cmake
+++ b/Modules/CMakeFindFrameworks.cmake
@@ -13,20 +13,20 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-IF(NOT CMAKE_FIND_FRAMEWORKS_INCLUDED)
- SET(CMAKE_FIND_FRAMEWORKS_INCLUDED 1)
- MACRO(CMAKE_FIND_FRAMEWORKS fwk)
- SET(${fwk}_FRAMEWORKS)
- IF(APPLE)
- FOREACH(dir
+if(NOT CMAKE_FIND_FRAMEWORKS_INCLUDED)
+ set(CMAKE_FIND_FRAMEWORKS_INCLUDED 1)
+ macro(CMAKE_FIND_FRAMEWORKS fwk)
+ set(${fwk}_FRAMEWORKS)
+ if(APPLE)
+ foreach(dir
~/Library/Frameworks/${fwk}.framework
/Library/Frameworks/${fwk}.framework
/System/Library/Frameworks/${fwk}.framework
/Network/Library/Frameworks/${fwk}.framework)
- IF(EXISTS ${dir})
- SET(${fwk}_FRAMEWORKS ${${fwk}_FRAMEWORKS} ${dir})
- ENDIF(EXISTS ${dir})
- ENDFOREACH(dir)
- ENDIF(APPLE)
- ENDMACRO(CMAKE_FIND_FRAMEWORKS)
-ENDIF(NOT CMAKE_FIND_FRAMEWORKS_INCLUDED)
+ if(EXISTS ${dir})
+ set(${fwk}_FRAMEWORKS ${${fwk}_FRAMEWORKS} ${dir})
+ endif()
+ endforeach()
+ endif()
+ endmacro()
+endif()
diff --git a/Modules/CMakeFindKDevelop3.cmake b/Modules/CMakeFindKDevelop3.cmake
index 331dc6ef9..2abd52376 100644
--- a/Modules/CMakeFindKDevelop3.cmake
+++ b/Modules/CMakeFindKDevelop3.cmake
@@ -15,9 +15,9 @@
# This file is included in CMakeSystemSpecificInformation.cmake if
# the KDevelop3 extra generator has been selected.
-FIND_PROGRAM(CMAKE_KDEVELOP3_EXECUTABLE NAMES kdevelop DOC "The KDevelop3 executable")
+find_program(CMAKE_KDEVELOP3_EXECUTABLE NAMES kdevelop DOC "The KDevelop3 executable")
-IF(CMAKE_KDEVELOP3_EXECUTABLE)
- SET(CMAKE_OPEN_PROJECT_COMMAND "${CMAKE_KDEVELOP3_EXECUTABLE} <PROJECT_FILE>" )
-ENDIF(CMAKE_KDEVELOP3_EXECUTABLE)
+if(CMAKE_KDEVELOP3_EXECUTABLE)
+ set(CMAKE_OPEN_PROJECT_COMMAND "${CMAKE_KDEVELOP3_EXECUTABLE} <PROJECT_FILE>" )
+endif()
diff --git a/Modules/CMakeFindPackageMode.cmake b/Modules/CMakeFindPackageMode.cmake
index 59c7ba5ee..cea018706 100644
--- a/Modules/CMakeFindPackageMode.cmake
+++ b/Modules/CMakeFindPackageMode.cmake
@@ -47,12 +47,14 @@ macro(ENABLE_LANGUAGE)
# But in --find-package mode, we don't want (and can't) enable any language.
endmacro()
+set(CMAKE_PLATFORM_INFO_DIR ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY})
+
include(CMakeDetermineSystem)
# short-cut some tests on Darwin, see Darwin-GNU.cmake:
if("${CMAKE_SYSTEM_NAME}" MATCHES Darwin AND "${COMPILER_ID}" MATCHES GNU)
- set(${CMAKE_${LANGUAGE}_HAS_ISYSROOT} 0 )
- set(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG "")
+ set(CMAKE_${LANGUAGE}_SYSROOT_FLAG "")
+ set(CMAKE_${LANGUAGE}_OSX_DEPLOYMENT_TARGET_FLAG "")
endif()
# Also load the system specific file, which sets up e.g. the search paths.
@@ -179,7 +181,7 @@ if(${NAME}_FOUND OR ${UPPERCASE_NAME}_FOUND)
set_compile_flags_var(${NAME})
elseif("${MODE}" STREQUAL "LINK")
set_link_flags_var(${NAME})
- else("${MODE}" STREQUAL "LINK")
+ else()
message(FATAL_ERROR "Invalid mode argument ${MODE} given.")
endif()
diff --git a/Modules/CMakeFindWMake.cmake b/Modules/CMakeFindWMake.cmake
index 6972c4c40..60275aea4 100644
--- a/Modules/CMakeFindWMake.cmake
+++ b/Modules/CMakeFindWMake.cmake
@@ -12,6 +12,6 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-SET (CMAKE_MAKE_PROGRAM "wmake" CACHE STRING
+set (CMAKE_MAKE_PROGRAM "wmake" CACHE STRING
"Program used to build from makefiles.")
-MARK_AS_ADVANCED(CMAKE_MAKE_PROGRAM)
+mark_as_advanced(CMAKE_MAKE_PROGRAM)
diff --git a/Modules/CMakeFindXCode.cmake b/Modules/CMakeFindXCode.cmake
index 53967b52a..5c4f59639 100644
--- a/Modules/CMakeFindXCode.cmake
+++ b/Modules/CMakeFindXCode.cmake
@@ -12,9 +12,9 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PROGRAM(CMAKE_MAKE_PROGRAM
+find_program(CMAKE_MAKE_PROGRAM
NAMES xcodebuild
PATHS
/usr/bin
)
-MARK_AS_ADVANCED(CMAKE_MAKE_PROGRAM)
+mark_as_advanced(CMAKE_MAKE_PROGRAM)
diff --git a/Modules/CMakeForceCompiler.cmake b/Modules/CMakeForceCompiler.cmake
index 2a839fd93..207c8ad35 100644
--- a/Modules/CMakeForceCompiler.cmake
+++ b/Modules/CMakeForceCompiler.cmake
@@ -24,8 +24,8 @@
# information tests.
#
# So a simple toolchain file could look like this:
-# INCLUDE (CMakeForceCompiler)
-# SET(CMAKE_SYSTEM_NAME Generic)
+# include (CMakeForceCompiler)
+# set(CMAKE_SYSTEM_NAME Generic)
# CMAKE_FORCE_C_COMPILER (chc12 MetrowerksHicross)
# CMAKE_FORCE_CXX_COMPILER (chc12 MetrowerksHicross)
@@ -42,41 +42,38 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-MACRO(CMAKE_FORCE_C_COMPILER compiler id)
- SET(CMAKE_C_COMPILER "${compiler}")
- SET(CMAKE_C_COMPILER_ID_RUN TRUE)
- SET(CMAKE_C_COMPILER_ID ${id})
- SET(CMAKE_C_COMPILER_WORKS TRUE)
- SET(CMAKE_C_COMPILER_FORCED TRUE)
+macro(CMAKE_FORCE_C_COMPILER compiler id)
+ set(CMAKE_C_COMPILER "${compiler}")
+ set(CMAKE_C_COMPILER_ID_RUN TRUE)
+ set(CMAKE_C_COMPILER_ID ${id})
+ set(CMAKE_C_COMPILER_FORCED TRUE)
# Set old compiler id variables.
- IF("${CMAKE_C_COMPILER_ID}" MATCHES "GNU")
- SET(CMAKE_COMPILER_IS_GNUCC 1)
- ENDIF("${CMAKE_C_COMPILER_ID}" MATCHES "GNU")
-ENDMACRO(CMAKE_FORCE_C_COMPILER)
+ if("${CMAKE_C_COMPILER_ID}" MATCHES "GNU")
+ set(CMAKE_COMPILER_IS_GNUCC 1)
+ endif()
+endmacro()
-MACRO(CMAKE_FORCE_CXX_COMPILER compiler id)
- SET(CMAKE_CXX_COMPILER "${compiler}")
- SET(CMAKE_CXX_COMPILER_ID_RUN TRUE)
- SET(CMAKE_CXX_COMPILER_ID ${id})
- SET(CMAKE_CXX_COMPILER_WORKS TRUE)
- SET(CMAKE_CXX_COMPILER_FORCED TRUE)
+macro(CMAKE_FORCE_CXX_COMPILER compiler id)
+ set(CMAKE_CXX_COMPILER "${compiler}")
+ set(CMAKE_CXX_COMPILER_ID_RUN TRUE)
+ set(CMAKE_CXX_COMPILER_ID ${id})
+ set(CMAKE_CXX_COMPILER_FORCED TRUE)
# Set old compiler id variables.
- IF("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
- SET(CMAKE_COMPILER_IS_GNUCXX 1)
- ENDIF("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
-ENDMACRO(CMAKE_FORCE_CXX_COMPILER)
+ if("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
+ set(CMAKE_COMPILER_IS_GNUCXX 1)
+ endif()
+endmacro()
-MACRO(CMAKE_FORCE_Fortran_COMPILER compiler id)
- SET(CMAKE_Fortran_COMPILER "${compiler}")
- SET(CMAKE_Fortran_COMPILER_ID_RUN TRUE)
- SET(CMAKE_Fortran_COMPILER_ID ${id})
- SET(CMAKE_Fortran_COMPILER_WORKS TRUE)
- SET(CMAKE_Fortran_COMPILER_FORCED TRUE)
+macro(CMAKE_FORCE_Fortran_COMPILER compiler id)
+ set(CMAKE_Fortran_COMPILER "${compiler}")
+ set(CMAKE_Fortran_COMPILER_ID_RUN TRUE)
+ set(CMAKE_Fortran_COMPILER_ID ${id})
+ set(CMAKE_Fortran_COMPILER_FORCED TRUE)
# Set old compiler id variables.
- IF("${CMAKE_Fortran_COMPILER_ID}" MATCHES "GNU")
- SET(CMAKE_COMPILER_IS_GNUG77 1)
- ENDIF("${CMAKE_Fortran_COMPILER_ID}" MATCHES "GNU")
-ENDMACRO(CMAKE_FORCE_Fortran_COMPILER)
+ if("${CMAKE_Fortran_COMPILER_ID}" MATCHES "GNU")
+ set(CMAKE_COMPILER_IS_GNUG77 1)
+ endif()
+endmacro()
diff --git a/Modules/CMakeFortranCompiler.cmake.in b/Modules/CMakeFortranCompiler.cmake.in
index 53d95525f..55f827773 100644
--- a/Modules/CMakeFortranCompiler.cmake.in
+++ b/Modules/CMakeFortranCompiler.cmake.in
@@ -1,52 +1,54 @@
-SET(CMAKE_Fortran_COMPILER "@CMAKE_Fortran_COMPILER@")
-SET(CMAKE_Fortran_COMPILER_ARG1 "@CMAKE_Fortran_COMPILER_ARG1@")
-SET(CMAKE_Fortran_COMPILER_ID "@CMAKE_Fortran_COMPILER_ID@")
-SET(CMAKE_Fortran_PLATFORM_ID "@CMAKE_Fortran_PLATFORM_ID@")
+set(CMAKE_Fortran_COMPILER "@CMAKE_Fortran_COMPILER@")
+set(CMAKE_Fortran_COMPILER_ARG1 "@CMAKE_Fortran_COMPILER_ARG1@")
+set(CMAKE_Fortran_COMPILER_ID "@CMAKE_Fortran_COMPILER_ID@")
+set(CMAKE_Fortran_PLATFORM_ID "@CMAKE_Fortran_PLATFORM_ID@")
@SET_MSVC_Fortran_ARCHITECTURE_ID@
-SET(CMAKE_AR "@CMAKE_AR@")
-SET(CMAKE_RANLIB "@CMAKE_RANLIB@")
-SET(CMAKE_COMPILER_IS_GNUG77 @CMAKE_COMPILER_IS_GNUG77@)
-SET(CMAKE_Fortran_COMPILER_LOADED 1)
-SET(CMAKE_COMPILER_IS_MINGW @CMAKE_COMPILER_IS_MINGW@)
-SET(CMAKE_COMPILER_IS_CYGWIN @CMAKE_COMPILER_IS_CYGWIN@)
-IF(CMAKE_COMPILER_IS_CYGWIN)
- SET(CYGWIN 1)
- SET(UNIX 1)
-ENDIF(CMAKE_COMPILER_IS_CYGWIN)
-
-SET(CMAKE_Fortran_COMPILER_ENV_VAR "FC")
-
-SET(CMAKE_Fortran_COMPILER_SUPPORTS_F90 @CMAKE_Fortran_COMPILER_SUPPORTS_F90@)
-
-IF(CMAKE_COMPILER_IS_MINGW)
- SET(MINGW 1)
-ENDIF(CMAKE_COMPILER_IS_MINGW)
-SET(CMAKE_Fortran_COMPILER_ID_RUN 1)
-SET(CMAKE_Fortran_SOURCE_FILE_EXTENSIONS f;F;f77;F77;f90;F90;for;For;FOR;f95;F95)
-SET(CMAKE_Fortran_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
-SET(CMAKE_Fortran_LINKER_PREFERENCE 20)
-IF(UNIX)
- SET(CMAKE_Fortran_OUTPUT_EXTENSION .o)
-ELSE(UNIX)
- SET(CMAKE_Fortran_OUTPUT_EXTENSION .obj)
-ENDIF(UNIX)
+set(CMAKE_AR "@CMAKE_AR@")
+set(CMAKE_RANLIB "@CMAKE_RANLIB@")
+set(CMAKE_COMPILER_IS_GNUG77 @CMAKE_COMPILER_IS_GNUG77@)
+set(CMAKE_Fortran_COMPILER_LOADED 1)
+set(CMAKE_Fortran_COMPILER_WORKS @CMAKE_Fortran_COMPILER_WORKS@)
+set(CMAKE_Fortran_ABI_COMPILED @CMAKE_Fortran_ABI_COMPILED@)
+set(CMAKE_COMPILER_IS_MINGW @CMAKE_COMPILER_IS_MINGW@)
+set(CMAKE_COMPILER_IS_CYGWIN @CMAKE_COMPILER_IS_CYGWIN@)
+if(CMAKE_COMPILER_IS_CYGWIN)
+ set(CYGWIN 1)
+ set(UNIX 1)
+endif()
+
+set(CMAKE_Fortran_COMPILER_ENV_VAR "FC")
+
+set(CMAKE_Fortran_COMPILER_SUPPORTS_F90 @CMAKE_Fortran_COMPILER_SUPPORTS_F90@)
+
+if(CMAKE_COMPILER_IS_MINGW)
+ set(MINGW 1)
+endif()
+set(CMAKE_Fortran_COMPILER_ID_RUN 1)
+set(CMAKE_Fortran_SOURCE_FILE_EXTENSIONS f;F;f77;F77;f90;F90;for;For;FOR;f95;F95)
+set(CMAKE_Fortran_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
+set(CMAKE_Fortran_LINKER_PREFERENCE 20)
+if(UNIX)
+ set(CMAKE_Fortran_OUTPUT_EXTENSION .o)
+else()
+ set(CMAKE_Fortran_OUTPUT_EXTENSION .obj)
+endif()
# Save compiler ABI information.
-SET(CMAKE_Fortran_SIZEOF_DATA_PTR "@CMAKE_Fortran_SIZEOF_DATA_PTR@")
-SET(CMAKE_Fortran_COMPILER_ABI "@CMAKE_Fortran_COMPILER_ABI@")
-SET(CMAKE_Fortran_LIBRARY_ARCHITECTURE "@CMAKE_Fortran_LIBRARY_ARCHITECTURE@")
+set(CMAKE_Fortran_SIZEOF_DATA_PTR "@CMAKE_Fortran_SIZEOF_DATA_PTR@")
+set(CMAKE_Fortran_COMPILER_ABI "@CMAKE_Fortran_COMPILER_ABI@")
+set(CMAKE_Fortran_LIBRARY_ARCHITECTURE "@CMAKE_Fortran_LIBRARY_ARCHITECTURE@")
-IF(CMAKE_Fortran_SIZEOF_DATA_PTR AND NOT CMAKE_SIZEOF_VOID_P)
- SET(CMAKE_SIZEOF_VOID_P "${CMAKE_Fortran_SIZEOF_DATA_PTR}")
-ENDIF()
+if(CMAKE_Fortran_SIZEOF_DATA_PTR AND NOT CMAKE_SIZEOF_VOID_P)
+ set(CMAKE_SIZEOF_VOID_P "${CMAKE_Fortran_SIZEOF_DATA_PTR}")
+endif()
-IF(CMAKE_Fortran_COMPILER_ABI)
- SET(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_Fortran_COMPILER_ABI}")
-ENDIF(CMAKE_Fortran_COMPILER_ABI)
+if(CMAKE_Fortran_COMPILER_ABI)
+ set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_Fortran_COMPILER_ABI}")
+endif()
-IF(CMAKE_Fortran_LIBRARY_ARCHITECTURE)
- SET(CMAKE_LIBRARY_ARCHITECTURE "@CMAKE_Fortran_LIBRARY_ARCHITECTURE@")
-ENDIF()
+if(CMAKE_Fortran_LIBRARY_ARCHITECTURE)
+ set(CMAKE_LIBRARY_ARCHITECTURE "@CMAKE_Fortran_LIBRARY_ARCHITECTURE@")
+endif()
-SET(CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES "@CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES@")
-SET(CMAKE_Fortran_IMPLICIT_LINK_DIRECTORIES "@CMAKE_Fortran_IMPLICIT_LINK_DIRECTORIES@")
+set(CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES "@CMAKE_Fortran_IMPLICIT_LINK_LIBRARIES@")
+set(CMAKE_Fortran_IMPLICIT_LINK_DIRECTORIES "@CMAKE_Fortran_IMPLICIT_LINK_DIRECTORIES@")
diff --git a/Modules/CMakeFortranInformation.cmake b/Modules/CMakeFortranInformation.cmake
index d962f4cb5..512ec4864 100644
--- a/Modules/CMakeFortranInformation.cmake
+++ b/Modules/CMakeFortranInformation.cmake
@@ -16,163 +16,163 @@
# It also loads the available platform file for the system-compiler
# if it exists.
-SET(_INCLUDED_FILE 0)
+set(_INCLUDED_FILE 0)
# Load compiler-specific information.
-IF(CMAKE_Fortran_COMPILER_ID)
- INCLUDE(Compiler/${CMAKE_Fortran_COMPILER_ID}-Fortran OPTIONAL)
-ENDIF(CMAKE_Fortran_COMPILER_ID)
+if(CMAKE_Fortran_COMPILER_ID)
+ include(Compiler/${CMAKE_Fortran_COMPILER_ID}-Fortran OPTIONAL)
+endif()
-SET(CMAKE_BASE_NAME)
-GET_FILENAME_COMPONENT(CMAKE_BASE_NAME ${CMAKE_Fortran_COMPILER} NAME_WE)
+set(CMAKE_BASE_NAME)
+get_filename_component(CMAKE_BASE_NAME ${CMAKE_Fortran_COMPILER} NAME_WE)
# since the gnu compiler has several names force g++
-IF(CMAKE_COMPILER_IS_GNUG77)
- SET(CMAKE_BASE_NAME g77)
-ENDIF(CMAKE_COMPILER_IS_GNUG77)
-IF(CMAKE_Fortran_COMPILER_ID)
- INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_Fortran_COMPILER_ID}-Fortran OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
-ENDIF(CMAKE_Fortran_COMPILER_ID)
-IF (NOT _INCLUDED_FILE)
- INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME} OPTIONAL
+if(CMAKE_COMPILER_IS_GNUG77)
+ set(CMAKE_BASE_NAME g77)
+endif()
+if(CMAKE_Fortran_COMPILER_ID)
+ include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_Fortran_COMPILER_ID}-Fortran OPTIONAL RESULT_VARIABLE _INCLUDED_FILE)
+endif()
+if (NOT _INCLUDED_FILE)
+ include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME} OPTIONAL
RESULT_VARIABLE _INCLUDED_FILE)
-ENDIF (NOT _INCLUDED_FILE)
+endif ()
# We specify the compiler information in the system file for some
# platforms, but this language may not have been enabled when the file
# was first included. Include it again to get the language info.
# Remove this when all compiler info is removed from system files.
-IF (NOT _INCLUDED_FILE)
- INCLUDE(Platform/${CMAKE_SYSTEM_NAME} OPTIONAL)
-ENDIF (NOT _INCLUDED_FILE)
+if (NOT _INCLUDED_FILE)
+ include(Platform/${CMAKE_SYSTEM_NAME} OPTIONAL)
+endif ()
-IF(CMAKE_Fortran_SIZEOF_DATA_PTR)
- FOREACH(f ${CMAKE_Fortran_ABI_FILES})
- INCLUDE(${f})
- ENDFOREACH()
- UNSET(CMAKE_Fortran_ABI_FILES)
-ENDIF()
+if(CMAKE_Fortran_SIZEOF_DATA_PTR)
+ foreach(f ${CMAKE_Fortran_ABI_FILES})
+ include(${f})
+ endforeach()
+ unset(CMAKE_Fortran_ABI_FILES)
+endif()
# This should be included before the _INIT variables are
-# used to initialize the cache. Since the rule variables
+# used to initialize the cache. Since the rule variables
# have if blocks on them, users can still define them here.
# But, it should still be after the platform file so changes can
# be made to those values.
-IF(CMAKE_USER_MAKE_RULES_OVERRIDE)
+if(CMAKE_USER_MAKE_RULES_OVERRIDE)
# Save the full path of the file so try_compile can use it.
- INCLUDE(${CMAKE_USER_MAKE_RULES_OVERRIDE} RESULT_VARIABLE _override)
- SET(CMAKE_USER_MAKE_RULES_OVERRIDE "${_override}")
-ENDIF()
+ include(${CMAKE_USER_MAKE_RULES_OVERRIDE} RESULT_VARIABLE _override)
+ set(CMAKE_USER_MAKE_RULES_OVERRIDE "${_override}")
+endif()
-IF(CMAKE_USER_MAKE_RULES_OVERRIDE_Fortran)
+if(CMAKE_USER_MAKE_RULES_OVERRIDE_Fortran)
# Save the full path of the file so try_compile can use it.
- INCLUDE(${CMAKE_USER_MAKE_RULES_OVERRIDE_Fortran} RESULT_VARIABLE _override)
- SET(CMAKE_USER_MAKE_RULES_OVERRIDE_Fortran "${_override}")
-ENDIF()
+ include(${CMAKE_USER_MAKE_RULES_OVERRIDE_Fortran} RESULT_VARIABLE _override)
+ set(CMAKE_USER_MAKE_RULES_OVERRIDE_Fortran "${_override}")
+endif()
-# Fortran needs cmake to do a requires step during its build process to
+# Fortran needs cmake to do a requires step during its build process to
# catch any modules
-SET(CMAKE_NEEDS_REQUIRES_STEP_Fortran_FLAG 1)
+set(CMAKE_NEEDS_REQUIRES_STEP_Fortran_FLAG 1)
-IF(NOT CMAKE_Fortran_COMPILE_OPTIONS_PIC)
- SET(CMAKE_Fortran_COMPILE_OPTIONS_PIC ${CMAKE_C_COMPILE_OPTIONS_PIC})
-ENDIF(NOT CMAKE_Fortran_COMPILE_OPTIONS_PIC)
+if(NOT CMAKE_Fortran_COMPILE_OPTIONS_PIC)
+ set(CMAKE_Fortran_COMPILE_OPTIONS_PIC ${CMAKE_C_COMPILE_OPTIONS_PIC})
+endif()
-IF(NOT CMAKE_Fortran_COMPILE_OPTIONS_PIE)
- SET(CMAKE_Fortran_COMPILE_OPTIONS_PIE ${CMAKE_C_COMPILE_OPTIONS_PIE})
-ENDIF(NOT CMAKE_Fortran_COMPILE_OPTIONS_PIE)
+if(NOT CMAKE_Fortran_COMPILE_OPTIONS_PIE)
+ set(CMAKE_Fortran_COMPILE_OPTIONS_PIE ${CMAKE_C_COMPILE_OPTIONS_PIE})
+endif()
-IF(NOT CMAKE_Fortran_COMPILE_OPTIONS_DLL)
- SET(CMAKE_Fortran_COMPILE_OPTIONS_DLL ${CMAKE_C_COMPILE_OPTIONS_DLL})
-ENDIF(NOT CMAKE_Fortran_COMPILE_OPTIONS_DLL)
+if(NOT CMAKE_Fortran_COMPILE_OPTIONS_DLL)
+ set(CMAKE_Fortran_COMPILE_OPTIONS_DLL ${CMAKE_C_COMPILE_OPTIONS_DLL})
+endif()
# Create a set of shared library variable specific to Fortran
# For 90% of the systems, these are the same flags as the C versions
# so if these are not set just copy the flags from the c version
-IF(NOT DEFINED CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS)
- SET(CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS})
-ENDIF()
+if(NOT DEFINED CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS)
+ set(CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS})
+endif()
-IF(NOT DEFINED CMAKE_SHARED_LIBRARY_Fortran_FLAGS)
- SET(CMAKE_SHARED_LIBRARY_Fortran_FLAGS ${CMAKE_SHARED_LIBRARY_C_FLAGS})
-ENDIF()
+if(NOT DEFINED CMAKE_SHARED_LIBRARY_Fortran_FLAGS)
+ set(CMAKE_SHARED_LIBRARY_Fortran_FLAGS ${CMAKE_SHARED_LIBRARY_C_FLAGS})
+endif()
-IF(NOT DEFINED CMAKE_SHARED_LIBRARY_LINK_Fortran_FLAGS)
- SET(CMAKE_SHARED_LIBRARY_LINK_Fortran_FLAGS ${CMAKE_SHARED_LIBRARY_LINK_C_FLAGS})
-ENDIF()
+if(NOT DEFINED CMAKE_SHARED_LIBRARY_LINK_Fortran_FLAGS)
+ set(CMAKE_SHARED_LIBRARY_LINK_Fortran_FLAGS ${CMAKE_SHARED_LIBRARY_LINK_C_FLAGS})
+endif()
-IF(NOT DEFINED CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG)
- SET(CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG})
-ENDIF()
+if(NOT DEFINED CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG)
+ set(CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG})
+endif()
-IF(NOT DEFINED CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG_SEP)
- SET(CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP})
-ENDIF()
+if(NOT DEFINED CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG_SEP)
+ set(CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP})
+endif()
-IF(NOT DEFINED CMAKE_SHARED_LIBRARY_RPATH_LINK_Fortran_FLAG)
- SET(CMAKE_SHARED_LIBRARY_RPATH_LINK_Fortran_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG})
-ENDIF()
+if(NOT DEFINED CMAKE_SHARED_LIBRARY_RPATH_LINK_Fortran_FLAG)
+ set(CMAKE_SHARED_LIBRARY_RPATH_LINK_Fortran_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG})
+endif()
-IF(NOT DEFINED CMAKE_EXE_EXPORTS_Fortran_FLAG)
- SET(CMAKE_EXE_EXPORTS_Fortran_FLAG ${CMAKE_EXE_EXPORTS_C_FLAG})
-ENDIF()
+if(NOT DEFINED CMAKE_EXE_EXPORTS_Fortran_FLAG)
+ set(CMAKE_EXE_EXPORTS_Fortran_FLAG ${CMAKE_EXE_EXPORTS_C_FLAG})
+endif()
-IF(NOT DEFINED CMAKE_SHARED_LIBRARY_SONAME_Fortran_FLAG)
- SET(CMAKE_SHARED_LIBRARY_SONAME_Fortran_FLAG ${CMAKE_SHARED_LIBRARY_SONAME_C_FLAG})
-ENDIF()
+if(NOT DEFINED CMAKE_SHARED_LIBRARY_SONAME_Fortran_FLAG)
+ set(CMAKE_SHARED_LIBRARY_SONAME_Fortran_FLAG ${CMAKE_SHARED_LIBRARY_SONAME_C_FLAG})
+endif()
# for most systems a module is the same as a shared library
# so unless the variable CMAKE_MODULE_EXISTS is set just
# copy the values from the LIBRARY variables
-IF(NOT CMAKE_MODULE_EXISTS)
- SET(CMAKE_SHARED_MODULE_Fortran_FLAGS ${CMAKE_SHARED_LIBRARY_Fortran_FLAGS})
- SET(CMAKE_SHARED_MODULE_CREATE_Fortran_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS})
-ENDIF(NOT CMAKE_MODULE_EXISTS)
+if(NOT CMAKE_MODULE_EXISTS)
+ set(CMAKE_SHARED_MODULE_Fortran_FLAGS ${CMAKE_SHARED_LIBRARY_Fortran_FLAGS})
+ set(CMAKE_SHARED_MODULE_CREATE_Fortran_FLAGS ${CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS})
+endif()
# repeat for modules
-IF(NOT DEFINED CMAKE_SHARED_MODULE_CREATE_Fortran_FLAGS)
- SET(CMAKE_SHARED_MODULE_CREATE_Fortran_FLAGS ${CMAKE_SHARED_MODULE_CREATE_C_FLAGS})
-ENDIF()
-
-IF(NOT DEFINED CMAKE_SHARED_MODULE_Fortran_FLAGS)
- SET(CMAKE_SHARED_MODULE_Fortran_FLAGS ${CMAKE_SHARED_MODULE_C_FLAGS})
-ENDIF()
-
-IF(NOT DEFINED CMAKE_EXECUTABLE_RUNTIME_Fortran_FLAG)
- SET(CMAKE_EXECUTABLE_RUNTIME_Fortran_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG})
-ENDIF()
-
-IF(NOT DEFINED CMAKE_EXECUTABLE_RUNTIME_Fortran_FLAG_SEP)
- SET(CMAKE_EXECUTABLE_RUNTIME_Fortran_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG_SEP})
-ENDIF()
-
-IF(NOT DEFINED CMAKE_EXECUTABLE_RPATH_LINK_Fortran_FLAG)
- SET(CMAKE_EXECUTABLE_RPATH_LINK_Fortran_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_Fortran_FLAG})
-ENDIF()
-
-IF(NOT DEFINED CMAKE_SHARED_LIBRARY_LINK_Fortran_WITH_RUNTIME_PATH)
- SET(CMAKE_SHARED_LIBRARY_LINK_Fortran_WITH_RUNTIME_PATH ${CMAKE_SHARED_LIBRARY_LINK_C_WITH_RUNTIME_PATH})
-ENDIF(NOT DEFINED CMAKE_SHARED_LIBRARY_LINK_Fortran_WITH_RUNTIME_PATH)
-
-IF(NOT CMAKE_INCLUDE_FLAG_Fortran)
- SET(CMAKE_INCLUDE_FLAG_Fortran ${CMAKE_INCLUDE_FLAG_C})
-ENDIF(NOT CMAKE_INCLUDE_FLAG_Fortran)
-
-IF(NOT CMAKE_INCLUDE_FLAG_SEP_Fortran)
- SET(CMAKE_INCLUDE_FLAG_SEP_Fortran ${CMAKE_INCLUDE_FLAG_SEP_C})
-ENDIF(NOT CMAKE_INCLUDE_FLAG_SEP_Fortran)
-
-SET(CMAKE_VERBOSE_MAKEFILE FALSE CACHE BOOL "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make. This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo.")
-
-SET(CMAKE_Fortran_FLAGS_INIT "$ENV{FFLAGS} ${CMAKE_Fortran_FLAGS_INIT}")
-# avoid just having a space as the initial value for the cache
-IF(CMAKE_Fortran_FLAGS_INIT STREQUAL " ")
- SET(CMAKE_Fortran_FLAGS_INIT)
-ENDIF(CMAKE_Fortran_FLAGS_INIT STREQUAL " ")
-SET (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS_INIT}" CACHE STRING
+if(NOT DEFINED CMAKE_SHARED_MODULE_CREATE_Fortran_FLAGS)
+ set(CMAKE_SHARED_MODULE_CREATE_Fortran_FLAGS ${CMAKE_SHARED_MODULE_CREATE_C_FLAGS})
+endif()
+
+if(NOT DEFINED CMAKE_SHARED_MODULE_Fortran_FLAGS)
+ set(CMAKE_SHARED_MODULE_Fortran_FLAGS ${CMAKE_SHARED_MODULE_C_FLAGS})
+endif()
+
+if(NOT DEFINED CMAKE_EXECUTABLE_RUNTIME_Fortran_FLAG)
+ set(CMAKE_EXECUTABLE_RUNTIME_Fortran_FLAG ${CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG})
+endif()
+
+if(NOT DEFINED CMAKE_EXECUTABLE_RUNTIME_Fortran_FLAG_SEP)
+ set(CMAKE_EXECUTABLE_RUNTIME_Fortran_FLAG_SEP ${CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG_SEP})
+endif()
+
+if(NOT DEFINED CMAKE_EXECUTABLE_RPATH_LINK_Fortran_FLAG)
+ set(CMAKE_EXECUTABLE_RPATH_LINK_Fortran_FLAG ${CMAKE_SHARED_LIBRARY_RPATH_LINK_Fortran_FLAG})
+endif()
+
+if(NOT DEFINED CMAKE_SHARED_LIBRARY_LINK_Fortran_WITH_RUNTIME_PATH)
+ set(CMAKE_SHARED_LIBRARY_LINK_Fortran_WITH_RUNTIME_PATH ${CMAKE_SHARED_LIBRARY_LINK_C_WITH_RUNTIME_PATH})
+endif()
+
+if(NOT CMAKE_INCLUDE_FLAG_Fortran)
+ set(CMAKE_INCLUDE_FLAG_Fortran ${CMAKE_INCLUDE_FLAG_C})
+endif()
+
+if(NOT CMAKE_INCLUDE_FLAG_SEP_Fortran)
+ set(CMAKE_INCLUDE_FLAG_SEP_Fortran ${CMAKE_INCLUDE_FLAG_SEP_C})
+endif()
+
+set(CMAKE_VERBOSE_MAKEFILE FALSE CACHE BOOL "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make. This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo.")
+
+set(CMAKE_Fortran_FLAGS_INIT "$ENV{FFLAGS} ${CMAKE_Fortran_FLAGS_INIT}")
+# avoid just having a space as the initial value for the cache
+if(CMAKE_Fortran_FLAGS_INIT STREQUAL " ")
+ set(CMAKE_Fortran_FLAGS_INIT)
+endif()
+set (CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS_INIT}" CACHE STRING
"Flags for Fortran compiler.")
-INCLUDE(CMakeCommonLanguageInclude)
+include(CMakeCommonLanguageInclude)
# now define the following rule variables
# CMAKE_Fortran_CREATE_SHARED_LIBRARY
@@ -181,60 +181,60 @@ INCLUDE(CMakeCommonLanguageInclude)
# CMAKE_Fortran_LINK_EXECUTABLE
# create a Fortran shared library
-IF(NOT CMAKE_Fortran_CREATE_SHARED_LIBRARY)
- SET(CMAKE_Fortran_CREATE_SHARED_LIBRARY
+if(NOT CMAKE_Fortran_CREATE_SHARED_LIBRARY)
+ set(CMAKE_Fortran_CREATE_SHARED_LIBRARY
"<CMAKE_Fortran_COMPILER> <CMAKE_SHARED_LIBRARY_Fortran_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS> <SONAME_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
-ENDIF(NOT CMAKE_Fortran_CREATE_SHARED_LIBRARY)
+endif()
# create a Fortran shared module just copy the shared library rule
-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)
+if(NOT CMAKE_Fortran_CREATE_SHARED_MODULE)
+ set(CMAKE_Fortran_CREATE_SHARED_MODULE ${CMAKE_Fortran_CREATE_SHARED_LIBRARY})
+endif()
# Create a static archive incrementally for large object file counts.
# If CMAKE_Fortran_CREATE_STATIC_LIBRARY is set it will override these.
-IF(NOT DEFINED CMAKE_Fortran_ARCHIVE_CREATE)
- SET(CMAKE_Fortran_ARCHIVE_CREATE "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS>")
-ENDIF()
-IF(NOT DEFINED CMAKE_Fortran_ARCHIVE_APPEND)
- SET(CMAKE_Fortran_ARCHIVE_APPEND "<CMAKE_AR> r <TARGET> <LINK_FLAGS> <OBJECTS>")
-ENDIF()
-IF(NOT DEFINED CMAKE_Fortran_ARCHIVE_FINISH)
- SET(CMAKE_Fortran_ARCHIVE_FINISH "<CMAKE_RANLIB> <TARGET>")
-ENDIF()
+if(NOT DEFINED CMAKE_Fortran_ARCHIVE_CREATE)
+ set(CMAKE_Fortran_ARCHIVE_CREATE "<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS>")
+endif()
+if(NOT DEFINED CMAKE_Fortran_ARCHIVE_APPEND)
+ set(CMAKE_Fortran_ARCHIVE_APPEND "<CMAKE_AR> r <TARGET> <LINK_FLAGS> <OBJECTS>")
+endif()
+if(NOT DEFINED CMAKE_Fortran_ARCHIVE_FINISH)
+ set(CMAKE_Fortran_ARCHIVE_FINISH "<CMAKE_RANLIB> <TARGET>")
+endif()
# compile a Fortran file into an object file
# (put -o after -c to workaround bug in at least one mpif77 wrapper)
-IF(NOT CMAKE_Fortran_COMPILE_OBJECT)
- SET(CMAKE_Fortran_COMPILE_OBJECT
+if(NOT CMAKE_Fortran_COMPILE_OBJECT)
+ set(CMAKE_Fortran_COMPILE_OBJECT
"<CMAKE_Fortran_COMPILER> <DEFINES> <FLAGS> -c <SOURCE> -o <OBJECT>")
-ENDIF(NOT CMAKE_Fortran_COMPILE_OBJECT)
+endif()
# link a fortran program
-IF(NOT CMAKE_Fortran_LINK_EXECUTABLE)
- SET(CMAKE_Fortran_LINK_EXECUTABLE
+if(NOT CMAKE_Fortran_LINK_EXECUTABLE)
+ set(CMAKE_Fortran_LINK_EXECUTABLE
"<CMAKE_Fortran_COMPILER> <CMAKE_Fortran_LINK_FLAGS> <LINK_FLAGS> <FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
-ENDIF(NOT CMAKE_Fortran_LINK_EXECUTABLE)
+endif()
-IF(CMAKE_Fortran_STANDARD_LIBRARIES_INIT)
- SET(CMAKE_Fortran_STANDARD_LIBRARIES "${CMAKE_Fortran_STANDARD_LIBRARIES_INIT}"
+if(CMAKE_Fortran_STANDARD_LIBRARIES_INIT)
+ set(CMAKE_Fortran_STANDARD_LIBRARIES "${CMAKE_Fortran_STANDARD_LIBRARIES_INIT}"
CACHE STRING "Libraries linked by defalut with all Fortran applications.")
- MARK_AS_ADVANCED(CMAKE_Fortran_STANDARD_LIBRARIES)
-ENDIF(CMAKE_Fortran_STANDARD_LIBRARIES_INIT)
+ mark_as_advanced(CMAKE_Fortran_STANDARD_LIBRARIES)
+endif()
-IF(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
- SET (CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG_INIT}" CACHE STRING
+if(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
+ set (CMAKE_Fortran_FLAGS_DEBUG "${CMAKE_Fortran_FLAGS_DEBUG_INIT}" CACHE STRING
"Flags used by the compiler during debug builds.")
- SET (CMAKE_Fortran_FLAGS_MINSIZEREL "${CMAKE_Fortran_FLAGS_MINSIZEREL_INIT}" CACHE STRING
+ set (CMAKE_Fortran_FLAGS_MINSIZEREL "${CMAKE_Fortran_FLAGS_MINSIZEREL_INIT}" CACHE STRING
"Flags used by the compiler during release minsize builds.")
- SET (CMAKE_Fortran_FLAGS_RELEASE "${CMAKE_Fortran_FLAGS_RELEASE_INIT}" CACHE STRING
+ set (CMAKE_Fortran_FLAGS_RELEASE "${CMAKE_Fortran_FLAGS_RELEASE_INIT}" CACHE STRING
"Flags used by the compiler during release builds (/MD /Ob1 /Oi /Ot /Oy /Gs will produce slightly less optimized but smaller files).")
- SET (CMAKE_Fortran_FLAGS_RELWITHDEBINFO "${CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT}" CACHE STRING
+ set (CMAKE_Fortran_FLAGS_RELWITHDEBINFO "${CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT}" CACHE STRING
"Flags used by the compiler during Release with Debug Info builds.")
-ENDIF(NOT CMAKE_NOT_USING_CONFIG_FLAGS)
+endif()
-MARK_AS_ADVANCED(
+mark_as_advanced(
CMAKE_Fortran_FLAGS
CMAKE_Fortran_FLAGS_DEBUG
CMAKE_Fortran_FLAGS_MINSIZEREL
@@ -242,4 +242,4 @@ CMAKE_Fortran_FLAGS_RELEASE
CMAKE_Fortran_FLAGS_RELWITHDEBINFO)
# set this variable so we can avoid loading this more than once.
-SET(CMAKE_Fortran_INFORMATION_LOADED 1)
+set(CMAKE_Fortran_INFORMATION_LOADED 1)
diff --git a/Modules/CMakeGenericSystem.cmake b/Modules/CMakeGenericSystem.cmake
index 0ccbfac56..8a14aea60 100644
--- a/Modules/CMakeGenericSystem.cmake
+++ b/Modules/CMakeGenericSystem.cmake
@@ -12,60 +12,60 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-SET(CMAKE_SHARED_LIBRARY_C_FLAGS "") # -pic
-SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared") # -shared
-SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") # +s, flag for exe link to use shared lib
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "") # -rpath
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP "") # : or empty
-SET(CMAKE_INCLUDE_FLAG_C "-I") # -I
-SET(CMAKE_INCLUDE_FLAG_C_SEP "") # , or empty
-SET(CMAKE_LIBRARY_PATH_FLAG "-L")
-SET(CMAKE_LIBRARY_PATH_TERMINATOR "") # for the Digital Mars D compiler the link paths have to be terminated with a "/"
-SET(CMAKE_LINK_LIBRARY_FLAG "-l")
-
-SET(CMAKE_LINK_LIBRARY_SUFFIX "")
-SET(CMAKE_STATIC_LIBRARY_PREFIX "lib")
-SET(CMAKE_STATIC_LIBRARY_SUFFIX ".a")
-SET(CMAKE_SHARED_LIBRARY_PREFIX "lib") # lib
-SET(CMAKE_SHARED_LIBRARY_SUFFIX ".so") # .so
-SET(CMAKE_EXECUTABLE_SUFFIX "") # .exe
-SET(CMAKE_DL_LIBS "dl")
-
-SET(CMAKE_FIND_LIBRARY_PREFIXES "lib")
-SET(CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".a")
+set(CMAKE_SHARED_LIBRARY_C_FLAGS "") # -pic
+set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared") # -shared
+set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") # +s, flag for exe link to use shared lib
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "") # -rpath
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP "") # : or empty
+set(CMAKE_INCLUDE_FLAG_C "-I") # -I
+set(CMAKE_INCLUDE_FLAG_C_SEP "") # , or empty
+set(CMAKE_LIBRARY_PATH_FLAG "-L")
+set(CMAKE_LIBRARY_PATH_TERMINATOR "") # for the Digital Mars D compiler the link paths have to be terminated with a "/"
+set(CMAKE_LINK_LIBRARY_FLAG "-l")
+
+set(CMAKE_LINK_LIBRARY_SUFFIX "")
+set(CMAKE_STATIC_LIBRARY_PREFIX "lib")
+set(CMAKE_STATIC_LIBRARY_SUFFIX ".a")
+set(CMAKE_SHARED_LIBRARY_PREFIX "lib") # lib
+set(CMAKE_SHARED_LIBRARY_SUFFIX ".so") # .so
+set(CMAKE_EXECUTABLE_SUFFIX "") # .exe
+set(CMAKE_DL_LIBS "dl")
+
+set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
+set(CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".a")
# basically all general purpose OSs support shared libs
-SET_PROPERTY(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE)
+set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE)
-SET (CMAKE_SKIP_RPATH "NO" CACHE BOOL
+set (CMAKE_SKIP_RPATH "NO" CACHE BOOL
"If set, runtime paths are not added when using shared libraries.")
-SET (CMAKE_SKIP_INSTALL_RPATH "NO" CACHE BOOL
+set (CMAKE_SKIP_INSTALL_RPATH "NO" CACHE BOOL
"If set, runtime paths are not added when installing shared libraries, but are added when building.")
-SET(CMAKE_VERBOSE_MAKEFILE FALSE CACHE BOOL "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make. This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo.")
+set(CMAKE_VERBOSE_MAKEFILE FALSE CACHE BOOL "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make. This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo.")
-IF(CMAKE_GENERATOR MATCHES "Makefiles")
- SET(CMAKE_COLOR_MAKEFILE ON CACHE BOOL
+if(CMAKE_GENERATOR MATCHES "Makefiles")
+ set(CMAKE_COLOR_MAKEFILE ON CACHE BOOL
"Enable/Disable color output during build."
)
- MARK_AS_ADVANCED(CMAKE_COLOR_MAKEFILE)
- IF(DEFINED CMAKE_RULE_MESSAGES)
- SET_PROPERTY(GLOBAL PROPERTY RULE_MESSAGES ${CMAKE_RULE_MESSAGES})
- ENDIF(DEFINED CMAKE_RULE_MESSAGES)
- IF(CMAKE_GENERATOR MATCHES "Unix Makefiles")
- SET(CMAKE_EXPORT_COMPILE_COMMANDS OFF CACHE BOOL
+ mark_as_advanced(CMAKE_COLOR_MAKEFILE)
+ if(DEFINED CMAKE_RULE_MESSAGES)
+ set_property(GLOBAL PROPERTY RULE_MESSAGES ${CMAKE_RULE_MESSAGES})
+ endif()
+ if(CMAKE_GENERATOR MATCHES "Unix Makefiles")
+ set(CMAKE_EXPORT_COMPILE_COMMANDS OFF CACHE BOOL
"Enable/Disable output of compile commands during generation."
)
- MARK_AS_ADVANCED(CMAKE_EXPORT_COMPILE_COMMANDS)
- ENDIF(CMAKE_GENERATOR MATCHES "Unix Makefiles")
-ENDIF(CMAKE_GENERATOR MATCHES "Makefiles")
+ mark_as_advanced(CMAKE_EXPORT_COMPILE_COMMANDS)
+ endif()
+endif()
-IF(CMAKE_GENERATOR MATCHES "Ninja")
- SET(CMAKE_EXPORT_COMPILE_COMMANDS OFF CACHE BOOL
+if(CMAKE_GENERATOR MATCHES "Ninja")
+ set(CMAKE_EXPORT_COMPILE_COMMANDS OFF CACHE BOOL
"Enable/Disable output of compile commands during generation."
)
- MARK_AS_ADVANCED(CMAKE_EXPORT_COMPILE_COMMANDS)
-ENDIF(CMAKE_GENERATOR MATCHES "Ninja")
+ mark_as_advanced(CMAKE_EXPORT_COMPILE_COMMANDS)
+endif()
# GetDefaultWindowsPrefixBase
#
@@ -160,27 +160,27 @@ endfunction()
# was initialized by the block below. This is useful for user
# projects to change the default prefix while still allowing the
# command line to override it.
-IF(NOT DEFINED CMAKE_INSTALL_PREFIX)
- SET(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT 1)
-ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX)
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+ set(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT 1)
+endif()
# Choose a default install prefix for this platform.
-IF(CMAKE_HOST_UNIX)
- SET(CMAKE_INSTALL_PREFIX "/usr/local"
+if(CMAKE_HOST_UNIX)
+ set(CMAKE_INSTALL_PREFIX "/usr/local"
CACHE PATH "Install path prefix, prepended onto install directories.")
-ELSE(CMAKE_HOST_UNIX)
+else()
GetDefaultWindowsPrefixBase(CMAKE_GENERIC_PROGRAM_FILES)
- SET(CMAKE_INSTALL_PREFIX
+ set(CMAKE_INSTALL_PREFIX
"${CMAKE_GENERIC_PROGRAM_FILES}/${PROJECT_NAME}"
CACHE PATH "Install path prefix, prepended onto install directories.")
- SET(CMAKE_GENERIC_PROGRAM_FILES)
-ENDIF(CMAKE_HOST_UNIX)
+ set(CMAKE_GENERIC_PROGRAM_FILES)
+endif()
# Set a variable which will be used as component name in install() commands
# where no COMPONENT has been given:
-SET(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "Unspecified")
+set(CMAKE_INSTALL_DEFAULT_COMPONENT_NAME "Unspecified")
-MARK_AS_ADVANCED(
+mark_as_advanced(
CMAKE_SKIP_RPATH
CMAKE_SKIP_INSTALL_RPATH
CMAKE_VERBOSE_MAKEFILE
diff --git a/Modules/CMakeImportBuildSettings.cmake b/Modules/CMakeImportBuildSettings.cmake
index 848d89445..60b887aed 100644
--- a/Modules/CMakeImportBuildSettings.cmake
+++ b/Modules/CMakeImportBuildSettings.cmake
@@ -16,9 +16,9 @@
# This macro used to load build settings from another project that
# stored settings using the CMAKE_EXPORT_BUILD_SETTINGS macro.
-MACRO(CMAKE_IMPORT_BUILD_SETTINGS SETTINGS_FILE)
- IF(${SETTINGS_FILE} MATCHES ".+")
- ELSE(${SETTINGS_FILE} MATCHES ".+")
- MESSAGE(SEND_ERROR "CMAKE_IMPORT_BUILD_SETTINGS called with no argument.")
- ENDIF(${SETTINGS_FILE} MATCHES ".+")
-ENDMACRO(CMAKE_IMPORT_BUILD_SETTINGS)
+macro(CMAKE_IMPORT_BUILD_SETTINGS SETTINGS_FILE)
+ if(${SETTINGS_FILE} MATCHES ".+")
+ else()
+ message(SEND_ERROR "CMAKE_IMPORT_BUILD_SETTINGS called with no argument.")
+ endif()
+endmacro()
diff --git a/Modules/CMakeJOMFindMake.cmake b/Modules/CMakeJOMFindMake.cmake
index 617f3bb90..cb3cf12c8 100644
--- a/Modules/CMakeJOMFindMake.cmake
+++ b/Modules/CMakeJOMFindMake.cmake
@@ -13,6 +13,6 @@
# License text for the above reference.)
-SET (CMAKE_MAKE_PROGRAM "jom" CACHE STRING
+set (CMAKE_MAKE_PROGRAM "jom" CACHE STRING
"Program used to build from makefiles.")
-MARK_AS_ADVANCED(CMAKE_MAKE_PROGRAM)
+mark_as_advanced(CMAKE_MAKE_PROGRAM)
diff --git a/Modules/CMakeJavaCompiler.cmake.in b/Modules/CMakeJavaCompiler.cmake.in
index 79c9288bc..cd4158c8e 100644
--- a/Modules/CMakeJavaCompiler.cmake.in
+++ b/Modules/CMakeJavaCompiler.cmake.in
@@ -1,13 +1,13 @@
-SET(CMAKE_Java_COMPILER "@CMAKE_Java_COMPILER@")
-SET(CMAKE_Java_COMPILER_ARG1 "@CMAKE_Java_COMPILER_ARG1@")
-SET(CMAKE_Java_RUNTIME "@CMAKE_Java_RUNTIME@")
-SET(CMAKE_Java_ARCHIVE "@CMAKE_Java_ARCHIVE@")
-SET(CMAKE_Java_COMPILER_LOADED 1)
+set(CMAKE_Java_COMPILER "@CMAKE_Java_COMPILER@")
+set(CMAKE_Java_COMPILER_ARG1 "@CMAKE_Java_COMPILER_ARG1@")
+set(CMAKE_Java_RUNTIME "@CMAKE_Java_RUNTIME@")
+set(CMAKE_Java_ARCHIVE "@CMAKE_Java_ARCHIVE@")
+set(CMAKE_Java_COMPILER_LOADED 1)
-SET(CMAKE_Java_SOURCE_FILE_EXTENSIONS java)
-SET(CMAKE_Java_LINKER_PREFERENCE 40)
-SET(CMAKE_Java_OUTPUT_EXTENSION .class)
-SET(CMAKE_Java_OUTPUT_EXTENSION_REPLACE 1)
-SET(CMAKE_STATIC_LIBRARY_PREFIX_Java "")
-SET(CMAKE_STATIC_LIBRARY_SUFFIX_Java ".jar")
-SET(CMAKE_Java_COMPILER_ENV_VAR "JAVA_COMPILER")
+set(CMAKE_Java_SOURCE_FILE_EXTENSIONS java)
+set(CMAKE_Java_LINKER_PREFERENCE 40)
+set(CMAKE_Java_OUTPUT_EXTENSION .class)
+set(CMAKE_Java_OUTPUT_EXTENSION_REPLACE 1)
+set(CMAKE_STATIC_LIBRARY_PREFIX_Java "")
+set(CMAKE_STATIC_LIBRARY_SUFFIX_Java ".jar")
+set(CMAKE_Java_COMPILER_ENV_VAR "JAVA_COMPILER")
diff --git a/Modules/CMakeJavaInformation.cmake b/Modules/CMakeJavaInformation.cmake
index e192db100..928c6ac32 100644
--- a/Modules/CMakeJavaInformation.cmake
+++ b/Modules/CMakeJavaInformation.cmake
@@ -13,47 +13,47 @@
# License text for the above reference.)
# This should be included before the _INIT variables are
-# used to initialize the cache. Since the rule variables
+# used to initialize the cache. Since the rule variables
# have if blocks on them, users can still define them here.
# But, it should still be after the platform file so changes can
# be made to those values.
-IF(CMAKE_USER_MAKE_RULES_OVERRIDE)
+if(CMAKE_USER_MAKE_RULES_OVERRIDE)
# Save the full path of the file so try_compile can use it.
- INCLUDE(${CMAKE_USER_MAKE_RULES_OVERRIDE} RESULT_VARIABLE _override)
- SET(CMAKE_USER_MAKE_RULES_OVERRIDE "${_override}")
-ENDIF()
+ include(${CMAKE_USER_MAKE_RULES_OVERRIDE} RESULT_VARIABLE _override)
+ set(CMAKE_USER_MAKE_RULES_OVERRIDE "${_override}")
+endif()
-IF(CMAKE_USER_MAKE_RULES_OVERRIDE_Java)
+if(CMAKE_USER_MAKE_RULES_OVERRIDE_Java)
# Save the full path of the file so try_compile can use it.
- INCLUDE(${CMAKE_USER_MAKE_RULES_OVERRIDE_Java} RESULT_VARIABLE _override)
- SET(CMAKE_USER_MAKE_RULES_OVERRIDE_Java "${_override}")
-ENDIF()
+ include(${CMAKE_USER_MAKE_RULES_OVERRIDE_Java} RESULT_VARIABLE _override)
+ set(CMAKE_USER_MAKE_RULES_OVERRIDE_Java "${_override}")
+endif()
# this is a place holder if java needed flags for javac they would go here.
-IF(NOT CMAKE_Java_CREATE_STATIC_LIBRARY)
-# IF(WIN32)
-# SET(class_files_mask "*.class")
-# ELSE(WIN32)
- SET(class_files_mask ".")
-# ENDIF(WIN32)
-
- SET(CMAKE_Java_CREATE_STATIC_LIBRARY
+if(NOT CMAKE_Java_CREATE_STATIC_LIBRARY)
+# if(WIN32)
+# set(class_files_mask "*.class")
+# else()
+ set(class_files_mask ".")
+# endif()
+
+ set(CMAKE_Java_CREATE_STATIC_LIBRARY
"<CMAKE_Java_ARCHIVE> -cf <TARGET> -C <OBJECT_DIR> ${class_files_mask}")
# "${class_files_mask}" should really be "<OBJECTS>" but compling a *.java
# file can create more than one *.class file...
-ENDIF(NOT CMAKE_Java_CREATE_STATIC_LIBRARY)
+endif()
# compile a Java file into an object file
-IF(NOT CMAKE_Java_COMPILE_OBJECT)
- SET(CMAKE_Java_COMPILE_OBJECT
+if(NOT CMAKE_Java_COMPILE_OBJECT)
+ set(CMAKE_Java_COMPILE_OBJECT
"<CMAKE_Java_COMPILER> <FLAGS> <SOURCE> -d <OBJECT_DIR>")
-ENDIF(NOT CMAKE_Java_COMPILE_OBJECT)
+endif()
# set java include flag option and the separator for multiple include paths
-SET(CMAKE_INCLUDE_FLAG_Java "-classpath ")
-IF(WIN32 AND NOT CYGWIN)
- SET(CMAKE_INCLUDE_FLAG_SEP_Java ";")
-ELSE(WIN32 AND NOT CYGWIN)
- SET(CMAKE_INCLUDE_FLAG_SEP_Java ":")
-ENDIF(WIN32 AND NOT CYGWIN)
+set(CMAKE_INCLUDE_FLAG_Java "-classpath ")
+if(WIN32 AND NOT CYGWIN)
+ set(CMAKE_INCLUDE_FLAG_SEP_Java ";")
+else()
+ set(CMAKE_INCLUDE_FLAG_SEP_Java ":")
+endif()
diff --git a/Modules/CMakeMSYSFindMake.cmake b/Modules/CMakeMSYSFindMake.cmake
index 95492a0b0..bc0f89fff 100644
--- a/Modules/CMakeMSYSFindMake.cmake
+++ b/Modules/CMakeMSYSFindMake.cmake
@@ -12,9 +12,9 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PROGRAM(CMAKE_MAKE_PROGRAM make
- PATHS
+find_program(CMAKE_MAKE_PROGRAM make
+ PATHS
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MSYS-1.0_is1;Inno Setup: App Path]/bin"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MinGW;InstallLocation]/bin"
c:/msys/1.0/bin /msys/1.0/bin)
-MARK_AS_ADVANCED(CMAKE_MAKE_PROGRAM)
+mark_as_advanced(CMAKE_MAKE_PROGRAM)
diff --git a/Modules/CMakeMinGWFindMake.cmake b/Modules/CMakeMinGWFindMake.cmake
index f760d74d4..efba20a31 100644
--- a/Modules/CMakeMinGWFindMake.cmake
+++ b/Modules/CMakeMinGWFindMake.cmake
@@ -12,13 +12,13 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PROGRAM(CMAKE_MAKE_PROGRAM mingw32-make.exe PATHS
- "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MinGW;InstallLocation]/bin"
+find_program(CMAKE_MAKE_PROGRAM mingw32-make.exe PATHS
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MinGW;InstallLocation]/bin"
c:/MinGW/bin /MinGW/bin)
-FIND_PROGRAM(CMAKE_SH sh.exe )
-IF(CMAKE_SH)
- MESSAGE(FATAL_ERROR "sh.exe was found in your PATH, here:\n${CMAKE_SH}\nFor MinGW make to work correctly sh.exe must NOT be in your path.\nRun cmake from a shell that does not have sh.exe in your PATH.\nIf you want to use a UNIX shell, then use MSYS Makefiles.\n")
- SET(CMAKE_MAKE_PROGRAM NOTFOUND)
-ENDIF(CMAKE_SH)
+find_program(CMAKE_SH sh.exe )
+if(CMAKE_SH)
+ message(FATAL_ERROR "sh.exe was found in your PATH, here:\n${CMAKE_SH}\nFor MinGW make to work correctly sh.exe must NOT be in your path.\nRun cmake from a shell that does not have sh.exe in your PATH.\nIf you want to use a UNIX shell, then use MSYS Makefiles.\n")
+ set(CMAKE_MAKE_PROGRAM NOTFOUND)
+endif()
-MARK_AS_ADVANCED(CMAKE_MAKE_PROGRAM CMAKE_SH)
+mark_as_advanced(CMAKE_MAKE_PROGRAM CMAKE_SH)
diff --git a/Modules/CMakeNMakeFindMake.cmake b/Modules/CMakeNMakeFindMake.cmake
index f6472170c..d807df82b 100644
--- a/Modules/CMakeNMakeFindMake.cmake
+++ b/Modules/CMakeNMakeFindMake.cmake
@@ -13,6 +13,6 @@
# License text for the above reference.)
-SET (CMAKE_MAKE_PROGRAM "nmake" CACHE STRING
+set (CMAKE_MAKE_PROGRAM "nmake" CACHE STRING
"Program used to build from makefiles.")
-MARK_AS_ADVANCED(CMAKE_MAKE_PROGRAM)
+mark_as_advanced(CMAKE_MAKE_PROGRAM)
diff --git a/Modules/CMakeNinjaFindMake.cmake b/Modules/CMakeNinjaFindMake.cmake
index f15c3e0d4..c3ca7671c 100644
--- a/Modules/CMakeNinjaFindMake.cmake
+++ b/Modules/CMakeNinjaFindMake.cmake
@@ -12,6 +12,6 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PROGRAM(CMAKE_MAKE_PROGRAM ninja
+find_program(CMAKE_MAKE_PROGRAM ninja
DOC "Program used to build from build.ninja files.")
-MARK_AS_ADVANCED(CMAKE_MAKE_PROGRAM)
+mark_as_advanced(CMAKE_MAKE_PROGRAM)
diff --git a/Modules/CMakePackageConfigHelpers.cmake b/Modules/CMakePackageConfigHelpers.cmake
index 48039e522..96ecb4270 100644
--- a/Modules/CMakePackageConfigHelpers.cmake
+++ b/Modules/CMakePackageConfigHelpers.cmake
@@ -6,7 +6,7 @@
# [NO_CHECK_REQUIRED_COMPONENTS_MACRO])
#
# CONFIGURE_PACKAGE_CONFIG_FILE() should be used instead of the plain
-# CONFIGURE_FILE() command when creating the <Name>Config.cmake or <Name>-config.cmake
+# configure_file() command when creating the <Name>Config.cmake or <Name>-config.cmake
# file for installing a project or library. It helps making the resulting package
# relocatable by avoiding hardcoded paths in the installed Config.cmake file.
#
@@ -31,12 +31,12 @@
# Usage:
# 1. write a FooConfig.cmake.in file as you are used to
# 2. insert a line containing only the string "@PACKAGE_INIT@"
-# 3. instead of SET(FOO_DIR "@SOME_INSTALL_DIR@"), use SET(FOO_DIR "@PACKAGE_SOME_INSTALL_DIR@")
+# 3. instead of set(FOO_DIR "@SOME_INSTALL_DIR@"), use set(FOO_DIR "@PACKAGE_SOME_INSTALL_DIR@")
# (this must be after the @PACKAGE_INIT@ line)
-# 4. instead of using the normal CONFIGURE_FILE(), use CONFIGURE_PACKAGE_CONFIG_FILE()
+# 4. instead of using the normal configure_file(), use CONFIGURE_PACKAGE_CONFIG_FILE()
#
# The <input> and <output> arguments are the input and output file, the same way
-# as in CONFIGURE_FILE().
+# as in configure_file().
#
# The <path> given to INSTALL_DESTINATION must be the destination where the FooConfig.cmake
# file will be installed to. This can either be a relative or absolute path, both work.
@@ -77,7 +77,7 @@
# WRITE_BASIC_PACKAGE_VERSION_FILE( filename VERSION major.minor.patch COMPATIBILITY (AnyNewerVersion|SameMajorVersion|ExactVersion) )
#
# Writes a file for use as <package>ConfigVersion.cmake file to <filename>.
-# See the documentation of FIND_PACKAGE() for details on this.
+# See the documentation of find_package() for details on this.
# filename is the output filename, it should be in the build tree.
# major.minor.patch is the version number of the project to be installed
# The COMPATIBILITY mode AnyNewerVersion means that the installed package version
@@ -214,7 +214,7 @@ macro(check_required_components _NAME)
set(\${_NAME}_FOUND FALSE)
endif()
endif()
- endforeach(comp)
+ endforeach()
endmacro()
")
endif()
diff --git a/Modules/CMakeParseArguments.cmake b/Modules/CMakeParseArguments.cmake
index 7ce4c49ae..406780eb4 100644
--- a/Modules/CMakeParseArguments.cmake
+++ b/Modules/CMakeParseArguments.cmake
@@ -84,11 +84,11 @@ function(CMAKE_PARSE_ARGUMENTS prefix _optionNames _singleArgNames _multiArgName
# first set all result variables to empty/FALSE
foreach(arg_name ${_singleArgNames} ${_multiArgNames})
set(${prefix}_${arg_name})
- endforeach(arg_name)
+ endforeach()
foreach(option ${_optionNames})
set(${prefix}_${option} FALSE)
- endforeach(option)
+ endforeach()
set(${prefix}_UNPARSED_ARGUMENTS)
@@ -109,9 +109,9 @@ function(CMAKE_PARSE_ARGUMENTS prefix _optionNames _singleArgNames _multiArgName
elseif("${insideValues}" STREQUAL "MULTI")
list(APPEND ${prefix}_${currentArgName} ${currentArg})
endif()
- else(insideValues)
+ else()
list(APPEND ${prefix}_UNPARSED_ARGUMENTS ${currentArg})
- endif(insideValues)
+ endif()
else()
if(NOT ${optionIndex} EQUAL -1)
set(${prefix}_${currentArg} TRUE)
@@ -127,12 +127,12 @@ function(CMAKE_PARSE_ARGUMENTS prefix _optionNames _singleArgNames _multiArgName
endif()
endif()
- endforeach(currentArg)
+ endforeach()
# propagate the result variables to the caller:
foreach(arg_name ${_singleArgNames} ${_multiArgNames} ${_optionNames})
set(${prefix}_${arg_name} ${${prefix}_${arg_name}} PARENT_SCOPE)
- endforeach(arg_name)
+ endforeach()
set(${prefix}_UNPARSED_ARGUMENTS ${${prefix}_UNPARSED_ARGUMENTS} PARENT_SCOPE)
-endfunction(CMAKE_PARSE_ARGUMENTS _options _singleArgs _multiArgs)
+endfunction()
diff --git a/Modules/CMakePlatformId.h.in b/Modules/CMakePlatformId.h.in
index 6341dca9a..c37341411 100644
--- a/Modules/CMakePlatformId.h.in
+++ b/Modules/CMakePlatformId.h.in
@@ -37,7 +37,7 @@
#elif defined(__HAIKU) || defined(__HAIKU__) || defined(_HAIKU)
# define PLATFORM_ID "Haiku"
-/* Haiku also defines __BEOS__ so we must
+/* Haiku also defines __BEOS__ so we must
put it prior to the check for __BEOS__
*/
@@ -92,7 +92,7 @@
# define ARCHITECTURE_ID "IA64"
# elif defined(_M_X64) || defined(_M_AMD64)
-# define ARCHITECTURE_ID "x64"
+# define ARCHITECTURE_ID "x64"
# elif defined(_M_IX86)
# define ARCHITECTURE_ID "X86"
@@ -100,6 +100,12 @@
# elif defined(_M_ARM)
# define ARCHITECTURE_ID "ARM"
+# elif defined(_M_MIPS)
+# define ARCHITECTURE_ID "MIPS"
+
+# elif defined(_M_SH)
+# define ARCHITECTURE_ID "SHx"
+
# else /* unknown architecture */
# define ARCHITECTURE_ID ""
# endif
diff --git a/Modules/CMakePrintSystemInformation.cmake b/Modules/CMakePrintSystemInformation.cmake
index 2c5d0f2ae..e0c73346b 100644
--- a/Modules/CMakePrintSystemInformation.cmake
+++ b/Modules/CMakePrintSystemInformation.cmake
@@ -16,31 +16,31 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-MESSAGE("CMAKE_SYSTEM is ${CMAKE_SYSTEM} ${CMAKE_SYSTEM_NAME} ${CMAKE_SYSTEM_VERSION}")
-MESSAGE("CMAKE_SYSTEM file is ${CMAKE_SYSTEM_INFO_FILE}")
-MESSAGE("CMAKE_C_COMPILER is ${CMAKE_C_COMPILER}")
-MESSAGE("CMAKE_CXX_COMPILER is ${CMAKE_CXX_COMPILER}")
+message("CMAKE_SYSTEM is ${CMAKE_SYSTEM} ${CMAKE_SYSTEM_NAME} ${CMAKE_SYSTEM_VERSION}")
+message("CMAKE_SYSTEM file is ${CMAKE_SYSTEM_INFO_FILE}")
+message("CMAKE_C_COMPILER is ${CMAKE_C_COMPILER}")
+message("CMAKE_CXX_COMPILER is ${CMAKE_CXX_COMPILER}")
-MESSAGE("CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS is ${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS}")
-MESSAGE("CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS is ${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS}")
-MESSAGE("CMAKE_DL_LIBS is ${CMAKE_DL_LIBS}")
-MESSAGE("CMAKE_SHARED_LIBRARY_PREFIX is ${CMAKE_SHARED_LIBRARY_PREFIX}")
-MESSAGE("CMAKE_SHARED_LIBRARY_SUFFIX is ${CMAKE_SHARED_LIBRARY_SUFFIX}")
-MESSAGE("CMAKE_COMPILER_IS_GNUCC = ${CMAKE_COMPILER_IS_GNUCC}")
-MESSAGE("CMAKE_COMPILER_IS_GNUCXX = ${CMAKE_COMPILER_IS_GNUCXX}")
+message("CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS is ${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS}")
+message("CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS is ${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS}")
+message("CMAKE_DL_LIBS is ${CMAKE_DL_LIBS}")
+message("CMAKE_SHARED_LIBRARY_PREFIX is ${CMAKE_SHARED_LIBRARY_PREFIX}")
+message("CMAKE_SHARED_LIBRARY_SUFFIX is ${CMAKE_SHARED_LIBRARY_SUFFIX}")
+message("CMAKE_COMPILER_IS_GNUCC = ${CMAKE_COMPILER_IS_GNUCC}")
+message("CMAKE_COMPILER_IS_GNUCXX = ${CMAKE_COMPILER_IS_GNUCXX}")
-MESSAGE("CMAKE_CXX_CREATE_SHARED_LIBRARY is ${CMAKE_CXX_CREATE_SHARED_LIBRARY}")
-MESSAGE("CMAKE_CXX_CREATE_SHARED_MODULE is ${CMAKE_CXX_CREATE_SHARED_MODULE}")
-MESSAGE("CMAKE_CXX_CREATE_STATIC_LIBRARY is ${CMAKE_CXX_CREATE_STATIC_LIBRARY}")
-MESSAGE("CMAKE_CXX_COMPILE_OBJECT is ${CMAKE_CXX_COMPILE_OBJECT}")
-MESSAGE("CMAKE_CXX_LINK_EXECUTABLE ${CMAKE_CXX_LINK_EXECUTABLE}")
+message("CMAKE_CXX_CREATE_SHARED_LIBRARY is ${CMAKE_CXX_CREATE_SHARED_LIBRARY}")
+message("CMAKE_CXX_CREATE_SHARED_MODULE is ${CMAKE_CXX_CREATE_SHARED_MODULE}")
+message("CMAKE_CXX_CREATE_STATIC_LIBRARY is ${CMAKE_CXX_CREATE_STATIC_LIBRARY}")
+message("CMAKE_CXX_COMPILE_OBJECT is ${CMAKE_CXX_COMPILE_OBJECT}")
+message("CMAKE_CXX_LINK_EXECUTABLE ${CMAKE_CXX_LINK_EXECUTABLE}")
-MESSAGE("CMAKE_C_CREATE_SHARED_LIBRARY is ${CMAKE_C_CREATE_SHARED_LIBRARY}")
-MESSAGE("CMAKE_C_CREATE_SHARED_MODULE is ${CMAKE_C_CREATE_SHARED_MODULE}")
-MESSAGE("CMAKE_C_CREATE_STATIC_LIBRARY is ${CMAKE_C_CREATE_STATIC_LIBRARY}")
-MESSAGE("CMAKE_C_COMPILE_OBJECT is ${CMAKE_C_COMPILE_OBJECT}")
-MESSAGE("CMAKE_C_LINK_EXECUTABLE ${CMAKE_C_LINK_EXECUTABLE}")
+message("CMAKE_C_CREATE_SHARED_LIBRARY is ${CMAKE_C_CREATE_SHARED_LIBRARY}")
+message("CMAKE_C_CREATE_SHARED_MODULE is ${CMAKE_C_CREATE_SHARED_MODULE}")
+message("CMAKE_C_CREATE_STATIC_LIBRARY is ${CMAKE_C_CREATE_STATIC_LIBRARY}")
+message("CMAKE_C_COMPILE_OBJECT is ${CMAKE_C_COMPILE_OBJECT}")
+message("CMAKE_C_LINK_EXECUTABLE ${CMAKE_C_LINK_EXECUTABLE}")
-MESSAGE("CMAKE_SYSTEM_AND_CXX_COMPILER_INFO_FILE ${CMAKE_SYSTEM_AND_CXX_COMPILER_INFO_FILE}")
-MESSAGE("CMAKE_SYSTEM_AND_C_COMPILER_INFO_FILE ${CMAKE_SYSTEM_AND_C_COMPILER_INFO_FILE}")
+message("CMAKE_SYSTEM_AND_CXX_COMPILER_INFO_FILE ${CMAKE_SYSTEM_AND_CXX_COMPILER_INFO_FILE}")
+message("CMAKE_SYSTEM_AND_C_COMPILER_INFO_FILE ${CMAKE_SYSTEM_AND_C_COMPILER_INFO_FILE}")
diff --git a/Modules/CMakePushCheckState.cmake b/Modules/CMakePushCheckState.cmake
index 0a4212818..08809bf25 100644
--- a/Modules/CMakePushCheckState.cmake
+++ b/Modules/CMakePushCheckState.cmake
@@ -31,31 +31,31 @@
# License text for the above reference.)
-MACRO(CMAKE_PUSH_CHECK_STATE)
+macro(CMAKE_PUSH_CHECK_STATE)
- IF(NOT DEFINED _CMAKE_PUSH_CHECK_STATE_COUNTER)
- SET(_CMAKE_PUSH_CHECK_STATE_COUNTER 0)
- ENDIF()
+ if(NOT DEFINED _CMAKE_PUSH_CHECK_STATE_COUNTER)
+ set(_CMAKE_PUSH_CHECK_STATE_COUNTER 0)
+ endif()
- MATH(EXPR _CMAKE_PUSH_CHECK_STATE_COUNTER "${_CMAKE_PUSH_CHECK_STATE_COUNTER}+1")
+ math(EXPR _CMAKE_PUSH_CHECK_STATE_COUNTER "${_CMAKE_PUSH_CHECK_STATE_COUNTER}+1")
- SET(_CMAKE_REQUIRED_INCLUDES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER} ${CMAKE_REQUIRED_INCLUDES})
- SET(_CMAKE_REQUIRED_DEFINITIONS_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER} ${CMAKE_REQUIRED_DEFINITIONS})
- SET(_CMAKE_REQUIRED_LIBRARIES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER} ${CMAKE_REQUIRED_LIBRARIES})
- SET(_CMAKE_REQUIRED_FLAGS_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER} ${CMAKE_REQUIRED_FLAGS})
-ENDMACRO(CMAKE_PUSH_CHECK_STATE)
+ set(_CMAKE_REQUIRED_INCLUDES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER} ${CMAKE_REQUIRED_INCLUDES})
+ set(_CMAKE_REQUIRED_DEFINITIONS_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER} ${CMAKE_REQUIRED_DEFINITIONS})
+ set(_CMAKE_REQUIRED_LIBRARIES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER} ${CMAKE_REQUIRED_LIBRARIES})
+ set(_CMAKE_REQUIRED_FLAGS_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER} ${CMAKE_REQUIRED_FLAGS})
+endmacro()
-MACRO(CMAKE_POP_CHECK_STATE)
+macro(CMAKE_POP_CHECK_STATE)
# don't pop more than we pushed
- IF("${_CMAKE_PUSH_CHECK_STATE_COUNTER}" GREATER "0")
+ if("${_CMAKE_PUSH_CHECK_STATE_COUNTER}" GREATER "0")
- SET(CMAKE_REQUIRED_INCLUDES ${_CMAKE_REQUIRED_INCLUDES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}})
- SET(CMAKE_REQUIRED_DEFINITIONS ${_CMAKE_REQUIRED_DEFINITIONS_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}})
- SET(CMAKE_REQUIRED_LIBRARIES ${_CMAKE_REQUIRED_LIBRARIES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}})
- SET(CMAKE_REQUIRED_FLAGS ${_CMAKE_REQUIRED_FLAGS_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}})
+ set(CMAKE_REQUIRED_INCLUDES ${_CMAKE_REQUIRED_INCLUDES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}})
+ set(CMAKE_REQUIRED_DEFINITIONS ${_CMAKE_REQUIRED_DEFINITIONS_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}})
+ set(CMAKE_REQUIRED_LIBRARIES ${_CMAKE_REQUIRED_LIBRARIES_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}})
+ set(CMAKE_REQUIRED_FLAGS ${_CMAKE_REQUIRED_FLAGS_SAVE_${_CMAKE_PUSH_CHECK_STATE_COUNTER}})
- MATH(EXPR _CMAKE_PUSH_CHECK_STATE_COUNTER "${_CMAKE_PUSH_CHECK_STATE_COUNTER}-1")
- ENDIF()
+ math(EXPR _CMAKE_PUSH_CHECK_STATE_COUNTER "${_CMAKE_PUSH_CHECK_STATE_COUNTER}-1")
+ endif()
-ENDMACRO(CMAKE_POP_CHECK_STATE)
+endmacro()
diff --git a/Modules/CMakeRCCompiler.cmake.in b/Modules/CMakeRCCompiler.cmake.in
index 83428e2eb..0fc314220 100644
--- a/Modules/CMakeRCCompiler.cmake.in
+++ b/Modules/CMakeRCCompiler.cmake.in
@@ -1,6 +1,6 @@
-SET(CMAKE_RC_COMPILER "@CMAKE_RC_COMPILER@")
-SET(CMAKE_RC_COMPILER_ARG1 "@CMAKE_RC_COMPILER_ARG1@")
-SET(CMAKE_RC_COMPILER_LOADED 1)
-SET(CMAKE_RC_SOURCE_FILE_EXTENSIONS rc)
-SET(CMAKE_RC_OUTPUT_EXTENSION @CMAKE_RC_OUTPUT_EXTENSION@)
-SET(CMAKE_RC_COMPILER_ENV_VAR "RC")
+set(CMAKE_RC_COMPILER "@CMAKE_RC_COMPILER@")
+set(CMAKE_RC_COMPILER_ARG1 "@CMAKE_RC_COMPILER_ARG1@")
+set(CMAKE_RC_COMPILER_LOADED 1)
+set(CMAKE_RC_SOURCE_FILE_EXTENSIONS rc)
+set(CMAKE_RC_OUTPUT_EXTENSION @CMAKE_RC_OUTPUT_EXTENSION@)
+set(CMAKE_RC_COMPILER_ENV_VAR "RC")
diff --git a/Modules/CMakeRCInformation.cmake b/Modules/CMakeRCInformation.cmake
index 859fe1158..8ffe50aba 100644
--- a/Modules/CMakeRCInformation.cmake
+++ b/Modules/CMakeRCInformation.cmake
@@ -18,36 +18,36 @@
# if it exists.
# make sure we don't use CMAKE_BASE_NAME from somewhere else
-SET(CMAKE_BASE_NAME)
-GET_FILENAME_COMPONENT(CMAKE_BASE_NAME ${CMAKE_RC_COMPILER} NAME_WE)
-IF("${CMAKE_BASE_NAME}" MATCHES "windres")
- SET(CMAKE_BASE_NAME "windres")
-ENDIF()
-SET(CMAKE_SYSTEM_AND_RC_COMPILER_INFO_FILE
+set(CMAKE_BASE_NAME)
+get_filename_component(CMAKE_BASE_NAME ${CMAKE_RC_COMPILER} NAME_WE)
+if("${CMAKE_BASE_NAME}" MATCHES "windres")
+ set(CMAKE_BASE_NAME "windres")
+endif()
+set(CMAKE_SYSTEM_AND_RC_COMPILER_INFO_FILE
${CMAKE_ROOT}/Modules/Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME}.cmake)
-INCLUDE(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME} OPTIONAL)
+include(Platform/${CMAKE_SYSTEM_NAME}-${CMAKE_BASE_NAME} OPTIONAL)
-SET (CMAKE_RC_FLAGS "$ENV{RCFLAGS} ${CMAKE_RC_FLAGS_INIT}" CACHE STRING
+set (CMAKE_RC_FLAGS "$ENV{RCFLAGS} ${CMAKE_RC_FLAGS_INIT}" CACHE STRING
"Flags for Fortran compiler.")
# These are the only types of flags that should be passed to the rc
# command, if COMPILE_FLAGS is used on a target this will be used
# to filter out any other flags
-SET(CMAKE_RC_FLAG_REGEX "^[-/](D|I)")
+set(CMAKE_RC_FLAG_REGEX "^[-/](D|I)")
# now define the following rule variables
# CMAKE_RC_COMPILE_OBJECT
-SET(CMAKE_INCLUDE_FLAG_RC "-I")
+set(CMAKE_INCLUDE_FLAG_RC "-I")
# compile a Resource file into an object file
-IF(NOT CMAKE_RC_COMPILE_OBJECT)
- SET(CMAKE_RC_COMPILE_OBJECT
+if(NOT CMAKE_RC_COMPILE_OBJECT)
+ set(CMAKE_RC_COMPILE_OBJECT
"<CMAKE_RC_COMPILER> <FLAGS> <DEFINES> /fo<OBJECT> <SOURCE>")
-ENDIF(NOT CMAKE_RC_COMPILE_OBJECT)
+endif()
-MARK_AS_ADVANCED(
+mark_as_advanced(
CMAKE_RC_FLAGS
)
# set this variable so we can avoid loading this more than once.
-SET(CMAKE_RC_INFORMATION_LOADED 1)
+set(CMAKE_RC_INFORMATION_LOADED 1)
diff --git a/Modules/CMakeSystem.cmake.in b/Modules/CMakeSystem.cmake.in
index a9f3a552d..7e2a3584b 100644
--- a/Modules/CMakeSystem.cmake.in
+++ b/Modules/CMakeSystem.cmake.in
@@ -1,15 +1,15 @@
@INCLUDE_CMAKE_TOOLCHAIN_FILE_IF_REQUIRED@
-SET(CMAKE_SYSTEM "@CMAKE_SYSTEM@")
-SET(CMAKE_SYSTEM_NAME "@CMAKE_SYSTEM_NAME@")
-SET(CMAKE_SYSTEM_VERSION "@CMAKE_SYSTEM_VERSION@")
-SET(CMAKE_SYSTEM_PROCESSOR "@CMAKE_SYSTEM_PROCESSOR@")
+set(CMAKE_SYSTEM "@CMAKE_SYSTEM@")
+set(CMAKE_SYSTEM_NAME "@CMAKE_SYSTEM_NAME@")
+set(CMAKE_SYSTEM_VERSION "@CMAKE_SYSTEM_VERSION@")
+set(CMAKE_SYSTEM_PROCESSOR "@CMAKE_SYSTEM_PROCESSOR@")
-SET(CMAKE_HOST_SYSTEM "@CMAKE_HOST_SYSTEM@")
-SET(CMAKE_HOST_SYSTEM_NAME "@CMAKE_HOST_SYSTEM_NAME@")
-SET(CMAKE_HOST_SYSTEM_VERSION "@CMAKE_HOST_SYSTEM_VERSION@")
-SET(CMAKE_HOST_SYSTEM_PROCESSOR "@CMAKE_HOST_SYSTEM_PROCESSOR@")
+set(CMAKE_HOST_SYSTEM "@CMAKE_HOST_SYSTEM@")
+set(CMAKE_HOST_SYSTEM_NAME "@CMAKE_HOST_SYSTEM_NAME@")
+set(CMAKE_HOST_SYSTEM_VERSION "@CMAKE_HOST_SYSTEM_VERSION@")
+set(CMAKE_HOST_SYSTEM_PROCESSOR "@CMAKE_HOST_SYSTEM_PROCESSOR@")
-SET(CMAKE_CROSSCOMPILING "@CMAKE_CROSSCOMPILING@")
+set(CMAKE_CROSSCOMPILING "@CMAKE_CROSSCOMPILING@")
-SET(CMAKE_SYSTEM_LOADED 1)
+set(CMAKE_SYSTEM_LOADED 1)
diff --git a/Modules/CMakeSystemSpecificInformation.cmake b/Modules/CMakeSystemSpecificInformation.cmake
index faa9e3625..b9f8e0aaa 100644
--- a/Modules/CMakeSystemSpecificInformation.cmake
+++ b/Modules/CMakeSystemSpecificInformation.cmake
@@ -21,49 +21,49 @@
# But they are reset here and set again in the platform files for the target
# platform, so they can be used for testing the target platform instead
# of testing the host platform.
-SET(APPLE )
-SET(UNIX )
-SET(CYGWIN )
-SET(WIN32 )
+set(APPLE )
+set(UNIX )
+set(CYGWIN )
+set(WIN32 )
# include Generic system information
-INCLUDE(CMakeGenericSystem)
+include(CMakeGenericSystem)
# 2. now include SystemName.cmake file to set the system specific information
-SET(CMAKE_SYSTEM_INFO_FILE Platform/${CMAKE_SYSTEM_NAME})
+set(CMAKE_SYSTEM_INFO_FILE Platform/${CMAKE_SYSTEM_NAME})
-INCLUDE(${CMAKE_SYSTEM_INFO_FILE} OPTIONAL RESULT_VARIABLE _INCLUDED_SYSTEM_INFO_FILE)
+include(${CMAKE_SYSTEM_INFO_FILE} OPTIONAL RESULT_VARIABLE _INCLUDED_SYSTEM_INFO_FILE)
-IF(NOT _INCLUDED_SYSTEM_INFO_FILE)
- MESSAGE("System is unknown to cmake, create:\n${CMAKE_SYSTEM_INFO_FILE}"
+if(NOT _INCLUDED_SYSTEM_INFO_FILE)
+ message("System is unknown to cmake, create:\n${CMAKE_SYSTEM_INFO_FILE}"
" to use this system, please send your config file to "
"cmake@www.cmake.org so it can be added to cmake")
- IF(EXISTS ${CMAKE_BINARY_DIR}/CMakeCache.txt)
- CONFIGURE_FILE(${CMAKE_BINARY_DIR}/CMakeCache.txt
+ if(EXISTS ${CMAKE_BINARY_DIR}/CMakeCache.txt)
+ configure_file(${CMAKE_BINARY_DIR}/CMakeCache.txt
${CMAKE_BINARY_DIR}/CopyOfCMakeCache.txt COPYONLY)
- MESSAGE("Your CMakeCache.txt file was copied to CopyOfCMakeCache.txt. "
+ message("Your CMakeCache.txt file was copied to CopyOfCMakeCache.txt. "
"Please send that file to cmake@www.cmake.org.")
- ENDIF(EXISTS ${CMAKE_BINARY_DIR}/CMakeCache.txt)
-ENDIF(NOT _INCLUDED_SYSTEM_INFO_FILE)
+ endif()
+endif()
# optionally include a file which can do extra-generator specific things, e.g.
# CMakeFindEclipseCDT4.cmake asks gcc for the system include dirs for the Eclipse CDT4 generator
-IF(CMAKE_EXTRA_GENERATOR)
- STRING(REPLACE " " "" _CMAKE_EXTRA_GENERATOR_NO_SPACES ${CMAKE_EXTRA_GENERATOR} )
- INCLUDE("CMakeFind${_CMAKE_EXTRA_GENERATOR_NO_SPACES}" OPTIONAL)
-ENDIF(CMAKE_EXTRA_GENERATOR)
+if(CMAKE_EXTRA_GENERATOR)
+ string(REPLACE " " "" _CMAKE_EXTRA_GENERATOR_NO_SPACES ${CMAKE_EXTRA_GENERATOR} )
+ include("CMakeFind${_CMAKE_EXTRA_GENERATOR_NO_SPACES}" OPTIONAL)
+endif()
# for most systems a module is the same as a shared library
# so unless the variable CMAKE_MODULE_EXISTS is set just
# copy the values from the LIBRARY variables
# this has to be done after the system information has been loaded
-IF(NOT CMAKE_MODULE_EXISTS)
- SET(CMAKE_SHARED_MODULE_PREFIX "${CMAKE_SHARED_LIBRARY_PREFIX}")
- SET(CMAKE_SHARED_MODULE_SUFFIX "${CMAKE_SHARED_LIBRARY_SUFFIX}")
-ENDIF(NOT CMAKE_MODULE_EXISTS)
+if(NOT CMAKE_MODULE_EXISTS)
+ set(CMAKE_SHARED_MODULE_PREFIX "${CMAKE_SHARED_LIBRARY_PREFIX}")
+ set(CMAKE_SHARED_MODULE_SUFFIX "${CMAKE_SHARED_LIBRARY_SUFFIX}")
+endif()
-SET(CMAKE_SYSTEM_SPECIFIC_INFORMATION_LOADED 1)
+set(CMAKE_SYSTEM_SPECIFIC_INFORMATION_LOADED 1)
diff --git a/Modules/CMakeTestASM-ATTCompiler.cmake b/Modules/CMakeTestASM-ATTCompiler.cmake
index 581ad0c23..0cc68573e 100644
--- a/Modules/CMakeTestASM-ATTCompiler.cmake
+++ b/Modules/CMakeTestASM-ATTCompiler.cmake
@@ -18,6 +18,6 @@
# because otherwise there would have to be a separate assembler source file
# for each assembler on every architecture.
-SET(ASM_DIALECT "-ATT")
-INCLUDE(CMakeTestASMCompiler)
-SET(ASM_DIALECT)
+set(ASM_DIALECT "-ATT")
+include(CMakeTestASMCompiler)
+set(ASM_DIALECT)
diff --git a/Modules/CMakeTestASMCompiler.cmake b/Modules/CMakeTestASMCompiler.cmake
index 294511d89..9381619c4 100644
--- a/Modules/CMakeTestASMCompiler.cmake
+++ b/Modules/CMakeTestASMCompiler.cmake
@@ -19,17 +19,17 @@
# for each assembler on every architecture.
-SET(_ASM_COMPILER_WORKS 0)
+set(_ASM_COMPILER_WORKS 0)
-IF(CMAKE_ASM${ASM_DIALECT}_COMPILER)
- SET(_ASM_COMPILER_WORKS 1)
-ENDIF()
+if(CMAKE_ASM${ASM_DIALECT}_COMPILER)
+ set(_ASM_COMPILER_WORKS 1)
+endif()
# when using generic "ASM" support, we must have detected the compiler ID, fail otherwise:
-IF("ASM${ASM_DIALECT}" STREQUAL "ASM")
- IF(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER_ID)
- SET(_ASM_COMPILER_WORKS 0)
- ENDIF()
-ENDIF()
+if("ASM${ASM_DIALECT}" STREQUAL "ASM")
+ if(NOT CMAKE_ASM${ASM_DIALECT}_COMPILER_ID)
+ set(_ASM_COMPILER_WORKS 0)
+ endif()
+endif()
-SET(CMAKE_ASM${ASM_DIALECT}_COMPILER_WORKS ${_ASM_COMPILER_WORKS} CACHE INTERNAL "")
+set(CMAKE_ASM${ASM_DIALECT}_COMPILER_WORKS ${_ASM_COMPILER_WORKS} CACHE INTERNAL "")
diff --git a/Modules/CMakeTestASM_MASMCompiler.cmake b/Modules/CMakeTestASM_MASMCompiler.cmake
index 8369b942c..462b1fc07 100644
--- a/Modules/CMakeTestASM_MASMCompiler.cmake
+++ b/Modules/CMakeTestASM_MASMCompiler.cmake
@@ -18,6 +18,6 @@
# because otherwise there would have to be a separate assembler source file
# for each assembler on every architecture.
-SET(ASM_DIALECT "_MASM")
-INCLUDE(CMakeTestASMCompiler)
-SET(ASM_DIALECT)
+set(ASM_DIALECT "_MASM")
+include(CMakeTestASMCompiler)
+set(ASM_DIALECT)
diff --git a/Modules/CMakeTestASM_NASMCompiler.cmake b/Modules/CMakeTestASM_NASMCompiler.cmake
index a5e2bea0a..414c2f550 100644
--- a/Modules/CMakeTestASM_NASMCompiler.cmake
+++ b/Modules/CMakeTestASM_NASMCompiler.cmake
@@ -18,6 +18,6 @@
# because otherwise there would have to be a separate assembler source file
# for each assembler on every architecture.
-SET(ASM_DIALECT "_NASM")
-INCLUDE(CMakeTestASMCompiler)
-SET(ASM_DIALECT)
+set(ASM_DIALECT "_NASM")
+include(CMakeTestASMCompiler)
+set(ASM_DIALECT)
diff --git a/Modules/CMakeTestCCompiler.cmake b/Modules/CMakeTestCCompiler.cmake
index 779b2f007..2c751471a 100644
--- a/Modules/CMakeTestCCompiler.cmake
+++ b/Modules/CMakeTestCCompiler.cmake
@@ -1,6 +1,6 @@
#=============================================================================
-# Copyright 2003-2009 Kitware, Inc.
+# Copyright 2003-2012 Kitware, Inc.
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
@@ -12,16 +12,27 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE(CMakeTestCompilerCommon)
+if(CMAKE_C_COMPILER_FORCED)
+ # The compiler configuration was forced by the user.
+ # Assume the user has configured all compiler information.
+ set(CMAKE_C_COMPILER_WORKS TRUE)
+ return()
+endif()
+
+include(CMakeTestCompilerCommon)
+
+# Remove any cached result from an older CMake version.
+# We now store this in CMakeCCompiler.cmake.
+unset(CMAKE_C_COMPILER_WORKS CACHE)
# This file is used by EnableLanguage in cmGlobalGenerator to
# determine that that selected C compiler can actually compile
# and link the most basic of programs. If not, a fatal error
# is set and cmake stops processing commands and will not generate
# any makefiles or projects.
-IF(NOT CMAKE_C_COMPILER_WORKS)
+if(NOT CMAKE_C_COMPILER_WORKS)
PrintTestCompilerStatus("C" "")
- FILE(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCCompiler.c
+ file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCCompiler.c
"#ifdef __cplusplus\n"
"# error \"The CMAKE_C_COMPILER is set to a C++ compiler\"\n"
"#endif\n"
@@ -33,55 +44,50 @@ IF(NOT CMAKE_C_COMPILER_WORKS)
"int main(int argc, char* argv[])\n"
"#endif\n"
"{ (void)argv; return argc-1;}\n")
- TRY_COMPILE(CMAKE_C_COMPILER_WORKS ${CMAKE_BINARY_DIR}
+ try_compile(CMAKE_C_COMPILER_WORKS ${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCCompiler.c
OUTPUT_VARIABLE __CMAKE_C_COMPILER_OUTPUT)
- SET(C_TEST_WAS_RUN 1)
-ENDIF(NOT CMAKE_C_COMPILER_WORKS)
+ # Move result from cache to normal variable.
+ set(CMAKE_C_COMPILER_WORKS ${CMAKE_C_COMPILER_WORKS})
+ unset(CMAKE_C_COMPILER_WORKS CACHE)
+ set(C_TEST_WAS_RUN 1)
+endif()
-IF(NOT CMAKE_C_COMPILER_WORKS)
+if(NOT CMAKE_C_COMPILER_WORKS)
PrintTestCompilerStatus("C" " -- broken")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Determining if the C compiler works failed with "
"the following output:\n${__CMAKE_C_COMPILER_OUTPUT}\n\n")
- # if the compiler is broken make sure to remove the platform file
- # since Windows-cl configures both c/cxx files both need to be removed
- # when c or c++ fails
- FILE(REMOVE ${CMAKE_PLATFORM_ROOT_BIN}/CMakeCPlatform.cmake )
- FILE(REMOVE ${CMAKE_PLATFORM_ROOT_BIN}/CMakeCXXPlatform.cmake )
- MESSAGE(FATAL_ERROR "The C compiler \"${CMAKE_C_COMPILER}\" "
+ message(FATAL_ERROR "The C compiler \"${CMAKE_C_COMPILER}\" "
"is not able to compile a simple test program.\nIt fails "
"with the following output:\n ${__CMAKE_C_COMPILER_OUTPUT}\n\n"
"CMake will not be able to correctly generate this project.")
-ELSE(NOT CMAKE_C_COMPILER_WORKS)
- IF(C_TEST_WAS_RUN)
+else()
+ if(C_TEST_WAS_RUN)
PrintTestCompilerStatus("C" " -- works")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Determining if the C compiler works passed with "
"the following output:\n${__CMAKE_C_COMPILER_OUTPUT}\n\n")
- ENDIF(C_TEST_WAS_RUN)
- SET(CMAKE_C_COMPILER_WORKS 1 CACHE INTERNAL "")
+ endif()
+
+ # Try to identify the ABI and configure it into CMakeCCompiler.cmake
+ include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerABI.cmake)
+ CMAKE_DETERMINE_COMPILER_ABI(C ${CMAKE_ROOT}/Modules/CMakeCCompilerABI.c)
+
+ # Re-configure to save learned information.
+ configure_file(
+ ${CMAKE_ROOT}/Modules/CMakeCCompiler.cmake.in
+ ${CMAKE_PLATFORM_INFO_DIR}/CMakeCCompiler.cmake
+ @ONLY IMMEDIATE # IMMEDIATE must be here for compatibility mode <= 2.0
+ )
+ include(${CMAKE_PLATFORM_INFO_DIR}/CMakeCCompiler.cmake)
- IF(CMAKE_C_COMPILER_FORCED)
- # The compiler configuration was forced by the user.
- # Assume the user has configured all compiler information.
- ELSE(CMAKE_C_COMPILER_FORCED)
- # Try to identify the ABI and configure it into CMakeCCompiler.cmake
- INCLUDE(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerABI.cmake)
- CMAKE_DETERMINE_COMPILER_ABI(C ${CMAKE_ROOT}/Modules/CMakeCCompilerABI.c)
- CONFIGURE_FILE(
- ${CMAKE_ROOT}/Modules/CMakeCCompiler.cmake.in
- ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeCCompiler.cmake
- @ONLY IMMEDIATE # IMMEDIATE must be here for compatibility mode <= 2.0
- )
- INCLUDE(${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeCCompiler.cmake)
- ENDIF(CMAKE_C_COMPILER_FORCED)
- IF(CMAKE_C_SIZEOF_DATA_PTR)
- FOREACH(f ${CMAKE_C_ABI_FILES})
- INCLUDE(${f})
- ENDFOREACH()
- UNSET(CMAKE_C_ABI_FILES)
- ENDIF()
-ENDIF(NOT CMAKE_C_COMPILER_WORKS)
+ if(CMAKE_C_SIZEOF_DATA_PTR)
+ foreach(f ${CMAKE_C_ABI_FILES})
+ include(${f})
+ endforeach()
+ unset(CMAKE_C_ABI_FILES)
+ endif()
+endif()
-UNSET(__CMAKE_C_COMPILER_OUTPUT)
+unset(__CMAKE_C_COMPILER_OUTPUT)
diff --git a/Modules/CMakeTestCXXCompiler.cmake b/Modules/CMakeTestCXXCompiler.cmake
index 87022e9f9..a5cdf5669 100644
--- a/Modules/CMakeTestCXXCompiler.cmake
+++ b/Modules/CMakeTestCXXCompiler.cmake
@@ -1,6 +1,6 @@
#=============================================================================
-# Copyright 2003-2009 Kitware, Inc.
+# Copyright 2003-2012 Kitware, Inc.
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
@@ -12,69 +12,75 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE(CMakeTestCompilerCommon)
+if(CMAKE_CXX_COMPILER_FORCED)
+ # The compiler configuration was forced by the user.
+ # Assume the user has configured all compiler information.
+ set(CMAKE_CXX_COMPILER_WORKS TRUE)
+ return()
+endif()
+
+include(CMakeTestCompilerCommon)
+
+# Remove any cached result from an older CMake version.
+# We now store this in CMakeCXXCompiler.cmake.
+unset(CMAKE_CXX_COMPILER_WORKS CACHE)
# This file is used by EnableLanguage in cmGlobalGenerator to
# determine that that selected C++ compiler can actually compile
# and link the most basic of programs. If not, a fatal error
# is set and cmake stops processing commands and will not generate
# any makefiles or projects.
-IF(NOT CMAKE_CXX_COMPILER_WORKS)
+if(NOT CMAKE_CXX_COMPILER_WORKS)
PrintTestCompilerStatus("CXX" "")
- FILE(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCXXCompiler.cxx
+ file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCXXCompiler.cxx
"#ifndef __cplusplus\n"
"# error \"The CMAKE_CXX_COMPILER is set to a C compiler\"\n"
"#endif\n"
"int main(){return 0;}\n")
- TRY_COMPILE(CMAKE_CXX_COMPILER_WORKS ${CMAKE_BINARY_DIR}
+ try_compile(CMAKE_CXX_COMPILER_WORKS ${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testCXXCompiler.cxx
OUTPUT_VARIABLE __CMAKE_CXX_COMPILER_OUTPUT)
- SET(CXX_TEST_WAS_RUN 1)
-ENDIF(NOT CMAKE_CXX_COMPILER_WORKS)
+ # Move result from cache to normal variable.
+ set(CMAKE_CXX_COMPILER_WORKS ${CMAKE_CXX_COMPILER_WORKS})
+ unset(CMAKE_CXX_COMPILER_WORKS CACHE)
+ set(CXX_TEST_WAS_RUN 1)
+endif()
-IF(NOT CMAKE_CXX_COMPILER_WORKS)
+if(NOT CMAKE_CXX_COMPILER_WORKS)
PrintTestCompilerStatus("CXX" " -- broken")
- # if the compiler is broken make sure to remove the platform file
- # since Windows-cl configures both c/cxx files both need to be removed
- # when c or c++ fails
- FILE(REMOVE ${CMAKE_PLATFORM_ROOT_BIN}/CMakeCPlatform.cmake )
- FILE(REMOVE ${CMAKE_PLATFORM_ROOT_BIN}/CMakeCXXPlatform.cmake )
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Determining if the CXX compiler works failed with "
"the following output:\n${__CMAKE_CXX_COMPILER_OUTPUT}\n\n")
- MESSAGE(FATAL_ERROR "The C++ compiler \"${CMAKE_CXX_COMPILER}\" "
+ message(FATAL_ERROR "The C++ compiler \"${CMAKE_CXX_COMPILER}\" "
"is not able to compile a simple test program.\nIt fails "
"with the following output:\n ${__CMAKE_CXX_COMPILER_OUTPUT}\n\n"
"CMake will not be able to correctly generate this project.")
-ELSE(NOT CMAKE_CXX_COMPILER_WORKS)
- IF(CXX_TEST_WAS_RUN)
+else()
+ if(CXX_TEST_WAS_RUN)
PrintTestCompilerStatus("CXX" " -- works")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Determining if the CXX compiler works passed with "
"the following output:\n${__CMAKE_CXX_COMPILER_OUTPUT}\n\n")
- ENDIF(CXX_TEST_WAS_RUN)
- SET(CMAKE_CXX_COMPILER_WORKS 1 CACHE INTERNAL "")
+ endif()
+
+ # Try to identify the ABI and configure it into CMakeCXXCompiler.cmake
+ include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerABI.cmake)
+ CMAKE_DETERMINE_COMPILER_ABI(CXX ${CMAKE_ROOT}/Modules/CMakeCXXCompilerABI.cpp)
+
+ # Re-configure to save learned information.
+ configure_file(
+ ${CMAKE_ROOT}/Modules/CMakeCXXCompiler.cmake.in
+ ${CMAKE_PLATFORM_INFO_DIR}/CMakeCXXCompiler.cmake
+ @ONLY IMMEDIATE # IMMEDIATE must be here for compatibility mode <= 2.0
+ )
+ include(${CMAKE_PLATFORM_INFO_DIR}/CMakeCXXCompiler.cmake)
- IF(CMAKE_CXX_COMPILER_FORCED)
- # The compiler configuration was forced by the user.
- # Assume the user has configured all compiler information.
- ELSE(CMAKE_CXX_COMPILER_FORCED)
- # Try to identify the ABI and configure it into CMakeCXXCompiler.cmake
- INCLUDE(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerABI.cmake)
- CMAKE_DETERMINE_COMPILER_ABI(CXX ${CMAKE_ROOT}/Modules/CMakeCXXCompilerABI.cpp)
- CONFIGURE_FILE(
- ${CMAKE_ROOT}/Modules/CMakeCXXCompiler.cmake.in
- ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeCXXCompiler.cmake
- @ONLY IMMEDIATE # IMMEDIATE must be here for compatibility mode <= 2.0
- )
- INCLUDE(${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeCXXCompiler.cmake)
- ENDIF(CMAKE_CXX_COMPILER_FORCED)
- IF(CMAKE_CXX_SIZEOF_DATA_PTR)
- FOREACH(f ${CMAKE_CXX_ABI_FILES})
- INCLUDE(${f})
- ENDFOREACH()
- UNSET(CMAKE_CXX_ABI_FILES)
- ENDIF()
-ENDIF(NOT CMAKE_CXX_COMPILER_WORKS)
+ if(CMAKE_CXX_SIZEOF_DATA_PTR)
+ foreach(f ${CMAKE_CXX_ABI_FILES})
+ include(${f})
+ endforeach()
+ unset(CMAKE_CXX_ABI_FILES)
+ endif()
+endif()
-UNSET(__CMAKE_CXX_COMPILER_OUTPUT)
+unset(__CMAKE_CXX_COMPILER_OUTPUT)
diff --git a/Modules/CMakeTestCompilerCommon.cmake b/Modules/CMakeTestCompilerCommon.cmake
index fd8a105b2..d51b503a1 100644
--- a/Modules/CMakeTestCompilerCommon.cmake
+++ b/Modules/CMakeTestCompilerCommon.cmake
@@ -13,9 +13,9 @@
# License text for the above reference.)
function(PrintTestCompilerStatus LANG MSG)
- IF(CMAKE_GENERATOR MATCHES Make)
- MESSAGE(STATUS "Check for working ${LANG} compiler: ${CMAKE_${LANG}_COMPILER}${MSG}")
- ELSE()
- MESSAGE(STATUS "Check for working ${LANG} compiler using: ${CMAKE_GENERATOR}${MSG}")
- ENDIF()
+ if(CMAKE_GENERATOR MATCHES Make)
+ message(STATUS "Check for working ${LANG} compiler: ${CMAKE_${LANG}_COMPILER}${MSG}")
+ else()
+ message(STATUS "Check for working ${LANG} compiler using: ${CMAKE_GENERATOR}${MSG}")
+ endif()
endfunction()
diff --git a/Modules/CMakeTestForFreeVC.cxx b/Modules/CMakeTestForFreeVC.cxx
deleted file mode 100644
index e580c1f6b..000000000
--- a/Modules/CMakeTestForFreeVC.cxx
+++ /dev/null
@@ -1,3 +0,0 @@
-#include<iostream>
-
-int main(){return 0;}
diff --git a/Modules/CMakeTestFortranCompiler.cmake b/Modules/CMakeTestFortranCompiler.cmake
index b4dcea634..e26334514 100644
--- a/Modules/CMakeTestFortranCompiler.cmake
+++ b/Modules/CMakeTestFortranCompiler.cmake
@@ -1,6 +1,6 @@
#=============================================================================
-# Copyright 2004-2009 Kitware, Inc.
+# Copyright 2004-2012 Kitware, Inc.
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
@@ -12,90 +12,100 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE(CMakeTestCompilerCommon)
+if(CMAKE_Fortran_COMPILER_FORCED)
+ # The compiler configuration was forced by the user.
+ # Assume the user has configured all compiler information.
+ set(CMAKE_Fortran_COMPILER_WORKS TRUE)
+ return()
+endif()
+
+include(CMakeTestCompilerCommon)
+
+# Remove any cached result from an older CMake version.
+# We now store this in CMakeFortranCompiler.cmake.
+unset(CMAKE_Fortran_COMPILER_WORKS CACHE)
# This file is used by EnableLanguage in cmGlobalGenerator to
# determine that that selected Fortran compiler can actually compile
# and link the most basic of programs. If not, a fatal error
# is set and cmake stops processing commands and will not generate
# any makefiles or projects.
-IF(NOT CMAKE_Fortran_COMPILER_WORKS)
+if(NOT CMAKE_Fortran_COMPILER_WORKS)
PrintTestCompilerStatus("Fortran" "")
- FILE(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler.f "
+ file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler.f "
PROGRAM TESTFortran
PRINT *, 'Hello'
END
")
- TRY_COMPILE(CMAKE_Fortran_COMPILER_WORKS ${CMAKE_BINARY_DIR}
+ try_compile(CMAKE_Fortran_COMPILER_WORKS ${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler.f
OUTPUT_VARIABLE OUTPUT)
- SET(FORTRAN_TEST_WAS_RUN 1)
-ENDIF(NOT CMAKE_Fortran_COMPILER_WORKS)
+ # Move result from cache to normal variable.
+ set(CMAKE_Fortran_COMPILER_WORKS ${CMAKE_Fortran_COMPILER_WORKS})
+ unset(CMAKE_Fortran_COMPILER_WORKS CACHE)
+ set(FORTRAN_TEST_WAS_RUN 1)
+endif()
-IF(NOT CMAKE_Fortran_COMPILER_WORKS)
+if(NOT CMAKE_Fortran_COMPILER_WORKS)
PrintTestCompilerStatus("Fortran" " -- broken")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Determining if the Fortran compiler works failed with "
"the following output:\n${OUTPUT}\n\n")
- MESSAGE(FATAL_ERROR "The Fortran compiler \"${CMAKE_Fortran_COMPILER}\" "
+ message(FATAL_ERROR "The Fortran compiler \"${CMAKE_Fortran_COMPILER}\" "
"is not able to compile a simple test program.\nIt fails "
"with the following output:\n ${OUTPUT}\n\n"
"CMake will not be able to correctly generate this project.")
-ELSE(NOT CMAKE_Fortran_COMPILER_WORKS)
- IF(FORTRAN_TEST_WAS_RUN)
+else()
+ if(FORTRAN_TEST_WAS_RUN)
PrintTestCompilerStatus("Fortran" " -- works")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Determining if the Fortran compiler works passed with "
"the following output:\n${OUTPUT}\n\n")
- ENDIF(FORTRAN_TEST_WAS_RUN)
- SET(CMAKE_Fortran_COMPILER_WORKS 1 CACHE INTERNAL "")
+ endif()
- IF(CMAKE_Fortran_COMPILER_FORCED)
- # The compiler configuration was forced by the user.
- # Assume the user has configured all compiler information.
- ELSE(CMAKE_Fortran_COMPILER_FORCED)
- # Try to identify the ABI and configure it into CMakeFortranCompiler.cmake
- INCLUDE(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerABI.cmake)
- CMAKE_DETERMINE_COMPILER_ABI(Fortran ${CMAKE_ROOT}/Modules/CMakeFortranCompilerABI.F)
+ # Try to identify the ABI and configure it into CMakeFortranCompiler.cmake
+ include(${CMAKE_ROOT}/Modules/CMakeDetermineCompilerABI.cmake)
+ CMAKE_DETERMINE_COMPILER_ABI(Fortran ${CMAKE_ROOT}/Modules/CMakeFortranCompilerABI.F)
- # Test for Fortran 90 support by using an f90-specific construct.
- 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 "
+ # Test for Fortran 90 support by using an f90-specific construct.
+ 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
stop = 1 ; do while ( stop .eq. 0 ) ; end do
END PROGRAM TESTFortran90
")
- TRY_COMPILE(CMAKE_Fortran_COMPILER_SUPPORTS_F90 ${CMAKE_BINARY_DIR}
- ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompilerF90.f90
- OUTPUT_VARIABLE OUTPUT)
- IF(CMAKE_Fortran_COMPILER_SUPPORTS_F90)
- MESSAGE(STATUS "Checking whether ${CMAKE_Fortran_COMPILER} supports Fortran 90 -- yes")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
- "Determining if the Fortran compiler supports Fortran 90 passed with "
- "the following output:\n${OUTPUT}\n\n")
- SET(CMAKE_Fortran_COMPILER_SUPPORTS_F90 1)
- ELSE(CMAKE_Fortran_COMPILER_SUPPORTS_F90)
- MESSAGE(STATUS "Checking whether ${CMAKE_Fortran_COMPILER} supports Fortran 90 -- no")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
- "Determining if the Fortran compiler supports Fortran 90 failed with "
- "the following output:\n${OUTPUT}\n\n")
- SET(CMAKE_Fortran_COMPILER_SUPPORTS_F90 0)
- ENDIF(CMAKE_Fortran_COMPILER_SUPPORTS_F90)
- UNSET(CMAKE_Fortran_COMPILER_SUPPORTS_F90 CACHE)
- ENDIF(NOT DEFINED CMAKE_Fortran_COMPILER_SUPPORTS_F90)
+ try_compile(CMAKE_Fortran_COMPILER_SUPPORTS_F90 ${CMAKE_BINARY_DIR}
+ ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompilerF90.f90
+ OUTPUT_VARIABLE OUTPUT)
+ if(CMAKE_Fortran_COMPILER_SUPPORTS_F90)
+ message(STATUS "Checking whether ${CMAKE_Fortran_COMPILER} supports Fortran 90 -- yes")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ "Determining if the Fortran compiler supports Fortran 90 passed with "
+ "the following output:\n${OUTPUT}\n\n")
+ set(CMAKE_Fortran_COMPILER_SUPPORTS_F90 1)
+ else()
+ message(STATUS "Checking whether ${CMAKE_Fortran_COMPILER} supports Fortran 90 -- no")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ "Determining if the Fortran compiler supports Fortran 90 failed with "
+ "the following output:\n${OUTPUT}\n\n")
+ set(CMAKE_Fortran_COMPILER_SUPPORTS_F90 0)
+ endif()
+ unset(CMAKE_Fortran_COMPILER_SUPPORTS_F90 CACHE)
+ endif()
+
+ # Re-configure to save learned information.
+ configure_file(
+ ${CMAKE_ROOT}/Modules/CMakeFortranCompiler.cmake.in
+ ${CMAKE_PLATFORM_INFO_DIR}/CMakeFortranCompiler.cmake
+ @ONLY IMMEDIATE # IMMEDIATE must be here for compatibility mode <= 2.0
+ )
+ include(${CMAKE_PLATFORM_INFO_DIR}/CMakeFortranCompiler.cmake)
- CONFIGURE_FILE(
- ${CMAKE_ROOT}/Modules/CMakeFortranCompiler.cmake.in
- ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeFortranCompiler.cmake
- @ONLY IMMEDIATE # IMMEDIATE must be here for compatibility mode <= 2.0
- )
- INCLUDE(${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeFortranCompiler.cmake)
- ENDIF(CMAKE_Fortran_COMPILER_FORCED)
- IF(CMAKE_Fortran_SIZEOF_DATA_PTR)
- FOREACH(f ${CMAKE_Fortran_ABI_FILES})
- INCLUDE(${f})
- ENDFOREACH()
- UNSET(CMAKE_Fortran_ABI_FILES)
- ENDIF()
-ENDIF(NOT CMAKE_Fortran_COMPILER_WORKS)
+ if(CMAKE_Fortran_SIZEOF_DATA_PTR)
+ foreach(f ${CMAKE_Fortran_ABI_FILES})
+ include(${f})
+ endforeach()
+ unset(CMAKE_Fortran_ABI_FILES)
+ endif()
+endif()
diff --git a/Modules/CMakeTestJavaCompiler.cmake b/Modules/CMakeTestJavaCompiler.cmake
index cfd3e24b6..d763412bf 100644
--- a/Modules/CMakeTestJavaCompiler.cmake
+++ b/Modules/CMakeTestJavaCompiler.cmake
@@ -17,4 +17,4 @@
# and link the most basic of programs. If not, a fatal error
# is set and cmake stops processing commands and will not generate
# any makefiles or projects.
-SET(CMAKE_Java_COMPILER_WORKS 1 CACHE INTERNAL "")
+set(CMAKE_Java_COMPILER_WORKS 1 CACHE INTERNAL "")
diff --git a/Modules/CMakeTestNMakeCLVersion.c b/Modules/CMakeTestNMakeCLVersion.c
deleted file mode 100644
index 3cece2a63..000000000
--- a/Modules/CMakeTestNMakeCLVersion.c
+++ /dev/null
@@ -1,2 +0,0 @@
-VERSION=_MSC_VER
-
diff --git a/Modules/CMakeTestRCCompiler.cmake b/Modules/CMakeTestRCCompiler.cmake
index a5c8d1149..7969da1de 100644
--- a/Modules/CMakeTestRCCompiler.cmake
+++ b/Modules/CMakeTestRCCompiler.cmake
@@ -20,4 +20,4 @@
# For now there is no way to do a try compile on just a .rc file
# so just do nothing in here.
-SET(CMAKE_RC_COMPILER_WORKS 1 CACHE INTERNAL "")
+set(CMAKE_RC_COMPILER_WORKS 1 CACHE INTERNAL "")
diff --git a/Modules/CMakeUnixFindMake.cmake b/Modules/CMakeUnixFindMake.cmake
index 39962c0d3..c75cf7cbc 100644
--- a/Modules/CMakeUnixFindMake.cmake
+++ b/Modules/CMakeUnixFindMake.cmake
@@ -12,5 +12,5 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PROGRAM(CMAKE_MAKE_PROGRAM NAMES gmake make smake)
-MARK_AS_ADVANCED(CMAKE_MAKE_PROGRAM)
+find_program(CMAKE_MAKE_PROGRAM NAMES gmake make smake)
+mark_as_advanced(CMAKE_MAKE_PROGRAM)
diff --git a/Modules/CMakeVS10FindMake.cmake b/Modules/CMakeVS10FindMake.cmake
index 695e92f52..189b62698 100644
--- a/Modules/CMakeVS10FindMake.cmake
+++ b/Modules/CMakeVS10FindMake.cmake
@@ -15,7 +15,7 @@
# Look for devenv as a build program. We need to use this to support
# Intel Fortran integration into VS. MSBuild can not be used for that case
# since Intel Fortran uses the older devenv file format.
-FIND_PROGRAM(CMAKE_MAKE_PROGRAM
+find_program(CMAKE_MAKE_PROGRAM
NAMES devenv
HINTS
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup\\VS;EnvironmentDirectory]
@@ -39,16 +39,16 @@ FIND_PROGRAM(CMAKE_MAKE_PROGRAM
# causes the compiler checks and try-compile stuff to fail. MSbuild
# is a better choice for this. However, VCExpress does not support
# cross compiling needed for Win CE.
-IF(NOT CMAKE_CROSSCOMPILING)
- FIND_PROGRAM(CMAKE_MAKE_PROGRAM
+if(NOT CMAKE_CROSSCOMPILING)
+ find_program(CMAKE_MAKE_PROGRAM
NAMES MSBuild
HINTS
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0\\Setup\\VS;ProductDir]
"$ENV{SYSTEMROOT}/Microsoft.NET/Framework/[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0;CLR Version]/"
"c:/WINDOWS/Microsoft.NET/Framework/[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\10.0;CLR Version]/"
"$ENV{SYSTEMROOT}/Microsoft.NET/Framework/[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VCExpress\\10.0;CLR Version]/")
-ENDIF()
+endif()
-MARK_AS_ADVANCED(CMAKE_MAKE_PROGRAM)
-SET(MSVC10 1)
-SET(MSVC_VERSION 1600)
+mark_as_advanced(CMAKE_MAKE_PROGRAM)
+set(MSVC10 1)
+set(MSVC_VERSION 1600)
diff --git a/Modules/CMakeVS11FindMake.cmake b/Modules/CMakeVS11FindMake.cmake
index 302efaa59..2df015d40 100644
--- a/Modules/CMakeVS11FindMake.cmake
+++ b/Modules/CMakeVS11FindMake.cmake
@@ -15,7 +15,7 @@
# Look for devenv as a build program. We need to use this to support
# Intel Fortran integration into VS. MSBuild can not be used for that case
# since Intel Fortran uses the older devenv file format.
-FIND_PROGRAM(CMAKE_MAKE_PROGRAM
+find_program(CMAKE_MAKE_PROGRAM
NAMES devenv
HINTS
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\11.0\\Setup\\VS;EnvironmentDirectory]
@@ -34,21 +34,20 @@ FIND_PROGRAM(CMAKE_MAKE_PROGRAM
# if devenv is not found, then use MSBuild.
# it is expected that if devenv is not found, then we are
-# dealing with Visual Studio Express. VCExpress has random
-# failures when being run as a command line build tool which
-# causes the compiler checks and try-compile stuff to fail. MSbuild
-# is a better choice for this. However, VCExpress does not support
-# cross compiling needed for Win CE.
-IF(NOT CMAKE_CROSSCOMPILING)
- FIND_PROGRAM(CMAKE_MAKE_PROGRAM
+# dealing with Visual Studio Express.
+if(NOT CMAKE_CROSSCOMPILING)
+ set(_FDIR "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\SxS\\VC7;FrameworkDir32]")
+ set(_FVER "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\SxS\\VC7;FrameworkVer32]")
+ find_program(CMAKE_MAKE_PROGRAM
NAMES MSBuild
HINTS
+ ${_FDIR}/${_FVER}
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\11.0\\Setup\\VS;ProductDir]
"$ENV{SYSTEMROOT}/Microsoft.NET/Framework/[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\11.0;CLR Version]/"
"c:/WINDOWS/Microsoft.NET/Framework/[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\11.0;CLR Version]/"
"$ENV{SYSTEMROOT}/Microsoft.NET/Framework/[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VCExpress\\11.0;CLR Version]/")
-ENDIF()
+endif()
-MARK_AS_ADVANCED(CMAKE_MAKE_PROGRAM)
-SET(MSVC11 1)
-SET(MSVC_VERSION 1700)
+mark_as_advanced(CMAKE_MAKE_PROGRAM)
+set(MSVC11 1)
+set(MSVC_VERSION 1700)
diff --git a/Modules/CMakeVS6BackwardCompatibility.cmake b/Modules/CMakeVS6BackwardCompatibility.cmake
index 438f64f6c..ca48b8587 100644
--- a/Modules/CMakeVS6BackwardCompatibility.cmake
+++ b/Modules/CMakeVS6BackwardCompatibility.cmake
@@ -13,14 +13,14 @@
# License text for the above reference.)
# hard code these for fast backwards compatibility tests
-SET (CMAKE_SIZEOF_INT 4 CACHE INTERNAL "Size of int data type")
-SET (CMAKE_SIZEOF_LONG 4 CACHE INTERNAL "Size of long data type")
-SET (CMAKE_SIZEOF_VOID_P 4 CACHE INTERNAL "Size of void* data type")
-SET (CMAKE_SIZEOF_CHAR 1 CACHE INTERNAL "Size of char data type")
-SET (CMAKE_SIZEOF_SHORT 2 CACHE INTERNAL "Size of short data type")
-SET (CMAKE_SIZEOF_FLOAT 4 CACHE INTERNAL "Size of float data type")
-SET (CMAKE_SIZEOF_DOUBLE 8 CACHE INTERNAL "Size of double data type")
-SET (CMAKE_NO_ANSI_FOR_SCOPE 1 CACHE INTERNAL
+set (CMAKE_SIZEOF_INT 4 CACHE INTERNAL "Size of int data type")
+set (CMAKE_SIZEOF_LONG 4 CACHE INTERNAL "Size of long data type")
+set (CMAKE_SIZEOF_VOID_P 4 CACHE INTERNAL "Size of void* data type")
+set (CMAKE_SIZEOF_CHAR 1 CACHE INTERNAL "Size of char data type")
+set (CMAKE_SIZEOF_SHORT 2 CACHE INTERNAL "Size of short data type")
+set (CMAKE_SIZEOF_FLOAT 4 CACHE INTERNAL "Size of float data type")
+set (CMAKE_SIZEOF_DOUBLE 8 CACHE INTERNAL "Size of double data type")
+set (CMAKE_NO_ANSI_FOR_SCOPE 1 CACHE INTERNAL
"Does the compiler support ansi for scope.")
-SET (CMAKE_USE_WIN32_THREADS TRUE CACHE BOOL "Use the win32 thread library.")
-SET (CMAKE_WORDS_BIGENDIAN 0 CACHE INTERNAL "endianness of bytes")
+set (CMAKE_USE_WIN32_THREADS TRUE CACHE BOOL "Use the win32 thread library.")
+set (CMAKE_WORDS_BIGENDIAN 0 CACHE INTERNAL "endianness of bytes")
diff --git a/Modules/CMakeVS6FindMake.cmake b/Modules/CMakeVS6FindMake.cmake
index dccf8c462..40bf5b172 100644
--- a/Modules/CMakeVS6FindMake.cmake
+++ b/Modules/CMakeVS6FindMake.cmake
@@ -12,7 +12,7 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PROGRAM(CMAKE_MAKE_PROGRAM
+find_program(CMAKE_MAKE_PROGRAM
NAMES msdev
PATHS
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\6.0\\Setup;VsCommonDir]/MSDev98/Bin
@@ -20,6 +20,6 @@ FIND_PROGRAM(CMAKE_MAKE_PROGRAM
"c:/Program Files/Microsoft Visual Studio/Common/MSDev98/Bin"
"/Program Files/Microsoft Visual Studio/Common/MSDev98/Bin"
)
-MARK_AS_ADVANCED(CMAKE_MAKE_PROGRAM)
-SET(MSVC60 1)
-SET(MSVC_VERSION 1200)
+mark_as_advanced(CMAKE_MAKE_PROGRAM)
+set(MSVC60 1)
+set(MSVC_VERSION 1200)
diff --git a/Modules/CMakeVS71FindMake.cmake b/Modules/CMakeVS71FindMake.cmake
index 2381adb55..945c3faf8 100644
--- a/Modules/CMakeVS71FindMake.cmake
+++ b/Modules/CMakeVS71FindMake.cmake
@@ -12,7 +12,7 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PROGRAM(CMAKE_MAKE_PROGRAM
+find_program(CMAKE_MAKE_PROGRAM
NAMES devenv
PATHS
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\7.1\\Setup\\VS;EnvironmentDirectory]
@@ -21,6 +21,6 @@ FIND_PROGRAM(CMAKE_MAKE_PROGRAM
"c:/Program Files/Microsoft Visual Studio.NET/Common7/IDE"
"/Program Files/Microsoft Visual Studio .NET/Common7/IDE/"
)
-MARK_AS_ADVANCED(CMAKE_MAKE_PROGRAM)
-SET(MSVC71 1)
-SET(MSVC_VERSION 1310)
+mark_as_advanced(CMAKE_MAKE_PROGRAM)
+set(MSVC71 1)
+set(MSVC_VERSION 1310)
diff --git a/Modules/CMakeVS7BackwardCompatibility.cmake b/Modules/CMakeVS7BackwardCompatibility.cmake
index df0b3bb97..e9622eecf 100644
--- a/Modules/CMakeVS7BackwardCompatibility.cmake
+++ b/Modules/CMakeVS7BackwardCompatibility.cmake
@@ -13,14 +13,14 @@
# License text for the above reference.)
# hard code these for fast backwards compatibility tests
-SET (CMAKE_SIZEOF_INT 4 CACHE INTERNAL "Size of int data type")
-SET (CMAKE_SIZEOF_LONG 4 CACHE INTERNAL "Size of long data type")
-SET (CMAKE_SIZEOF_VOID_P 4 CACHE INTERNAL "Size of void* data type")
-SET (CMAKE_SIZEOF_CHAR 1 CACHE INTERNAL "Size of char data type")
-SET (CMAKE_SIZEOF_SHORT 2 CACHE INTERNAL "Size of short data type")
-SET (CMAKE_SIZEOF_FLOAT 4 CACHE INTERNAL "Size of float data type")
-SET (CMAKE_SIZEOF_DOUBLE 8 CACHE INTERNAL "Size of double data type")
-SET (CMAKE_NO_ANSI_FOR_SCOPE 0 CACHE INTERNAL
+set (CMAKE_SIZEOF_INT 4 CACHE INTERNAL "Size of int data type")
+set (CMAKE_SIZEOF_LONG 4 CACHE INTERNAL "Size of long data type")
+set (CMAKE_SIZEOF_VOID_P 4 CACHE INTERNAL "Size of void* data type")
+set (CMAKE_SIZEOF_CHAR 1 CACHE INTERNAL "Size of char data type")
+set (CMAKE_SIZEOF_SHORT 2 CACHE INTERNAL "Size of short data type")
+set (CMAKE_SIZEOF_FLOAT 4 CACHE INTERNAL "Size of float data type")
+set (CMAKE_SIZEOF_DOUBLE 8 CACHE INTERNAL "Size of double data type")
+set (CMAKE_NO_ANSI_FOR_SCOPE 0 CACHE INTERNAL
"Does the compiler support ansi for scope.")
-SET (CMAKE_USE_WIN32_THREADS TRUE CACHE BOOL "Use the win32 thread library.")
-SET (CMAKE_WORDS_BIGENDIAN 0 CACHE INTERNAL "endianness of bytes")
+set (CMAKE_USE_WIN32_THREADS TRUE CACHE BOOL "Use the win32 thread library.")
+set (CMAKE_WORDS_BIGENDIAN 0 CACHE INTERNAL "endianness of bytes")
diff --git a/Modules/CMakeVS7FindMake.cmake b/Modules/CMakeVS7FindMake.cmake
index 665158c88..218c5f2df 100644
--- a/Modules/CMakeVS7FindMake.cmake
+++ b/Modules/CMakeVS7FindMake.cmake
@@ -12,7 +12,7 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PROGRAM(CMAKE_MAKE_PROGRAM
+find_program(CMAKE_MAKE_PROGRAM
NAMES devenv
PATHS
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\7.0\\Setup\\VS;EnvironmentDirectory]
@@ -20,6 +20,6 @@ FIND_PROGRAM(CMAKE_MAKE_PROGRAM
"c:/Program Files/Microsoft Visual Studio.NET/Common7/IDE"
"/Program Files/Microsoft Visual Studio .NET/Common7/IDE/"
)
-MARK_AS_ADVANCED(CMAKE_MAKE_PROGRAM)
-SET(MSVC70 1)
-SET(MSVC_VERSION 1300)
+mark_as_advanced(CMAKE_MAKE_PROGRAM)
+set(MSVC70 1)
+set(MSVC_VERSION 1300)
diff --git a/Modules/CMakeVS8FindMake.cmake b/Modules/CMakeVS8FindMake.cmake
index bb0818014..31df0268d 100644
--- a/Modules/CMakeVS8FindMake.cmake
+++ b/Modules/CMakeVS8FindMake.cmake
@@ -13,12 +13,12 @@
# License text for the above reference.)
# VCExpress does not support cross compiling, which is necessary for Win CE
-SET( _CMAKE_MAKE_PROGRAM_NAMES devenv)
-IF(NOT CMAKE_CROSSCOMPILING)
- SET( _CMAKE_MAKE_PROGRAM_NAMES ${_CMAKE_MAKE_PROGRAM_NAMES} VCExpress)
-ENDIF(NOT CMAKE_CROSSCOMPILING)
+set( _CMAKE_MAKE_PROGRAM_NAMES devenv)
+if(NOT CMAKE_CROSSCOMPILING)
+ set( _CMAKE_MAKE_PROGRAM_NAMES ${_CMAKE_MAKE_PROGRAM_NAMES} VCExpress)
+endif()
-FIND_PROGRAM(CMAKE_MAKE_PROGRAM
+find_program(CMAKE_MAKE_PROGRAM
NAMES ${_CMAKE_MAKE_PROGRAM_NAMES}
HINTS
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0\\Setup\\VS;EnvironmentDirectory]
@@ -29,6 +29,6 @@ FIND_PROGRAM(CMAKE_MAKE_PROGRAM
"$ENV{ProgramFiles} (x86)/Microsoft Visual Studio8/Common7/IDE"
"/Program Files/Microsoft Visual Studio 8/Common7/IDE/"
)
-MARK_AS_ADVANCED(CMAKE_MAKE_PROGRAM)
-SET(MSVC80 1)
-SET(MSVC_VERSION 1400)
+mark_as_advanced(CMAKE_MAKE_PROGRAM)
+set(MSVC80 1)
+set(MSVC_VERSION 1400)
diff --git a/Modules/CMakeVS9FindMake.cmake b/Modules/CMakeVS9FindMake.cmake
index 9e3c39ef3..35e9f981a 100644
--- a/Modules/CMakeVS9FindMake.cmake
+++ b/Modules/CMakeVS9FindMake.cmake
@@ -13,12 +13,12 @@
# License text for the above reference.)
# VCExpress does not support cross compiling, which is necessary for Win CE
-SET( _CMAKE_MAKE_PROGRAM_NAMES devenv)
-IF(NOT CMAKE_CROSSCOMPILING)
- SET( _CMAKE_MAKE_PROGRAM_NAMES ${_CMAKE_MAKE_PROGRAM_NAMES} VCExpress)
-ENDIF(NOT CMAKE_CROSSCOMPILING)
+set( _CMAKE_MAKE_PROGRAM_NAMES devenv)
+if(NOT CMAKE_CROSSCOMPILING)
+ set( _CMAKE_MAKE_PROGRAM_NAMES ${_CMAKE_MAKE_PROGRAM_NAMES} VCExpress)
+endif()
-FIND_PROGRAM(CMAKE_MAKE_PROGRAM
+find_program(CMAKE_MAKE_PROGRAM
NAMES ${_CMAKE_MAKE_PROGRAM_NAMES}
HINTS
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\9.0\\Setup\\VS;EnvironmentDirectory]
@@ -34,6 +34,6 @@ FIND_PROGRAM(CMAKE_MAKE_PROGRAM
"/Program Files/Microsoft Visual Studio 9.0/Common7/IDE/"
"/Program Files/Microsoft Visual Studio 9/Common7/IDE/"
)
-MARK_AS_ADVANCED(CMAKE_MAKE_PROGRAM)
-SET(MSVC90 1)
-SET(MSVC_VERSION 1500)
+mark_as_advanced(CMAKE_MAKE_PROGRAM)
+set(MSVC90 1)
+set(MSVC_VERSION 1500)
diff --git a/Modules/CMakeVerifyManifest.cmake b/Modules/CMakeVerifyManifest.cmake
index 75783691f..aebe77ea1 100644
--- a/Modules/CMakeVerifyManifest.cmake
+++ b/Modules/CMakeVerifyManifest.cmake
@@ -4,7 +4,7 @@
# side by side manifests for a project match. To run this
# script, cd to a directory and run the script with cmake -P.
# On the command line you can pass in versions that are OK even
-# if not found in the .manifest files. For example,
+# if not found in the .manifest files. For example,
# cmake -Dallow_versions=8.0.50608.0 -PCmakeVerifyManifest.cmake
# could be used to allow an embeded manifest of 8.0.50608.0
# to be used in a project even if that version was not found
@@ -40,14 +40,14 @@ function(crt_version file list_var)
foreach(s ${strings})
set(has_match 1)
string(REGEX
- REPLACE ".*<assembly.*\"Microsoft.VC...CRT\".*version=\"([^\"]*)\".*</assembly>.*$" "\\1"
+ REPLACE ".*<assembly.*\"Microsoft.VC...CRT\".*version=\"([^\"]*)\".*</assembly>.*$" "\\1"
version "${s}")
if(NOT "${version}" STREQUAL "")
list(APPEND version_list ${version})
else()
message(FATAL_ERROR "Parse error could not find version in [${s}]")
endif()
- endforeach(s)
+ endforeach()
if(NOT DEFINED has_match)
message("Information: no embeded manifest in: ${file}")
return()
@@ -57,25 +57,25 @@ function(crt_version file list_var)
if(version_list)
set(${list_var} ${version_list} PARENT_SCOPE)
endif()
-endfunction(crt_version)
+endfunction()
set(fatal_error FALSE)
# check_version:
-#
+#
# test a file against the shipped manifest versions
# for a directory
function(check_version file manifest_versions)
set(manifest_versions ${manifest_versions} ${allow_versions})
# collect versions for a given file
crt_version(${file} file_versions)
- # see if the versions
+ # see if the versions
foreach(ver ${file_versions})
list(FIND manifest_versions "${ver}" found_version)
if("${found_version}" EQUAL -1)
message("ERROR: ${file} uses ${ver} not found in shipped manifests:[${manifest_versions}].")
set(fatal_error TRUE PARENT_SCOPE)
endif()
- endforeach(ver)
+ endforeach()
list(LENGTH file_versions len)
if(${len} GREATER 1)
message("WARNING: found more than one version of MICROSOFT.VC80.CRT referenced in ${file}: [${file_versions}]")
@@ -88,7 +88,7 @@ set(manifest_version_list )
file(GLOB_RECURSE manifest_files "*.manifest")
foreach(f ${manifest_files})
crt_version("${f}" manifest_version_list)
-endforeach(f)
+endforeach()
list(LENGTH manifest_version_list LEN)
if(LEN EQUAL 0)
message(FATAL_ERROR "No .manifest files found, no version check can be done.")
diff --git a/Modules/CPack.cmake b/Modules/CPack.cmake
index 657595731..6886ed9fd 100644
--- a/Modules/CPack.cmake
+++ b/Modules/CPack.cmake
@@ -187,7 +187,7 @@
# in CMake, so this change is compatible).
##end
#
-# The following CPack variables are specific to source packages, and
+# The following CPack variables are specific to source packages, and
# will not affect binary packages:
#
##variable
@@ -285,48 +285,48 @@
# License text for the above reference.)
# Define this var in order to avoid (or warn) concerning multiple inclusion
-IF(CPack_CMake_INCLUDED)
- MESSAGE(WARNING "CPack.cmake has already been included!!")
-ELSE(CPack_CMake_INCLUDED)
- SET(CPack_CMake_INCLUDED 1)
-ENDIF(CPack_CMake_INCLUDED)
+if(CPack_CMake_INCLUDED)
+ message(WARNING "CPack.cmake has already been included!!")
+else()
+ set(CPack_CMake_INCLUDED 1)
+endif()
# Pick a configuration file
-SET(cpack_input_file "${CMAKE_ROOT}/Templates/CPackConfig.cmake.in")
-IF(EXISTS "${CMAKE_SOURCE_DIR}/CPackConfig.cmake.in")
- SET(cpack_input_file "${CMAKE_SOURCE_DIR}/CPackConfig.cmake.in")
-ENDIF(EXISTS "${CMAKE_SOURCE_DIR}/CPackConfig.cmake.in")
-SET(cpack_source_input_file "${CMAKE_ROOT}/Templates/CPackConfig.cmake.in")
-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")
+set(cpack_input_file "${CMAKE_ROOT}/Templates/CPackConfig.cmake.in")
+if(EXISTS "${CMAKE_SOURCE_DIR}/CPackConfig.cmake.in")
+ set(cpack_input_file "${CMAKE_SOURCE_DIR}/CPackConfig.cmake.in")
+endif()
+set(cpack_source_input_file "${CMAKE_ROOT}/Templates/CPackConfig.cmake.in")
+if(EXISTS "${CMAKE_SOURCE_DIR}/CPackSourceConfig.cmake.in")
+ set(cpack_source_input_file "${CMAKE_SOURCE_DIR}/CPackSourceConfig.cmake.in")
+endif()
# Backward compatibility
# Include CPackComponent macros if it has not already been included before.
include(CPackComponent)
# Macro for setting values if a user did not overwrite them
-MACRO(cpack_set_if_not_set name value)
- IF(NOT DEFINED "${name}")
- SET(${name} "${value}")
- ENDIF(NOT DEFINED "${name}")
-ENDMACRO(cpack_set_if_not_set)
+macro(cpack_set_if_not_set name value)
+ if(NOT DEFINED "${name}")
+ set(${name} "${value}")
+ endif()
+endmacro()
# cpack_encode_variables - Macro to encode variables for the configuration file
# find any variable that starts with CPACK and create a variable
# _CPACK_OTHER_VARIABLES_ that contains SET commands for
# each cpack variable. _CPACK_OTHER_VARIABLES_ is then
# used as an @ replacment in configure_file for the CPackConfig.
-MACRO(cpack_encode_variables)
- SET(_CPACK_OTHER_VARIABLES_)
- GET_CMAKE_PROPERTY(res VARIABLES)
- FOREACH(var ${res})
- IF("xxx${var}" MATCHES "xxxCPACK")
- SET(_CPACK_OTHER_VARIABLES_
+macro(cpack_encode_variables)
+ set(_CPACK_OTHER_VARIABLES_)
+ get_cmake_property(res VARIABLES)
+ foreach(var ${res})
+ if("xxx${var}" MATCHES "xxxCPACK")
+ set(_CPACK_OTHER_VARIABLES_
"${_CPACK_OTHER_VARIABLES_}\nSET(${var} \"${${var}}\")")
- ENDIF("xxx${var}" MATCHES "xxxCPACK")
- ENDFOREACH(var ${res})
-ENDMACRO(cpack_encode_variables)
+ endif()
+ endforeach()
+endmacro()
# Set the package name
cpack_set_if_not_set(CPACK_PACKAGE_NAME "${CMAKE_PROJECT_NAME}")
@@ -350,22 +350,22 @@ cpack_set_if_not_set(CPACK_RESOURCE_FILE_WELCOME
cpack_set_if_not_set(CPACK_MODULE_PATH "${CMAKE_MODULE_PATH}")
-IF(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL)
- SET(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON)
-ENDIF(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL)
-
-IF(CPACK_NSIS_MODIFY_PATH)
- SET(CPACK_NSIS_MODIFY_PATH ON)
-ENDIF(CPACK_NSIS_MODIFY_PATH)
-
-SET(__cpack_system_name ${CMAKE_SYSTEM_NAME})
-IF(${__cpack_system_name} MATCHES Windows)
- IF(CMAKE_CL_64)
- SET(__cpack_system_name win64)
- ELSE(CMAKE_CL_64)
- SET(__cpack_system_name win32)
- ENDIF(CMAKE_CL_64)
-ENDIF(${__cpack_system_name} MATCHES Windows)
+if(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL)
+ set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON)
+endif()
+
+if(CPACK_NSIS_MODIFY_PATH)
+ set(CPACK_NSIS_MODIFY_PATH ON)
+endif()
+
+set(__cpack_system_name ${CMAKE_SYSTEM_NAME})
+if(${__cpack_system_name} MATCHES Windows)
+ if(CMAKE_CL_64)
+ set(__cpack_system_name win64)
+ else()
+ set(__cpack_system_name win32)
+ endif()
+endif()
cpack_set_if_not_set(CPACK_SYSTEM_NAME "${__cpack_system_name}")
# Root dir: default value should be the string literal "$PROGRAMFILES"
@@ -386,15 +386,15 @@ cpack_set_if_not_set(CPACK_PACKAGE_RELOCATABLE "true")
# always force to exactly "true" or "false" for CPack.Info.plist.in:
if(CPACK_PACKAGE_RELOCATABLE)
set(CPACK_PACKAGE_RELOCATABLE "true")
-else(CPACK_PACKAGE_RELOCATABLE)
+else()
set(CPACK_PACKAGE_RELOCATABLE "false")
-endif(CPACK_PACKAGE_RELOCATABLE)
+endif()
macro(cpack_check_file_exists file description)
if(NOT EXISTS "${file}")
message(SEND_ERROR "CPack ${description} file: \"${file}\" could not be found.")
- endif(NOT EXISTS "${file}")
-endmacro(cpack_check_file_exists)
+ endif()
+endmacro()
cpack_check_file_exists("${CPACK_PACKAGE_DESCRIPTION_FILE}" "package description")
cpack_check_file_exists("${CPACK_RESOURCE_FILE_LICENSE}" "license resource")
@@ -404,8 +404,8 @@ cpack_check_file_exists("${CPACK_RESOURCE_FILE_WELCOME}" "welcome resource")
macro(cpack_optional_append _list _cond _item)
if(${_cond})
set(${_list} ${${_list}} ${_item})
- endif(${_cond})
-endmacro(cpack_optional_append _list _cond _item)
+ endif()
+endmacro()
##variable
# CPACK_BINARY_<GENNAME> - CPack generated options for binary generators. The
@@ -420,27 +420,27 @@ if(NOT CPACK_GENERATOR)
if(UNIX)
if(CYGWIN)
option(CPACK_BINARY_CYGWIN "Enable to build Cygwin binary packages" ON)
- else(CYGWIN)
+ else()
if(APPLE)
option(CPACK_BINARY_BUNDLE "Enable to build OSX bundles" OFF)
option(CPACK_BINARY_DRAGNDROP "Enable to build OSX Drag And Drop package" OFF)
option(CPACK_BINARY_PACKAGEMAKER "Enable to build PackageMaker packages" ON)
option(CPACK_BINARY_OSXX11 "Enable to build OSX X11 packages" OFF)
- else(APPLE)
+ else()
option(CPACK_BINARY_TZ "Enable to build TZ packages" ON)
- endif(APPLE)
+ endif()
option(CPACK_BINARY_STGZ "Enable to build STGZ packages" ON)
option(CPACK_BINARY_TGZ "Enable to build TGZ packages" ON)
option(CPACK_BINARY_TBZ2 "Enable to build TBZ2 packages" OFF)
option(CPACK_BINARY_DEB "Enable to build Debian packages" OFF)
option(CPACK_BINARY_RPM "Enable to build RPM packages" OFF)
option(CPACK_BINARY_NSIS "Enable to build NSIS packages" OFF)
- endif(CYGWIN)
- else(UNIX)
+ endif()
+ else()
option(CPACK_BINARY_NSIS "Enable to build NSIS packages" ON)
option(CPACK_BINARY_ZIP "Enable to build ZIP packages" OFF)
- endif(UNIX)
-
+ endif()
+
cpack_optional_append(CPACK_GENERATOR CPACK_BINARY_BUNDLE Bundle)
cpack_optional_append(CPACK_GENERATOR CPACK_BINARY_DRAGNDROP DragNDrop)
cpack_optional_append(CPACK_GENERATOR CPACK_BINARY_PACKAGEMAKER PackageMaker)
@@ -454,37 +454,37 @@ if(NOT CPACK_GENERATOR)
cpack_optional_append(CPACK_GENERATOR CPACK_BINARY_TBZ2 TBZ2)
cpack_optional_append(CPACK_GENERATOR CPACK_BINARY_TZ TZ)
cpack_optional_append(CPACK_GENERATOR CPACK_BINARY_ZIP ZIP)
-
-endif(NOT CPACK_GENERATOR)
+
+endif()
# Provide options to choose source generators
if(NOT CPACK_SOURCE_GENERATOR)
if(UNIX)
if(CYGWIN)
option(CPACK_SOURCE_CYGWIN "Enable to build Cygwin source packages" ON)
- else(CYGWIN)
+ else()
option(CPACK_SOURCE_TBZ2 "Enable to build TBZ2 source packages" ON)
option(CPACK_SOURCE_TGZ "Enable to build TGZ source packages" ON)
option(CPACK_SOURCE_TZ "Enable to build TZ source packages" ON)
option(CPACK_SOURCE_ZIP "Enable to build ZIP source packages" OFF)
- endif(CYGWIN)
- else(UNIX)
+ endif()
+ else()
option(CPACK_SOURCE_ZIP "Enable to build ZIP source packages" ON)
- endif(UNIX)
+ endif()
cpack_optional_append(CPACK_SOURCE_GENERATOR CPACK_SOURCE_CYGWIN CygwinSource)
cpack_optional_append(CPACK_SOURCE_GENERATOR CPACK_SOURCE_TGZ TGZ)
cpack_optional_append(CPACK_SOURCE_GENERATOR CPACK_SOURCE_TBZ2 TBZ2)
cpack_optional_append(CPACK_SOURCE_GENERATOR CPACK_SOURCE_TZ TZ)
cpack_optional_append(CPACK_SOURCE_GENERATOR CPACK_SOURCE_ZIP ZIP)
-endif(NOT CPACK_SOURCE_GENERATOR)
+endif()
# mark the above options as advanced
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_STGZ CPACK_BINARY_TGZ CPACK_BINARY_TBZ2
+ CPACK_BINARY_DEB CPACK_BINARY_RPM CPACK_BINARY_TZ
CPACK_BINARY_NSIS CPACK_BINARY_ZIP CPACK_BINARY_BUNDLE
- CPACK_SOURCE_CYGWIN CPACK_SOURCE_TBZ2 CPACK_SOURCE_TGZ
+ CPACK_SOURCE_CYGWIN CPACK_SOURCE_TBZ2 CPACK_SOURCE_TGZ
CPACK_SOURCE_TZ CPACK_SOURCE_ZIP CPACK_BINARY_DRAGNDROP)
# Set some other variables
@@ -494,16 +494,16 @@ cpack_set_if_not_set(CPACK_CMAKE_GENERATOR "${CMAKE_GENERATOR}")
cpack_set_if_not_set(CPACK_TOPLEVEL_TAG "${CPACK_SYSTEM_NAME}")
# if the user has set CPACK_NSIS_DISPLAY_NAME remember it
if(DEFINED CPACK_NSIS_DISPLAY_NAME)
- SET(CPACK_NSIS_DISPLAY_NAME_SET TRUE)
+ set(CPACK_NSIS_DISPLAY_NAME_SET TRUE)
endif()
# if the user has set CPACK_NSIS_DISPLAY
# explicitly, then use that as the default
# value of CPACK_NSIS_PACKAGE_NAME instead
-# of CPACK_PACKAGE_INSTALL_DIRECTORY
+# of CPACK_PACKAGE_INSTALL_DIRECTORY
cpack_set_if_not_set(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY}")
if(CPACK_NSIS_DISPLAY_NAME_SET)
- string(REPLACE "\\" "\\\\"
+ string(REPLACE "\\" "\\\\"
_NSIS_DISPLAY_NAME_TMP "${CPACK_NSIS_DISPLAY_NAME}")
cpack_set_if_not_set(CPACK_NSIS_PACKAGE_NAME "${_NSIS_DISPLAY_NAME_TMP}")
else()
@@ -522,31 +522,31 @@ 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)
+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()
# 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)
+ set(CPACK_COMPONENTS_ALL_SET_BY_USER TRUE)
+ endif()
+else()
# 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)
+ 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)
+ set(CPACK_COMPONENTS_ALL)
+ endif()
+ set(CPACK_COMPONENTS_LEN)
+ endif()
+endif()
# CMake always generates a component named "Unspecified", which is
# used to install everything that doesn't have an explicitly-provided
@@ -566,13 +566,13 @@ cpack_set_if_not_set(CPACK_SOURCE_PACKAGE_FILE_NAME
"${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-Source")
cpack_set_if_not_set(CPACK_SOURCE_IGNORE_FILES
"/CVS/;/\\\\\\\\.svn/;/\\\\\\\\.bzr/;/\\\\\\\\.hg/;/\\\\\\\\.git/;\\\\\\\\.swp$;\\\\\\\\.#;/#")
-SET(CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_SOURCE_INSTALL_CMAKE_PROJECTS}")
-SET(CPACK_INSTALLED_DIRECTORIES "${CPACK_SOURCE_INSTALLED_DIRECTORIES}")
-SET(CPACK_GENERATOR "${CPACK_SOURCE_GENERATOR}")
-SET(CPACK_TOPLEVEL_TAG "${CPACK_SOURCE_TOPLEVEL_TAG}")
-SET(CPACK_PACKAGE_FILE_NAME "${CPACK_SOURCE_PACKAGE_FILE_NAME}")
-SET(CPACK_IGNORE_FILES "${CPACK_SOURCE_IGNORE_FILES}")
-SET(CPACK_STRIP_FILES "${CPACK_SOURCE_STRIP_FILES}")
+set(CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_SOURCE_INSTALL_CMAKE_PROJECTS}")
+set(CPACK_INSTALLED_DIRECTORIES "${CPACK_SOURCE_INSTALLED_DIRECTORIES}")
+set(CPACK_GENERATOR "${CPACK_SOURCE_GENERATOR}")
+set(CPACK_TOPLEVEL_TAG "${CPACK_SOURCE_TOPLEVEL_TAG}")
+set(CPACK_PACKAGE_FILE_NAME "${CPACK_SOURCE_PACKAGE_FILE_NAME}")
+set(CPACK_IGNORE_FILES "${CPACK_SOURCE_IGNORE_FILES}")
+set(CPACK_STRIP_FILES "${CPACK_SOURCE_STRIP_FILES}")
cpack_encode_variables()
configure_file("${cpack_source_input_file}"
diff --git a/Modules/CPackComponent.cmake b/Modules/CPackComponent.cmake
index 15987030e..c85cfb454 100644
--- a/Modules/CPackComponent.cmake
+++ b/Modules/CPackComponent.cmake
@@ -28,31 +28,31 @@
##variable
# CPACK_COMPONENTS_ALL - The list of component to install.
#
-# The default value of this variable is computed by CPack
-# and contains all components defined by the project. The
-# user may set it to only include the specified components.
+#The default value of this variable is computed by CPack
+#and contains all components defined by the project. The
+#user may set it to only include the specified components.
##end
#
##variable
# CPACK_<GENNAME>_COMPONENT_INSTALL - Enable/Disable component install for
# CPack generator <GENNAME>.
#
-# Each CPack Generator (RPM, DEB, ARCHIVE, NSIS, DMG, etc...) has a legacy
-# default behavior. e.g. RPM builds monolithic whereas NSIS builds component.
-# One can change the default behavior by setting this variable to 0/1 or OFF/ON.
+#Each CPack Generator (RPM, DEB, ARCHIVE, NSIS, DMG, etc...) has a legacy
+#default behavior. e.g. RPM builds monolithic whereas NSIS builds component.
+#One can change the default behavior by setting this variable to 0/1 or OFF/ON.
##end
##variable
# CPACK_COMPONENTS_GROUPING - Specify how components are grouped for multi-package
# component-aware CPack generators.
#
-# Some generators like RPM or ARCHIVE family (TGZ, ZIP, ...) generates several
-# packages files when asked for component packaging. They group the component
-# differently depending on the value of this variable:
-# - ONE_PER_GROUP (default): creates one package file per component group
-# - ALL_COMPONENTS_IN_ONE : creates a single package with all (requested) component
-# - IGNORE : creates one package per component, i.e. IGNORE component group
-# One can specify different grouping for different CPack generator by using
-# a CPACK_PROJECT_CONFIG_FILE.
+#Some generators like RPM or ARCHIVE family (TGZ, ZIP, ...) generates several
+#packages files when asked for component packaging. They group the component
+#differently depending on the value of this variable:
+# - ONE_PER_GROUP (default): creates one package file per component group
+# - ALL_COMPONENTS_IN_ONE : creates a single package with all (requested) component
+# - IGNORE : creates one package per component, i.e. IGNORE component group
+#One can specify different grouping for different CPack generator by using
+#a CPACK_PROJECT_CONFIG_FILE.
##end
##variable
# CPACK_COMPONENT_<compName>_DISPLAY_NAME - The name to be displayed for a component.
@@ -71,194 +71,194 @@
# CPACK_COMPONENT_<compName>_REQUIRED - True is this component is required.
##end
##macro
-# 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 - 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
+#inconsistent 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.
##end
#
##macro
-# 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_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.
##end
#
##macro
-# 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_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.
##end
#
##macro
-# 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.
+#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.
##endmacro
#=============================================================================
@@ -275,84 +275,84 @@
# License text for the above reference.)
# Define var in order to avoid multiple inclusion
-IF(NOT CPackComponent_CMake_INCLUDED)
-SET(CPackComponent_CMake_INCLUDED 1)
+if(NOT CPackComponent_CMake_INCLUDED)
+set(CPackComponent_CMake_INCLUDED 1)
# 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)
+macro(cpack_parse_arguments prefix arg_names option_names)
+ set(${prefix}_DEFAULT_ARGS)
+ foreach(arg_name ${arg_names})
+ set(${prefix}_${arg_name})
+ endforeach()
+ foreach(option ${option_names})
+ set(${prefix}_${option} FALSE)
+ endforeach()
- 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)
+ 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 ()
+ set(loption_names ${option_names})
+ list(FIND loption_names "${arg}" is_option)
+ if (is_option GREATER -1)
+ set(${prefix}_${arg} TRUE)
+ else ()
+ set(current_arg_list ${current_arg_list} ${arg})
+ endif ()
+ endif ()
+ endforeach()
+ set(${prefix}_${current_arg_name} ${current_arg_list})
+endmacro()
# 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(cpack_append_variable_set_command var strvar)
+ if (DEFINED ${var})
+ set(${strvar} "${${strvar}}set(${var}")
+ foreach(APPENDVAL ${${var}})
+ set(${strvar} "${${strvar}} ${APPENDVAL}")
+ endforeach()
+ set(${strvar} "${${strvar}})\n")
+ endif ()
+endmacro()
# 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(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()
+ endif ()
+endmacro()
# 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(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()
+ endif ()
+endmacro()
# Macro that adds a component to the CPack installer
-MACRO(cpack_add_component compname)
- STRING(TOUPPER ${compname} CPACK_ADDCOMP_UNAME)
+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"
@@ -360,25 +360,25 @@ MACRO(cpack_add_component compname)
)
if (CPACK_COMPONENT_${CPACK_ADDCOMP_UNAME}_DOWNLOADED)
- SET(CPACK_ADDCOMP_STR "\n# Configuration for downloaded component \"${compname}\"\n")
+ set(CPACK_ADDCOMP_STR "\n# Configuration for downloaded component \"${compname}\"\n")
else ()
- SET(CPACK_ADDCOMP_STR "\n# Configuration for component \"${compname}\"\n")
+ set(CPACK_ADDCOMP_STR "\n# Configuration for component \"${compname}\"\n")
endif ()
- IF(NOT CPACK_MONOLITHIC_INSTALL)
+ 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)
+ 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()
+ set(CPACK_ADDCOMP_STR "${CPACK_ADDCOMP_STR})\n")
+ endif()
+ endif()
cpack_append_string_variable_set_command(
CPACK_COMPONENT_${CPACK_ADDCOMP_UNAME}_DISPLAY_NAME
@@ -414,21 +414,21 @@ MACRO(cpack_add_component compname)
# Write to config iff the macros is used after CPack.cmake has been
# included, other it's not necessary because the variables
# will be encoded by cpack_encode_variables.
- IF(CPack_CMake_INCLUDED)
- FILE(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${CPACK_ADDCOMP_STR}")
- ENDIF(CPack_CMake_INCLUDED)
-ENDMACRO(cpack_add_component)
+ if(CPack_CMake_INCLUDED)
+ file(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${CPACK_ADDCOMP_STR}")
+ endif()
+endmacro()
# Macro that adds a component group to the CPack installer
-MACRO(cpack_add_component_group grpname)
- STRING(TOUPPER ${grpname} CPACK_ADDGRP_UNAME)
+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")
+ 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)
@@ -445,24 +445,24 @@ MACRO(cpack_add_component_group grpname)
# Write to config iff the macros is used after CPack.cmake has been
# included, other it's not necessary because the variables
# will be encoded by cpack_encode_variables.
- IF(CPack_CMake_INCLUDED)
- FILE(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${CPACK_ADDGRP_STR}")
- ENDIF(CPack_CMake_INCLUDED)
-ENDMACRO(cpack_add_component_group)
+ if(CPack_CMake_INCLUDED)
+ file(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${CPACK_ADDGRP_STR}")
+ endif()
+endmacro()
# Macro that adds an installation type to the CPack installer
-MACRO(cpack_add_install_type insttype)
- STRING(TOUPPER ${insttype} CPACK_INSTTYPE_UNAME)
+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
+ 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")
+ 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)
@@ -470,22 +470,22 @@ MACRO(cpack_add_install_type insttype)
# Write to config iff the macros is used after CPack.cmake has been
# included, other it's not necessary because the variables
# will be encoded by cpack_encode_variables.
- IF(CPack_CMake_INCLUDED)
- FILE(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${CPACK_INSTTYPE_STR}")
- ENDIF(CPack_CMake_INCLUDED)
-ENDMACRO(cpack_add_install_type)
+ if(CPack_CMake_INCLUDED)
+ file(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${CPACK_INSTTYPE_STR}")
+ endif()
+endmacro()
-MACRO(cpack_configure_downloads site)
+macro(cpack_configure_downloads site)
cpack_parse_arguments(CPACK_DOWNLOAD
"UPLOAD_DIRECTORY"
"ALL;ADD_REMOVE;NO_ADD_REMOVE"
${ARGN}
)
- SET(CPACK_CONFIG_DL_STR
+ set(CPACK_CONFIG_DL_STR
"\n# Downloaded components configuration\n")
- SET(CPACK_UPLOAD_DIRECTORY ${CPACK_DOWNLOAD_UPLOAD_DIRECTORY})
- SET(CPACK_DOWNLOAD_SITE ${site})
+ 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)
@@ -495,10 +495,10 @@ MACRO(cpack_configure_downloads site)
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})
+ if (${CPACK_DOWNLOAD_ALL} AND NOT ${CPACK_DOWNLOAD_NO_ADD_REMOVE})
+ set(CPACK_DOWNLOAD_ADD_REMOVE ON)
+ endif ()
+ set(CPACK_ADD_REMOVE ${CPACK_DOWNLOAD_ADD_REMOVE})
cpack_append_option_set_command(
CPACK_ADD_REMOVE
CPACK_CONFIG_DL_STR)
@@ -506,8 +506,8 @@ MACRO(cpack_configure_downloads site)
# Write to config iff the macros is used after CPack.cmake has been
# included, other it's not necessary because the variables
# will be encoded by cpack_encode_variables.
- IF(CPack_CMake_INCLUDED)
- FILE(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${CPACK_CONFIG_DL_STR}")
- ENDIF(CPack_CMake_INCLUDED)
-ENDMACRO(cpack_configure_downloads)
-ENDIF(NOT CPackComponent_CMake_INCLUDED)
+ if(CPack_CMake_INCLUDED)
+ file(APPEND "${CPACK_OUTPUT_CONFIG_FILE}" "${CPACK_CONFIG_DL_STR}")
+ endif()
+endmacro()
+endif()
diff --git a/Modules/CPackDeb.cmake b/Modules/CPackDeb.cmake
index bd3b94d74..106b44c27 100644
--- a/Modules/CPackDeb.cmake
+++ b/Modules/CPackDeb.cmake
@@ -161,7 +161,7 @@
# Default : -
# This variable allow advanced user to add custom script to the control.tar.gz
# Typical usage is for conffiles, postinst, postrm, prerm.
-# Usage: SET(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
+# Usage: set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
# "${CMAKE_CURRENT_SOURCE_DIR/prerm;${CMAKE_CURRENT_SOURCE_DIR}/postrm")
##end
@@ -185,115 +185,115 @@
#
# http://wiki.debian.org/HowToPackageForDebian
-IF(CMAKE_BINARY_DIR)
- MESSAGE(FATAL_ERROR "CPackDeb.cmake may only be used by CPack internally.")
-ENDIF(CMAKE_BINARY_DIR)
+if(CMAKE_BINARY_DIR)
+ message(FATAL_ERROR "CPackDeb.cmake may only be used by CPack internally.")
+endif()
-IF(NOT UNIX)
- MESSAGE(FATAL_ERROR "CPackDeb.cmake may only be used under UNIX.")
-ENDIF(NOT UNIX)
+if(NOT UNIX)
+ message(FATAL_ERROR "CPackDeb.cmake may only be used under UNIX.")
+endif()
# CPACK_DEBIAN_PACKAGE_SHLIBDEPS
# If specify OFF, only user depends are used
-IF(NOT DEFINED CPACK_DEBIAN_PACKAGE_SHLIBDEPS)
- SET(CPACK_DEBIAN_PACKAGE_SHLIBDEPS OFF)
-ENDIF(NOT DEFINED CPACK_DEBIAN_PACKAGE_SHLIBDEPS)
+if(NOT DEFINED CPACK_DEBIAN_PACKAGE_SHLIBDEPS)
+ set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS OFF)
+endif()
-FIND_PROGRAM(FAKEROOT_EXECUTABLE fakeroot)
-IF(FAKEROOT_EXECUTABLE)
- SET(CPACK_DEBIAN_FAKEROOT_EXECUTABLE ${FAKEROOT_EXECUTABLE})
-ENDIF(FAKEROOT_EXECUTABLE)
+find_program(FAKEROOT_EXECUTABLE fakeroot)
+if(FAKEROOT_EXECUTABLE)
+ set(CPACK_DEBIAN_FAKEROOT_EXECUTABLE ${FAKEROOT_EXECUTABLE})
+endif()
-IF(CPACK_DEBIAN_PACKAGE_SHLIBDEPS)
+if(CPACK_DEBIAN_PACKAGE_SHLIBDEPS)
# dpkg-shlibdeps is a Debian utility for generating dependency list
- FIND_PROGRAM(SHLIBDEPS_EXECUTABLE dpkg-shlibdeps)
+ find_program(SHLIBDEPS_EXECUTABLE dpkg-shlibdeps)
# Check version of the dpkg-shlibdeps tool using CPackRPM method
- IF(SHLIBDEPS_EXECUTABLE)
- EXECUTE_PROCESS(COMMAND ${SHLIBDEPS_EXECUTABLE} --version
+ if(SHLIBDEPS_EXECUTABLE)
+ execute_process(COMMAND ${SHLIBDEPS_EXECUTABLE} --version
OUTPUT_VARIABLE _TMP_VERSION
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
- STRING(REGEX MATCH "dpkg-shlibdeps version ([0-9]+\\.[0-9]+\\.[0-9]+)"
+ string(REGEX MATCH "dpkg-shlibdeps version ([0-9]+\\.[0-9]+\\.[0-9]+)"
SHLIBDEPS_EXECUTABLE_VERSION
${_TMP_VERSION})
- SET(SHLIBDEPS_EXECUTABLE_VERSION "${CMAKE_MATCH_1}")
- IF(CPACK_DEBIAN_PACKAGE_DEBUG)
- MESSAGE( "CPackDeb Debug: dpkg-shlibdeps version is <${SHLIBDEPS_EXECUTABLE_VERSION}>")
- ENDIF(CPACK_DEBIAN_PACKAGE_DEBUG)
+ set(SHLIBDEPS_EXECUTABLE_VERSION "${CMAKE_MATCH_1}")
+ if(CPACK_DEBIAN_PACKAGE_DEBUG)
+ message( "CPackDeb Debug: dpkg-shlibdeps version is <${SHLIBDEPS_EXECUTABLE_VERSION}>")
+ endif()
# Generating binary list - Get type of all install files
- EXECUTE_PROCESS(COMMAND find -type f
+ execute_process(COMMAND find -type f
COMMAND xargs file
WORKING_DIRECTORY "${CPACK_TEMPORARY_DIRECTORY}"
OUTPUT_VARIABLE CPACK_DEB_INSTALL_FILES)
# Convert to CMake list
- STRING(REGEX REPLACE "\n" ";" CPACK_DEB_INSTALL_FILES ${CPACK_DEB_INSTALL_FILES})
+ string(REGEX REPLACE "\n" ";" CPACK_DEB_INSTALL_FILES ${CPACK_DEB_INSTALL_FILES})
# Only dynamically linked ELF files are included
# Extract only file name infront of ":"
- FOREACH ( _FILE ${CPACK_DEB_INSTALL_FILES})
- IF ( ${_FILE} MATCHES "ELF.*dynamically linked")
- STRING(REGEX MATCH "(^.*):" _FILE_NAME ${_FILE})
- LIST(APPEND CPACK_DEB_BINARY_FILES ${CMAKE_MATCH_1})
- ENDIF()
- ENDFOREACH()
+ foreach ( _FILE ${CPACK_DEB_INSTALL_FILES})
+ if ( ${_FILE} MATCHES "ELF.*dynamically linked")
+ string(REGEX MATCH "(^.*):" _FILE_NAME ${_FILE})
+ list(APPEND CPACK_DEB_BINARY_FILES ${CMAKE_MATCH_1})
+ endif()
+ endforeach()
- MESSAGE( "CPackDeb: - Generating dependency list")
+ message( "CPackDeb: - Generating dependency list")
# Create blank control file for running dpkg-shlibdeps
# There might be some other way to invoke dpkg-shlibdeps without creating this file
# but standard debian package should not have anything that can collide with this file or directory
- FILE(MAKE_DIRECTORY ${CPACK_TEMPORARY_DIRECTORY}/debian)
- FILE(WRITE ${CPACK_TEMPORARY_DIRECTORY}/debian/control "")
+ file(MAKE_DIRECTORY ${CPACK_TEMPORARY_DIRECTORY}/debian)
+ file(WRITE ${CPACK_TEMPORARY_DIRECTORY}/debian/control "")
# Execute dpkg-shlibdeps
# --ignore-missing-info : allow dpkg-shlibdeps to run even if some libs do not belong to a package
# -O : print to STDOUT
- EXECUTE_PROCESS(COMMAND ${SHLIBDEPS_EXECUTABLE} --ignore-missing-info -O ${CPACK_DEB_BINARY_FILES}
+ execute_process(COMMAND ${SHLIBDEPS_EXECUTABLE} --ignore-missing-info -O ${CPACK_DEB_BINARY_FILES}
WORKING_DIRECTORY "${CPACK_TEMPORARY_DIRECTORY}"
OUTPUT_VARIABLE SHLIBDEPS_OUTPUT
RESULT_VARIABLE SHLIBDEPS_RESULT
ERROR_VARIABLE SHLIBDEPS_ERROR
OUTPUT_STRIP_TRAILING_WHITESPACE )
- IF(CPACK_DEBIAN_PACKAGE_DEBUG)
+ if(CPACK_DEBIAN_PACKAGE_DEBUG)
# dpkg-shlibdeps will throw some warnings if some input files are not binary
- MESSAGE( "CPackDeb Debug: dpkg-shlibdeps warnings \n${SHLIBDEPS_ERROR}")
- ENDIF(CPACK_DEBIAN_PACKAGE_DEBUG)
- IF (NOT SHLIBDEPS_RESULT EQUAL 0)
- MESSAGE (FATAL_ERROR "CPackDeb: dpkg-shlibdeps: ${SHLIBDEPS_ERROR}")
- ENDIF (NOT SHLIBDEPS_RESULT EQUAL 0)
+ message( "CPackDeb Debug: dpkg-shlibdeps warnings \n${SHLIBDEPS_ERROR}")
+ endif()
+ if (NOT SHLIBDEPS_RESULT EQUAL 0)
+ message (FATAL_ERROR "CPackDeb: dpkg-shlibdeps: ${SHLIBDEPS_ERROR}")
+ endif ()
#Get rid of prefix generated by dpkg-shlibdeps
string (REGEX REPLACE "^.*Depends=" "" CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS ${SHLIBDEPS_OUTPUT})
- IF(CPACK_DEBIAN_PACKAGE_DEBUG)
- MESSAGE( "CPackDeb Debug: Found dependency: ${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS}")
- ENDIF(CPACK_DEBIAN_PACKAGE_DEBUG)
+ if(CPACK_DEBIAN_PACKAGE_DEBUG)
+ message( "CPackDeb Debug: Found dependency: ${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS}")
+ endif()
# Remove blank control file
# Might not be safe if package actual contain file or directory named debian
- FILE(REMOVE_RECURSE "${CPACK_TEMPORARY_DIRECTORY}/debian")
+ file(REMOVE_RECURSE "${CPACK_TEMPORARY_DIRECTORY}/debian")
# Append user depend if set
- IF (CPACK_DEBIAN_PACKAGE_DEPENDS)
- SET (CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS}, ${CPACK_DEBIAN_PACKAGE_DEPENDS}")
- ELSE (CPACK_DEBIAN_PACKAGE_DEPENDS)
- SET (CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS}")
- ENDIF (CPACK_DEBIAN_PACKAGE_DEPENDS)
-
- ELSE (SHLIBDEPS_EXECUTABLE)
- IF(CPACK_DEBIAN_PACKAGE_DEBUG)
- MESSAGE( "CPackDeb Debug: Using only user-provided depends because dpkg-shlibdeps is not found.")
- ENDIF(CPACK_DEBIAN_PACKAGE_DEBUG)
- ENDIF(SHLIBDEPS_EXECUTABLE)
-
-ELSE (CPACK_DEBIAN_PACKAGE_SHLIBDEPS)
- IF(CPACK_DEBIAN_PACKAGE_DEBUG)
- MESSAGE( "CPackDeb Debug: Using only user-provided depends")
- ENDIF(CPACK_DEBIAN_PACKAGE_DEBUG)
-ENDIF(CPACK_DEBIAN_PACKAGE_SHLIBDEPS)
+ if (CPACK_DEBIAN_PACKAGE_DEPENDS)
+ set (CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS}, ${CPACK_DEBIAN_PACKAGE_DEPENDS}")
+ else ()
+ set (CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_AUTO_DEPENDS}")
+ endif ()
+
+ else ()
+ if(CPACK_DEBIAN_PACKAGE_DEBUG)
+ message( "CPackDeb Debug: Using only user-provided depends because dpkg-shlibdeps is not found.")
+ endif()
+ endif()
+
+else ()
+ if(CPACK_DEBIAN_PACKAGE_DEBUG)
+ message( "CPackDeb Debug: Using only user-provided depends")
+ endif()
+endif()
# Let's define the control file found in debian package:
@@ -303,67 +303,67 @@ ENDIF(CPACK_DEBIAN_PACKAGE_SHLIBDEPS)
# DEBIAN/control
# debian policy enforce lower case for package name
# Package: (mandatory)
-IF(NOT CPACK_DEBIAN_PACKAGE_NAME)
- STRING(TOLOWER "${CPACK_PACKAGE_NAME}" CPACK_DEBIAN_PACKAGE_NAME)
-ENDIF(NOT CPACK_DEBIAN_PACKAGE_NAME)
+if(NOT CPACK_DEBIAN_PACKAGE_NAME)
+ string(TOLOWER "${CPACK_PACKAGE_NAME}" CPACK_DEBIAN_PACKAGE_NAME)
+endif()
# Version: (mandatory)
-IF(NOT CPACK_DEBIAN_PACKAGE_VERSION)
- IF(NOT CPACK_PACKAGE_VERSION)
- MESSAGE(FATAL_ERROR "CPackDeb: Debian package requires a package version")
- ENDIF(NOT CPACK_PACKAGE_VERSION)
- SET(CPACK_DEBIAN_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION})
-ENDIF(NOT CPACK_DEBIAN_PACKAGE_VERSION)
+if(NOT CPACK_DEBIAN_PACKAGE_VERSION)
+ if(NOT CPACK_PACKAGE_VERSION)
+ message(FATAL_ERROR "CPackDeb: Debian package requires a package version")
+ endif()
+ set(CPACK_DEBIAN_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION})
+endif()
# Architecture: (mandatory)
-IF(NOT CPACK_DEBIAN_PACKAGE_ARCHITECTURE)
+if(NOT CPACK_DEBIAN_PACKAGE_ARCHITECTURE)
# There is no such thing as i686 architecture on debian, you should use i386 instead
# $ dpkg --print-architecture
- FIND_PROGRAM(DPKG_CMD dpkg)
- IF(NOT DPKG_CMD)
- MESSAGE(STATUS "CPackDeb: Can not find dpkg in your path, default to i386.")
- SET(CPACK_DEBIAN_PACKAGE_ARCHITECTURE i386)
- ENDIF(NOT DPKG_CMD)
- EXECUTE_PROCESS(COMMAND "${DPKG_CMD}" --print-architecture
+ find_program(DPKG_CMD dpkg)
+ if(NOT DPKG_CMD)
+ message(STATUS "CPackDeb: Can not find dpkg in your path, default to i386.")
+ set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE i386)
+ endif()
+ execute_process(COMMAND "${DPKG_CMD}" --print-architecture
OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_ARCHITECTURE
OUTPUT_STRIP_TRAILING_WHITESPACE
)
-ENDIF(NOT CPACK_DEBIAN_PACKAGE_ARCHITECTURE)
+endif()
-# have a look at GET_PROPERTY(result GLOBAL PROPERTY ENABLED_FEATURES),
-# this returns the successful FIND_PACKAGE() calls, maybe this can help
+# have a look at get_property(result GLOBAL PROPERTY ENABLED_FEATURES),
+# this returns the successful find_package() calls, maybe this can help
# Depends:
# You should set: DEBIAN_PACKAGE_DEPENDS
# TODO: automate 'objdump -p | grep NEEDED'
-IF(NOT CPACK_DEBIAN_PACKAGE_DEPENDS)
- MESSAGE(STATUS "CPACK_DEBIAN_PACKAGE_DEPENDS not set, the package will have no dependencies.")
-ENDIF(NOT CPACK_DEBIAN_PACKAGE_DEPENDS)
+if(NOT CPACK_DEBIAN_PACKAGE_DEPENDS)
+ message(STATUS "CPACK_DEBIAN_PACKAGE_DEPENDS not set, the package will have no dependencies.")
+endif()
# Maintainer: (mandatory)
-IF(NOT CPACK_DEBIAN_PACKAGE_MAINTAINER)
- IF(NOT CPACK_PACKAGE_CONTACT)
- MESSAGE(FATAL_ERROR "CPackDeb: Debian package requires a maintainer for a package, set CPACK_PACKAGE_CONTACT or CPACK_DEBIAN_PACKAGE_MAINTAINER")
- ENDIF(NOT CPACK_PACKAGE_CONTACT)
- SET(CPACK_DEBIAN_PACKAGE_MAINTAINER ${CPACK_PACKAGE_CONTACT})
-ENDIF(NOT CPACK_DEBIAN_PACKAGE_MAINTAINER)
+if(NOT CPACK_DEBIAN_PACKAGE_MAINTAINER)
+ if(NOT CPACK_PACKAGE_CONTACT)
+ message(FATAL_ERROR "CPackDeb: Debian package requires a maintainer for a package, set CPACK_PACKAGE_CONTACT or CPACK_DEBIAN_PACKAGE_MAINTAINER")
+ endif()
+ set(CPACK_DEBIAN_PACKAGE_MAINTAINER ${CPACK_PACKAGE_CONTACT})
+endif()
# Description: (mandatory)
-IF(NOT CPACK_DEBIAN_PACKAGE_DESCRIPTION)
- IF(NOT CPACK_PACKAGE_DESCRIPTION_SUMMARY)
- MESSAGE(FATAL_ERROR "CPackDeb: Debian package requires a summary for a package, set CPACK_PACKAGE_DESCRIPTION_SUMMARY or CPACK_DEBIAN_PACKAGE_DESCRIPTION")
- ENDIF(NOT CPACK_PACKAGE_DESCRIPTION_SUMMARY)
- SET(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION_SUMMARY})
-ENDIF(NOT CPACK_DEBIAN_PACKAGE_DESCRIPTION)
+if(NOT CPACK_DEBIAN_PACKAGE_DESCRIPTION)
+ if(NOT CPACK_PACKAGE_DESCRIPTION_SUMMARY)
+ message(FATAL_ERROR "CPackDeb: Debian package requires a summary for a package, set CPACK_PACKAGE_DESCRIPTION_SUMMARY or CPACK_DEBIAN_PACKAGE_DESCRIPTION")
+ endif()
+ set(CPACK_DEBIAN_PACKAGE_DESCRIPTION ${CPACK_PACKAGE_DESCRIPTION_SUMMARY})
+endif()
# Section: (recommended)
-IF(NOT CPACK_DEBIAN_PACKAGE_SECTION)
- SET(CPACK_DEBIAN_PACKAGE_SECTION "devel")
-ENDIF(NOT CPACK_DEBIAN_PACKAGE_SECTION)
+if(NOT CPACK_DEBIAN_PACKAGE_SECTION)
+ set(CPACK_DEBIAN_PACKAGE_SECTION "devel")
+endif()
# Priority: (recommended)
-IF(NOT CPACK_DEBIAN_PACKAGE_PRIORITY)
- SET(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
-ENDIF(NOT CPACK_DEBIAN_PACKAGE_PRIORITY )
+if(NOT CPACK_DEBIAN_PACKAGE_PRIORITY)
+ set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
+endif()
# Recommends:
# You should set: CPACK_DEBIAN_PACKAGE_RECOMMENDS
@@ -379,32 +379,32 @@ ENDIF(NOT CPACK_DEBIAN_PACKAGE_PRIORITY )
# - postrm
# - prerm"
# Usage:
-# SET(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
+# set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
# "${CMAKE_CURRENT_SOURCE_DIR/prerm;${CMAKE_CURRENT_SOURCE_DIR}/postrm")
# Are we packaging components ?
-IF(CPACK_DEB_PACKAGE_COMPONENT)
- SET(CPACK_DEB_PACKAGE_COMPONENT_PART_NAME "-${CPACK_DEB_PACKAGE_COMPONENT}")
- SET(CPACK_DEB_PACKAGE_COMPONENT_PART_PATH "/${CPACK_DEB_PACKAGE_COMPONENT}")
- SET(WDIR "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}/${CPACK_DEB_PACKAGE_COMPONENT}")
- STRING(TOLOWER "${CPACK_PACKAGE_NAME}${CPACK_DEB_PACKAGE_COMPONENT_PART_NAME}" CPACK_DEBIAN_PACKAGE_NAME)
-ELSE(CPACK_DEB_PACKAGE_COMPONENT)
- SET(CPACK_DEB_PACKAGE_COMPONENT_PART_NAME "")
- SET(CPACK_DEB_PACKAGE_COMPONENT_PART_PATH "")
- SET(WDIR "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}")
-ENDIF(CPACK_DEB_PACKAGE_COMPONENT)
+if(CPACK_DEB_PACKAGE_COMPONENT)
+ set(CPACK_DEB_PACKAGE_COMPONENT_PART_NAME "-${CPACK_DEB_PACKAGE_COMPONENT}")
+ set(CPACK_DEB_PACKAGE_COMPONENT_PART_PATH "/${CPACK_DEB_PACKAGE_COMPONENT}")
+ set(WDIR "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}/${CPACK_DEB_PACKAGE_COMPONENT}")
+ string(TOLOWER "${CPACK_PACKAGE_NAME}${CPACK_DEB_PACKAGE_COMPONENT_PART_NAME}" CPACK_DEBIAN_PACKAGE_NAME)
+else()
+ set(CPACK_DEB_PACKAGE_COMPONENT_PART_NAME "")
+ set(CPACK_DEB_PACKAGE_COMPONENT_PART_PATH "")
+ set(WDIR "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}")
+endif()
# Print out some debug information if we were asked for that
-IF(CPACK_DEBIAN_PACKAGE_DEBUG)
- MESSAGE("CPackDeb:Debug: CPACK_TOPLEVEL_DIRECTORY = ${CPACK_TOPLEVEL_DIRECTORY}")
- MESSAGE("CPackDeb:Debug: CPACK_TOPLEVEL_TAG = ${CPACK_TOPLEVEL_TAG}")
- MESSAGE("CPackDeb:Debug: CPACK_TEMPORARY_DIRECTORY = ${CPACK_TEMPORARY_DIRECTORY}")
- MESSAGE("CPackDeb:Debug: CPACK_OUTPUT_FILE_NAME = ${CPACK_OUTPUT_FILE_NAME}")
- MESSAGE("CPackDeb:Debug: CPACK_OUTPUT_FILE_PATH = ${CPACK_OUTPUT_FILE_PATH}")
- MESSAGE("CPackDeb:Debug: CPACK_PACKAGE_FILE_NAME = ${CPACK_PACKAGE_FILE_NAME}")
- MESSAGE("CPackDeb:Debug: CPACK_PACKAGE_INSTALL_DIRECTORY = ${CPACK_PACKAGE_INSTALL_DIRECTORY}")
- MESSAGE("CPackDeb:Debug: CPACK_TEMPORARY_PACKAGE_FILE_NAME = ${CPACK_TEMPORARY_PACKAGE_FILE_NAME}")
-ENDIF(CPACK_DEBIAN_PACKAGE_DEBUG)
+if(CPACK_DEBIAN_PACKAGE_DEBUG)
+ message("CPackDeb:Debug: CPACK_TOPLEVEL_DIRECTORY = ${CPACK_TOPLEVEL_DIRECTORY}")
+ message("CPackDeb:Debug: CPACK_TOPLEVEL_TAG = ${CPACK_TOPLEVEL_TAG}")
+ message("CPackDeb:Debug: CPACK_TEMPORARY_DIRECTORY = ${CPACK_TEMPORARY_DIRECTORY}")
+ message("CPackDeb:Debug: CPACK_OUTPUT_FILE_NAME = ${CPACK_OUTPUT_FILE_NAME}")
+ message("CPackDeb:Debug: CPACK_OUTPUT_FILE_PATH = ${CPACK_OUTPUT_FILE_PATH}")
+ message("CPackDeb:Debug: CPACK_PACKAGE_FILE_NAME = ${CPACK_PACKAGE_FILE_NAME}")
+ message("CPackDeb:Debug: CPACK_PACKAGE_INSTALL_DIRECTORY = ${CPACK_PACKAGE_INSTALL_DIRECTORY}")
+ message("CPackDeb:Debug: CPACK_TEMPORARY_PACKAGE_FILE_NAME = ${CPACK_TEMPORARY_PACKAGE_FILE_NAME}")
+endif()
# For debian source packages:
# debian/control
@@ -414,8 +414,8 @@ ENDIF(CPACK_DEBIAN_PACKAGE_DEBUG)
# http://www.debian.org/doc/debian-policy/ch-controlfields.html#s-debiansourcecontrolfiles
# Builds-Depends:
-#IF(NOT CPACK_DEBIAN_PACKAGE_BUILDS_DEPENDS)
-# SET(CPACK_DEBIAN_PACKAGE_BUILDS_DEPENDS
+#if(NOT CPACK_DEBIAN_PACKAGE_BUILDS_DEPENDS)
+# set(CPACK_DEBIAN_PACKAGE_BUILDS_DEPENDS
# "debhelper (>> 5.0.0), libncurses5-dev, tcl8.4"
# )
-#ENDIF(NOT CPACK_DEBIAN_PACKAGE_BUILDS_DEPENDS)
+#endif()
diff --git a/Modules/CPackRPM.cmake b/Modules/CPackRPM.cmake
index ae9351273..0cec8973a 100644
--- a/Modules/CPackRPM.cmake
+++ b/Modules/CPackRPM.cmake
@@ -162,7 +162,7 @@
# Default : -
# May be set by the user in order to specify a USER binary spec file
# to be used by CPackRPM instead of generating the file.
-# The specified file will be processed by CONFIGURE_FILE( @ONLY).
+# The specified file will be processed by configure_file( @ONLY).
##end
##variable
# CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE - Spec file template.
@@ -239,42 +239,42 @@
# Author: Eric Noulard with the help of Alexander Neundorf.
-IF(CMAKE_BINARY_DIR)
- MESSAGE(FATAL_ERROR "CPackRPM.cmake may only be used by CPack internally.")
-ENDIF(CMAKE_BINARY_DIR)
+if(CMAKE_BINARY_DIR)
+ message(FATAL_ERROR "CPackRPM.cmake may only be used by CPack internally.")
+endif()
-IF(NOT UNIX)
- MESSAGE(FATAL_ERROR "CPackRPM.cmake may only be used under UNIX.")
-ENDIF(NOT UNIX)
+if(NOT UNIX)
+ message(FATAL_ERROR "CPackRPM.cmake may only be used under UNIX.")
+endif()
# rpmbuild is the basic command for building RPM package
# it may be a simple (symbolic) link to rpm command.
-FIND_PROGRAM(RPMBUILD_EXECUTABLE rpmbuild)
+find_program(RPMBUILD_EXECUTABLE rpmbuild)
# Check version of the rpmbuild tool this would be easier to
# track bugs with users and CPackRPM debug mode.
# We may use RPM version in order to check for available version dependent features
-IF(RPMBUILD_EXECUTABLE)
+if(RPMBUILD_EXECUTABLE)
execute_process(COMMAND ${RPMBUILD_EXECUTABLE} --version
OUTPUT_VARIABLE _TMP_VERSION
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
- string(REGEX REPLACE "^.*\ " ""
+ string(REGEX REPLACE "^.* " ""
RPMBUILD_EXECUTABLE_VERSION
${_TMP_VERSION})
- IF(CPACK_RPM_PACKAGE_DEBUG)
- MESSAGE("CPackRPM:Debug: rpmbuild version is <${RPMBUILD_EXECUTABLE_VERSION}>")
- ENDIF(CPACK_RPM_PACKAGE_DEBUG)
-ENDIF(RPMBUILD_EXECUTABLE)
+ if(CPACK_RPM_PACKAGE_DEBUG)
+ message("CPackRPM:Debug: rpmbuild version is <${RPMBUILD_EXECUTABLE_VERSION}>")
+ endif()
+endif()
-IF(NOT RPMBUILD_EXECUTABLE)
- MESSAGE(FATAL_ERROR "RPM package requires rpmbuild executable")
-ENDIF(NOT RPMBUILD_EXECUTABLE)
+if(NOT RPMBUILD_EXECUTABLE)
+ message(FATAL_ERROR "RPM package requires rpmbuild executable")
+endif()
# Display lsb_release output if DEBUG mode enable
# This will help to diagnose problem with CPackRPM
# because we will know on which kind of Linux we are
-IF(CPACK_RPM_PACKAGE_DEBUG)
+if(CPACK_RPM_PACKAGE_DEBUG)
find_program(LSB_RELEASE_EXECUTABLE lsb_release)
if(LSB_RELEASE_EXECUTABLE)
execute_process(COMMAND ${LSB_RELEASE_EXECUTABLE} -a
@@ -284,40 +284,40 @@ IF(CPACK_RPM_PACKAGE_DEBUG)
string(REGEX REPLACE "\n" ", "
LSB_RELEASE_OUTPUT
${_TMP_LSB_RELEASE_OUTPUT})
- else (LSB_RELEASE_EXECUTABLE)
+ else ()
set(LSB_RELEASE_OUTPUT "lsb_release not installed/found!")
- endif(LSB_RELEASE_EXECUTABLE)
- MESSAGE("CPackRPM:Debug: LSB_RELEASE = ${LSB_RELEASE_OUTPUT}")
-ENDIF(CPACK_RPM_PACKAGE_DEBUG)
+ endif()
+ message("CPackRPM:Debug: LSB_RELEASE = ${LSB_RELEASE_OUTPUT}")
+endif()
# We may use RPM version in the future in order
# to shut down warning about space in buildtree
# some recent RPM version should support space in different places.
# not checked [yet].
-IF(CPACK_TOPLEVEL_DIRECTORY MATCHES ".* .*")
- MESSAGE(FATAL_ERROR "${RPMBUILD_EXECUTABLE} can't handle paths with spaces, use a build directory without spaces for building RPMs.")
-ENDIF(CPACK_TOPLEVEL_DIRECTORY MATCHES ".* .*")
+if(CPACK_TOPLEVEL_DIRECTORY MATCHES ".* .*")
+ message(FATAL_ERROR "${RPMBUILD_EXECUTABLE} can't handle paths with spaces, use a build directory without spaces for building RPMs.")
+endif()
# If rpmbuild is found
# we try to discover alien since we may be on non RPM distro like Debian.
# In this case we may try to to use more advanced features
# like generating RPM directly from DEB using alien.
# FIXME feature not finished (yet)
-FIND_PROGRAM(ALIEN_EXECUTABLE alien)
-IF(ALIEN_EXECUTABLE)
- MESSAGE(STATUS "alien found, we may be on a Debian based distro.")
-ENDIF(ALIEN_EXECUTABLE)
+find_program(ALIEN_EXECUTABLE alien)
+if(ALIEN_EXECUTABLE)
+ message(STATUS "alien found, we may be on a Debian based distro.")
+endif()
# Are we packaging components ?
-IF(CPACK_RPM_PACKAGE_COMPONENT)
- SET(CPACK_RPM_PACKAGE_COMPONENT_PART_NAME "-${CPACK_RPM_PACKAGE_COMPONENT}")
- SET(CPACK_RPM_PACKAGE_COMPONENT_PART_PATH "/${CPACK_RPM_PACKAGE_COMPONENT}")
- SET(WDIR "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}/${CPACK_RPM_PACKAGE_COMPONENT}")
-ELSE(CPACK_RPM_PACKAGE_COMPONENT)
- SET(CPACK_RPM_PACKAGE_COMPONENT_PART_NAME "")
- SET(CPACK_RPM_PACKAGE_COMPONENT_PART_PATH "")
- SET(WDIR "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}")
-ENDIF(CPACK_RPM_PACKAGE_COMPONENT)
+if(CPACK_RPM_PACKAGE_COMPONENT)
+ set(CPACK_RPM_PACKAGE_COMPONENT_PART_NAME "-${CPACK_RPM_PACKAGE_COMPONENT}")
+ set(CPACK_RPM_PACKAGE_COMPONENT_PART_PATH "/${CPACK_RPM_PACKAGE_COMPONENT}")
+ set(WDIR "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}/${CPACK_RPM_PACKAGE_COMPONENT}")
+else()
+ set(CPACK_RPM_PACKAGE_COMPONENT_PART_NAME "")
+ set(CPACK_RPM_PACKAGE_COMPONENT_PART_PATH "")
+ set(WDIR "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}")
+endif()
#
# Use user-defined RPM specific variables value
@@ -329,42 +329,42 @@ ENDIF(CPACK_RPM_PACKAGE_COMPONENT)
#
# CPACK_RPM_PACKAGE_SUMMARY (mandatory)
-IF(NOT CPACK_RPM_PACKAGE_SUMMARY)
+if(NOT CPACK_RPM_PACKAGE_SUMMARY)
# if neither var is defined lets use the name as summary
- IF(NOT CPACK_PACKAGE_DESCRIPTION_SUMMARY)
- STRING(TOLOWER "${CPACK_PACKAGE_NAME}" CPACK_RPM_PACKAGE_SUMMARY)
- ELSE(NOT CPACK_PACKAGE_DESCRIPTION_SUMMARY)
- SET(CPACK_RPM_PACKAGE_SUMMARY ${CPACK_PACKAGE_DESCRIPTION_SUMMARY})
- ENDIF(NOT CPACK_PACKAGE_DESCRIPTION_SUMMARY)
-ENDIF(NOT CPACK_RPM_PACKAGE_SUMMARY)
+ if(NOT CPACK_PACKAGE_DESCRIPTION_SUMMARY)
+ string(TOLOWER "${CPACK_PACKAGE_NAME}" CPACK_RPM_PACKAGE_SUMMARY)
+ else()
+ set(CPACK_RPM_PACKAGE_SUMMARY ${CPACK_PACKAGE_DESCRIPTION_SUMMARY})
+ endif()
+endif()
# CPACK_RPM_PACKAGE_NAME (mandatory)
-IF(NOT CPACK_RPM_PACKAGE_NAME)
- STRING(TOLOWER "${CPACK_PACKAGE_NAME}" CPACK_RPM_PACKAGE_NAME)
-ENDIF(NOT CPACK_RPM_PACKAGE_NAME)
+if(NOT CPACK_RPM_PACKAGE_NAME)
+ string(TOLOWER "${CPACK_PACKAGE_NAME}" CPACK_RPM_PACKAGE_NAME)
+endif()
# CPACK_RPM_PACKAGE_VERSION (mandatory)
-IF(NOT CPACK_RPM_PACKAGE_VERSION)
- IF(NOT CPACK_PACKAGE_VERSION)
- MESSAGE(FATAL_ERROR "RPM package requires a package version")
- ENDIF(NOT CPACK_PACKAGE_VERSION)
- SET(CPACK_RPM_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION})
-ENDIF(NOT CPACK_RPM_PACKAGE_VERSION)
+if(NOT CPACK_RPM_PACKAGE_VERSION)
+ if(NOT CPACK_PACKAGE_VERSION)
+ message(FATAL_ERROR "RPM package requires a package version")
+ endif()
+ set(CPACK_RPM_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION})
+endif()
# Replace '-' in version with '_'
# '-' character is an Illegal RPM version character
# it is illegal because it is used to separate
# RPM "Version" from RPM "Release"
-STRING(REPLACE "-" "_" CPACK_RPM_PACKAGE_VERSION ${CPACK_RPM_PACKAGE_VERSION})
+string(REPLACE "-" "_" CPACK_RPM_PACKAGE_VERSION ${CPACK_RPM_PACKAGE_VERSION})
# CPACK_RPM_PACKAGE_ARCHITECTURE (optional)
-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)
+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()
+else()
+ set(TMP_RPM_BUILDARCH "")
+endif()
# CPACK_RPM_PACKAGE_RELEASE
# The RPM release is the numbering of the RPM package ITSELF
@@ -374,28 +374,28 @@ ENDIF(CPACK_RPM_PACKAGE_ARCHITECTURE)
# without changing the version of the packaged software.
# This is the case when the packaging is buggy (not) the software :=)
# If not set, 1 is a good candidate
-IF(NOT CPACK_RPM_PACKAGE_RELEASE)
- SET(CPACK_RPM_PACKAGE_RELEASE 1)
-ENDIF(NOT CPACK_RPM_PACKAGE_RELEASE)
+if(NOT CPACK_RPM_PACKAGE_RELEASE)
+ set(CPACK_RPM_PACKAGE_RELEASE 1)
+endif()
# CPACK_RPM_PACKAGE_LICENSE
-IF(NOT CPACK_RPM_PACKAGE_LICENSE)
- SET(CPACK_RPM_PACKAGE_LICENSE "unknown")
-ENDIF(NOT CPACK_RPM_PACKAGE_LICENSE)
+if(NOT CPACK_RPM_PACKAGE_LICENSE)
+ set(CPACK_RPM_PACKAGE_LICENSE "unknown")
+endif()
# CPACK_RPM_PACKAGE_GROUP
-IF(NOT CPACK_RPM_PACKAGE_GROUP)
- SET(CPACK_RPM_PACKAGE_GROUP "unknown")
-ENDIF(NOT CPACK_RPM_PACKAGE_GROUP)
+if(NOT CPACK_RPM_PACKAGE_GROUP)
+ set(CPACK_RPM_PACKAGE_GROUP "unknown")
+endif()
# CPACK_RPM_PACKAGE_VENDOR
-IF(NOT CPACK_RPM_PACKAGE_VENDOR)
- IF(CPACK_PACKAGE_VENDOR)
- SET(CPACK_RPM_PACKAGE_VENDOR "${CPACK_PACKAGE_VENDOR}")
- ELSE(CPACK_PACKAGE_VENDOR)
- SET(CPACK_RPM_PACKAGE_VENDOR "unknown")
- ENDIF(CPACK_PACKAGE_VENDOR)
-ENDIF(NOT CPACK_RPM_PACKAGE_VENDOR)
+if(NOT CPACK_RPM_PACKAGE_VENDOR)
+ if(CPACK_PACKAGE_VENDOR)
+ set(CPACK_RPM_PACKAGE_VENDOR "${CPACK_PACKAGE_VENDOR}")
+ else()
+ set(CPACK_RPM_PACKAGE_VENDOR "unknown")
+ endif()
+endif()
# CPACK_RPM_PACKAGE_SOURCE
# The name of the source tarball in case we generate a source RPM
@@ -407,103 +407,103 @@ ENDIF(NOT CPACK_RPM_PACKAGE_VENDOR)
# if it is defined
# - set to a default value
#
-IF (NOT CPACK_RPM_PACKAGE_DESCRIPTION)
- IF (CPACK_PACKAGE_DESCRIPTION_FILE)
- FILE(READ ${CPACK_PACKAGE_DESCRIPTION_FILE} CPACK_RPM_PACKAGE_DESCRIPTION)
- ELSE (CPACK_PACKAGE_DESCRIPTION_FILE)
- SET(CPACK_RPM_PACKAGE_DESCRIPTION "no package description available")
- ENDIF (CPACK_PACKAGE_DESCRIPTION_FILE)
-ENDIF (NOT CPACK_RPM_PACKAGE_DESCRIPTION)
+if (NOT CPACK_RPM_PACKAGE_DESCRIPTION)
+ if (CPACK_PACKAGE_DESCRIPTION_FILE)
+ file(READ ${CPACK_PACKAGE_DESCRIPTION_FILE} CPACK_RPM_PACKAGE_DESCRIPTION)
+ else ()
+ set(CPACK_RPM_PACKAGE_DESCRIPTION "no package description available")
+ endif ()
+endif ()
# CPACK_RPM_COMPRESSION_TYPE
#
-IF (CPACK_RPM_COMPRESSION_TYPE)
- IF(CPACK_RPM_PACKAGE_DEBUG)
- MESSAGE("CPackRPM:Debug: User Specified RPM compression type: ${CPACK_RPM_COMPRESSION_TYPE}")
- ENDIF(CPACK_RPM_PACKAGE_DEBUG)
- IF(CPACK_RPM_COMPRESSION_TYPE STREQUAL "lzma")
- SET(CPACK_RPM_COMPRESSION_TYPE_TMP "%define _binary_payload w9.lzdio")
- ENDIF(CPACK_RPM_COMPRESSION_TYPE STREQUAL "lzma")
- IF(CPACK_RPM_COMPRESSION_TYPE STREQUAL "xz")
- SET(CPACK_RPM_COMPRESSION_TYPE_TMP "%define _binary_payload w7.xzdio")
- ENDIF(CPACK_RPM_COMPRESSION_TYPE STREQUAL "xz")
- IF(CPACK_RPM_COMPRESSION_TYPE STREQUAL "bzip2")
- SET(CPACK_RPM_COMPRESSION_TYPE_TMP "%define _binary_payload w9.bzdio")
- ENDIF(CPACK_RPM_COMPRESSION_TYPE STREQUAL "bzip2")
- IF(CPACK_RPM_COMPRESSION_TYPE STREQUAL "gzip")
- SET(CPACK_RPM_COMPRESSION_TYPE_TMP "%define _binary_payload w9.gzdio")
- ENDIF(CPACK_RPM_COMPRESSION_TYPE STREQUAL "gzip")
-ELSE(CPACK_RPM_COMPRESSION_TYPE)
- SET(CPACK_RPM_COMPRESSION_TYPE_TMP "")
-ENDIF(CPACK_RPM_COMPRESSION_TYPE)
+if (CPACK_RPM_COMPRESSION_TYPE)
+ if(CPACK_RPM_PACKAGE_DEBUG)
+ message("CPackRPM:Debug: User Specified RPM compression type: ${CPACK_RPM_COMPRESSION_TYPE}")
+ endif()
+ if(CPACK_RPM_COMPRESSION_TYPE STREQUAL "lzma")
+ set(CPACK_RPM_COMPRESSION_TYPE_TMP "%define _binary_payload w9.lzdio")
+ endif()
+ if(CPACK_RPM_COMPRESSION_TYPE STREQUAL "xz")
+ set(CPACK_RPM_COMPRESSION_TYPE_TMP "%define _binary_payload w7.xzdio")
+ endif()
+ if(CPACK_RPM_COMPRESSION_TYPE STREQUAL "bzip2")
+ set(CPACK_RPM_COMPRESSION_TYPE_TMP "%define _binary_payload w9.bzdio")
+ endif()
+ if(CPACK_RPM_COMPRESSION_TYPE STREQUAL "gzip")
+ set(CPACK_RPM_COMPRESSION_TYPE_TMP "%define _binary_payload w9.gzdio")
+ endif()
+else()
+ set(CPACK_RPM_COMPRESSION_TYPE_TMP "")
+endif()
if(CPACK_PACKAGE_RELOCATABLE)
set(CPACK_RPM_PACKAGE_RELOCATABLE TRUE)
-endif(CPACK_PACKAGE_RELOCATABLE)
+endif()
if(CPACK_RPM_PACKAGE_RELOCATABLE)
if(CPACK_RPM_PACKAGE_DEBUG)
message("CPackRPM:Debug: Trying to build a relocatable package")
- endif(CPACK_RPM_PACKAGE_DEBUG)
+ endif()
if(CPACK_SET_DESTDIR AND (NOT CPACK_SET_DESTDIR STREQUAL "I_ON"))
message("CPackRPM:Warning: CPACK_SET_DESTDIR is set (=${CPACK_SET_DESTDIR}) while requesting a relocatable package (CPACK_RPM_PACKAGE_RELOCATABLE is set): this is not supported, the package won't be relocatable.")
- else(CPACK_SET_DESTDIR AND (NOT CPACK_SET_DESTDIR STREQUAL "I_ON"))
+ else()
set(CPACK_RPM_PACKAGE_PREFIX ${CPACK_PACKAGING_INSTALL_PREFIX})
- endif(CPACK_SET_DESTDIR AND (NOT CPACK_SET_DESTDIR STREQUAL "I_ON"))
-endif(CPACK_RPM_PACKAGE_RELOCATABLE)
+ endif()
+endif()
# Check if additional fields for RPM spec header are given
# There may be some COMPONENT specific variables as well
-FOREACH(_RPM_SPEC_HEADER URL REQUIRES SUGGESTS PROVIDES OBSOLETES PREFIX CONFLICTS AUTOPROV AUTOREQ AUTOREQPROV)
- IF(CPACK_RPM_PACKAGE_DEBUG)
+foreach(_RPM_SPEC_HEADER URL REQUIRES SUGGESTS PROVIDES OBSOLETES PREFIX CONFLICTS AUTOPROV AUTOREQ AUTOREQPROV)
+ if(CPACK_RPM_PACKAGE_DEBUG)
message("CPackRPM:Debug: processing ${_RPM_SPEC_HEADER}")
- ENDIF(CPACK_RPM_PACKAGE_DEBUG)
+ endif()
if(CPACK_RPM_PACKAGE_COMPONENT)
if(CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_${_RPM_SPEC_HEADER})
- IF(CPACK_RPM_PACKAGE_DEBUG)
+ if(CPACK_RPM_PACKAGE_DEBUG)
message("CPackRPM:Debug: using CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_${_RPM_SPEC_HEADER}")
- ENDIF(CPACK_RPM_PACKAGE_DEBUG)
+ endif()
set(CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}_TMP ${CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_${_RPM_SPEC_HEADER}})
else()
- IF(CPACK_RPM_PACKAGE_DEBUG)
+ if(CPACK_RPM_PACKAGE_DEBUG)
message("CPackRPM:Debug: CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PACKAGE_${_RPM_SPEC_HEADER} not defined")
message("CPackRPM:Debug: using CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}")
- ENDIF(CPACK_RPM_PACKAGE_DEBUG)
+ endif()
set(CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}_TMP ${CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}})
endif()
else()
- IF(CPACK_RPM_PACKAGE_DEBUG)
+ if(CPACK_RPM_PACKAGE_DEBUG)
message("CPackRPM:Debug: using CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}")
- ENDIF(CPACK_RPM_PACKAGE_DEBUG)
+ endif()
set(CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}_TMP ${CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}})
endif()
- IF(CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}_TMP)
- STRING(LENGTH ${_RPM_SPEC_HEADER} _PACKAGE_HEADER_STRLENGTH)
- MATH(EXPR _PACKAGE_HEADER_STRLENGTH "${_PACKAGE_HEADER_STRLENGTH} - 1")
- STRING(SUBSTRING ${_RPM_SPEC_HEADER} 1 ${_PACKAGE_HEADER_STRLENGTH} _PACKAGE_HEADER_TAIL)
- STRING(TOLOWER "${_PACKAGE_HEADER_TAIL}" _PACKAGE_HEADER_TAIL)
- STRING(SUBSTRING ${_RPM_SPEC_HEADER} 0 1 _PACKAGE_HEADER_NAME)
- SET(_PACKAGE_HEADER_NAME "${_PACKAGE_HEADER_NAME}${_PACKAGE_HEADER_TAIL}")
- IF(CPACK_RPM_PACKAGE_DEBUG)
- MESSAGE("CPackRPM:Debug: User defined ${_PACKAGE_HEADER_NAME}:\n ${CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}_TMP}")
- ENDIF(CPACK_RPM_PACKAGE_DEBUG)
- SET(TMP_RPM_${_RPM_SPEC_HEADER} "${_PACKAGE_HEADER_NAME}: ${CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}_TMP}")
- ELSE(CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}_TMP)
+ if(CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}_TMP)
+ string(LENGTH ${_RPM_SPEC_HEADER} _PACKAGE_HEADER_STRLENGTH)
+ math(EXPR _PACKAGE_HEADER_STRLENGTH "${_PACKAGE_HEADER_STRLENGTH} - 1")
+ string(SUBSTRING ${_RPM_SPEC_HEADER} 1 ${_PACKAGE_HEADER_STRLENGTH} _PACKAGE_HEADER_TAIL)
+ string(TOLOWER "${_PACKAGE_HEADER_TAIL}" _PACKAGE_HEADER_TAIL)
+ string(SUBSTRING ${_RPM_SPEC_HEADER} 0 1 _PACKAGE_HEADER_NAME)
+ set(_PACKAGE_HEADER_NAME "${_PACKAGE_HEADER_NAME}${_PACKAGE_HEADER_TAIL}")
+ if(CPACK_RPM_PACKAGE_DEBUG)
+ message("CPackRPM:Debug: User defined ${_PACKAGE_HEADER_NAME}:\n ${CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}_TMP}")
+ endif()
+ set(TMP_RPM_${_RPM_SPEC_HEADER} "${_PACKAGE_HEADER_NAME}: ${CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}_TMP}")
+ else()
# Do not forget to unset previously set header (from previous component)
- UNSET(TMP_RPM_${_RPM_SPEC_HEADER})
- ENDIF(CPACK_RPM_PACKAGE_${_RPM_SPEC_HEADER}_TMP)
-ENDFOREACH(_RPM_SPEC_HEADER)
+ unset(TMP_RPM_${_RPM_SPEC_HEADER})
+ endif()
+endforeach()
# 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)
- IF(CPACK_RPM_PACKAGE_DEBUG)
- MESSAGE("CPackRPM:Debug: User defined CPACK_RPM_SPEC_INSTALL_POST = ${CPACK_RPM_SPEC_INSTALL_POST}")
- ENDIF(CPACK_RPM_PACKAGE_DEBUG)
- SET(TMP_RPM_SPEC_INSTALL_POST "%define __spec_install_post ${CPACK_RPM_SPEC_INSTALL_POST}")
-ENDIF(CPACK_RPM_SPEC_INSTALL_POST)
+if(CPACK_RPM_SPEC_INSTALL_POST)
+ if(CPACK_RPM_PACKAGE_DEBUG)
+ message("CPackRPM:Debug: User defined CPACK_RPM_SPEC_INSTALL_POST = ${CPACK_RPM_SPEC_INSTALL_POST}")
+ endif()
+ set(TMP_RPM_SPEC_INSTALL_POST "%define __spec_install_post ${CPACK_RPM_SPEC_INSTALL_POST}")
+endif()
# CPACK_RPM_POST_INSTALL_SCRIPT_FILE (or CPACK_RPM_<COMPONENT>_POST_INSTALL_SCRIPT_FILE)
# CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE (or CPACK_RPM_<COMPONENT>_POST_UNINSTALL_SCRIPT_FILE)
@@ -518,39 +518,39 @@ if(CPACK_RPM_PACKAGE_COMPONENT)
endif()
if(CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_POST_UNINSTALL_SCRIPT_FILE)
set(CPACK_RPM_POST_UNINSTALL_READ_FILE ${CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_POST_UNINSTALL_SCRIPT_FILE})
- else(CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_POST_UNINSTALL_SCRIPT_FILE)
+ else()
set(CPACK_RPM_POST_UNINSTALL_READ_FILE ${CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE})
- endif(CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_POST_UNINSTALL_SCRIPT_FILE)
-else(CPACK_RPM_PACKAGE_COMPONENT)
+ endif()
+else()
set(CPACK_RPM_POST_INSTALL_READ_FILE ${CPACK_RPM_POST_INSTALL_SCRIPT_FILE})
set(CPACK_RPM_POST_UNINSTALL_READ_FILE ${CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE})
-endif(CPACK_RPM_PACKAGE_COMPONENT)
+endif()
# Handle post-install file if it has been specified
if(CPACK_RPM_POST_INSTALL_READ_FILE)
if(EXISTS ${CPACK_RPM_POST_INSTALL_READ_FILE})
file(READ ${CPACK_RPM_POST_INSTALL_READ_FILE} CPACK_RPM_SPEC_POSTINSTALL)
- else(EXISTS ${CPACK_RPM_POST_INSTALL_READ_FILE})
+ else()
message("CPackRPM:Warning: CPACK_RPM_POST_INSTALL_SCRIPT_FILE <${CPACK_RPM_POST_INSTALL_READ_FILE}> does not exists - ignoring")
- endif(EXISTS ${CPACK_RPM_POST_INSTALL_READ_FILE})
-else(CPACK_RPM_POST_INSTALL_READ_FILE)
+ endif()
+else()
# reset SPEC var value if no post install file has been specified
# (either globally or component-wise)
set(CPACK_RPM_SPEC_POSTINSTALL "")
-endif(CPACK_RPM_POST_INSTALL_READ_FILE)
+endif()
# Handle post-uninstall file if it has been specified
if(CPACK_RPM_POST_UNINSTALL_READ_FILE)
if(EXISTS ${CPACK_RPM_POST_UNINSTALL_READ_FILE})
file(READ ${CPACK_RPM_POST_UNINSTALL_READ_FILE} CPACK_RPM_SPEC_POSTUNINSTALL)
- else(EXISTS ${CPACK_RPM_POST_UNINSTALL_READ_FILE})
+ else()
message("CPackRPM:Warning: CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE <${CPACK_RPM_POST_UNINSTALL_READ_FILE}> does not exists - ignoring")
- endif(EXISTS ${CPACK_RPM_POST_UNINSTALL_READ_FILE})
-else(CPACK_RPM_POST_UNINSTALL_READ_FILE)
+ endif()
+else()
# reset SPEC var value if no post uninstall file has been specified
# (either globally or component-wise)
set(CPACK_RPM_SPEC_POSTUNINSTALL "")
-endif(CPACK_RPM_POST_UNINSTALL_READ_FILE)
+endif()
# CPACK_RPM_PRE_INSTALL_SCRIPT_FILE (or CPACK_RPM_<COMPONENT>_PRE_INSTALL_SCRIPT_FILE)
# CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE (or CPACK_RPM_<COMPONENT>_PRE_UNINSTALL_SCRIPT_FILE)
@@ -560,44 +560,44 @@ endif(CPACK_RPM_POST_UNINSTALL_READ_FILE)
if(CPACK_RPM_PACKAGE_COMPONENT)
if(CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PRE_INSTALL_SCRIPT_FILE)
set(CPACK_RPM_PRE_INSTALL_READ_FILE ${CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PRE_INSTALL_SCRIPT_FILE})
- else(CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PRE_INSTALL_SCRIPT_FILE)
+ else()
set(CPACK_RPM_PRE_INSTALL_READ_FILE ${CPACK_RPM_PRE_INSTALL_SCRIPT_FILE})
- endif(CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PRE_INSTALL_SCRIPT_FILE)
+ endif()
if(CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PRE_UNINSTALL_SCRIPT_FILE)
set(CPACK_RPM_PRE_UNINSTALL_READ_FILE ${CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PRE_UNINSTALL_SCRIPT_FILE})
- else(CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PRE_UNINSTALL_SCRIPT_FILE)
+ else()
set(CPACK_RPM_PRE_UNINSTALL_READ_FILE ${CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE})
- endif(CPACK_RPM_${CPACK_RPM_PACKAGE_COMPONENT}_PRE_UNINSTALL_SCRIPT_FILE)
-else(CPACK_RPM_PACKAGE_COMPONENT)
+ endif()
+else()
set(CPACK_RPM_PRE_INSTALL_READ_FILE ${CPACK_RPM_PRE_INSTALL_SCRIPT_FILE})
set(CPACK_RPM_PRE_UNINSTALL_READ_FILE ${CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE})
-endif(CPACK_RPM_PACKAGE_COMPONENT)
+endif()
# Handle pre-install file if it has been specified
if(CPACK_RPM_PRE_INSTALL_READ_FILE)
if(EXISTS ${CPACK_RPM_PRE_INSTALL_READ_FILE})
file(READ ${CPACK_RPM_PRE_INSTALL_READ_FILE} CPACK_RPM_SPEC_PREINSTALL)
- else(EXISTS ${CPACK_RPM_PRE_INSTALL_READ_FILE})
+ else()
message("CPackRPM:Warning: CPACK_RPM_PRE_INSTALL_SCRIPT_FILE <${CPACK_RPM_PRE_INSTALL_READ_FILE}> does not exists - ignoring")
- endif(EXISTS ${CPACK_RPM_PRE_INSTALL_READ_FILE})
-else(CPACK_RPM_PRE_INSTALL_READ_FILE)
+ endif()
+else()
# reset SPEC var value if no pre-install file has been specified
# (either globally or component-wise)
set(CPACK_RPM_SPEC_PREINSTALL "")
-endif(CPACK_RPM_PRE_INSTALL_READ_FILE)
+endif()
# Handle pre-uninstall file if it has been specified
if(CPACK_RPM_PRE_UNINSTALL_READ_FILE)
if(EXISTS ${CPACK_RPM_PRE_UNINSTALL_READ_FILE})
file(READ ${CPACK_RPM_PRE_UNINSTALL_READ_FILE} CPACK_RPM_SPEC_PREUNINSTALL)
- else(EXISTS ${CPACK_RPM_PRE_UNINSTALL_READ_FILE})
+ else()
message("CPackRPM:Warning: CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE <${CPACK_RPM_PRE_UNINSTALL_READ_FILE}> does not exists - ignoring")
- endif(EXISTS ${CPACK_RPM_PRE_UNINSTALL_READ_FILE})
-else(CPACK_RPM_PRE_UNINSTALL_READ_FILE)
+ endif()
+else()
# reset SPEC var value if no pre-uninstall file has been specified
# (either globally or component-wise)
set(CPACK_RPM_SPEC_PREUNINSTALL "")
-endif(CPACK_RPM_PRE_UNINSTALL_READ_FILE)
+endif()
# CPACK_RPM_CHANGELOG_FILE
# May be used to embed a changelog in the spec file.
@@ -605,39 +605,58 @@ endif(CPACK_RPM_PRE_UNINSTALL_READ_FILE)
if(CPACK_RPM_CHANGELOG_FILE)
if(EXISTS ${CPACK_RPM_CHANGELOG_FILE})
file(READ ${CPACK_RPM_CHANGELOG_FILE} CPACK_RPM_SPEC_CHANGELOG)
- else(EXISTS ${CPACK_RPM_CHANGELOG_FILE})
+ else()
message(SEND_ERROR "CPackRPM:Warning: CPACK_RPM_CHANGELOG_FILE <${CPACK_RPM_CHANGELOG_FILE}> does not exists - ignoring")
- endif(EXISTS ${CPACK_RPM_CHANGELOG_FILE})
-else(CPACK_RPM_CHANGELOG_FILE)
+ endif()
+else()
set(CPACK_RPM_SPEC_CHANGELOG "* Sun Jul 4 2010 Erk <eric.noulard@gmail.com>\n Generated by CPack RPM (no Changelog file were provided)")
-endif(CPACK_RPM_CHANGELOG_FILE)
+endif()
# 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)
+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()
+endif()
# Now we may create the RPM build tree structure
-SET(CPACK_RPM_ROOTDIR "${CPACK_TOPLEVEL_DIRECTORY}")
-MESSAGE(STATUS "CPackRPM:Debug: Using CPACK_RPM_ROOTDIR=${CPACK_RPM_ROOTDIR}")
+set(CPACK_RPM_ROOTDIR "${CPACK_TOPLEVEL_DIRECTORY}")
+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)
-FILE(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/BUILD)
-FILE(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/RPMS)
-FILE(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/SOURCES)
-FILE(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/SPECS)
-FILE(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/SRPMS)
-
-#SET(CPACK_RPM_FILE_NAME "${CPACK_RPM_PACKAGE_NAME}-${CPACK_RPM_PACKAGE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}-${CPACK_RPM_PACKAGE_ARCHITECTURE}.rpm")
-SET(CPACK_RPM_FILE_NAME "${CPACK_OUTPUT_FILE_NAME}")
+file(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR})
+file(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/tmp)
+file(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/BUILD)
+file(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/RPMS)
+file(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/SOURCES)
+file(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/SPECS)
+file(MAKE_DIRECTORY ${CPACK_RPM_ROOTDIR}/SRPMS)
+
+#set(CPACK_RPM_FILE_NAME "${CPACK_RPM_PACKAGE_NAME}-${CPACK_RPM_PACKAGE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}-${CPACK_RPM_PACKAGE_ARCHITECTURE}.rpm")
+set(CPACK_RPM_FILE_NAME "${CPACK_OUTPUT_FILE_NAME}")
# it seems rpmbuild can't handle spaces in the path
# neither escaping (as below) nor putting quotes around the path seem to help
-#STRING(REGEX REPLACE " " "\\\\ " CPACK_RPM_DIRECTORY "${CPACK_TOPLEVEL_DIRECTORY}")
-SET(CPACK_RPM_DIRECTORY "${CPACK_TOPLEVEL_DIRECTORY}")
+#string(REGEX REPLACE " " "\\\\ " CPACK_RPM_DIRECTORY "${CPACK_TOPLEVEL_DIRECTORY}")
+set(CPACK_RPM_DIRECTORY "${CPACK_TOPLEVEL_DIRECTORY}")
+
+# if we are creating a relocatable package, omit parent directories of
+# CPACK_RPM_PACKAGE_PREFIX. This is achieved by building a "filter list"
+# which is passed to the find command that generates the content-list
+if(CPACK_RPM_PACKAGE_RELOCATABLE)
+ # get a list of the elements in CPACK_RPM_PACKAGE_PREFIX and remove
+ # the final element (so the install-prefix dir itself is not omitted
+ # from the RPM's content-list)
+ string(REPLACE "/" ";" _CPACK_RPM_PACKAGE_PREFIX_ELEMS ".${CPACK_RPM_PACKAGE_PREFIX}")
+ list(REMOVE_AT _CPACK_RPM_PACKAGE_PREFIX_ELEMS -1)
+ # Now generate all of the parent dirs of CPACK_RPM_PACKAGE_PREFIX
+ foreach(_ELEM ${_CPACK_RPM_PACKAGE_PREFIX_ELEMS})
+ list(APPEND _TMP_LIST "${_ELEM}")
+ string(REPLACE ";" "/" _OMIT_DIR "${_TMP_LIST}")
+ set(_OMIT_DIR "-o -path ${_OMIT_DIR}")
+ separate_arguments(_OMIT_DIR)
+ list(APPEND _RPM_DIRS_TO_OMIT ${_OMIT_DIR})
+ endforeach()
+endif()
# Use files tree to construct files command (spec file)
# We should not forget to include symlinks (thus -o -type l)
@@ -647,7 +666,7 @@ SET(CPACK_RPM_DIRECTORY "${CPACK_TOPLEVEL_DIRECTORY}")
# file name by enclosing it between double quotes (thus the sed)
# Then we must authorize any man pages extension (adding * at the end)
# because rpmbuild may automatically compress those files
-EXECUTE_PROCESS(COMMAND find . -type f -o -type l -o (-type d -a -not -name ".")
+execute_process(COMMAND find . -type f -o -type l -o (-type d -a -not ( -name "." ${_RPM_DIRS_TO_OMIT} ) )
COMMAND sed s:.*/man.*/.*:&*:
COMMAND sed s/\\.\\\(.*\\\)/\"\\1\"/
WORKING_DIRECTORY "${WDIR}"
@@ -664,7 +683,7 @@ if(CPACK_RPM_PACKAGE_COMPONENT)
if(CPACK_RPM_PACKAGE_DEBUG)
message("CPackRPM:Debug: Handling Absolute Destination Files: <${CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL}>")
message("CPackRPM:Debug: in component = ${CPACK_RPM_PACKAGE_COMPONENT}")
- endif(CPACK_RPM_PACKAGE_DEBUG)
+ endif()
endif()
else()
if(CPACK_ABSOLUTE_DESTINATION_FILES)
@@ -679,7 +698,7 @@ if(CPACK_RPM_PACKAGE_COMPONENT)
if(CPACK_RPM_PACKAGE_DEBUG)
message("CPackRPM:Debug: Handling User Filelist: <${CPACK_RPM_USER_FILELIST_INTERNAL}>")
message("CPackRPM:Debug: in component = ${CPACK_RPM_PACKAGE_COMPONENT}")
- endif(CPACK_RPM_PACKAGE_DEBUG)
+ endif()
else()
set(CPACK_RPM_USER_FILELIST_INTERNAL "")
endif()
@@ -696,9 +715,9 @@ endif()
# or CPACK_RPM_INSTALL_FILES,
# hence it must be done before these auto-generated lists are processed.
if(CPACK_RPM_USER_FILELIST_INTERNAL)
- IF(CPACK_RPM_PACKAGE_DEBUG)
+ if(CPACK_RPM_PACKAGE_DEBUG)
message("CPackRPM:Debug: Handling User Filelist: <${CPACK_RPM_USER_FILELIST_INTERNAL}>")
- ENDIF(CPACK_RPM_PACKAGE_DEBUG)
+ endif()
# Create CMake list from CPACK_RPM_INSTALL_FILES
string(STRIP "${CPACK_RPM_INSTALL_FILES}" CPACK_RPM_INSTALL_FILES_LIST)
@@ -709,18 +728,24 @@ if(CPACK_RPM_USER_FILELIST_INTERNAL)
set(CPACK_RPM_USER_INSTALL_FILES "")
foreach(F IN LISTS CPACK_RPM_USER_FILELIST_INTERNAL)
- string(REGEX REPLACE "%[A-Za-z\(\)]* " "" F_PATH ${F})
- string(REGEX MATCH "%[A-Za-z\(\)]*" F_PREFIX ${F})
+ string(REGEX REPLACE "%[A-Za-z0-9\(\),-]* " "" F_PATH ${F})
+ string(REGEX MATCH "%[A-Za-z0-9\(\),-]*" F_PREFIX ${F})
+ if(CPACK_RPM_PACKAGE_DEBUG)
+ message("CPackRPM:Debug: F_PREFIX=<${F_PREFIX}>, F_PATH=<${F_PATH}>")
+ endif()
if(F_PREFIX)
- set(F_PREFIX "${F_PREFIX} ")
+ set(F_PREFIX "${F_PREFIX} ")
endif()
# Rebuild the user list file
set(CPACK_RPM_USER_INSTALL_FILES "${CPACK_RPM_USER_INSTALL_FILES}${F_PREFIX}\"${F_PATH}\"\n")
# Remove from CPACK_RPM_INSTALL_FILES and CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL
list(REMOVE_ITEM CPACK_RPM_INSTALL_FILES_LIST ${F_PATH})
- list(REMOVE_ITEM CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL ${F_PATH})
+ # ABSOLUTE destination files list may not exists at all
+ if (CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL)
+ list(REMOVE_ITEM CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL ${F_PATH})
+ endif()
endforeach()
@@ -728,15 +753,15 @@ if(CPACK_RPM_USER_FILELIST_INTERNAL)
set(CPACK_RPM_INSTALL_FILES "")
foreach(F IN LISTS CPACK_RPM_INSTALL_FILES_LIST)
set(CPACK_RPM_INSTALL_FILES "${CPACK_RPM_INSTALL_FILES}\"${F}\"\n")
- endforeach(F)
+ endforeach()
else()
set(CPACK_RPM_USER_INSTALL_FILES "")
endif()
if (CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL)
- IF(CPACK_RPM_PACKAGE_DEBUG)
+ if(CPACK_RPM_PACKAGE_DEBUG)
message("CPackRPM:Debug: Handling Absolute Destination Files: ${CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL}")
- ENDIF(CPACK_RPM_PACKAGE_DEBUG)
+ endif()
# Remove trailing space
string(STRIP "${CPACK_RPM_INSTALL_FILES}" CPACK_RPM_INSTALL_FILES_LIST)
# Transform endline separated - string into CMake List
@@ -749,20 +774,20 @@ if (CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL)
set(CPACK_RPM_INSTALL_FILES "")
foreach(F IN LISTS CPACK_RPM_INSTALL_FILES_LIST)
set(CPACK_RPM_INSTALL_FILES "${CPACK_RPM_INSTALL_FILES}\"${F}\"\n")
- endforeach(F)
+ endforeach()
# Build ABSOLUTE_INSTALL_FILES
set(CPACK_RPM_ABSOLUTE_INSTALL_FILES "")
foreach(F IN LISTS CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL)
set(CPACK_RPM_ABSOLUTE_INSTALL_FILES "${CPACK_RPM_ABSOLUTE_INSTALL_FILES}%config \"${F}\"\n")
- endforeach(F)
- IF(CPACK_RPM_PACKAGE_DEBUG)
+ endforeach()
+ if(CPACK_RPM_PACKAGE_DEBUG)
message("CPackRPM:Debug: CPACK_RPM_ABSOLUTE_INSTALL_FILES=${CPACK_RPM_ABSOLUTE_INSTALL_FILES}")
message("CPackRPM:Debug: CPACK_RPM_INSTALL_FILES=${CPACK_RPM_INSTALL_FILES}")
- ENDIF(CPACK_RPM_PACKAGE_DEBUG)
+ endif()
else()
# reset vars in order to avoid leakage of value(s) from one component to another
set(CPACK_RPM_ABSOLUTE_INSTALL_FILES "")
-endif(CPACK_ABSOLUTE_DESTINATION_FILES_INTERNAL)
+endif()
# Prepend directories in ${CPACK_RPM_INSTALL_FILES} with %dir
# This is necessary to avoid duplicate files since rpmbuild do
@@ -780,32 +805,32 @@ foreach(F IN LISTS CPACK_RPM_INSTALL_FILES_LIST)
else()
set(CPACK_RPM_INSTALL_FILES "${CPACK_RPM_INSTALL_FILES}\"${F}\"\n")
endif()
-endforeach(F)
+endforeach()
set(CPACK_RPM_INSTALL_FILES_LIST "")
# The name of the final spec file to be used by rpmbuild
-SET(CPACK_RPM_BINARY_SPECFILE "${CPACK_RPM_ROOTDIR}/SPECS/${CPACK_RPM_PACKAGE_NAME}${CPACK_RPM_PACKAGE_COMPONENT_PART_NAME}.spec")
+set(CPACK_RPM_BINARY_SPECFILE "${CPACK_RPM_ROOTDIR}/SPECS/${CPACK_RPM_PACKAGE_NAME}${CPACK_RPM_PACKAGE_COMPONENT_PART_NAME}.spec")
# Print out some debug information if we were asked for that
-IF(CPACK_RPM_PACKAGE_DEBUG)
- MESSAGE("CPackRPM:Debug: CPACK_TOPLEVEL_DIRECTORY = ${CPACK_TOPLEVEL_DIRECTORY}")
- MESSAGE("CPackRPM:Debug: CPACK_TOPLEVEL_TAG = ${CPACK_TOPLEVEL_TAG}")
- MESSAGE("CPackRPM:Debug: CPACK_TEMPORARY_DIRECTORY = ${CPACK_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 = ${CPACK_PACKAGE_INSTALL_DIRECTORY}")
- MESSAGE("CPackRPM:Debug: CPACK_TEMPORARY_PACKAGE_FILE_NAME = ${CPACK_TEMPORARY_PACKAGE_FILE_NAME}")
-ENDIF(CPACK_RPM_PACKAGE_DEBUG)
+if(CPACK_RPM_PACKAGE_DEBUG)
+ message("CPackRPM:Debug: CPACK_TOPLEVEL_DIRECTORY = ${CPACK_TOPLEVEL_DIRECTORY}")
+ message("CPackRPM:Debug: CPACK_TOPLEVEL_TAG = ${CPACK_TOPLEVEL_TAG}")
+ message("CPackRPM:Debug: CPACK_TEMPORARY_DIRECTORY = ${CPACK_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 = ${CPACK_PACKAGE_INSTALL_DIRECTORY}")
+ message("CPackRPM:Debug: CPACK_TEMPORARY_PACKAGE_FILE_NAME = ${CPACK_TEMPORARY_PACKAGE_FILE_NAME}")
+endif()
# USER generated spec file handling.
# We should generate a spec file template:
# - either because the user asked for it : CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE
# - or the user did not provide one : NOT CPACK_RPM_USER_BINARY_SPECFILE
#
-IF(CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE OR NOT CPACK_RPM_USER_BINARY_SPECFILE)
- FILE(WRITE ${CPACK_RPM_BINARY_SPECFILE}.in
+if(CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE OR NOT CPACK_RPM_USER_BINARY_SPECFILE)
+ file(WRITE ${CPACK_RPM_BINARY_SPECFILE}.in
"# -*- rpm-spec -*-
BuildRoot: \@CPACK_RPM_DIRECTORY\@/\@CPACK_PACKAGE_FILE_NAME\@\@CPACK_RPM_PACKAGE_COMPONENT_PART_PATH\@
Summary: \@CPACK_RPM_PACKAGE_SUMMARY\@
@@ -879,28 +904,28 @@ ${CPACK_RPM_USER_INSTALL_FILES}
# Stop here if we were asked to only generate a template USER spec file
# The generated file may then be used as a template by user who wants
# to customize their own spec file.
- IF(CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE)
- MESSAGE(FATAL_ERROR "CPackRPM: STOP here Generated USER binary spec file templare is: ${CPACK_RPM_BINARY_SPECFILE}.in")
- ENDIF(CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE)
-ENDIF(CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE OR NOT CPACK_RPM_USER_BINARY_SPECFILE)
+ if(CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE)
+ message(FATAL_ERROR "CPackRPM: STOP here Generated USER binary spec file templare is: ${CPACK_RPM_BINARY_SPECFILE}.in")
+ endif()
+endif()
# After that we may either use a user provided spec file
# or generate one using appropriate variables value.
-IF(CPACK_RPM_USER_BINARY_SPECFILE)
+if(CPACK_RPM_USER_BINARY_SPECFILE)
# User may have specified SPECFILE just use it
- MESSAGE("CPackRPM: Will use USER specified spec file: ${CPACK_RPM_USER_BINARY_SPECFILE}")
+ message("CPackRPM: Will use USER specified spec file: ${CPACK_RPM_USER_BINARY_SPECFILE}")
# The user provided file is processed for @var replacement
- CONFIGURE_FILE(${CPACK_RPM_USER_BINARY_SPECFILE} ${CPACK_RPM_BINARY_SPECFILE} @ONLY)
-ELSE(CPACK_RPM_USER_BINARY_SPECFILE)
+ configure_file(${CPACK_RPM_USER_BINARY_SPECFILE} ${CPACK_RPM_BINARY_SPECFILE} @ONLY)
+else()
# No User specified spec file, will use the generated spec file
- MESSAGE("CPackRPM: Will use GENERATED spec file: ${CPACK_RPM_BINARY_SPECFILE}")
+ message("CPackRPM: Will use GENERATED spec file: ${CPACK_RPM_BINARY_SPECFILE}")
# Note the just created file is processed for @var replacement
- CONFIGURE_FILE(${CPACK_RPM_BINARY_SPECFILE}.in ${CPACK_RPM_BINARY_SPECFILE} @ONLY)
-ENDIF(CPACK_RPM_USER_BINARY_SPECFILE)
+ configure_file(${CPACK_RPM_BINARY_SPECFILE}.in ${CPACK_RPM_BINARY_SPECFILE} @ONLY)
+endif()
-IF(RPMBUILD_EXECUTABLE)
+if(RPMBUILD_EXECUTABLE)
# Now call rpmbuild using the SPECFILE
- EXECUTE_PROCESS(
+ execute_process(
COMMAND "${RPMBUILD_EXECUTABLE}" -bb
--define "_topdir ${CPACK_RPM_DIRECTORY}"
--buildroot "${CPACK_RPM_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}${CPACK_RPM_PACKAGE_COMPONENT_PART_PATH}"
@@ -909,17 +934,17 @@ IF(RPMBUILD_EXECUTABLE)
RESULT_VARIABLE CPACK_RPMBUILD_EXEC_RESULT
ERROR_FILE "${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_COMPONENT_PART_NAME}.err"
OUTPUT_FILE "${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_COMPONENT_PART_NAME}.out")
- IF(CPACK_RPM_PACKAGE_DEBUG OR CPACK_RPMBUILD_EXEC_RESULT)
- FILE(READ ${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_COMPONENT_PART_NAME}.err RPMBUILDERR)
- FILE(READ ${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_COMPONENT_PART_NAME}.out RPMBUILDOUT)
- MESSAGE("CPackRPM:Debug: You may consult rpmbuild logs in: ")
- MESSAGE("CPackRPM:Debug: - ${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_COMPONENT_PART_NAME}.err")
- MESSAGE("CPackRPM:Debug: *** ${RPMBUILDERR} ***")
- MESSAGE("CPackRPM:Debug: - ${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_COMPONENT_PART_NAME}.out")
- MESSAGE("CPackRPM:Debug: *** ${RPMBUILDERR} ***")
- ENDIF(CPACK_RPM_PACKAGE_DEBUG OR CPACK_RPMBUILD_EXEC_RESULT)
-ELSE(RPMBUILD_EXECUTABLE)
- IF(ALIEN_EXECUTABLE)
- MESSAGE(FATAL_ERROR "RPM packaging through alien not done (yet)")
- ENDIF(ALIEN_EXECUTABLE)
-ENDIF(RPMBUILD_EXECUTABLE)
+ if(CPACK_RPM_PACKAGE_DEBUG OR CPACK_RPMBUILD_EXEC_RESULT)
+ file(READ ${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_COMPONENT_PART_NAME}.err RPMBUILDERR)
+ file(READ ${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_COMPONENT_PART_NAME}.out RPMBUILDOUT)
+ message("CPackRPM:Debug: You may consult rpmbuild logs in: ")
+ message("CPackRPM:Debug: - ${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_COMPONENT_PART_NAME}.err")
+ message("CPackRPM:Debug: *** ${RPMBUILDERR} ***")
+ message("CPackRPM:Debug: - ${CPACK_TOPLEVEL_DIRECTORY}/rpmbuild${CPACK_RPM_PACKAGE_COMPONENT_PART_NAME}.out")
+ message("CPackRPM:Debug: *** ${RPMBUILDERR} ***")
+ endif()
+else()
+ if(ALIEN_EXECUTABLE)
+ message(FATAL_ERROR "RPM packaging through alien not done (yet)")
+ endif()
+endif()
diff --git a/Modules/CPackZIP.cmake b/Modules/CPackZIP.cmake
index 99963cf91..a36589bd6 100644
--- a/Modules/CPackZIP.cmake
+++ b/Modules/CPackZIP.cmake
@@ -12,30 +12,30 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-IF(CMAKE_BINARY_DIR)
- MESSAGE(FATAL_ERROR "CPackZIP.cmake may only be used by CPack internally.")
-ENDIF(CMAKE_BINARY_DIR)
+if(CMAKE_BINARY_DIR)
+ message(FATAL_ERROR "CPackZIP.cmake may only be used by CPack internally.")
+endif()
-FIND_PROGRAM(ZIP_EXECUTABLE wzzip PATHS "$ENV{ProgramFiles}/WinZip")
-IF(ZIP_EXECUTABLE)
- SET(CPACK_ZIP_COMMAND "\"${ZIP_EXECUTABLE}\" -P \"<ARCHIVE>\" @<FILELIST>")
- SET(CPACK_ZIP_NEED_QUOTES TRUE)
-ENDIF(ZIP_EXECUTABLE)
+find_program(ZIP_EXECUTABLE wzzip PATHS "$ENV{ProgramFiles}/WinZip")
+if(ZIP_EXECUTABLE)
+ set(CPACK_ZIP_COMMAND "\"${ZIP_EXECUTABLE}\" -P \"<ARCHIVE>\" @<FILELIST>")
+ set(CPACK_ZIP_NEED_QUOTES TRUE)
+endif()
-IF(NOT ZIP_EXECUTABLE)
- FIND_PROGRAM(ZIP_EXECUTABLE 7z PATHS "$ENV{ProgramFiles}/7-Zip")
- IF(ZIP_EXECUTABLE)
- SET(CPACK_ZIP_COMMAND "\"${ZIP_EXECUTABLE}\" a -tzip \"<ARCHIVE>\" @<FILELIST>")
- SET(CPACK_ZIP_NEED_QUOTES TRUE)
- ENDIF(ZIP_EXECUTABLE)
-ENDIF(NOT ZIP_EXECUTABLE)
+if(NOT ZIP_EXECUTABLE)
+ find_program(ZIP_EXECUTABLE 7z PATHS "$ENV{ProgramFiles}/7-Zip")
+ if(ZIP_EXECUTABLE)
+ set(CPACK_ZIP_COMMAND "\"${ZIP_EXECUTABLE}\" a -tzip \"<ARCHIVE>\" @<FILELIST>")
+ set(CPACK_ZIP_NEED_QUOTES TRUE)
+ endif()
+endif()
-IF(NOT ZIP_EXECUTABLE)
- FIND_PACKAGE(Cygwin)
- FIND_PROGRAM(ZIP_EXECUTABLE zip PATHS "${CYGWIN_INSTALL_PATH}/bin")
- IF(ZIP_EXECUTABLE)
- SET(CPACK_ZIP_COMMAND "\"${ZIP_EXECUTABLE}\" -r \"<ARCHIVE>\" . -i@<FILELIST>")
- SET(CPACK_ZIP_NEED_QUOTES FALSE)
- ENDIF(ZIP_EXECUTABLE)
-ENDIF(NOT ZIP_EXECUTABLE)
+if(NOT ZIP_EXECUTABLE)
+ find_package(Cygwin)
+ find_program(ZIP_EXECUTABLE zip PATHS "${CYGWIN_INSTALL_PATH}/bin")
+ if(ZIP_EXECUTABLE)
+ set(CPACK_ZIP_COMMAND "\"${ZIP_EXECUTABLE}\" -r \"<ARCHIVE>\" . -i@<FILELIST>")
+ set(CPACK_ZIP_NEED_QUOTES FALSE)
+ endif()
+endif()
diff --git a/Modules/CTest.cmake b/Modules/CTest.cmake
index ec9dbeb79..562e2486c 100644
--- a/Modules/CTest.cmake
+++ b/Modules/CTest.cmake
@@ -58,46 +58,48 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-OPTION(BUILD_TESTING "Build the testing tree." ON)
+option(BUILD_TESTING "Build the testing tree." ON)
# function to turn generator name into a version string
-# like vs7 vs71 vs8 vs9
-FUNCTION(GET_VS_VERSION_STRING generator var)
- STRING(REGEX REPLACE "Visual Studio ([0-9][0-9]?)($|.*)" "\\1"
+# like vs7 vs71 vs8 vs9
+function(GET_VS_VERSION_STRING generator var)
+ string(REGEX REPLACE "Visual Studio ([0-9][0-9]?)($|.*)" "\\1"
NUMBER "${generator}")
- IF("${generator}" MATCHES "Visual Studio 7 .NET 2003")
- SET(ver_string "vs71")
- ELSE("${generator}" MATCHES "Visual Studio 7 .NET 2003")
- SET(ver_string "vs${NUMBER}")
- ENDIF("${generator}" MATCHES "Visual Studio 7 .NET 2003")
- SET(${var} ${ver_string} PARENT_SCOPE)
-ENDFUNCTION(GET_VS_VERSION_STRING)
+ if("${generator}" MATCHES "Visual Studio 7 .NET 2003")
+ set(ver_string "vs71")
+ else()
+ set(ver_string "vs${NUMBER}")
+ endif()
+ set(${var} ${ver_string} PARENT_SCOPE)
+endfunction()
-IF(BUILD_TESTING)
+include(CTestUseLaunchers)
+
+if(BUILD_TESTING)
# Setup some auxilary macros
- MACRO(SET_IF_NOT_SET var val)
- IF(NOT DEFINED "${var}")
- SET("${var}" "${val}")
- ENDIF(NOT DEFINED "${var}")
- ENDMACRO(SET_IF_NOT_SET)
+ macro(SET_IF_NOT_SET var val)
+ if(NOT DEFINED "${var}")
+ set("${var}" "${val}")
+ endif()
+ endmacro()
- MACRO(SET_IF_SET var val)
- IF(NOT "${val}" MATCHES "^$")
- SET("${var}" "${val}")
- ENDIF(NOT "${val}" MATCHES "^$")
- ENDMACRO(SET_IF_SET)
+ macro(SET_IF_SET var val)
+ if(NOT "${val}" MATCHES "^$")
+ set("${var}" "${val}")
+ endif()
+ endmacro()
- MACRO(SET_IF_SET_AND_NOT_SET var val)
- IF(NOT "${val}" MATCHES "^$")
+ macro(SET_IF_SET_AND_NOT_SET var val)
+ if(NOT "${val}" MATCHES "^$")
SET_IF_NOT_SET("${var}" "${val}")
- ENDIF(NOT "${val}" MATCHES "^$")
- ENDMACRO(SET_IF_SET_AND_NOT_SET)
+ endif()
+ endmacro()
# Make sure testing is enabled
- ENABLE_TESTING()
+ enable_testing()
- IF(EXISTS "${PROJECT_SOURCE_DIR}/CTestConfig.cmake")
- INCLUDE("${PROJECT_SOURCE_DIR}/CTestConfig.cmake")
+ if(EXISTS "${PROJECT_SOURCE_DIR}/CTestConfig.cmake")
+ include("${PROJECT_SOURCE_DIR}/CTestConfig.cmake")
SET_IF_SET_AND_NOT_SET(NIGHTLY_START_TIME "${CTEST_NIGHTLY_START_TIME}")
SET_IF_SET_AND_NOT_SET(DROP_METHOD "${CTEST_DROP_METHOD}")
SET_IF_SET_AND_NOT_SET(DROP_SITE "${CTEST_DROP_SITE}")
@@ -107,155 +109,143 @@ IF(BUILD_TESTING)
SET_IF_SET_AND_NOT_SET(DROP_LOCATION "${CTEST_DROP_LOCATION}")
SET_IF_SET_AND_NOT_SET(TRIGGER_SITE "${CTEST_TRIGGER_SITE}")
SET_IF_SET_AND_NOT_SET(UPDATE_TYPE "${CTEST_UPDATE_TYPE}")
- ENDIF(EXISTS "${PROJECT_SOURCE_DIR}/CTestConfig.cmake")
+ endif()
# the project can have a DartConfig.cmake file
- IF(EXISTS "${PROJECT_SOURCE_DIR}/DartConfig.cmake")
- INCLUDE("${PROJECT_SOURCE_DIR}/DartConfig.cmake")
- ELSE(EXISTS "${PROJECT_SOURCE_DIR}/DartConfig.cmake")
+ if(EXISTS "${PROJECT_SOURCE_DIR}/DartConfig.cmake")
+ include("${PROJECT_SOURCE_DIR}/DartConfig.cmake")
+ else()
# Dashboard is opened for submissions for a 24 hour period starting at
# the specified NIGHTLY_START_TIME. Time is specified in 24 hour format.
SET_IF_NOT_SET (NIGHTLY_START_TIME "00:00:00 EDT")
SET_IF_NOT_SET(DROP_METHOD "http")
SET_IF_NOT_SET (COMPRESS_SUBMISSION ON)
- ENDIF(EXISTS "${PROJECT_SOURCE_DIR}/DartConfig.cmake")
+ endif()
SET_IF_NOT_SET (NIGHTLY_START_TIME "00:00:00 EDT")
- FIND_PROGRAM(CVSCOMMAND cvs )
- SET(CVS_UPDATE_OPTIONS "-d -A -P" CACHE STRING
+ find_program(CVSCOMMAND cvs )
+ set(CVS_UPDATE_OPTIONS "-d -A -P" CACHE STRING
"Options passed to the cvs update command.")
- FIND_PROGRAM(SVNCOMMAND svn)
- FIND_PROGRAM(BZRCOMMAND bzr)
- FIND_PROGRAM(HGCOMMAND hg)
- FIND_PROGRAM(GITCOMMAND git)
+ find_program(SVNCOMMAND svn)
+ find_program(BZRCOMMAND bzr)
+ find_program(HGCOMMAND hg)
+ find_program(GITCOMMAND git)
- IF(NOT UPDATE_TYPE)
- IF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CVS")
- SET(UPDATE_TYPE cvs)
- ELSEIF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.svn")
- SET(UPDATE_TYPE svn)
- ELSEIF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.bzr")
- SET(UPDATE_TYPE bzr)
- ELSEIF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.hg")
- SET(UPDATE_TYPE hg)
- ELSEIF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git")
- SET(UPDATE_TYPE git)
- ENDIF()
- ENDIF(NOT UPDATE_TYPE)
+ if(NOT UPDATE_TYPE)
+ if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/CVS")
+ set(UPDATE_TYPE cvs)
+ elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.svn")
+ set(UPDATE_TYPE svn)
+ elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.bzr")
+ set(UPDATE_TYPE bzr)
+ elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.hg")
+ set(UPDATE_TYPE hg)
+ elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git")
+ set(UPDATE_TYPE git)
+ endif()
+ endif()
- STRING(TOLOWER "${UPDATE_TYPE}" _update_type)
- IF("${_update_type}" STREQUAL "cvs")
- SET(UPDATE_COMMAND "${CVSCOMMAND}")
- SET(UPDATE_OPTIONS "${CVS_UPDATE_OPTIONS}")
- ELSEIF("${_update_type}" STREQUAL "svn")
- SET(UPDATE_COMMAND "${SVNCOMMAND}")
- SET(UPDATE_OPTIONS "${SVN_UPDATE_OPTIONS}")
- ELSEIF("${_update_type}" STREQUAL "bzr")
- SET(UPDATE_COMMAND "${BZRCOMMAND}")
- SET(UPDATE_OPTIONS "${BZR_UPDATE_OPTIONS}")
- ELSEIF("${_update_type}" STREQUAL "hg")
- SET(UPDATE_COMMAND "${HGCOMMAND}")
- SET(UPDATE_OPTIONS "${HG_UPDATE_OPTIONS}")
- ELSEIF("${_update_type}" STREQUAL "git")
- SET(UPDATE_COMMAND "${GITCOMMAND}")
- SET(UPDATE_OPTIONS "${GIT_UPDATE_OPTIONS}")
- ENDIF()
+ string(TOLOWER "${UPDATE_TYPE}" _update_type)
+ if("${_update_type}" STREQUAL "cvs")
+ set(UPDATE_COMMAND "${CVSCOMMAND}")
+ set(UPDATE_OPTIONS "${CVS_UPDATE_OPTIONS}")
+ elseif("${_update_type}" STREQUAL "svn")
+ set(UPDATE_COMMAND "${SVNCOMMAND}")
+ set(UPDATE_OPTIONS "${SVN_UPDATE_OPTIONS}")
+ elseif("${_update_type}" STREQUAL "bzr")
+ set(UPDATE_COMMAND "${BZRCOMMAND}")
+ set(UPDATE_OPTIONS "${BZR_UPDATE_OPTIONS}")
+ elseif("${_update_type}" STREQUAL "hg")
+ set(UPDATE_COMMAND "${HGCOMMAND}")
+ set(UPDATE_OPTIONS "${HG_UPDATE_OPTIONS}")
+ elseif("${_update_type}" STREQUAL "git")
+ set(UPDATE_COMMAND "${GITCOMMAND}")
+ set(UPDATE_OPTIONS "${GIT_UPDATE_OPTIONS}")
+ endif()
- SET(DART_TESTING_TIMEOUT 1500 CACHE STRING
+ set(DART_TESTING_TIMEOUT 1500 CACHE STRING
"Maximum time allowed before CTest will kill the test.")
- SET(CTEST_SUBMIT_RETRY_DELAY 5 CACHE STRING
+ set(CTEST_SUBMIT_RETRY_DELAY 5 CACHE STRING
"How long to wait between timed-out CTest submissions.")
- SET(CTEST_SUBMIT_RETRY_COUNT 3 CACHE STRING
+ set(CTEST_SUBMIT_RETRY_COUNT 3 CACHE STRING
"How many times to retry timed-out CTest submissions.")
- FIND_PROGRAM(MEMORYCHECK_COMMAND
+ find_program(MEMORYCHECK_COMMAND
NAMES purify valgrind boundscheck
PATHS
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Rational Software\\Purify\\Setup;InstallFolder]"
DOC "Path to the memory checking command, used for memory error detection."
)
- FIND_PROGRAM(SLURM_SBATCH_COMMAND sbatch DOC
+ find_program(SLURM_SBATCH_COMMAND sbatch DOC
"Path to the SLURM sbatch executable"
)
- FIND_PROGRAM(SLURM_SRUN_COMMAND srun DOC
+ find_program(SLURM_SRUN_COMMAND srun DOC
"Path to the SLURM srun executable"
)
- SET(MEMORYCHECK_SUPPRESSIONS_FILE "" CACHE FILEPATH
+ set(MEMORYCHECK_SUPPRESSIONS_FILE "" CACHE FILEPATH
"File that contains suppressions for the memory checker")
- FIND_PROGRAM(SCPCOMMAND scp DOC
+ find_program(SCPCOMMAND scp DOC
"Path to scp command, used by CTest for submitting results to a Dart server"
)
- FIND_PROGRAM(COVERAGE_COMMAND gcov DOC
+ find_program(COVERAGE_COMMAND gcov DOC
"Path to the coverage program that CTest uses for performing coverage inspection"
)
- SET(COVERAGE_EXTRA_FLAGS "-l" CACHE STRING
+ set(COVERAGE_EXTRA_FLAGS "-l" CACHE STRING
"Extra command line flags to pass to the coverage tool")
# set the site name
- SITE_NAME(SITE)
+ site_name(SITE)
# set the build name
- IF(NOT BUILDNAME)
- SET(DART_COMPILER "${CMAKE_CXX_COMPILER}")
- IF(NOT DART_COMPILER)
- SET(DART_COMPILER "${CMAKE_C_COMPILER}")
- ENDIF(NOT DART_COMPILER)
- IF(NOT DART_COMPILER)
- SET(DART_COMPILER "unknown")
- ENDIF(NOT DART_COMPILER)
- IF(WIN32)
- SET(DART_NAME_COMPONENT "NAME_WE")
- ELSE(WIN32)
- SET(DART_NAME_COMPONENT "NAME")
- ENDIF(WIN32)
- IF(NOT BUILD_NAME_SYSTEM_NAME)
- SET(BUILD_NAME_SYSTEM_NAME "${CMAKE_SYSTEM_NAME}")
- ENDIF(NOT BUILD_NAME_SYSTEM_NAME)
- IF(WIN32)
- SET(BUILD_NAME_SYSTEM_NAME "Win32")
- ENDIF(WIN32)
- IF(UNIX OR BORLAND)
- GET_FILENAME_COMPONENT(DART_CXX_NAME
+ if(NOT BUILDNAME)
+ set(DART_COMPILER "${CMAKE_CXX_COMPILER}")
+ if(NOT DART_COMPILER)
+ set(DART_COMPILER "${CMAKE_C_COMPILER}")
+ endif()
+ if(NOT DART_COMPILER)
+ set(DART_COMPILER "unknown")
+ endif()
+ if(WIN32)
+ set(DART_NAME_COMPONENT "NAME_WE")
+ else()
+ set(DART_NAME_COMPONENT "NAME")
+ endif()
+ if(NOT BUILD_NAME_SYSTEM_NAME)
+ set(BUILD_NAME_SYSTEM_NAME "${CMAKE_SYSTEM_NAME}")
+ endif()
+ if(WIN32)
+ set(BUILD_NAME_SYSTEM_NAME "Win32")
+ endif()
+ if(UNIX OR BORLAND)
+ get_filename_component(DART_CXX_NAME
"${CMAKE_CXX_COMPILER}" ${DART_NAME_COMPONENT})
- ELSE(UNIX OR BORLAND)
- GET_FILENAME_COMPONENT(DART_CXX_NAME
+ else()
+ get_filename_component(DART_CXX_NAME
"${CMAKE_BUILD_TOOL}" ${DART_NAME_COMPONENT})
- ENDIF(UNIX OR BORLAND)
- IF(DART_CXX_NAME MATCHES "msdev")
- SET(DART_CXX_NAME "vs60")
- ENDIF(DART_CXX_NAME MATCHES "msdev")
- IF(DART_CXX_NAME MATCHES "devenv")
+ endif()
+ if(DART_CXX_NAME MATCHES "msdev")
+ set(DART_CXX_NAME "vs60")
+ endif()
+ if(DART_CXX_NAME MATCHES "devenv")
GET_VS_VERSION_STRING("${CMAKE_GENERATOR}" DART_CXX_NAME)
- ENDIF(DART_CXX_NAME MATCHES "devenv")
- SET(BUILDNAME "${BUILD_NAME_SYSTEM_NAME}-${DART_CXX_NAME}")
- ENDIF(NOT BUILDNAME)
+ endif()
+ set(BUILDNAME "${BUILD_NAME_SYSTEM_NAME}-${DART_CXX_NAME}")
+ endif()
# the build command
- BUILD_COMMAND(MAKECOMMAND_DEFAULT_VALUE
+ build_command(MAKECOMMAND_DEFAULT_VALUE
CONFIGURATION "\${CTEST_CONFIGURATION_TYPE}")
- SET(MAKECOMMAND ${MAKECOMMAND_DEFAULT_VALUE}
+ set(MAKECOMMAND ${MAKECOMMAND_DEFAULT_VALUE}
CACHE STRING "Command to build the project")
# the default build configuration the ctest build handler will use
# if there is no -C arg given to ctest:
- SET(DEFAULT_CTEST_CONFIGURATION_TYPE "$ENV{CMAKE_CONFIG_TYPE}")
- IF(DEFAULT_CTEST_CONFIGURATION_TYPE STREQUAL "")
- SET(DEFAULT_CTEST_CONFIGURATION_TYPE "Release")
- ENDIF(DEFAULT_CTEST_CONFIGURATION_TYPE STREQUAL "")
-
- IF(NOT "${CMAKE_GENERATOR}" MATCHES "Make")
- SET(CTEST_USE_LAUNCHERS 0)
- ENDIF(NOT "${CMAKE_GENERATOR}" MATCHES "Make")
- IF(CTEST_USE_LAUNCHERS)
- SET(CTEST_LAUNCH_COMPILE "\"${CMAKE_CTEST_COMMAND}\" --launch --target-name <TARGET_NAME> --build-dir <CMAKE_CURRENT_BINARY_DIR> --output <OBJECT> --source <SOURCE> --language <LANGUAGE> --")
- SET(CTEST_LAUNCH_LINK "\"${CMAKE_CTEST_COMMAND}\" --launch --target-name <TARGET_NAME> --build-dir <CMAKE_CURRENT_BINARY_DIR> --output <TARGET> --target-type <TARGET_TYPE> --language <LANGUAGE> --")
- SET(CTEST_LAUNCH_CUSTOM "\"${CMAKE_CTEST_COMMAND}\" --launch --target-name <TARGET_NAME> --build-dir <CMAKE_CURRENT_BINARY_DIR> --output <OUTPUT> --")
- SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CTEST_LAUNCH_COMPILE}")
- SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_LINK "${CTEST_LAUNCH_LINK}")
- SET_PROPERTY(GLOBAL PROPERTY RULE_LAUNCH_CUSTOM "${CTEST_LAUNCH_CUSTOM}")
- ENDIF(CTEST_USE_LAUNCHERS)
+ set(DEFAULT_CTEST_CONFIGURATION_TYPE "$ENV{CMAKE_CONFIG_TYPE}")
+ if(DEFAULT_CTEST_CONFIGURATION_TYPE STREQUAL "")
+ set(DEFAULT_CTEST_CONFIGURATION_TYPE "Release")
+ endif()
- MARK_AS_ADVANCED(
+ mark_as_advanced(
BZRCOMMAND
BZR_UPDATE_OPTIONS
COVERAGE_COMMAND
@@ -267,7 +257,7 @@ IF(BUILD_TESTING)
DART_TESTING_TIMEOUT
GITCOMMAND
HGCOMMAND
- MAKECOMMAND
+ MAKECOMMAND
MEMORYCHECK_COMMAND
MEMORYCHECK_SUPPRESSIONS_FILE
PURIFYCOMMAND
@@ -278,9 +268,9 @@ IF(BUILD_TESTING)
SVNCOMMAND
SVN_UPDATE_OPTIONS
)
- IF(NOT RUN_FROM_DART)
- SET(RUN_FROM_CTEST_OR_DART 1)
- INCLUDE(CTestTargets)
- SET(RUN_FROM_CTEST_OR_DART)
- ENDIF(NOT RUN_FROM_DART)
-ENDIF(BUILD_TESTING)
+ if(NOT RUN_FROM_DART)
+ set(RUN_FROM_CTEST_OR_DART 1)
+ include(CTestTargets)
+ set(RUN_FROM_CTEST_OR_DART)
+ endif()
+endif()
diff --git a/Modules/CTestScriptMode.cmake b/Modules/CTestScriptMode.cmake
index e459c1d59..42d3764cb 100644
--- a/Modules/CTestScriptMode.cmake
+++ b/Modules/CTestScriptMode.cmake
@@ -14,7 +14,7 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-# Determine the current system, so this information can be used
+# Determine the current system, so this information can be used
# in ctest scripts
include(CMakeDetermineSystem)
diff --git a/Modules/CTestTargets.cmake b/Modules/CTestTargets.cmake
index bc4d9646a..fd4bd8024 100644
--- a/Modules/CTestTargets.cmake
+++ b/Modules/CTestTargets.cmake
@@ -12,29 +12,29 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-IF(NOT RUN_FROM_CTEST_OR_DART)
- MESSAGE(FATAL_ERROR "Do not incldue CTestTargets.cmake directly")
-ENDIF(NOT RUN_FROM_CTEST_OR_DART)
+if(NOT RUN_FROM_CTEST_OR_DART)
+ message(FATAL_ERROR "Do not incldue CTestTargets.cmake directly")
+endif()
# make directories in the binary tree
-FILE(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/Testing/Temporary)
-GET_FILENAME_COMPONENT(CMAKE_HOST_PATH ${CMAKE_COMMAND} PATH)
-SET(CMAKE_TARGET_PATH ${EXECUTABLE_OUTPUT_PATH})
-FIND_PROGRAM(CMAKE_CTEST_COMMAND ctest ${CMAKE_HOST_PATH} ${CMAKE_TARGET_PATH})
-MARK_AS_ADVANCED(CMAKE_CTEST_COMMAND)
+file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/Testing/Temporary)
+get_filename_component(CMAKE_HOST_PATH ${CMAKE_COMMAND} PATH)
+set(CMAKE_TARGET_PATH ${EXECUTABLE_OUTPUT_PATH})
+find_program(CMAKE_CTEST_COMMAND ctest ${CMAKE_HOST_PATH} ${CMAKE_TARGET_PATH})
+mark_as_advanced(CMAKE_CTEST_COMMAND)
# Use CTest
# configure files
-IF(CTEST_NEW_FORMAT)
- CONFIGURE_FILE(
+if(CTEST_NEW_FORMAT)
+ configure_file(
${CMAKE_ROOT}/Modules/DartConfiguration.tcl.in
${PROJECT_BINARY_DIR}/CTestConfiguration.ini )
-ELSE(CTEST_NEW_FORMAT)
- CONFIGURE_FILE(
+else()
+ configure_file(
${CMAKE_ROOT}/Modules/DartConfiguration.tcl.in
${PROJECT_BINARY_DIR}/DartConfiguration.tcl )
-ENDIF(CTEST_NEW_FORMAT)
+endif()
#
# Section 3:
@@ -43,53 +43,53 @@ ENDIF(CTEST_NEW_FORMAT)
# These should NOT need to be modified from project to project.
#
-SET(__conf_types "")
-IF(CMAKE_CONFIGURATION_TYPES)
+set(__conf_types "")
+if(CMAKE_CONFIGURATION_TYPES)
# We need to pass the configuration type on the test command line.
- SET(__conf_types -C "${CMAKE_CFG_INTDIR}")
-ENDIF(CMAKE_CONFIGURATION_TYPES)
+ set(__conf_types -C "${CMAKE_CFG_INTDIR}")
+endif()
# Add convenience targets. Do this at most once in case of nested
# projects.
-DEFINE_PROPERTY(GLOBAL PROPERTY CTEST_TARGETS_ADDED
+define_property(GLOBAL PROPERTY CTEST_TARGETS_ADDED
BRIEF_DOCS "Internal property used by CTestTargets module."
FULL_DOCS "Set by the CTestTargets module to track addition of testing targets."
)
-GET_PROPERTY(_CTEST_TARGETS_ADDED GLOBAL PROPERTY CTEST_TARGETS_ADDED)
-IF(NOT _CTEST_TARGETS_ADDED)
- SET_PROPERTY(GLOBAL PROPERTY CTEST_TARGETS_ADDED 1)
+get_property(_CTEST_TARGETS_ADDED GLOBAL PROPERTY CTEST_TARGETS_ADDED)
+if(NOT _CTEST_TARGETS_ADDED)
+ set_property(GLOBAL PROPERTY CTEST_TARGETS_ADDED 1)
# For all generators add basic testing targets.
- FOREACH(mode Experimental Nightly Continuous NightlyMemoryCheck)
- ADD_CUSTOM_TARGET(${mode}
+ foreach(mode Experimental Nightly Continuous NightlyMemoryCheck)
+ add_custom_target(${mode}
${CMAKE_CTEST_COMMAND} ${__conf_types} -D ${mode}
)
- SET_PROPERTY(TARGET ${mode} PROPERTY RULE_LAUNCH_CUSTOM "")
- SET_PROPERTY(TARGET ${mode} PROPERTY FOLDER "CTestDashboardTargets")
- ENDFOREACH(mode)
+ set_property(TARGET ${mode} PROPERTY RULE_LAUNCH_CUSTOM "")
+ set_property(TARGET ${mode} PROPERTY FOLDER "CTestDashboardTargets")
+ endforeach()
# For Makefile generators add more granular targets.
- IF("${CMAKE_GENERATOR}" MATCHES "(Ninja|Make)")
+ if("${CMAKE_GENERATOR}" MATCHES "(Ninja|Make)")
# Make targets for Experimental builds
- FOREACH(mode Nightly Experimental Continuous)
- FOREACH(testtype
+ foreach(mode Nightly Experimental Continuous)
+ foreach(testtype
Start Update Configure Build Test Coverage MemCheck Submit
# missing purify
)
- ADD_CUSTOM_TARGET(${mode}${testtype}
+ add_custom_target(${mode}${testtype}
${CMAKE_CTEST_COMMAND} ${__conf_types} -D ${mode}${testtype}
)
- SET_PROPERTY(TARGET ${mode}${testtype} PROPERTY RULE_LAUNCH_CUSTOM "")
- SET_PROPERTY(TARGET ${mode}${testtype} PROPERTY FOLDER "CTestDashboardTargets")
- ENDFOREACH(testtype)
- ENDFOREACH(mode)
- ENDIF("${CMAKE_GENERATOR}" MATCHES "(Ninja|Make)")
+ set_property(TARGET ${mode}${testtype} PROPERTY RULE_LAUNCH_CUSTOM "")
+ set_property(TARGET ${mode}${testtype} PROPERTY FOLDER "CTestDashboardTargets")
+ endforeach()
+ endforeach()
+ endif()
# If requested, add an alias that is the equivalent of the built-in "test"
# or "RUN_TESTS" target:
- IF(CTEST_TEST_TARGET_ALIAS)
- ADD_CUSTOM_TARGET(${CTEST_TEST_TARGET_ALIAS}
+ if(CTEST_TEST_TARGET_ALIAS)
+ add_custom_target(${CTEST_TEST_TARGET_ALIAS}
${CMAKE_CTEST_COMMAND} ${__conf_types}
)
- ENDIF()
-ENDIF(NOT _CTEST_TARGETS_ADDED)
+ endif()
+endif()
diff --git a/Modules/CTestUseLaunchers.cmake b/Modules/CTestUseLaunchers.cmake
new file mode 100644
index 000000000..6731d3754
--- /dev/null
+++ b/Modules/CTestUseLaunchers.cmake
@@ -0,0 +1,49 @@
+# - Set the RULE_LAUNCH_* global properties when CTEST_USE_LAUNCHERS is on.
+# CTestUseLaunchers is automatically included when you include(CTest).
+# However, it is split out into its own module file so projects
+# can use the CTEST_USE_LAUNCHERS functionality independently.
+#
+# To use launchers, set CTEST_USE_LAUNCHERS to ON in a ctest -S
+# dashboard script, and then also set it in the cache of the configured
+# project. Both cmake and ctest need to know the value of it for the launchers
+# to work properly. CMake needs to know in order to generate proper build
+# rules, and ctest, in order to produce the proper error and warning
+# analysis.
+#
+# For convenience, you may set the ENV variable CTEST_USE_LAUNCHERS_DEFAULT
+# in your ctest -S script, too. Then, as long as your CMakeLists uses
+# include(CTest) or include(CTestUseLaunchers), it will use the value of the
+# ENV variable to initialize a CTEST_USE_LAUNCHERS cache variable. This cache
+# variable initialization only occurs if CTEST_USE_LAUNCHERS is not already
+# defined.
+
+#=============================================================================
+# Copyright 2008-2012 Kitware, Inc.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distribute this file outside of CMake, substitute the full
+# License text for the above reference.)
+
+if(NOT DEFINED CTEST_USE_LAUNCHERS AND DEFINED ENV{CTEST_USE_LAUNCHERS_DEFAULT})
+ set(CTEST_USE_LAUNCHERS "$ENV{CTEST_USE_LAUNCHERS_DEFAULT}"
+ CACHE INTERNAL "CTEST_USE_LAUNCHERS initial value from ENV")
+endif()
+
+if(NOT "${CMAKE_GENERATOR}" MATCHES "Make")
+ set(CTEST_USE_LAUNCHERS 0)
+endif()
+
+if(CTEST_USE_LAUNCHERS)
+ set(CTEST_LAUNCH_COMPILE "\"${CMAKE_CTEST_COMMAND}\" --launch --target-name <TARGET_NAME> --build-dir <CMAKE_CURRENT_BINARY_DIR> --output <OBJECT> --source <SOURCE> --language <LANGUAGE> --")
+ set(CTEST_LAUNCH_LINK "\"${CMAKE_CTEST_COMMAND}\" --launch --target-name <TARGET_NAME> --build-dir <CMAKE_CURRENT_BINARY_DIR> --output <TARGET> --target-type <TARGET_TYPE> --language <LANGUAGE> --")
+ set(CTEST_LAUNCH_CUSTOM "\"${CMAKE_CTEST_COMMAND}\" --launch --target-name <TARGET_NAME> --build-dir <CMAKE_CURRENT_BINARY_DIR> --output <OUTPUT> --")
+ set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CTEST_LAUNCH_COMPILE}")
+ set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK "${CTEST_LAUNCH_LINK}")
+ set_property(GLOBAL PROPERTY RULE_LAUNCH_CUSTOM "${CTEST_LAUNCH_CUSTOM}")
+endif()
diff --git a/Modules/CheckCCompilerFlag.cmake b/Modules/CheckCCompilerFlag.cmake
index 90d04ac66..08e80f756 100644
--- a/Modules/CheckCCompilerFlag.cmake
+++ b/Modules/CheckCCompilerFlag.cmake
@@ -21,11 +21,11 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE(CheckCSourceCompiles)
+include(CheckCSourceCompiles)
-MACRO (CHECK_C_COMPILER_FLAG _FLAG _RESULT)
- SET(SAFE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}")
- SET(CMAKE_REQUIRED_DEFINITIONS "${_FLAG}")
+macro (CHECK_C_COMPILER_FLAG _FLAG _RESULT)
+ set(SAFE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}")
+ set(CMAKE_REQUIRED_DEFINITIONS "${_FLAG}")
CHECK_C_SOURCE_COMPILES("int main(void) { return 0; }" ${_RESULT}
# Some compilers do not fail with a bad flag
FAIL_REGEX "command line option .* is valid for .* but not for C" # GNU
@@ -41,5 +41,5 @@ MACRO (CHECK_C_COMPILER_FLAG _FLAG _RESULT)
FAIL_REGEX "command option .* is not recognized" # XL
FAIL_REGEX "WARNING: unknown flag:" # Open64
)
- SET (CMAKE_REQUIRED_DEFINITIONS "${SAFE_CMAKE_REQUIRED_DEFINITIONS}")
-ENDMACRO (CHECK_C_COMPILER_FLAG)
+ set (CMAKE_REQUIRED_DEFINITIONS "${SAFE_CMAKE_REQUIRED_DEFINITIONS}")
+endmacro ()
diff --git a/Modules/CheckCSourceCompiles.cmake b/Modules/CheckCSourceCompiles.cmake
index 266933634..b4577544e 100644
--- a/Modules/CheckCSourceCompiles.cmake
+++ b/Modules/CheckCSourceCompiles.cmake
@@ -24,43 +24,43 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE("${CMAKE_CURRENT_LIST_DIR}/CMakeExpandImportedTargets.cmake")
+include("${CMAKE_CURRENT_LIST_DIR}/CMakeExpandImportedTargets.cmake")
-MACRO(CHECK_C_SOURCE_COMPILES SOURCE VAR)
- IF("${VAR}" MATCHES "^${VAR}$")
- SET(_FAIL_REGEX)
- SET(_key)
- FOREACH(arg ${ARGN})
- IF("${arg}" MATCHES "^(FAIL_REGEX)$")
- SET(_key "${arg}")
- ELSEIF(_key)
- LIST(APPEND _${_key} "${arg}")
- ELSE()
- MESSAGE(FATAL_ERROR "Unknown argument:\n ${arg}\n")
- ENDIF()
- ENDFOREACH()
- SET(MACRO_CHECK_FUNCTION_DEFINITIONS
+macro(CHECK_C_SOURCE_COMPILES SOURCE VAR)
+ if("${VAR}" MATCHES "^${VAR}$")
+ set(_FAIL_REGEX)
+ set(_key)
+ foreach(arg ${ARGN})
+ if("${arg}" MATCHES "^(FAIL_REGEX)$")
+ set(_key "${arg}")
+ elseif(_key)
+ list(APPEND _${_key} "${arg}")
+ else()
+ message(FATAL_ERROR "Unknown argument:\n ${arg}\n")
+ endif()
+ endforeach()
+ set(MACRO_CHECK_FUNCTION_DEFINITIONS
"-D${VAR} ${CMAKE_REQUIRED_FLAGS}")
- IF(CMAKE_REQUIRED_LIBRARIES)
+ if(CMAKE_REQUIRED_LIBRARIES)
# this one translates potentially used imported library targets to their files on disk
CMAKE_EXPAND_IMPORTED_TARGETS(_ADJUSTED_CMAKE_REQUIRED_LIBRARIES LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} CONFIGURATION "${CMAKE_TRY_COMPILE_CONFIGURATION}")
- SET(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES
+ set(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES
"-DLINK_LIBRARIES:STRING=${_ADJUSTED_CMAKE_REQUIRED_LIBRARIES}")
- ELSE(CMAKE_REQUIRED_LIBRARIES)
- SET(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES)
- ENDIF(CMAKE_REQUIRED_LIBRARIES)
- IF(CMAKE_REQUIRED_INCLUDES)
- SET(CHECK_C_SOURCE_COMPILES_ADD_INCLUDES
+ else()
+ set(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES)
+ endif()
+ if(CMAKE_REQUIRED_INCLUDES)
+ set(CHECK_C_SOURCE_COMPILES_ADD_INCLUDES
"-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
- ELSE(CMAKE_REQUIRED_INCLUDES)
- SET(CHECK_C_SOURCE_COMPILES_ADD_INCLUDES)
- ENDIF(CMAKE_REQUIRED_INCLUDES)
- FILE(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c"
+ else()
+ set(CHECK_C_SOURCE_COMPILES_ADD_INCLUDES)
+ endif()
+ file(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c"
"${SOURCE}\n")
- MESSAGE(STATUS "Performing Test ${VAR}")
- TRY_COMPILE(${VAR}
+ message(STATUS "Performing Test ${VAR}")
+ try_compile(${VAR}
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c
COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
@@ -69,27 +69,27 @@ MACRO(CHECK_C_SOURCE_COMPILES SOURCE VAR)
"${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}"
OUTPUT_VARIABLE OUTPUT)
- FOREACH(_regex ${_FAIL_REGEX})
- IF("${OUTPUT}" MATCHES "${_regex}")
- SET(${VAR} 0)
- ENDIF()
- ENDFOREACH()
+ foreach(_regex ${_FAIL_REGEX})
+ if("${OUTPUT}" MATCHES "${_regex}")
+ set(${VAR} 0)
+ endif()
+ endforeach()
- IF(${VAR})
- SET(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
- MESSAGE(STATUS "Performing Test ${VAR} - Success")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ if(${VAR})
+ set(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
+ message(STATUS "Performing Test ${VAR} - Success")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Performing C SOURCE FILE Test ${VAR} succeded with the following output:\n"
"${OUTPUT}\n"
"Source file was:\n${SOURCE}\n")
- ELSE(${VAR})
- MESSAGE(STATUS "Performing Test ${VAR} - Failed")
- SET(${VAR} "" CACHE INTERNAL "Test ${VAR}")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ else()
+ message(STATUS "Performing Test ${VAR} - Failed")
+ set(${VAR} "" CACHE INTERNAL "Test ${VAR}")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Performing C SOURCE FILE Test ${VAR} failed with the following output:\n"
"${OUTPUT}\n"
"Source file was:\n${SOURCE}\n")
- ENDIF(${VAR})
- ENDIF("${VAR}" MATCHES "^${VAR}$")
-ENDMACRO(CHECK_C_SOURCE_COMPILES)
+ endif()
+ endif()
+endmacro()
diff --git a/Modules/CheckCSourceRuns.cmake b/Modules/CheckCSourceRuns.cmake
index feee93a71..bc64acd31 100644
--- a/Modules/CheckCSourceRuns.cmake
+++ b/Modules/CheckCSourceRuns.cmake
@@ -24,32 +24,32 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE("${CMAKE_CURRENT_LIST_DIR}/CMakeExpandImportedTargets.cmake")
+include("${CMAKE_CURRENT_LIST_DIR}/CMakeExpandImportedTargets.cmake")
-MACRO(CHECK_C_SOURCE_RUNS SOURCE VAR)
- IF("${VAR}" MATCHES "^${VAR}$")
- SET(MACRO_CHECK_FUNCTION_DEFINITIONS
+macro(CHECK_C_SOURCE_RUNS SOURCE VAR)
+ if("${VAR}" MATCHES "^${VAR}$")
+ set(MACRO_CHECK_FUNCTION_DEFINITIONS
"-D${VAR} ${CMAKE_REQUIRED_FLAGS}")
- IF(CMAKE_REQUIRED_LIBRARIES)
+ if(CMAKE_REQUIRED_LIBRARIES)
# this one translates potentially used imported library targets to their files on disk
CMAKE_EXPAND_IMPORTED_TARGETS(_ADJUSTED_CMAKE_REQUIRED_LIBRARIES LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} CONFIGURATION "${CMAKE_TRY_COMPILE_CONFIGURATION}")
- SET(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES
+ set(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES
"-DLINK_LIBRARIES:STRING=${_ADJUSTED_CMAKE_REQUIRED_LIBRARIES}")
- ELSE(CMAKE_REQUIRED_LIBRARIES)
- SET(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES)
- ENDIF(CMAKE_REQUIRED_LIBRARIES)
- IF(CMAKE_REQUIRED_INCLUDES)
- SET(CHECK_C_SOURCE_COMPILES_ADD_INCLUDES
+ else()
+ set(CHECK_C_SOURCE_COMPILES_ADD_LIBRARIES)
+ endif()
+ if(CMAKE_REQUIRED_INCLUDES)
+ set(CHECK_C_SOURCE_COMPILES_ADD_INCLUDES
"-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
- ELSE(CMAKE_REQUIRED_INCLUDES)
- SET(CHECK_C_SOURCE_COMPILES_ADD_INCLUDES)
- ENDIF(CMAKE_REQUIRED_INCLUDES)
- FILE(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c"
+ else()
+ set(CHECK_C_SOURCE_COMPILES_ADD_INCLUDES)
+ endif()
+ file(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c"
"${SOURCE}\n")
- MESSAGE(STATUS "Performing Test ${VAR}")
- TRY_RUN(${VAR}_EXITCODE ${VAR}_COMPILED
+ message(STATUS "Performing Test ${VAR}")
+ try_run(${VAR}_EXITCODE ${VAR}_COMPILED
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.c
COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
@@ -59,33 +59,33 @@ MACRO(CHECK_C_SOURCE_RUNS SOURCE VAR)
"${CHECK_C_SOURCE_COMPILES_ADD_INCLUDES}"
COMPILE_OUTPUT_VARIABLE OUTPUT)
# if it did not compile make the return value fail code of 1
- IF(NOT ${VAR}_COMPILED)
- SET(${VAR}_EXITCODE 1)
- ENDIF(NOT ${VAR}_COMPILED)
+ if(NOT ${VAR}_COMPILED)
+ set(${VAR}_EXITCODE 1)
+ endif()
# if the return value was 0 then it worked
- IF("${${VAR}_EXITCODE}" EQUAL 0)
- SET(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
- MESSAGE(STATUS "Performing Test ${VAR} - Success")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ if("${${VAR}_EXITCODE}" EQUAL 0)
+ set(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
+ message(STATUS "Performing Test ${VAR} - Success")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Performing C SOURCE FILE Test ${VAR} succeded with the following output:\n"
"${OUTPUT}\n"
"Return value: ${${VAR}}\n"
"Source file was:\n${SOURCE}\n")
- ELSE("${${VAR}_EXITCODE}" EQUAL 0)
- IF(CMAKE_CROSSCOMPILING AND "${${VAR}_EXITCODE}" MATCHES "FAILED_TO_RUN")
- SET(${VAR} "${${VAR}_EXITCODE}")
- ELSE(CMAKE_CROSSCOMPILING AND "${${VAR}_EXITCODE}" MATCHES "FAILED_TO_RUN")
- SET(${VAR} "" CACHE INTERNAL "Test ${VAR}")
- ENDIF(CMAKE_CROSSCOMPILING AND "${${VAR}_EXITCODE}" MATCHES "FAILED_TO_RUN")
+ else()
+ if(CMAKE_CROSSCOMPILING AND "${${VAR}_EXITCODE}" MATCHES "FAILED_TO_RUN")
+ set(${VAR} "${${VAR}_EXITCODE}")
+ else()
+ set(${VAR} "" CACHE INTERNAL "Test ${VAR}")
+ endif()
- MESSAGE(STATUS "Performing Test ${VAR} - Failed")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ message(STATUS "Performing Test ${VAR} - Failed")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Performing C SOURCE FILE Test ${VAR} failed with the following output:\n"
"${OUTPUT}\n"
"Return value: ${${VAR}_EXITCODE}\n"
"Source file was:\n${SOURCE}\n")
- ENDIF("${${VAR}_EXITCODE}" EQUAL 0)
- ENDIF("${VAR}" MATCHES "^${VAR}$")
-ENDMACRO(CHECK_C_SOURCE_RUNS)
+ endif()
+ endif()
+endmacro()
diff --git a/Modules/CheckCXXCompilerFlag.cmake b/Modules/CheckCXXCompilerFlag.cmake
index 19963ea4c..662640340 100644
--- a/Modules/CheckCXXCompilerFlag.cmake
+++ b/Modules/CheckCXXCompilerFlag.cmake
@@ -21,11 +21,11 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE(CheckCXXSourceCompiles)
+include(CheckCXXSourceCompiles)
-MACRO (CHECK_CXX_COMPILER_FLAG _FLAG _RESULT)
- SET(SAFE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}")
- SET(CMAKE_REQUIRED_DEFINITIONS "${_FLAG}")
+macro (CHECK_CXX_COMPILER_FLAG _FLAG _RESULT)
+ set(SAFE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}")
+ set(CMAKE_REQUIRED_DEFINITIONS "${_FLAG}")
CHECK_CXX_SOURCE_COMPILES("int main() { return 0;}" ${_RESULT}
# Some compilers do not fail with a bad flag
FAIL_REGEX "command line option .* is valid for .* but not for C\\\\+\\\\+" # GNU
@@ -43,6 +43,6 @@ MACRO (CHECK_CXX_COMPILER_FLAG _FLAG _RESULT)
FAIL_REGEX "File with unknown suffix passed to linker" # PGI
FAIL_REGEX "WARNING: unknown flag:" # Open64
)
- SET (CMAKE_REQUIRED_DEFINITIONS "${SAFE_CMAKE_REQUIRED_DEFINITIONS}")
-ENDMACRO (CHECK_CXX_COMPILER_FLAG)
+ set (CMAKE_REQUIRED_DEFINITIONS "${SAFE_CMAKE_REQUIRED_DEFINITIONS}")
+endmacro ()
diff --git a/Modules/CheckCXXSourceCompiles.cmake b/Modules/CheckCXXSourceCompiles.cmake
index 7f7336e5b..c0be1f784 100644
--- a/Modules/CheckCXXSourceCompiles.cmake
+++ b/Modules/CheckCXXSourceCompiles.cmake
@@ -24,44 +24,44 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE("${CMAKE_CURRENT_LIST_DIR}/CMakeExpandImportedTargets.cmake")
+include("${CMAKE_CURRENT_LIST_DIR}/CMakeExpandImportedTargets.cmake")
-MACRO(CHECK_CXX_SOURCE_COMPILES SOURCE VAR)
- IF("${VAR}" MATCHES "^${VAR}$")
- SET(_FAIL_REGEX)
- SET(_key)
- FOREACH(arg ${ARGN})
- IF("${arg}" MATCHES "^(FAIL_REGEX)$")
- SET(_key "${arg}")
- ELSEIF(_key)
- LIST(APPEND _${_key} "${arg}")
- ELSE()
- MESSAGE(FATAL_ERROR "Unknown argument:\n ${arg}\n")
- ENDIF()
- ENDFOREACH()
+macro(CHECK_CXX_SOURCE_COMPILES SOURCE VAR)
+ if("${VAR}" MATCHES "^${VAR}$")
+ set(_FAIL_REGEX)
+ set(_key)
+ foreach(arg ${ARGN})
+ if("${arg}" MATCHES "^(FAIL_REGEX)$")
+ set(_key "${arg}")
+ elseif(_key)
+ list(APPEND _${_key} "${arg}")
+ else()
+ message(FATAL_ERROR "Unknown argument:\n ${arg}\n")
+ endif()
+ endforeach()
- SET(MACRO_CHECK_FUNCTION_DEFINITIONS
+ set(MACRO_CHECK_FUNCTION_DEFINITIONS
"-D${VAR} ${CMAKE_REQUIRED_FLAGS}")
- IF(CMAKE_REQUIRED_LIBRARIES)
+ if(CMAKE_REQUIRED_LIBRARIES)
# this one translates potentially used imported library targets to their files on disk
CMAKE_EXPAND_IMPORTED_TARGETS(_ADJUSTED_CMAKE_REQUIRED_LIBRARIES LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} CONFIGURATION "${CMAKE_TRY_COMPILE_CONFIGURATION}")
- SET(CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES
+ set(CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES
"-DLINK_LIBRARIES:STRING=${_ADJUSTED_CMAKE_REQUIRED_LIBRARIES}")
- ELSE(CMAKE_REQUIRED_LIBRARIES)
- SET(CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES)
- ENDIF(CMAKE_REQUIRED_LIBRARIES)
- IF(CMAKE_REQUIRED_INCLUDES)
- SET(CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES
+ else()
+ set(CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES)
+ endif()
+ if(CMAKE_REQUIRED_INCLUDES)
+ set(CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES
"-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
- ELSE(CMAKE_REQUIRED_INCLUDES)
- SET(CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES)
- ENDIF(CMAKE_REQUIRED_INCLUDES)
- FILE(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.cxx"
+ else()
+ set(CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES)
+ endif()
+ file(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.cxx"
"${SOURCE}\n")
- MESSAGE(STATUS "Performing Test ${VAR}")
- TRY_COMPILE(${VAR}
+ message(STATUS "Performing Test ${VAR}")
+ try_compile(${VAR}
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.cxx
COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
@@ -70,27 +70,27 @@ MACRO(CHECK_CXX_SOURCE_COMPILES SOURCE VAR)
"${CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES}"
OUTPUT_VARIABLE OUTPUT)
- FOREACH(_regex ${_FAIL_REGEX})
- IF("${OUTPUT}" MATCHES "${_regex}")
- SET(${VAR} 0)
- ENDIF()
- ENDFOREACH()
+ foreach(_regex ${_FAIL_REGEX})
+ if("${OUTPUT}" MATCHES "${_regex}")
+ set(${VAR} 0)
+ endif()
+ endforeach()
- IF(${VAR})
- SET(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
- MESSAGE(STATUS "Performing Test ${VAR} - Success")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ if(${VAR})
+ set(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
+ message(STATUS "Performing Test ${VAR} - Success")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Performing C++ SOURCE FILE Test ${VAR} succeded with the following output:\n"
"${OUTPUT}\n"
"Source file was:\n${SOURCE}\n")
- ELSE(${VAR})
- MESSAGE(STATUS "Performing Test ${VAR} - Failed")
- SET(${VAR} "" CACHE INTERNAL "Test ${VAR}")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ else()
+ message(STATUS "Performing Test ${VAR} - Failed")
+ set(${VAR} "" CACHE INTERNAL "Test ${VAR}")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Performing C++ SOURCE FILE Test ${VAR} failed with the following output:\n"
"${OUTPUT}\n"
"Source file was:\n${SOURCE}\n")
- ENDIF(${VAR})
- ENDIF("${VAR}" MATCHES "^${VAR}$")
-ENDMACRO(CHECK_CXX_SOURCE_COMPILES)
+ endif()
+ endif()
+endmacro()
diff --git a/Modules/CheckCXXSourceRuns.cmake b/Modules/CheckCXXSourceRuns.cmake
index cd68d5706..47ab1614b 100644
--- a/Modules/CheckCXXSourceRuns.cmake
+++ b/Modules/CheckCXXSourceRuns.cmake
@@ -24,32 +24,32 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE("${CMAKE_CURRENT_LIST_DIR}/CMakeExpandImportedTargets.cmake")
+include("${CMAKE_CURRENT_LIST_DIR}/CMakeExpandImportedTargets.cmake")
-MACRO(CHECK_CXX_SOURCE_RUNS SOURCE VAR)
- IF("${VAR}" MATCHES "^${VAR}$")
- SET(MACRO_CHECK_FUNCTION_DEFINITIONS
+macro(CHECK_CXX_SOURCE_RUNS SOURCE VAR)
+ if("${VAR}" MATCHES "^${VAR}$")
+ set(MACRO_CHECK_FUNCTION_DEFINITIONS
"-D${VAR} ${CMAKE_REQUIRED_FLAGS}")
- IF(CMAKE_REQUIRED_LIBRARIES)
+ if(CMAKE_REQUIRED_LIBRARIES)
# this one translates potentially used imported library targets to their files on disk
CMAKE_EXPAND_IMPORTED_TARGETS(_ADJUSTED_CMAKE_REQUIRED_LIBRARIES LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} CONFIGURATION "${CMAKE_TRY_COMPILE_CONFIGURATION}")
- SET(CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES
+ set(CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES
"-DLINK_LIBRARIES:STRING=${_ADJUSTED_CMAKE_REQUIRED_LIBRARIES}")
- ELSE(CMAKE_REQUIRED_LIBRARIES)
- SET(CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES)
- ENDIF(CMAKE_REQUIRED_LIBRARIES)
- IF(CMAKE_REQUIRED_INCLUDES)
- SET(CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES
+ else()
+ set(CHECK_CXX_SOURCE_COMPILES_ADD_LIBRARIES)
+ endif()
+ if(CMAKE_REQUIRED_INCLUDES)
+ set(CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES
"-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
- ELSE(CMAKE_REQUIRED_INCLUDES)
- SET(CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES)
- ENDIF(CMAKE_REQUIRED_INCLUDES)
- FILE(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.cxx"
+ else()
+ set(CHECK_CXX_SOURCE_COMPILES_ADD_INCLUDES)
+ endif()
+ file(WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.cxx"
"${SOURCE}\n")
- MESSAGE(STATUS "Performing Test ${VAR}")
- TRY_RUN(${VAR}_EXITCODE ${VAR}_COMPILED
+ message(STATUS "Performing Test ${VAR}")
+ try_run(${VAR}_EXITCODE ${VAR}_COMPILED
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/src.cxx
COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
@@ -60,32 +60,32 @@ MACRO(CHECK_CXX_SOURCE_RUNS SOURCE VAR)
COMPILE_OUTPUT_VARIABLE OUTPUT)
# if it did not compile make the return value fail code of 1
- IF(NOT ${VAR}_COMPILED)
- SET(${VAR}_EXITCODE 1)
- ENDIF(NOT ${VAR}_COMPILED)
+ if(NOT ${VAR}_COMPILED)
+ set(${VAR}_EXITCODE 1)
+ endif()
# if the return value was 0 then it worked
- IF("${${VAR}_EXITCODE}" EQUAL 0)
- SET(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
- MESSAGE(STATUS "Performing Test ${VAR} - Success")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ if("${${VAR}_EXITCODE}" EQUAL 0)
+ set(${VAR} 1 CACHE INTERNAL "Test ${VAR}")
+ message(STATUS "Performing Test ${VAR} - Success")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Performing C++ SOURCE FILE Test ${VAR} succeded with the following output:\n"
"${OUTPUT}\n"
"Return value: ${${VAR}}\n"
"Source file was:\n${SOURCE}\n")
- ELSE("${${VAR}_EXITCODE}" EQUAL 0)
- IF(CMAKE_CROSSCOMPILING AND "${${VAR}_EXITCODE}" MATCHES "FAILED_TO_RUN")
- SET(${VAR} "${${VAR}_EXITCODE}")
- ELSE(CMAKE_CROSSCOMPILING AND "${${VAR}_EXITCODE}" MATCHES "FAILED_TO_RUN")
- SET(${VAR} "" CACHE INTERNAL "Test ${VAR}")
- ENDIF(CMAKE_CROSSCOMPILING AND "${${VAR}_EXITCODE}" MATCHES "FAILED_TO_RUN")
+ else()
+ if(CMAKE_CROSSCOMPILING AND "${${VAR}_EXITCODE}" MATCHES "FAILED_TO_RUN")
+ set(${VAR} "${${VAR}_EXITCODE}")
+ else()
+ set(${VAR} "" CACHE INTERNAL "Test ${VAR}")
+ endif()
- MESSAGE(STATUS "Performing Test ${VAR} - Failed")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ message(STATUS "Performing Test ${VAR} - Failed")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Performing C++ SOURCE FILE Test ${VAR} failed with the following output:\n"
"${OUTPUT}\n"
"Return value: ${${VAR}_EXITCODE}\n"
"Source file was:\n${SOURCE}\n")
- ENDIF("${${VAR}_EXITCODE}" EQUAL 0)
- ENDIF("${VAR}" MATCHES "^${VAR}$")
-ENDMACRO(CHECK_CXX_SOURCE_RUNS)
+ endif()
+ endif()
+endmacro()
diff --git a/Modules/CheckCXXSymbolExists.cmake b/Modules/CheckCXXSymbolExists.cmake
index 1b012aefd..210097378 100644
--- a/Modules/CheckCXXSymbolExists.cmake
+++ b/Modules/CheckCXXSymbolExists.cmake
@@ -35,8 +35,8 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE(CheckSymbolExists)
+include(CheckSymbolExists)
-MACRO(CHECK_CXX_SYMBOL_EXISTS SYMBOL FILES VARIABLE)
+macro(CHECK_CXX_SYMBOL_EXISTS SYMBOL FILES VARIABLE)
_CHECK_SYMBOL_EXISTS("${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckSymbolExists.cxx" "${SYMBOL}" "${FILES}" "${VARIABLE}" )
-ENDMACRO(CHECK_CXX_SYMBOL_EXISTS)
+endmacro()
diff --git a/Modules/CheckForPthreads.c b/Modules/CheckForPthreads.c
index d83107851..882dc21b7 100644
--- a/Modules/CheckForPthreads.c
+++ b/Modules/CheckForPthreads.c
@@ -15,7 +15,7 @@ int main(int ac, char*av[]){
pthread_t tid[2];
pthread_create(&tid[0], 0, runner, (void*)1);
pthread_create(&tid[1], 0, runner, (void*)2);
-
+
#if defined(__BEOS__) && !defined(__ZETA__) && !defined(__HAIKU__) // (no usleep on BeOS 5.)
usleep(1); // for strange behavior on single-processor sun
#endif
diff --git a/Modules/CheckFortranFunctionExists.cmake b/Modules/CheckFortranFunctionExists.cmake
index abec9f738..4b9f9b70d 100644
--- a/Modules/CheckFortranFunctionExists.cmake
+++ b/Modules/CheckFortranFunctionExists.cmake
@@ -22,7 +22,7 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE("${CMAKE_CURRENT_LIST_DIR}/CMakeExpandImportedTargets.cmake")
+include("${CMAKE_CURRENT_LIST_DIR}/CMakeExpandImportedTargets.cmake")
macro(CHECK_FORTRAN_FUNCTION_EXISTS FUNCTION VARIABLE)
@@ -33,10 +33,10 @@ macro(CHECK_FORTRAN_FUNCTION_EXISTS FUNCTION VARIABLE)
cmake_expand_imported_targets(_ADJUSTED_CMAKE_REQUIRED_LIBRARIES LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} CONFIGURATION "${CMAKE_TRY_COMPILE_CONFIGURATION}")
set(CHECK_FUNCTION_EXISTS_ADD_LIBRARIES
"-DLINK_LIBRARIES:STRING=${_ADJUSTED_CMAKE_REQUIRED_LIBRARIES}")
- else(CMAKE_REQUIRED_LIBRARIES)
+ else()
set(CHECK_FUNCTION_EXISTS_ADD_LIBRARIES)
- endif(CMAKE_REQUIRED_LIBRARIES)
- FILE(WRITE
+ endif()
+ file(WRITE
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranCompiler.f
"
program TESTFortran
@@ -58,12 +58,12 @@ macro(CHECK_FORTRAN_FUNCTION_EXISTS FUNCTION VARIABLE)
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Determining if the Fortran ${FUNCTION} exists passed with the following output:\n"
"${OUTPUT}\n\n")
- else(${VARIABLE})
+ else()
message(STATUS "Looking for Fortran ${FUNCTION} - not found")
set(${VARIABLE} "" CACHE INTERNAL "Have Fortran function ${FUNCTION}")
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Determining if the Fortran ${FUNCTION} exists failed with the following output:\n"
"${OUTPUT}\n\n")
- endif(${VARIABLE})
- endif(NOT DEFINED ${VARIABLE})
-endmacro(CHECK_FORTRAN_FUNCTION_EXISTS)
+ endif()
+ endif()
+endmacro()
diff --git a/Modules/CheckFunctionExists.cmake b/Modules/CheckFunctionExists.cmake
index 8c469f012..3f952e0ec 100644
--- a/Modules/CheckFunctionExists.cmake
+++ b/Modules/CheckFunctionExists.cmake
@@ -27,29 +27,29 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE("${CMAKE_CURRENT_LIST_DIR}/CMakeExpandImportedTargets.cmake")
+include("${CMAKE_CURRENT_LIST_DIR}/CMakeExpandImportedTargets.cmake")
-MACRO(CHECK_FUNCTION_EXISTS FUNCTION VARIABLE)
- IF("${VARIABLE}" MATCHES "^${VARIABLE}$")
- SET(MACRO_CHECK_FUNCTION_DEFINITIONS
+macro(CHECK_FUNCTION_EXISTS FUNCTION VARIABLE)
+ if("${VARIABLE}" MATCHES "^${VARIABLE}$")
+ set(MACRO_CHECK_FUNCTION_DEFINITIONS
"-DCHECK_FUNCTION_EXISTS=${FUNCTION} ${CMAKE_REQUIRED_FLAGS}")
- MESSAGE(STATUS "Looking for ${FUNCTION}")
- IF(CMAKE_REQUIRED_LIBRARIES)
+ message(STATUS "Looking for ${FUNCTION}")
+ if(CMAKE_REQUIRED_LIBRARIES)
# this one translates potentially used imported library targets to their files on disk
CMAKE_EXPAND_IMPORTED_TARGETS(_ADJUSTED_CMAKE_REQUIRED_LIBRARIES LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} CONFIGURATION "${CMAKE_TRY_COMPILE_CONFIGURATION}")
- SET(CHECK_FUNCTION_EXISTS_ADD_LIBRARIES
+ set(CHECK_FUNCTION_EXISTS_ADD_LIBRARIES
"-DLINK_LIBRARIES:STRING=${_ADJUSTED_CMAKE_REQUIRED_LIBRARIES}")
- ELSE(CMAKE_REQUIRED_LIBRARIES)
- SET(CHECK_FUNCTION_EXISTS_ADD_LIBRARIES)
- ENDIF(CMAKE_REQUIRED_LIBRARIES)
- IF(CMAKE_REQUIRED_INCLUDES)
- SET(CHECK_FUNCTION_EXISTS_ADD_INCLUDES
+ else()
+ set(CHECK_FUNCTION_EXISTS_ADD_LIBRARIES)
+ endif()
+ if(CMAKE_REQUIRED_INCLUDES)
+ set(CHECK_FUNCTION_EXISTS_ADD_INCLUDES
"-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
- ELSE(CMAKE_REQUIRED_INCLUDES)
- SET(CHECK_FUNCTION_EXISTS_ADD_INCLUDES)
- ENDIF(CMAKE_REQUIRED_INCLUDES)
- TRY_COMPILE(${VARIABLE}
+ else()
+ set(CHECK_FUNCTION_EXISTS_ADD_INCLUDES)
+ endif()
+ try_compile(${VARIABLE}
${CMAKE_BINARY_DIR}
${CMAKE_ROOT}/Modules/CheckFunctionExists.c
COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
@@ -57,18 +57,18 @@ MACRO(CHECK_FUNCTION_EXISTS FUNCTION VARIABLE)
"${CHECK_FUNCTION_EXISTS_ADD_LIBRARIES}"
"${CHECK_FUNCTION_EXISTS_ADD_INCLUDES}"
OUTPUT_VARIABLE OUTPUT)
- IF(${VARIABLE})
- SET(${VARIABLE} 1 CACHE INTERNAL "Have function ${FUNCTION}")
- MESSAGE(STATUS "Looking for ${FUNCTION} - found")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ if(${VARIABLE})
+ set(${VARIABLE} 1 CACHE INTERNAL "Have function ${FUNCTION}")
+ message(STATUS "Looking for ${FUNCTION} - found")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Determining if the function ${FUNCTION} exists passed with the following output:\n"
"${OUTPUT}\n\n")
- ELSE(${VARIABLE})
- MESSAGE(STATUS "Looking for ${FUNCTION} - not found")
- SET(${VARIABLE} "" CACHE INTERNAL "Have function ${FUNCTION}")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ else()
+ message(STATUS "Looking for ${FUNCTION} - not found")
+ set(${VARIABLE} "" CACHE INTERNAL "Have function ${FUNCTION}")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Determining if the function ${FUNCTION} exists failed with the following output:\n"
"${OUTPUT}\n\n")
- ENDIF(${VARIABLE})
- ENDIF("${VARIABLE}" MATCHES "^${VARIABLE}$")
-ENDMACRO(CHECK_FUNCTION_EXISTS)
+ endif()
+ endif()
+endmacro()
diff --git a/Modules/CheckIncludeFile.cmake b/Modules/CheckIncludeFile.cmake
index eb732d28b..8067e65ce 100644
--- a/Modules/CheckIncludeFile.cmake
+++ b/Modules/CheckIncludeFile.cmake
@@ -3,8 +3,8 @@
# - macro which checks the include file exists.
# INCLUDE - name of include file
# VARIABLE - variable to return result
-#
-# an optional third argument is the CFlags to add to the compile line
+#
+# an optional third argument is the CFlags to add to the compile line
# or you can use CMAKE_REQUIRED_FLAGS
#
# The following variables may be set before calling this macro to
@@ -28,50 +28,50 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-MACRO(CHECK_INCLUDE_FILE INCLUDE VARIABLE)
- IF("${VARIABLE}" MATCHES "^${VARIABLE}$")
- IF(CMAKE_REQUIRED_INCLUDES)
- SET(CHECK_INCLUDE_FILE_C_INCLUDE_DIRS "-DINCLUDE_DIRECTORIES=${CMAKE_REQUIRED_INCLUDES}")
- ELSE(CMAKE_REQUIRED_INCLUDES)
- SET(CHECK_INCLUDE_FILE_C_INCLUDE_DIRS)
- ENDIF(CMAKE_REQUIRED_INCLUDES)
- SET(MACRO_CHECK_INCLUDE_FILE_FLAGS ${CMAKE_REQUIRED_FLAGS})
- SET(CHECK_INCLUDE_FILE_VAR ${INCLUDE})
- CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CheckIncludeFile.c.in
+macro(CHECK_INCLUDE_FILE INCLUDE VARIABLE)
+ if("${VARIABLE}" MATCHES "^${VARIABLE}$")
+ if(CMAKE_REQUIRED_INCLUDES)
+ set(CHECK_INCLUDE_FILE_C_INCLUDE_DIRS "-DINCLUDE_DIRECTORIES=${CMAKE_REQUIRED_INCLUDES}")
+ else()
+ set(CHECK_INCLUDE_FILE_C_INCLUDE_DIRS)
+ endif()
+ set(MACRO_CHECK_INCLUDE_FILE_FLAGS ${CMAKE_REQUIRED_FLAGS})
+ set(CHECK_INCLUDE_FILE_VAR ${INCLUDE})
+ configure_file(${CMAKE_ROOT}/Modules/CheckIncludeFile.c.in
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFile.c IMMEDIATE)
- MESSAGE(STATUS "Looking for ${INCLUDE}")
- IF(${ARGC} EQUAL 3)
- SET(CMAKE_C_FLAGS_SAVE ${CMAKE_C_FLAGS})
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ARGV2}")
- ENDIF(${ARGC} EQUAL 3)
+ message(STATUS "Looking for ${INCLUDE}")
+ if(${ARGC} EQUAL 3)
+ set(CMAKE_C_FLAGS_SAVE ${CMAKE_C_FLAGS})
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ARGV2}")
+ endif()
- TRY_COMPILE(${VARIABLE}
+ try_compile(${VARIABLE}
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFile.c
COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
- CMAKE_FLAGS
+ CMAKE_FLAGS
-DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_INCLUDE_FILE_FLAGS}
"${CHECK_INCLUDE_FILE_C_INCLUDE_DIRS}"
- OUTPUT_VARIABLE OUTPUT)
+ OUTPUT_VARIABLE OUTPUT)
- IF(${ARGC} EQUAL 3)
- SET(CMAKE_C_FLAGS ${CMAKE_C_FLAGS_SAVE})
- ENDIF(${ARGC} EQUAL 3)
+ if(${ARGC} EQUAL 3)
+ set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS_SAVE})
+ endif()
- IF(${VARIABLE})
- MESSAGE(STATUS "Looking for ${INCLUDE} - found")
- SET(${VARIABLE} 1 CACHE INTERNAL "Have include ${INCLUDE}")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ if(${VARIABLE})
+ message(STATUS "Looking for ${INCLUDE} - found")
+ set(${VARIABLE} 1 CACHE INTERNAL "Have include ${INCLUDE}")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Determining if the include file ${INCLUDE} "
"exists passed with the following output:\n"
"${OUTPUT}\n\n")
- ELSE(${VARIABLE})
- MESSAGE(STATUS "Looking for ${INCLUDE} - not found")
- SET(${VARIABLE} "" CACHE INTERNAL "Have include ${INCLUDE}")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ else()
+ message(STATUS "Looking for ${INCLUDE} - not found")
+ set(${VARIABLE} "" CACHE INTERNAL "Have include ${INCLUDE}")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Determining if the include file ${INCLUDE} "
"exists failed with the following output:\n"
"${OUTPUT}\n\n")
- ENDIF(${VARIABLE})
- ENDIF("${VARIABLE}" MATCHES "^${VARIABLE}$")
-ENDMACRO(CHECK_INCLUDE_FILE)
+ endif()
+ endif()
+endmacro()
diff --git a/Modules/CheckIncludeFileCXX.cmake b/Modules/CheckIncludeFileCXX.cmake
index c5d8f9aa2..22c2d1ac7 100644
--- a/Modules/CheckIncludeFileCXX.cmake
+++ b/Modules/CheckIncludeFileCXX.cmake
@@ -3,8 +3,8 @@
#
# INCLUDE - name of include file
# VARIABLE - variable to return result
-#
-# An optional third argument is the CFlags to add to the compile line
+#
+# An optional third argument is the CFlags to add to the compile line
# or you can use CMAKE_REQUIRED_FLAGS.
#
# The following variables may be set before calling this macro to
@@ -28,50 +28,50 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-MACRO(CHECK_INCLUDE_FILE_CXX INCLUDE VARIABLE)
- IF("${VARIABLE}" MATCHES "^${VARIABLE}$")
- IF(CMAKE_REQUIRED_INCLUDES)
- SET(CHECK_INCLUDE_FILE_CXX_INCLUDE_DIRS "-DINCLUDE_DIRECTORIES=${CMAKE_REQUIRED_INCLUDES}")
- ELSE(CMAKE_REQUIRED_INCLUDES)
- SET(CHECK_INCLUDE_FILE_CXX_INCLUDE_DIRS)
- ENDIF(CMAKE_REQUIRED_INCLUDES)
- SET(MACRO_CHECK_INCLUDE_FILE_FLAGS ${CMAKE_REQUIRED_FLAGS})
- SET(CHECK_INCLUDE_FILE_VAR ${INCLUDE})
- CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CheckIncludeFile.cxx.in
+macro(CHECK_INCLUDE_FILE_CXX INCLUDE VARIABLE)
+ if("${VARIABLE}" MATCHES "^${VARIABLE}$")
+ if(CMAKE_REQUIRED_INCLUDES)
+ set(CHECK_INCLUDE_FILE_CXX_INCLUDE_DIRS "-DINCLUDE_DIRECTORIES=${CMAKE_REQUIRED_INCLUDES}")
+ else()
+ set(CHECK_INCLUDE_FILE_CXX_INCLUDE_DIRS)
+ endif()
+ set(MACRO_CHECK_INCLUDE_FILE_FLAGS ${CMAKE_REQUIRED_FLAGS})
+ set(CHECK_INCLUDE_FILE_VAR ${INCLUDE})
+ configure_file(${CMAKE_ROOT}/Modules/CheckIncludeFile.cxx.in
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFile.cxx IMMEDIATE)
- MESSAGE(STATUS "Looking for C++ include ${INCLUDE}")
- IF(${ARGC} EQUAL 3)
- SET(CMAKE_CXX_FLAGS_SAVE ${CMAKE_CXX_FLAGS})
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ARGV2}")
- ENDIF(${ARGC} EQUAL 3)
+ message(STATUS "Looking for C++ include ${INCLUDE}")
+ if(${ARGC} EQUAL 3)
+ set(CMAKE_CXX_FLAGS_SAVE ${CMAKE_CXX_FLAGS})
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ARGV2}")
+ endif()
- TRY_COMPILE(${VARIABLE}
+ try_compile(${VARIABLE}
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFile.cxx
COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
- CMAKE_FLAGS
+ CMAKE_FLAGS
-DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_INCLUDE_FILE_FLAGS}
"${CHECK_INCLUDE_FILE_CXX_INCLUDE_DIRS}"
- OUTPUT_VARIABLE OUTPUT)
+ OUTPUT_VARIABLE OUTPUT)
- IF(${ARGC} EQUAL 3)
- SET(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS_SAVE})
- ENDIF(${ARGC} EQUAL 3)
+ if(${ARGC} EQUAL 3)
+ set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS_SAVE})
+ endif()
- IF(${VARIABLE})
- MESSAGE(STATUS "Looking for C++ include ${INCLUDE} - found")
- SET(${VARIABLE} 1 CACHE INTERNAL "Have include ${INCLUDE}")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ if(${VARIABLE})
+ message(STATUS "Looking for C++ include ${INCLUDE} - found")
+ set(${VARIABLE} 1 CACHE INTERNAL "Have include ${INCLUDE}")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Determining if the include file ${INCLUDE} "
"exists passed with the following output:\n"
"${OUTPUT}\n\n")
- ELSE(${VARIABLE})
- MESSAGE(STATUS "Looking for C++ include ${INCLUDE} - not found")
- SET(${VARIABLE} "" CACHE INTERNAL "Have include ${INCLUDE}")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ else()
+ message(STATUS "Looking for C++ include ${INCLUDE} - not found")
+ set(${VARIABLE} "" CACHE INTERNAL "Have include ${INCLUDE}")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Determining if the include file ${INCLUDE} "
"exists failed with the following output:\n"
"${OUTPUT}\n\n")
- ENDIF(${VARIABLE})
- ENDIF("${VARIABLE}" MATCHES "^${VARIABLE}$")
-ENDMACRO(CHECK_INCLUDE_FILE_CXX)
+ endif()
+ endif()
+endmacro()
diff --git a/Modules/CheckIncludeFiles.cmake b/Modules/CheckIncludeFiles.cmake
index a94644e6a..daf2dd0ea 100644
--- a/Modules/CheckIncludeFiles.cmake
+++ b/Modules/CheckIncludeFiles.cmake
@@ -25,58 +25,58 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-MACRO(CHECK_INCLUDE_FILES INCLUDE VARIABLE)
- IF("${VARIABLE}" MATCHES "^${VARIABLE}$")
- SET(CMAKE_CONFIGURABLE_FILE_CONTENT "/* */\n")
- IF(CMAKE_REQUIRED_INCLUDES)
- SET(CHECK_INCLUDE_FILES_INCLUDE_DIRS "-DINCLUDE_DIRECTORIES=${CMAKE_REQUIRED_INCLUDES}")
- ELSE(CMAKE_REQUIRED_INCLUDES)
- SET(CHECK_INCLUDE_FILES_INCLUDE_DIRS)
- ENDIF(CMAKE_REQUIRED_INCLUDES)
- SET(CHECK_INCLUDE_FILES_CONTENT "/* */\n")
- SET(MACRO_CHECK_INCLUDE_FILES_FLAGS ${CMAKE_REQUIRED_FLAGS})
- FOREACH(FILE ${INCLUDE})
- SET(CMAKE_CONFIGURABLE_FILE_CONTENT
+macro(CHECK_INCLUDE_FILES INCLUDE VARIABLE)
+ if("${VARIABLE}" MATCHES "^${VARIABLE}$")
+ set(CMAKE_CONFIGURABLE_FILE_CONTENT "/* */\n")
+ if(CMAKE_REQUIRED_INCLUDES)
+ set(CHECK_INCLUDE_FILES_INCLUDE_DIRS "-DINCLUDE_DIRECTORIES=${CMAKE_REQUIRED_INCLUDES}")
+ else()
+ set(CHECK_INCLUDE_FILES_INCLUDE_DIRS)
+ endif()
+ set(CHECK_INCLUDE_FILES_CONTENT "/* */\n")
+ set(MACRO_CHECK_INCLUDE_FILES_FLAGS ${CMAKE_REQUIRED_FLAGS})
+ foreach(FILE ${INCLUDE})
+ set(CMAKE_CONFIGURABLE_FILE_CONTENT
"${CMAKE_CONFIGURABLE_FILE_CONTENT}#include <${FILE}>\n")
- ENDFOREACH(FILE)
- SET(CMAKE_CONFIGURABLE_FILE_CONTENT
+ endforeach()
+ set(CMAKE_CONFIGURABLE_FILE_CONTENT
"${CMAKE_CONFIGURABLE_FILE_CONTENT}\n\nint main(){return 0;}\n")
- CONFIGURE_FILE("${CMAKE_ROOT}/Modules/CMakeConfigurableFile.in"
+ configure_file("${CMAKE_ROOT}/Modules/CMakeConfigurableFile.in"
"${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFiles.c" @ONLY IMMEDIATE)
- SET(_INCLUDE ${INCLUDE}) # remove empty elements
- IF("${_INCLUDE}" MATCHES "^([^;]+);.+;([^;]+)$")
- LIST(LENGTH _INCLUDE _INCLUDE_LEN)
- SET(_description "${_INCLUDE_LEN} include files ${CMAKE_MATCH_1}, ..., ${CMAKE_MATCH_2}")
- ELSEIF("${_INCLUDE}" MATCHES "^([^;]+);([^;]+)$")
- SET(_description "include files ${CMAKE_MATCH_1}, ${CMAKE_MATCH_2}")
- ELSE()
- SET(_description "include file ${_INCLUDE}")
- ENDIF()
+ set(_INCLUDE ${INCLUDE}) # remove empty elements
+ if("${_INCLUDE}" MATCHES "^([^;]+);.+;([^;]+)$")
+ list(LENGTH _INCLUDE _INCLUDE_LEN)
+ set(_description "${_INCLUDE_LEN} include files ${CMAKE_MATCH_1}, ..., ${CMAKE_MATCH_2}")
+ elseif("${_INCLUDE}" MATCHES "^([^;]+);([^;]+)$")
+ set(_description "include files ${CMAKE_MATCH_1}, ${CMAKE_MATCH_2}")
+ else()
+ set(_description "include file ${_INCLUDE}")
+ endif()
- MESSAGE(STATUS "Looking for ${_description}")
- TRY_COMPILE(${VARIABLE}
+ message(STATUS "Looking for ${_description}")
+ try_compile(${VARIABLE}
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFiles.c
COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
- CMAKE_FLAGS
+ CMAKE_FLAGS
-DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_INCLUDE_FILES_FLAGS}
"${CHECK_INCLUDE_FILES_INCLUDE_DIRS}"
OUTPUT_VARIABLE OUTPUT)
- IF(${VARIABLE})
- MESSAGE(STATUS "Looking for ${_description} - found")
- SET(${VARIABLE} 1 CACHE INTERNAL "Have include ${INCLUDE}")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ if(${VARIABLE})
+ message(STATUS "Looking for ${_description} - found")
+ set(${VARIABLE} 1 CACHE INTERNAL "Have include ${INCLUDE}")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Determining if files ${INCLUDE} "
"exist passed with the following output:\n"
"${OUTPUT}\n\n")
- ELSE(${VARIABLE})
- MESSAGE(STATUS "Looking for ${_description} - not found.")
- SET(${VARIABLE} "" CACHE INTERNAL "Have includes ${INCLUDE}")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ else()
+ message(STATUS "Looking for ${_description} - not found")
+ set(${VARIABLE} "" CACHE INTERNAL "Have includes ${INCLUDE}")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Determining if files ${INCLUDE} "
"exist failed with the following output:\n"
"${OUTPUT}\nSource:\n${CMAKE_CONFIGURABLE_FILE_CONTENT}\n")
- ENDIF(${VARIABLE})
- ENDIF("${VARIABLE}" MATCHES "^${VARIABLE}$")
-ENDMACRO(CHECK_INCLUDE_FILES)
+ endif()
+ endif()
+endmacro()
diff --git a/Modules/CheckLibraryExists.cmake b/Modules/CheckLibraryExists.cmake
index 59fca0a32..697f8a4dc 100644
--- a/Modules/CheckLibraryExists.cmake
+++ b/Modules/CheckLibraryExists.cmake
@@ -26,22 +26,22 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE("${CMAKE_CURRENT_LIST_DIR}/CMakeExpandImportedTargets.cmake")
+include("${CMAKE_CURRENT_LIST_DIR}/CMakeExpandImportedTargets.cmake")
-MACRO(CHECK_LIBRARY_EXISTS LIBRARY FUNCTION LOCATION VARIABLE)
- IF("${VARIABLE}" MATCHES "^${VARIABLE}$")
- SET(MACRO_CHECK_LIBRARY_EXISTS_DEFINITION
+macro(CHECK_LIBRARY_EXISTS LIBRARY FUNCTION LOCATION VARIABLE)
+ if("${VARIABLE}" MATCHES "^${VARIABLE}$")
+ set(MACRO_CHECK_LIBRARY_EXISTS_DEFINITION
"-DCHECK_FUNCTION_EXISTS=${FUNCTION} ${CMAKE_REQUIRED_FLAGS}")
- MESSAGE(STATUS "Looking for ${FUNCTION} in ${LIBRARY}")
- SET(CHECK_LIBRARY_EXISTS_LIBRARIES ${LIBRARY})
- IF(CMAKE_REQUIRED_LIBRARIES)
+ message(STATUS "Looking for ${FUNCTION} in ${LIBRARY}")
+ set(CHECK_LIBRARY_EXISTS_LIBRARIES ${LIBRARY})
+ if(CMAKE_REQUIRED_LIBRARIES)
# this one translates potentially used imported library targets to their files on disk
CMAKE_EXPAND_IMPORTED_TARGETS(_ADJUSTED_CMAKE_REQUIRED_LIBRARIES LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} CONFIGURATION "${CMAKE_TRY_COMPILE_CONFIGURATION}")
- SET(CHECK_LIBRARY_EXISTS_LIBRARIES
+ set(CHECK_LIBRARY_EXISTS_LIBRARIES
${CHECK_LIBRARY_EXISTS_LIBRARIES} ${_ADJUSTED_CMAKE_REQUIRED_LIBRARIES})
- ENDIF(CMAKE_REQUIRED_LIBRARIES)
- TRY_COMPILE(${VARIABLE}
+ endif()
+ try_compile(${VARIABLE}
${CMAKE_BINARY_DIR}
${CMAKE_ROOT}/Modules/CheckFunctionExists.c
COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
@@ -51,20 +51,20 @@ MACRO(CHECK_LIBRARY_EXISTS LIBRARY FUNCTION LOCATION VARIABLE)
"-DLINK_LIBRARIES:STRING=${CHECK_LIBRARY_EXISTS_LIBRARIES}"
OUTPUT_VARIABLE OUTPUT)
- IF(${VARIABLE})
- MESSAGE(STATUS "Looking for ${FUNCTION} in ${LIBRARY} - found")
- SET(${VARIABLE} 1 CACHE INTERNAL "Have library ${LIBRARY}")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ if(${VARIABLE})
+ message(STATUS "Looking for ${FUNCTION} in ${LIBRARY} - found")
+ set(${VARIABLE} 1 CACHE INTERNAL "Have library ${LIBRARY}")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Determining if the function ${FUNCTION} exists in the ${LIBRARY} "
"passed with the following output:\n"
"${OUTPUT}\n\n")
- ELSE(${VARIABLE})
- MESSAGE(STATUS "Looking for ${FUNCTION} in ${LIBRARY} - not found")
- SET(${VARIABLE} "" CACHE INTERNAL "Have library ${LIBRARY}")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ else()
+ message(STATUS "Looking for ${FUNCTION} in ${LIBRARY} - not found")
+ set(${VARIABLE} "" CACHE INTERNAL "Have library ${LIBRARY}")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Determining if the function ${FUNCTION} exists in the ${LIBRARY} "
"failed with the following output:\n"
"${OUTPUT}\n\n")
- ENDIF(${VARIABLE})
- ENDIF("${VARIABLE}" MATCHES "^${VARIABLE}$")
-ENDMACRO(CHECK_LIBRARY_EXISTS)
+ endif()
+ endif()
+endmacro()
diff --git a/Modules/CheckPrototypeDefinition.cmake b/Modules/CheckPrototypeDefinition.cmake
index 63d424237..74b94b86f 100644
--- a/Modules/CheckPrototypeDefinition.cmake
+++ b/Modules/CheckPrototypeDefinition.cmake
@@ -50,20 +50,20 @@ function(CHECK_PROTOTYPE_DEFINITION _FUNCTION _PROTOTYPE _RETURN _HEADER _VARIAB
cmake_expand_imported_targets(_ADJUSTED_CMAKE_REQUIRED_LIBRARIES LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} CONFIGURATION "${CMAKE_TRY_COMPILE_CONFIGURATION}")
set(CHECK_PROTOTYPE_DEFINITION_LIBS
"-DLINK_LIBRARIES:STRING=${_ADJUSTED_CMAKE_REQUIRED_LIBRARIES}")
- else(CMAKE_REQUIRED_LIBRARIES)
+ else()
set(CHECK_PROTOTYPE_DEFINITION_LIBS)
- endif(CMAKE_REQUIRED_LIBRARIES)
+ endif()
if (CMAKE_REQUIRED_INCLUDES)
set(CMAKE_SYMBOL_EXISTS_INCLUDES
"-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
- else(CMAKE_REQUIRED_INCLUDES)
+ else()
set(CMAKE_SYMBOL_EXISTS_INCLUDES)
- endif(CMAKE_REQUIRED_INCLUDES)
+ endif()
foreach(_FILE ${_HEADER})
set(CHECK_PROTOTYPE_DEFINITION_HEADER
"${CHECK_PROTOTYPE_DEFINITION_HEADER}#include <${_FILE}>\n")
- endforeach(_FILE)
+ endforeach()
set(CHECK_PROTOTYPE_DEFINITION_SYMBOL ${_FUNCTION})
set(CHECK_PROTOTYPE_DEFINITION_PROTO ${_PROTOTYPE})
@@ -89,13 +89,13 @@ function(CHECK_PROTOTYPE_DEFINITION _FUNCTION _PROTOTYPE _RETURN _HEADER _VARIAB
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Determining if the prototype ${_FUNCTION} exists for ${_VARIABLE} passed with the following output:\n"
"${OUTPUT}\n\n")
- else (${_VARIABLE})
+ else ()
message(STATUS "Checking prototype ${_FUNCTION} for ${_VARIABLE} - False")
set(${_VARIABLE} 0 CACHE INTERNAL "Have correct prototype for ${_FUNCTION}")
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Determining if the prototype ${_FUNCTION} exists for ${_VARIABLE} failed with the following output:\n"
"${OUTPUT}\n\n${_SOURCE}\n\n")
- endif (${_VARIABLE})
- endif("${_VARIABLE}" MATCHES "^${_VARIABLE}$")
+ endif ()
+ endif()
-endfunction(CHECK_PROTOTYPE_DEFINITION)
+endfunction()
diff --git a/Modules/CheckSizeOf.cmake b/Modules/CheckSizeOf.cmake
index f6d6636e5..9f587b5c2 100644
--- a/Modules/CheckSizeOf.cmake
+++ b/Modules/CheckSizeOf.cmake
@@ -12,7 +12,7 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-MESSAGE(SEND_ERROR
+message(SEND_ERROR
"Modules/CheckSizeOf.cmake has been removed. "
"Use Modules/CheckTypeSize.cmake instead. This "
"compatability check may be removed before the next release!")
diff --git a/Modules/CheckStructHasMember.cmake b/Modules/CheckStructHasMember.cmake
index 18e80e3c0..ea2891c8b 100644
--- a/Modules/CheckStructHasMember.cmake
+++ b/Modules/CheckStructHasMember.cmake
@@ -28,15 +28,15 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE(CheckCSourceCompiles)
+include(CheckCSourceCompiles)
-MACRO (CHECK_STRUCT_HAS_MEMBER _STRUCT _MEMBER _HEADER _RESULT)
- SET(_INCLUDE_FILES)
- FOREACH (it ${_HEADER})
- SET(_INCLUDE_FILES "${_INCLUDE_FILES}#include <${it}>\n")
- ENDFOREACH (it)
+macro (CHECK_STRUCT_HAS_MEMBER _STRUCT _MEMBER _HEADER _RESULT)
+ set(_INCLUDE_FILES)
+ foreach (it ${_HEADER})
+ set(_INCLUDE_FILES "${_INCLUDE_FILES}#include <${it}>\n")
+ endforeach ()
- SET(_CHECK_STRUCT_MEMBER_SOURCE_CODE "
+ set(_CHECK_STRUCT_MEMBER_SOURCE_CODE "
${_INCLUDE_FILES}
int main()
{
@@ -47,5 +47,5 @@ int main()
")
CHECK_C_SOURCE_COMPILES("${_CHECK_STRUCT_MEMBER_SOURCE_CODE}" ${_RESULT})
-ENDMACRO (CHECK_STRUCT_HAS_MEMBER)
+endmacro ()
diff --git a/Modules/CheckSymbolExists.cmake b/Modules/CheckSymbolExists.cmake
index e6e677d4f..5a8597f23 100644
--- a/Modules/CheckSymbolExists.cmake
+++ b/Modules/CheckSymbolExists.cmake
@@ -35,43 +35,43 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE("${CMAKE_CURRENT_LIST_DIR}/CMakeExpandImportedTargets.cmake")
+include("${CMAKE_CURRENT_LIST_DIR}/CMakeExpandImportedTargets.cmake")
-MACRO(CHECK_SYMBOL_EXISTS SYMBOL FILES VARIABLE)
+macro(CHECK_SYMBOL_EXISTS SYMBOL FILES VARIABLE)
_CHECK_SYMBOL_EXISTS("${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckSymbolExists.c" "${SYMBOL}" "${FILES}" "${VARIABLE}" )
-ENDMACRO(CHECK_SYMBOL_EXISTS)
+endmacro()
-MACRO(_CHECK_SYMBOL_EXISTS SOURCEFILE SYMBOL FILES VARIABLE)
- IF("${VARIABLE}" MATCHES "^${VARIABLE}$")
- SET(CMAKE_CONFIGURABLE_FILE_CONTENT "/* */\n")
- SET(MACRO_CHECK_SYMBOL_EXISTS_FLAGS ${CMAKE_REQUIRED_FLAGS})
- IF(CMAKE_REQUIRED_LIBRARIES)
+macro(_CHECK_SYMBOL_EXISTS SOURCEFILE SYMBOL FILES VARIABLE)
+ if("${VARIABLE}" MATCHES "^${VARIABLE}$")
+ set(CMAKE_CONFIGURABLE_FILE_CONTENT "/* */\n")
+ set(MACRO_CHECK_SYMBOL_EXISTS_FLAGS ${CMAKE_REQUIRED_FLAGS})
+ if(CMAKE_REQUIRED_LIBRARIES)
# this one translates potentially used imported library targets to their files on disk
CMAKE_EXPAND_IMPORTED_TARGETS(_ADJUSTED_CMAKE_REQUIRED_LIBRARIES LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} CONFIGURATION "${CMAKE_TRY_COMPILE_CONFIGURATION}")
- SET(CHECK_SYMBOL_EXISTS_LIBS
+ set(CHECK_SYMBOL_EXISTS_LIBS
"-DLINK_LIBRARIES:STRING=${_ADJUSTED_CMAKE_REQUIRED_LIBRARIES}")
- ELSE(CMAKE_REQUIRED_LIBRARIES)
- SET(CHECK_SYMBOL_EXISTS_LIBS)
- ENDIF(CMAKE_REQUIRED_LIBRARIES)
- IF(CMAKE_REQUIRED_INCLUDES)
- SET(CMAKE_SYMBOL_EXISTS_INCLUDES
+ else()
+ set(CHECK_SYMBOL_EXISTS_LIBS)
+ endif()
+ if(CMAKE_REQUIRED_INCLUDES)
+ set(CMAKE_SYMBOL_EXISTS_INCLUDES
"-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")
- ELSE(CMAKE_REQUIRED_INCLUDES)
- SET(CMAKE_SYMBOL_EXISTS_INCLUDES)
- ENDIF(CMAKE_REQUIRED_INCLUDES)
- FOREACH(FILE ${FILES})
- SET(CMAKE_CONFIGURABLE_FILE_CONTENT
+ else()
+ set(CMAKE_SYMBOL_EXISTS_INCLUDES)
+ endif()
+ foreach(FILE ${FILES})
+ set(CMAKE_CONFIGURABLE_FILE_CONTENT
"${CMAKE_CONFIGURABLE_FILE_CONTENT}#include <${FILE}>\n")
- ENDFOREACH(FILE)
- SET(CMAKE_CONFIGURABLE_FILE_CONTENT
+ endforeach()
+ set(CMAKE_CONFIGURABLE_FILE_CONTENT
"${CMAKE_CONFIGURABLE_FILE_CONTENT}\nint main(int argc, char** argv)\n{\n (void)argv;\n#ifndef ${SYMBOL}\n return ((int*)(&${SYMBOL}))[argc];\n#else\n (void)argc;\n return 0;\n#endif\n}\n")
- CONFIGURE_FILE("${CMAKE_ROOT}/Modules/CMakeConfigurableFile.in"
+ configure_file("${CMAKE_ROOT}/Modules/CMakeConfigurableFile.in"
"${SOURCEFILE}" @ONLY IMMEDIATE)
- MESSAGE(STATUS "Looking for ${SYMBOL}")
- TRY_COMPILE(${VARIABLE}
+ message(STATUS "Looking for ${SYMBOL}")
+ try_compile(${VARIABLE}
${CMAKE_BINARY_DIR}
"${SOURCEFILE}"
COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
@@ -80,22 +80,22 @@ MACRO(_CHECK_SYMBOL_EXISTS SOURCEFILE SYMBOL FILES VARIABLE)
"${CHECK_SYMBOL_EXISTS_LIBS}"
"${CMAKE_SYMBOL_EXISTS_INCLUDES}"
OUTPUT_VARIABLE OUTPUT)
- IF(${VARIABLE})
- MESSAGE(STATUS "Looking for ${SYMBOL} - found")
- SET(${VARIABLE} 1 CACHE INTERNAL "Have symbol ${SYMBOL}")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ if(${VARIABLE})
+ message(STATUS "Looking for ${SYMBOL} - found")
+ set(${VARIABLE} 1 CACHE INTERNAL "Have symbol ${SYMBOL}")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Determining if the ${SYMBOL} "
"exist passed with the following output:\n"
"${OUTPUT}\nFile ${SOURCEFILE}:\n"
"${CMAKE_CONFIGURABLE_FILE_CONTENT}\n")
- ELSE(${VARIABLE})
- MESSAGE(STATUS "Looking for ${SYMBOL} - not found.")
- SET(${VARIABLE} "" CACHE INTERNAL "Have symbol ${SYMBOL}")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ else()
+ message(STATUS "Looking for ${SYMBOL} - not found")
+ set(${VARIABLE} "" CACHE INTERNAL "Have symbol ${SYMBOL}")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Determining if the ${SYMBOL} "
"exist failed with the following output:\n"
"${OUTPUT}\nFile ${SOURCEFILE}:\n"
"${CMAKE_CONFIGURABLE_FILE_CONTENT}\n")
- ENDIF(${VARIABLE})
- ENDIF("${VARIABLE}" MATCHES "^${VARIABLE}$")
-ENDMACRO(_CHECK_SYMBOL_EXISTS)
+ endif()
+ endif()
+endmacro()
diff --git a/Modules/CheckTypeSize.cmake b/Modules/CheckTypeSize.cmake
index 1717718c9..7285b8a6d 100644
--- a/Modules/CheckTypeSize.cmake
+++ b/Modules/CheckTypeSize.cmake
@@ -24,6 +24,11 @@
# size check automatically includes the available headers, thus
# supporting checks of types defined in the headers.
#
+# Despite the name of the macro you may use it to check the size of
+# more complex expressions, too. To check e.g. for the size of a struct
+# member you can do something like this:
+# check_type_size("((struct something*)0)->member" SIZEOF_MEMBER)
+#
# The following variables may be set before calling this macro to
# modify the way the check is run:
#
@@ -142,7 +147,7 @@ function(__check_type_size_impl type var map builtin)
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Determining size of ${type} passed with the following output:\n${output}\n\n")
set(${var} "${${var}}" CACHE INTERNAL "CHECK_TYPE_SIZE: sizeof(${type})")
- else(HAVE_${var})
+ else()
# The check failed to compile.
message(STATUS "Check size of ${type} - failed")
file(READ ${src} content)
@@ -150,7 +155,7 @@ function(__check_type_size_impl type var map builtin)
"Determining size of ${type} failed with the following output:\n${output}\n${src}:\n${content}\n\n")
set(${var} "" CACHE INTERNAL "CHECK_TYPE_SIZE: ${type} unknown")
file(REMOVE ${map})
- endif(HAVE_${var})
+ endif()
endfunction()
#-----------------------------------------------------------------------------
diff --git a/Modules/CheckVariableExists.cmake b/Modules/CheckVariableExists.cmake
index 7d6c7945d..f9155a014 100644
--- a/Modules/CheckVariableExists.cmake
+++ b/Modules/CheckVariableExists.cmake
@@ -26,41 +26,41 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE("${CMAKE_CURRENT_LIST_DIR}/CMakeExpandImportedTargets.cmake")
+include("${CMAKE_CURRENT_LIST_DIR}/CMakeExpandImportedTargets.cmake")
-MACRO(CHECK_VARIABLE_EXISTS VAR VARIABLE)
- IF("${VARIABLE}" MATCHES "^${VARIABLE}$")
- SET(MACRO_CHECK_VARIABLE_DEFINITIONS
+macro(CHECK_VARIABLE_EXISTS VAR VARIABLE)
+ if("${VARIABLE}" MATCHES "^${VARIABLE}$")
+ set(MACRO_CHECK_VARIABLE_DEFINITIONS
"-DCHECK_VARIABLE_EXISTS=${VAR} ${CMAKE_REQUIRED_FLAGS}")
- MESSAGE(STATUS "Looking for ${VAR}")
- IF(CMAKE_REQUIRED_LIBRARIES)
+ message(STATUS "Looking for ${VAR}")
+ if(CMAKE_REQUIRED_LIBRARIES)
# this one translates potentially used imported library targets to their files on disk
CMAKE_EXPAND_IMPORTED_TARGETS(_ADJUSTED_CMAKE_REQUIRED_LIBRARIES LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} CONFIGURATION "${CMAKE_TRY_COMPILE_CONFIGURATION}")
- SET(CHECK_VARIABLE_EXISTS_ADD_LIBRARIES
+ set(CHECK_VARIABLE_EXISTS_ADD_LIBRARIES
"-DLINK_LIBRARIES:STRING=${_ADJUSTED_CMAKE_REQUIRED_LIBRARIES}")
- ELSE(CMAKE_REQUIRED_LIBRARIES)
- SET(CHECK_VARIABLE_EXISTS_ADD_LIBRARIES)
- ENDIF(CMAKE_REQUIRED_LIBRARIES)
- TRY_COMPILE(${VARIABLE}
+ else()
+ set(CHECK_VARIABLE_EXISTS_ADD_LIBRARIES)
+ endif()
+ try_compile(${VARIABLE}
${CMAKE_BINARY_DIR}
${CMAKE_ROOT}/Modules/CheckVariableExists.c
COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_VARIABLE_DEFINITIONS}
"${CHECK_VARIABLE_EXISTS_ADD_LIBRARIES}"
OUTPUT_VARIABLE OUTPUT)
- IF(${VARIABLE})
- SET(${VARIABLE} 1 CACHE INTERNAL "Have variable ${VAR}")
- MESSAGE(STATUS "Looking for ${VAR} - found")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ if(${VARIABLE})
+ set(${VARIABLE} 1 CACHE INTERNAL "Have variable ${VAR}")
+ message(STATUS "Looking for ${VAR} - found")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Determining if the variable ${VAR} exists passed with the following output:\n"
"${OUTPUT}\n\n")
- ELSE(${VARIABLE})
- SET(${VARIABLE} "" CACHE INTERNAL "Have variable ${VAR}")
- MESSAGE(STATUS "Looking for ${VAR} - not found")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ else()
+ set(${VARIABLE} "" CACHE INTERNAL "Have variable ${VAR}")
+ message(STATUS "Looking for ${VAR} - not found")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Determining if the variable ${VAR} exists failed with the following output:\n"
"${OUTPUT}\n\n")
- ENDIF(${VARIABLE})
- ENDIF("${VARIABLE}" MATCHES "^${VARIABLE}$")
-ENDMACRO(CHECK_VARIABLE_EXISTS)
+ endif()
+ endif()
+endmacro()
diff --git a/Modules/Compiler/Absoft-Fortran.cmake b/Modules/Compiler/Absoft-Fortran.cmake
index 1bb7b1f82..2e1666fbf 100644
--- a/Modules/Compiler/Absoft-Fortran.cmake
+++ b/Modules/Compiler/Absoft-Fortran.cmake
@@ -1,10 +1,10 @@
-SET(CMAKE_Fortran_FLAGS_INIT "")
-SET(CMAKE_Fortran_FLAGS_DEBUG_INIT "-g")
-SET(CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "")
-SET(CMAKE_Fortran_FLAGS_RELEASE_INIT "-O3")
-SET(CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT "-O2 -g")
-SET(CMAKE_Fortran_MODDIR_FLAG "-YMOD_OUT_DIR=")
-SET(CMAKE_Fortran_MODPATH_FLAG "-p")
-SET(CMAKE_Fortran_VERBOSE_FLAG "-v")
+set(CMAKE_Fortran_FLAGS_INIT "")
+set(CMAKE_Fortran_FLAGS_DEBUG_INIT "-g")
+set(CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "")
+set(CMAKE_Fortran_FLAGS_RELEASE_INIT "-O3")
+set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT "-O2 -g")
+set(CMAKE_Fortran_MODDIR_FLAG "-YMOD_OUT_DIR=")
+set(CMAKE_Fortran_MODPATH_FLAG "-p")
+set(CMAKE_Fortran_VERBOSE_FLAG "-v")
set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-ffixed")
set(CMAKE_Fortran_FORMAT_FREE_FLAG "-ffree")
diff --git a/Modules/Compiler/Clang-ASM.cmake b/Modules/Compiler/Clang-ASM.cmake
new file mode 100644
index 000000000..16c9c159c
--- /dev/null
+++ b/Modules/Compiler/Clang-ASM.cmake
@@ -0,0 +1,5 @@
+include(Compiler/Clang)
+
+set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS s;S;asm)
+
+__compiler_clang(ASM)
diff --git a/Modules/Compiler/Clang-C.cmake b/Modules/Compiler/Clang-C.cmake
index f7baf686a..98fcd0b3f 100644
--- a/Modules/Compiler/Clang-C.cmake
+++ b/Modules/Compiler/Clang-C.cmake
@@ -1 +1,2 @@
-include(Compiler/GNU-C)
+include(Compiler/Clang)
+__compiler_clang(C)
diff --git a/Modules/Compiler/Clang-CXX.cmake b/Modules/Compiler/Clang-CXX.cmake
index d3c403a69..486e2af88 100644
--- a/Modules/Compiler/Clang-CXX.cmake
+++ b/Modules/Compiler/Clang-CXX.cmake
@@ -1 +1,2 @@
-include(Compiler/GNU-CXX)
+include(Compiler/Clang)
+__compiler_clang(CXX)
diff --git a/Modules/Compiler/Clang.cmake b/Modules/Compiler/Clang.cmake
new file mode 100644
index 000000000..75a971dd7
--- /dev/null
+++ b/Modules/Compiler/Clang.cmake
@@ -0,0 +1,26 @@
+
+#=============================================================================
+# Copyright 2002-2012 Kitware, Inc.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distribute this file outside of CMake, substitute the full
+# License text for the above reference.)
+
+# This module is shared by multiple languages; use include blocker.
+if(__COMPILER_CLANG)
+ return()
+endif()
+set(__COMPILER_CLANG 1)
+
+include(Compiler/GNU)
+
+macro(__compiler_clang lang)
+ __compiler_gnu(${lang})
+ set(CMAKE_${lang}_COMPILE_OPTIONS_PIE "-fPIE")
+endmacro()
diff --git a/Modules/Compiler/GNU-Fortran.cmake b/Modules/Compiler/GNU-Fortran.cmake
index c710e8698..313ccbd02 100644
--- a/Modules/Compiler/GNU-Fortran.cmake
+++ b/Modules/Compiler/GNU-Fortran.cmake
@@ -5,13 +5,13 @@ set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-ffixed-form")
set(CMAKE_Fortran_FORMAT_FREE_FLAG "-ffree-form")
# No -DNDEBUG for Fortran.
-SET(CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "-Os")
-SET(CMAKE_Fortran_FLAGS_RELEASE_INIT "-O3")
+set(CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "-Os")
+set(CMAKE_Fortran_FLAGS_RELEASE_INIT "-O3")
# We require updates to CMake C++ code to support preprocessing rules
# for Fortran.
-SET(CMAKE_Fortran_CREATE_PREPROCESSED_SOURCE)
-SET(CMAKE_Fortran_CREATE_ASSEMBLY_SOURCE)
+set(CMAKE_Fortran_CREATE_PREPROCESSED_SOURCE)
+set(CMAKE_Fortran_CREATE_ASSEMBLY_SOURCE)
# Fortran-specific feature flags.
-SET(CMAKE_Fortran_MODDIR_FLAG -J)
+set(CMAKE_Fortran_MODDIR_FLAG -J)
diff --git a/Modules/Compiler/GNU.cmake b/Modules/Compiler/GNU.cmake
index 6aecf90e8..faad41672 100644
--- a/Modules/Compiler/GNU.cmake
+++ b/Modules/Compiler/GNU.cmake
@@ -32,7 +32,7 @@ macro(__compiler_gnu lang)
# header file as a warning if depfiles are enabled, causing check_header_file
# tests to always succeed. Work around this by disabling dependency tracking
# in try_compile mode.
- GET_PROPERTY(_IN_TC GLOBAL PROPERTY IN_TRY_COMPILE)
+ get_property(_IN_TC GLOBAL PROPERTY IN_TRY_COMPILE)
if(NOT _IN_TC OR CMAKE_FORCE_DEPFILES)
# distcc does not transform -o to -MT when invoking the preprocessor
# internally, as it ought to. Work around this bug by setting -MT here
@@ -45,10 +45,10 @@ macro(__compiler_gnu lang)
set(CMAKE_${lang}_FLAGS_DEBUG_INIT "-g")
set(CMAKE_${lang}_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG")
set(CMAKE_${lang}_FLAGS_RELEASE_INIT "-O3 -DNDEBUG")
- set(CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT "-O2 -g")
+ set(CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT "-O2 -g -DNDEBUG")
set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE "<CMAKE_${lang}_COMPILER> <DEFINES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE "<CMAKE_${lang}_COMPILER> <DEFINES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
if(NOT APPLE)
set(CMAKE_INCLUDE_SYSTEM_FLAG_${lang} "-isystem ")
- endif(NOT APPLE)
+ endif()
endmacro()
diff --git a/Modules/Compiler/HP-ASM.cmake b/Modules/Compiler/HP-ASM.cmake
index 8aa7bdb7d..b60f207b4 100644
--- a/Modules/Compiler/HP-ASM.cmake
+++ b/Modules/Compiler/HP-ASM.cmake
@@ -1,3 +1,3 @@
-SET(CMAKE_ASM_VERBOSE_FLAG "-v")
+set(CMAKE_ASM_VERBOSE_FLAG "-v")
set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS s )
diff --git a/Modules/Compiler/HP-C.cmake b/Modules/Compiler/HP-C.cmake
index dc7fbb21d..6dddcbae1 100644
--- a/Modules/Compiler/HP-C.cmake
+++ b/Modules/Compiler/HP-C.cmake
@@ -1,4 +1,4 @@
-SET(CMAKE_C_VERBOSE_FLAG "-v")
+set(CMAKE_C_VERBOSE_FLAG "-v")
-SET(CMAKE_C_CREATE_ASSEMBLY_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
-SET(CMAKE_C_CREATE_PREPROCESSED_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
+set(CMAKE_C_CREATE_ASSEMBLY_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
+set(CMAKE_C_CREATE_PREPROCESSED_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
diff --git a/Modules/Compiler/HP-CXX.cmake b/Modules/Compiler/HP-CXX.cmake
index 82c1a861e..44470cae0 100644
--- a/Modules/Compiler/HP-CXX.cmake
+++ b/Modules/Compiler/HP-CXX.cmake
@@ -1,4 +1,4 @@
-SET(CMAKE_CXX_VERBOSE_FLAG "-v")
+set(CMAKE_CXX_VERBOSE_FLAG "-v")
-SET(CMAKE_CXX_CREATE_ASSEMBLY_SOURCE "<CMAKE_CXX_COMPILER> <DEFINES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
-SET(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE "<CMAKE_CXX_COMPILER> <DEFINES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
+set(CMAKE_CXX_CREATE_ASSEMBLY_SOURCE "<CMAKE_CXX_COMPILER> <DEFINES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
+set(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE "<CMAKE_CXX_COMPILER> <DEFINES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
diff --git a/Modules/Compiler/HP-Fortran.cmake b/Modules/Compiler/HP-Fortran.cmake
index 04fb96ea4..cc56b4611 100644
--- a/Modules/Compiler/HP-Fortran.cmake
+++ b/Modules/Compiler/HP-Fortran.cmake
@@ -1,3 +1,3 @@
-SET(CMAKE_Fortran_VERBOSE_FLAG "-v")
+set(CMAKE_Fortran_VERBOSE_FLAG "-v")
set(CMAKE_Fortran_FORMAT_FIXED_FLAG "+source=fixed")
set(CMAKE_Fortran_FORMAT_FREE_FLAG "+source=free")
diff --git a/Modules/Compiler/Intel-ASM.cmake b/Modules/Compiler/Intel-ASM.cmake
index 59b50a15c..74ceb0a6a 100644
--- a/Modules/Compiler/Intel-ASM.cmake
+++ b/Modules/Compiler/Intel-ASM.cmake
@@ -1,13 +1,13 @@
-SET(CMAKE_ASM_VERBOSE_FLAG "-v")
+set(CMAKE_ASM_VERBOSE_FLAG "-v")
-SET(CMAKE_ASM_FLAGS_INIT "")
-SET(CMAKE_ASM_FLAGS_DEBUG_INIT "-g")
-SET(CMAKE_ASM_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG")
-SET(CMAKE_ASM_FLAGS_RELEASE_INIT "-O3 -DNDEBUG")
-SET(CMAKE_ASM_FLAGS_RELWITHDEBINFO_INIT "-O2 -g")
+set(CMAKE_ASM_FLAGS_INIT "")
+set(CMAKE_ASM_FLAGS_DEBUG_INIT "-g")
+set(CMAKE_ASM_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG")
+set(CMAKE_ASM_FLAGS_RELEASE_INIT "-O3 -DNDEBUG")
+set(CMAKE_ASM_FLAGS_RELWITHDEBINFO_INIT "-O2 -g -DNDEBUG")
-IF(UNIX)
- SET(CMAKE_ASM_SOURCE_FILE_EXTENSIONS s;S)
-ELSE(UNIX)
- SET(CMAKE_ASM_SOURCE_FILE_EXTENSIONS asm)
-ENDIF(UNIX)
+if(UNIX)
+ set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS s;S)
+else()
+ set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS asm)
+endif()
diff --git a/Modules/Compiler/Intel-C.cmake b/Modules/Compiler/Intel-C.cmake
index 4be91d084..e23317c14 100644
--- a/Modules/Compiler/Intel-C.cmake
+++ b/Modules/Compiler/Intel-C.cmake
@@ -1,10 +1,10 @@
-SET(CMAKE_C_VERBOSE_FLAG "-v")
+set(CMAKE_C_VERBOSE_FLAG "-v")
-SET(CMAKE_C_FLAGS_INIT "")
-SET(CMAKE_C_FLAGS_DEBUG_INIT "-g")
-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_FLAGS_INIT "")
+set(CMAKE_C_FLAGS_DEBUG_INIT "-g")
+set(CMAKE_C_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG")
+set(CMAKE_C_FLAGS_RELEASE_INIT "-O3 -DNDEBUG")
+set(CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-O2 -g -DNDEBUG")
-SET(CMAKE_C_CREATE_PREPROCESSED_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
-SET(CMAKE_C_CREATE_ASSEMBLY_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
+set(CMAKE_C_CREATE_PREPROCESSED_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
+set(CMAKE_C_CREATE_ASSEMBLY_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
diff --git a/Modules/Compiler/Intel-CXX.cmake b/Modules/Compiler/Intel-CXX.cmake
index ff01a81f6..ae6021a68 100644
--- a/Modules/Compiler/Intel-CXX.cmake
+++ b/Modules/Compiler/Intel-CXX.cmake
@@ -1,10 +1,10 @@
-SET(CMAKE_CXX_VERBOSE_FLAG "-v")
+set(CMAKE_CXX_VERBOSE_FLAG "-v")
-SET(CMAKE_CXX_FLAGS_INIT "")
-SET(CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
-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_FLAGS_INIT "")
+set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
+set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG")
+set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O3 -DNDEBUG")
+set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2 -g -DNDEBUG")
-SET(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE "<CMAKE_CXX_COMPILER> <DEFINES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
-SET(CMAKE_CXX_CREATE_ASSEMBLY_SOURCE "<CMAKE_CXX_COMPILER> <DEFINES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
+set(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE "<CMAKE_CXX_COMPILER> <DEFINES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
+set(CMAKE_CXX_CREATE_ASSEMBLY_SOURCE "<CMAKE_CXX_COMPILER> <DEFINES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
diff --git a/Modules/Compiler/Intel-Fortran.cmake b/Modules/Compiler/Intel-Fortran.cmake
index 467abdcf5..84f6182a7 100644
--- a/Modules/Compiler/Intel-Fortran.cmake
+++ b/Modules/Compiler/Intel-Fortran.cmake
@@ -1,9 +1,9 @@
-SET(CMAKE_Fortran_FLAGS_INIT "")
-SET(CMAKE_Fortran_FLAGS_DEBUG_INIT "-g")
-SET(CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "-Os")
-SET(CMAKE_Fortran_FLAGS_RELEASE_INIT "-O3")
-SET(CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT "-O2 -g")
-SET(CMAKE_Fortran_MODDIR_FLAG "-module ")
-SET(CMAKE_Fortran_VERBOSE_FLAG "-v")
+set(CMAKE_Fortran_FLAGS_INIT "")
+set(CMAKE_Fortran_FLAGS_DEBUG_INIT "-g")
+set(CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "-Os")
+set(CMAKE_Fortran_FLAGS_RELEASE_INIT "-O3")
+set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT "-O2 -g")
+set(CMAKE_Fortran_MODDIR_FLAG "-module ")
+set(CMAKE_Fortran_VERBOSE_FLAG "-v")
set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-fixed")
set(CMAKE_Fortran_FORMAT_FREE_FLAG "-free")
diff --git a/Modules/Compiler/MIPSpro-C.cmake b/Modules/Compiler/MIPSpro-C.cmake
index abf384ab8..675560c2a 100644
--- a/Modules/Compiler/MIPSpro-C.cmake
+++ b/Modules/Compiler/MIPSpro-C.cmake
@@ -1 +1 @@
-SET(CMAKE_C_VERBOSE_FLAG "-v")
+set(CMAKE_C_VERBOSE_FLAG "-v")
diff --git a/Modules/Compiler/MIPSpro-CXX.cmake b/Modules/Compiler/MIPSpro-CXX.cmake
index f3c6b5f82..9fb191c75 100644
--- a/Modules/Compiler/MIPSpro-CXX.cmake
+++ b/Modules/Compiler/MIPSpro-CXX.cmake
@@ -1 +1 @@
-SET(CMAKE_CXX_VERBOSE_FLAG "-v")
+set(CMAKE_CXX_VERBOSE_FLAG "-v")
diff --git a/Modules/Compiler/MIPSpro-Fortran.cmake b/Modules/Compiler/MIPSpro-Fortran.cmake
index 9220d3bf0..ffceea80d 100644
--- a/Modules/Compiler/MIPSpro-Fortran.cmake
+++ b/Modules/Compiler/MIPSpro-Fortran.cmake
@@ -1,3 +1,3 @@
-SET(CMAKE_Fortran_VERBOSE_FLAG "-v")
+set(CMAKE_Fortran_VERBOSE_FLAG "-v")
set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-fixedform")
set(CMAKE_Fortran_FORMAT_FREE_FLAG "-freeform")
diff --git a/Modules/Compiler/PGI-Fortran.cmake b/Modules/Compiler/PGI-Fortran.cmake
index aebc7b1c2..264c23e74 100644
--- a/Modules/Compiler/PGI-Fortran.cmake
+++ b/Modules/Compiler/PGI-Fortran.cmake
@@ -4,12 +4,12 @@ __compiler_pgi(Fortran)
set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-Mnofreeform")
set(CMAKE_Fortran_FORMAT_FREE_FLAG "-Mfreeform")
-SET(CMAKE_Fortran_FLAGS_INIT "${CMAKE_Fortran_FLAGS_INIT} -Mpreprocess -Kieee")
-SET(CMAKE_Fortran_FLAGS_DEBUG_INIT "${CMAKE_Fortran_FLAGS_DEBUG_INIT} -Mbounds")
+set(CMAKE_Fortran_FLAGS_INIT "${CMAKE_Fortran_FLAGS_INIT} -Mpreprocess -Kieee")
+set(CMAKE_Fortran_FLAGS_DEBUG_INIT "${CMAKE_Fortran_FLAGS_DEBUG_INIT} -Mbounds")
# We require updates to CMake C++ code to support preprocessing rules
# for Fortran.
-SET(CMAKE_Fortran_CREATE_PREPROCESSED_SOURCE)
-SET(CMAKE_Fortran_CREATE_ASSEMBLY_SOURCE)
+set(CMAKE_Fortran_CREATE_PREPROCESSED_SOURCE)
+set(CMAKE_Fortran_CREATE_ASSEMBLY_SOURCE)
-SET(CMAKE_Fortran_MODDIR_FLAG "-module ")
+set(CMAKE_Fortran_MODDIR_FLAG "-module ")
diff --git a/Modules/Compiler/PathScale-Fortran.cmake b/Modules/Compiler/PathScale-Fortran.cmake
index e05bf2afc..d90362104 100644
--- a/Modules/Compiler/PathScale-Fortran.cmake
+++ b/Modules/Compiler/PathScale-Fortran.cmake
@@ -1,6 +1,6 @@
include(Compiler/PathScale)
__compiler_pathscale(Fortran)
-SET(CMAKE_Fortran_MODDIR_FLAG "-module ")
+set(CMAKE_Fortran_MODDIR_FLAG "-module ")
set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-fixedform")
set(CMAKE_Fortran_FORMAT_FREE_FLAG "-freeform")
diff --git a/Modules/Compiler/SunPro-ASM.cmake b/Modules/Compiler/SunPro-ASM.cmake
index dfc5702ee..2fa8b9950 100644
--- a/Modules/Compiler/SunPro-ASM.cmake
+++ b/Modules/Compiler/SunPro-ASM.cmake
@@ -1,24 +1,24 @@
set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS s )
-SET(CMAKE_ASM_VERBOSE_FLAG "-#")
+set(CMAKE_ASM_VERBOSE_FLAG "-#")
-SET(CMAKE_SHARED_LIBRARY_ASM_FLAGS "-KPIC")
-SET(CMAKE_SHARED_LIBRARY_CREATE_ASM_FLAGS "-G")
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_ASM_FLAG "-R")
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_ASM_FLAG_SEP ":")
-SET(CMAKE_SHARED_LIBRARY_SONAME_ASM_FLAG "-h")
+set(CMAKE_SHARED_LIBRARY_ASM_FLAGS "-KPIC")
+set(CMAKE_SHARED_LIBRARY_CREATE_ASM_FLAGS "-G")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_ASM_FLAG "-R")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_ASM_FLAG_SEP ":")
+set(CMAKE_SHARED_LIBRARY_SONAME_ASM_FLAG "-h")
-SET(CMAKE_ASM_FLAGS_INIT "")
-SET(CMAKE_ASM_FLAGS_DEBUG_INIT "-g")
-SET(CMAKE_ASM_FLAGS_MINSIZEREL_INIT "-xO2 -xspace -DNDEBUG")
-SET(CMAKE_ASM_FLAGS_RELEASE_INIT "-xO3 -DNDEBUG")
-SET(CMAKE_ASM_FLAGS_RELWITHDEBINFO_INIT "-g -xO2")
+set(CMAKE_ASM_FLAGS_INIT "")
+set(CMAKE_ASM_FLAGS_DEBUG_INIT "-g")
+set(CMAKE_ASM_FLAGS_MINSIZEREL_INIT "-xO2 -xspace -DNDEBUG")
+set(CMAKE_ASM_FLAGS_RELEASE_INIT "-xO3 -DNDEBUG")
+set(CMAKE_ASM_FLAGS_RELWITHDEBINFO_INIT "-g -xO2 -DNDEBUG")
# Initialize ASM link type selection flags. These flags are used when
# building a shared library, shared module, or executable that links
# to other libraries to select whether to use the static or shared
# versions of the libraries.
-FOREACH(type SHARED_LIBRARY SHARED_MODULE EXE)
- SET(CMAKE_${type}_LINK_STATIC_ASM_FLAGS "-Bstatic")
- SET(CMAKE_${type}_LINK_DYNAMIC_ASM_FLAGS "-Bdynamic")
-ENDFOREACH(type)
+foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
+ set(CMAKE_${type}_LINK_STATIC_ASM_FLAGS "-Bstatic")
+ set(CMAKE_${type}_LINK_DYNAMIC_ASM_FLAGS "-Bdynamic")
+endforeach()
diff --git a/Modules/Compiler/SunPro-C.cmake b/Modules/Compiler/SunPro-C.cmake
index a1a3ae118..c5b5203fd 100644
--- a/Modules/Compiler/SunPro-C.cmake
+++ b/Modules/Compiler/SunPro-C.cmake
@@ -1,27 +1,27 @@
-SET(CMAKE_C_VERBOSE_FLAG "-#")
+set(CMAKE_C_VERBOSE_FLAG "-#")
-SET(CMAKE_C_COMPILE_OPTIONS_PIC -KPIC)
-SET(CMAKE_C_COMPILE_OPTIONS_PIE -KPIE)
-SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-KPIC")
-SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-G")
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-R")
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
-SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-h")
+set(CMAKE_C_COMPILE_OPTIONS_PIC -KPIC)
+set(CMAKE_C_COMPILE_OPTIONS_PIE -KPIE)
+set(CMAKE_SHARED_LIBRARY_C_FLAGS "-KPIC")
+set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-G")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-R")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
+set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-h")
-SET(CMAKE_C_FLAGS_INIT "")
-SET(CMAKE_C_FLAGS_DEBUG_INIT "-g")
-SET(CMAKE_C_FLAGS_MINSIZEREL_INIT "-xO2 -xspace -DNDEBUG")
-SET(CMAKE_C_FLAGS_RELEASE_INIT "-xO3 -DNDEBUG")
-SET(CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-g -xO2")
+set(CMAKE_C_FLAGS_INIT "")
+set(CMAKE_C_FLAGS_DEBUG_INIT "-g")
+set(CMAKE_C_FLAGS_MINSIZEREL_INIT "-xO2 -xspace -DNDEBUG")
+set(CMAKE_C_FLAGS_RELEASE_INIT "-xO3 -DNDEBUG")
+set(CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-g -xO2 -DNDEBUG")
# Initialize C link type selection flags. These flags are used when
# building a shared library, shared module, or executable that links
# to other libraries to select whether to use the static or shared
# versions of the libraries.
-FOREACH(type SHARED_LIBRARY SHARED_MODULE EXE)
- SET(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Bstatic")
- SET(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Bdynamic")
-ENDFOREACH(type)
+foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
+ set(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Bstatic")
+ set(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Bdynamic")
+endforeach()
-SET(CMAKE_C_CREATE_PREPROCESSED_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
-SET(CMAKE_C_CREATE_ASSEMBLY_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
+set(CMAKE_C_CREATE_PREPROCESSED_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
+set(CMAKE_C_CREATE_ASSEMBLY_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
diff --git a/Modules/Compiler/SunPro-CXX.cmake b/Modules/Compiler/SunPro-CXX.cmake
index 702e42458..59687129a 100644
--- a/Modules/Compiler/SunPro-CXX.cmake
+++ b/Modules/Compiler/SunPro-CXX.cmake
@@ -1,33 +1,33 @@
-SET(CMAKE_CXX_VERBOSE_FLAG "-v")
+set(CMAKE_CXX_VERBOSE_FLAG "-v")
-SET(CMAKE_CXX_COMPILE_OPTIONS_PIC -KPIC)
-SET(CMAKE_CXX_COMPILE_OPTIONS_PIE -KPIE)
-SET(CMAKE_SHARED_LIBRARY_CXX_FLAGS "-KPIC")
-SET(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "-G")
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG "-R")
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG_SEP ":")
-SET(CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG "-h")
+set(CMAKE_CXX_COMPILE_OPTIONS_PIC -KPIC)
+set(CMAKE_CXX_COMPILE_OPTIONS_PIE -KPIE)
+set(CMAKE_SHARED_LIBRARY_CXX_FLAGS "-KPIC")
+set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "-G")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG "-R")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG_SEP ":")
+set(CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG "-h")
-SET(CMAKE_CXX_FLAGS_INIT "")
-SET(CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
-SET(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-xO2 -xspace -DNDEBUG")
-SET(CMAKE_CXX_FLAGS_RELEASE_INIT "-xO3 -DNDEBUG")
-SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-g -xO2")
+set(CMAKE_CXX_FLAGS_INIT "")
+set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
+set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-xO2 -xspace -DNDEBUG")
+set(CMAKE_CXX_FLAGS_RELEASE_INIT "-xO3 -DNDEBUG")
+set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-g -xO2 -DNDEBUG")
# Initialize C link type selection flags. These flags are used when
# building a shared library, shared module, or executable that links
# to other libraries to select whether to use the static or shared
# versions of the libraries.
-FOREACH(type SHARED_LIBRARY SHARED_MODULE EXE)
- SET(CMAKE_${type}_LINK_STATIC_CXX_FLAGS "-Bstatic")
- SET(CMAKE_${type}_LINK_DYNAMIC_CXX_FLAGS "-Bdynamic")
-ENDFOREACH(type)
+foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
+ set(CMAKE_${type}_LINK_STATIC_CXX_FLAGS "-Bstatic")
+ set(CMAKE_${type}_LINK_DYNAMIC_CXX_FLAGS "-Bdynamic")
+endforeach()
-SET(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE "<CMAKE_CXX_COMPILER> <DEFINES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
-SET(CMAKE_CXX_CREATE_ASSEMBLY_SOURCE "<CMAKE_CXX_COMPILER> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
+set(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE "<CMAKE_CXX_COMPILER> <DEFINES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
+set(CMAKE_CXX_CREATE_ASSEMBLY_SOURCE "<CMAKE_CXX_COMPILER> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
# Create archives with "CC -xar" in case user adds "-instances=extern"
# so that template instantiations are available to archive members.
-SET(CMAKE_CXX_CREATE_STATIC_LIBRARY
+set(CMAKE_CXX_CREATE_STATIC_LIBRARY
"<CMAKE_CXX_COMPILER> -xar -o <TARGET> <OBJECTS> "
"<CMAKE_RANLIB> <TARGET> ")
diff --git a/Modules/Compiler/SunPro-Fortran.cmake b/Modules/Compiler/SunPro-Fortran.cmake
index 86d6def34..18e75b9e3 100644
--- a/Modules/Compiler/SunPro-Fortran.cmake
+++ b/Modules/Compiler/SunPro-Fortran.cmake
@@ -1,18 +1,18 @@
-SET(CMAKE_Fortran_VERBOSE_FLAG "-v")
+set(CMAKE_Fortran_VERBOSE_FLAG "-v")
set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-fixed")
set(CMAKE_Fortran_FORMAT_FREE_FLAG "-free")
-SET(CMAKE_SHARED_LIBRARY_Fortran_FLAGS "-KPIC")
-SET(CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS "-G")
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG "-R")
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG_SEP ":")
-SET(CMAKE_SHARED_LIBRARY_SONAME_Fortran_FLAG "-h")
+set(CMAKE_SHARED_LIBRARY_Fortran_FLAGS "-KPIC")
+set(CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS "-G")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG "-R")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_Fortran_FLAG_SEP ":")
+set(CMAKE_SHARED_LIBRARY_SONAME_Fortran_FLAG "-h")
set(CMAKE_EXECUTABLE_RUNTIME_Fortran_FLAG "-R")
-SET(CMAKE_Fortran_FLAGS_INIT "")
-SET(CMAKE_Fortran_FLAGS_DEBUG_INIT "-g")
-SET(CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "-xO2 -xspace -DNDEBUG")
-SET(CMAKE_Fortran_FLAGS_RELEASE_INIT "-xO3 -DNDEBUG")
-SET(CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT "-g -xO2")
-SET(CMAKE_Fortran_MODDIR_FLAG "-moddir=")
-SET(CMAKE_Fortran_MODPATH_FLAG "-M")
+set(CMAKE_Fortran_FLAGS_INIT "")
+set(CMAKE_Fortran_FLAGS_DEBUG_INIT "-g")
+set(CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "-xO2 -xspace -DNDEBUG")
+set(CMAKE_Fortran_FLAGS_RELEASE_INIT "-xO3 -DNDEBUG")
+set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT "-g -xO2 -DNDEBUG")
+set(CMAKE_Fortran_MODDIR_FLAG "-moddir=")
+set(CMAKE_Fortran_MODPATH_FLAG "-M")
diff --git a/Modules/Compiler/TinyCC-C.cmake b/Modules/Compiler/TinyCC-C.cmake
index 4a48c0af5..f7937acdf 100644
--- a/Modules/Compiler/TinyCC-C.cmake
+++ b/Modules/Compiler/TinyCC-C.cmake
@@ -1,8 +1,8 @@
-SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared")
+set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared")
# no optimization in tcc:
-SET (CMAKE_C_FLAGS_INIT "")
-SET (CMAKE_C_FLAGS_DEBUG_INIT "-g")
-SET (CMAKE_C_FLAGS_MINSIZEREL_INIT "-DNDEBUG")
-SET (CMAKE_C_FLAGS_RELEASE_INIT "-DNDEBUG")
-SET (CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-g")
+set (CMAKE_C_FLAGS_INIT "")
+set (CMAKE_C_FLAGS_DEBUG_INIT "-g")
+set (CMAKE_C_FLAGS_MINSIZEREL_INIT "-DNDEBUG")
+set (CMAKE_C_FLAGS_RELEASE_INIT "-DNDEBUG")
+set (CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-g -DNDEBUG")
diff --git a/Modules/Compiler/XL-ASM.cmake b/Modules/Compiler/XL-ASM.cmake
index e5d4ffa85..07507f9be 100644
--- a/Modules/Compiler/XL-ASM.cmake
+++ b/Modules/Compiler/XL-ASM.cmake
@@ -1,13 +1,13 @@
-SET(CMAKE_ASM_VERBOSE_FLAG "-V")
+set(CMAKE_ASM_VERBOSE_FLAG "-V")
# -qthreaded = Ensures that all optimizations will be thread-safe
# -qalias=noansi = Turns off type-based aliasing completely (safer optimizer)
# -qhalt=e = Halt on error messages (rather than just severe errors)
-SET(CMAKE_ASM_FLAGS_INIT "-qthreaded -qalias=noansi -qhalt=e -qsourcetype=assembler")
+set(CMAKE_ASM_FLAGS_INIT "-qthreaded -qalias=noansi -qhalt=e -qsourcetype=assembler")
-SET(CMAKE_ASM_FLAGS_DEBUG_INIT "-g")
-SET(CMAKE_ASM_FLAGS_RELEASE_INIT "-O -DNDEBUG")
-SET(CMAKE_ASM_FLAGS_MINSIZEREL_INIT "-O -DNDEBUG")
-SET(CMAKE_ASM_FLAGS_RELWITHDEBINFO_INIT "-g")
+set(CMAKE_ASM_FLAGS_DEBUG_INIT "-g")
+set(CMAKE_ASM_FLAGS_RELEASE_INIT "-O -DNDEBUG")
+set(CMAKE_ASM_FLAGS_MINSIZEREL_INIT "-O -DNDEBUG")
+set(CMAKE_ASM_FLAGS_RELWITHDEBINFO_INIT "-g -DNDEBUG")
-SET(CMAKE_ASM_SOURCE_FILE_EXTENSIONS s )
+set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS s )
diff --git a/Modules/Compiler/XL-C.cmake b/Modules/Compiler/XL-C.cmake
index ae869e37e..09a55291e 100644
--- a/Modules/Compiler/XL-C.cmake
+++ b/Modules/Compiler/XL-C.cmake
@@ -6,4 +6,4 @@ set(CMAKE_C_FLAGS_MINSIZEREL_INIT "${CMAKE_C_FLAGS_MINSIZEREL_INIT} -DNDEBUG")
# -qthreaded = Ensures that all optimizations will be thread-safe
# -qalias=noansi = Turns off type-based aliasing completely (safer optimizer)
# -qhalt=e = Halt on error messages (rather than just severe errors)
-SET(CMAKE_C_FLAGS_INIT "-qthreaded -qalias=noansi -qhalt=e")
+set(CMAKE_C_FLAGS_INIT "-qthreaded -qalias=noansi -qhalt=e")
diff --git a/Modules/Compiler/XL-CXX.cmake b/Modules/Compiler/XL-CXX.cmake
index 29c4b5e37..6c842cd77 100644
--- a/Modules/Compiler/XL-CXX.cmake
+++ b/Modules/Compiler/XL-CXX.cmake
@@ -5,7 +5,7 @@ set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "${CMAKE_CXX_FLAGS_MINSIZEREL_INIT} -DNDEBUG
# -qthreaded = Ensures that all optimizations will be thread-safe
# -qhalt=e = Halt on error messages (rather than just severe errors)
-SET(CMAKE_CXX_FLAGS_INIT "-qthreaded -qhalt=e")
+set(CMAKE_CXX_FLAGS_INIT "-qthreaded -qhalt=e")
-SET(CMAKE_CXX_COMPILE_OBJECT
+set(CMAKE_CXX_COMPILE_OBJECT
"<CMAKE_CXX_COMPILER> -+ <DEFINES> <FLAGS> -o <OBJECT> -c <SOURCE>")
diff --git a/Modules/Compiler/XL-Fortran.cmake b/Modules/Compiler/XL-Fortran.cmake
index e7026f11a..f1c9158b2 100644
--- a/Modules/Compiler/XL-Fortran.cmake
+++ b/Modules/Compiler/XL-Fortran.cmake
@@ -4,14 +4,14 @@ __compiler_xl(Fortran)
set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-qfixed") # [=<right_margin>]
set(CMAKE_Fortran_FORMAT_FREE_FLAG "-qfree") # [=f90|ibm]
-SET(CMAKE_Fortran_MODDIR_FLAG "-qmoddir=")
+set(CMAKE_Fortran_MODDIR_FLAG "-qmoddir=")
-SET(CMAKE_Fortran_DEFINE_FLAG "-WF,-D")
+set(CMAKE_Fortran_DEFINE_FLAG "-WF,-D")
# -qthreaded = Ensures that all optimizations will be thread-safe
# -qhalt=e = Halt on error messages (rather than just severe errors)
-SET(CMAKE_Fortran_FLAGS_INIT "-qthreaded -qhalt=e")
+set(CMAKE_Fortran_FLAGS_INIT "-qthreaded -qhalt=e")
# We require updates to CMake C++ code to support preprocessing rules for Fortran.
-SET(CMAKE_Fortran_CREATE_PREPROCESSED_SOURCE)
-SET(CMAKE_Fortran_CREATE_ASSEMBLY_SOURCE)
+set(CMAKE_Fortran_CREATE_PREPROCESSED_SOURCE)
+set(CMAKE_Fortran_CREATE_ASSEMBLY_SOURCE)
diff --git a/Modules/CompilerId/VS-10.vcxproj.in b/Modules/CompilerId/VS-10.vcxproj.in
new file mode 100644
index 000000000..ab4705fa3
--- /dev/null
+++ b/Modules/CompilerId/VS-10.vcxproj.in
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|@id_arch@">
+ <Configuration>Debug</Configuration>
+ <Platform>@id_arch@</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{CAE07175-D007-4FC3-BFE8-47B392814159}</ProjectGuid>
+ <RootNamespace>CompilerId@id_lang@</RootNamespace>
+ <Keyword>Win32Proj</Keyword>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@id_arch@'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ @id_toolset@
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|@id_arch@'">.\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|@id_arch@'">$(Configuration)\</IntDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|@id_arch@'">false</LinkIncremental>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|@id_arch@'">
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MinimalRebuild>false</MinimalRebuild>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>TurnOffAllWarnings</WarningLevel>
+ <DebugInformationFormat>
+ </DebugInformationFormat>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>false</GenerateDebugInformation>
+ <SubSystem>Console</SubSystem>
+ <TargetMachine>@id_machine_10@</TargetMachine>
+ </Link>
+ <PostBuildEvent>
+ <Command>for %%i in (@id_cl@) do %40echo CMAKE_@id_lang@_COMPILER=%%~$PATH:i</Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="@id_src@" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+</Project>
diff --git a/Modules/CompilerId/VS-6.dsp.in b/Modules/CompilerId/VS-6.dsp.in
new file mode 100644
index 000000000..4f7e67613
--- /dev/null
+++ b/Modules/CompilerId/VS-6.dsp.in
@@ -0,0 +1,48 @@
+# Microsoft Developer Studio Project File - Name="CompilerId@id_lang@" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+
+# TARGTYPE "Win32 (@id_machine_6@) Application" 0x0101
+
+CFG=CompilerId@id_lang@ - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "CompilerId@id_lang@.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "CompilerId@id_lang@.mak" CFG="CompilerId@id_lang@ - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "CompilerId@id_lang@ - Win32 Debug" (based on "Win32 (@id_machine_6@) Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+CPP=cl.exe
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "."
+# PROP Intermediate_Dir "Debug"
+# PROP Target_Dir ""
+# ADD CPP /nologo /MDd /c
+LINK32=link.exe
+# ADD LINK32 /nologo /version:0.0 /subsystem:console /machine:@id_machine_6@ /out:"CompilerId@id_lang@.exe" /IGNORE:4089
+# Begin Special Build Tool
+SOURCE="$(InputPath)"
+PostBuild_Cmds=for %%i in (@id_cl@) do @echo CMAKE_@id_lang@_COMPILER=%%~$PATH:i
+# End Special Build Tool
+# Begin Target
+
+# Name "CompilerId@id_lang@ - Win32 Debug"
+# Begin Group "Source Files"
+
+# Begin Source File
+
+SOURCE="@id_src@"
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/Modules/CompilerId/VS-7.vcproj.in b/Modules/CompilerId/VS-7.vcproj.in
new file mode 100644
index 000000000..71bf64de2
--- /dev/null
+++ b/Modules/CompilerId/VS-7.vcproj.in
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="@id_version@"
+ Name="CompilerId@id_lang@"
+ ProjectGUID="{CAE07175-D007-4FC3-BFE8-47B392814159}"
+ RootNamespace="CompilerId@id_lang@"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="@id_arch@"
+ />
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|@id_arch@"
+ OutputDirectory="."
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions=""
+ MinimalRebuild="false"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="0"
+ DebugInformationFormat="0"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ LinkIncremental="1"
+ GenerateDebugInformation="false"
+ SubSystem="1"
+ TargetMachine="@id_machine_7@"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="for %%i in (@id_cl@) do @echo CMAKE_@id_lang@_COMPILER=%%~$PATH:i"
+ />
+ </Configuration>
+ </Configurations>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="@id_src@"
+ >
+ </File>
+ </Filter>
+ </Files>
+</VisualStudioProject>
diff --git a/Modules/CompilerId/Xcode-1.pbxproj.in b/Modules/CompilerId/Xcode-1.pbxproj.in
new file mode 100644
index 000000000..f06960fec
--- /dev/null
+++ b/Modules/CompilerId/Xcode-1.pbxproj.in
@@ -0,0 +1,120 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 39;
+ objects = {
+ 014CEA460018CE2711CA2923 = {
+ buildSettings = {
+ };
+ isa = PBXBuildStyle;
+ name = Development;
+ };
+ 08FB7793FE84155DC02AAC07 = {
+ buildSettings = {
+ };
+ buildStyles = (
+ 014CEA460018CE2711CA2923,
+ );
+ hasScannedForEncodings = 1;
+ isa = PBXProject;
+ mainGroup = 08FB7794FE84155DC02AAC07;
+ projectDirPath = "";
+ targets = (
+ 8DD76FA90486AB0100D96B5E,
+ );
+ };
+ 08FB7794FE84155DC02AAC07 = {
+ children = (
+ 08FB7795FE84155DC02AAC07,
+ 1AB674ADFE9D54B511CA2CBB,
+ );
+ isa = PBXGroup;
+ name = CompilerId@id_lang@;
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ 08FB7795FE84155DC02AAC07 = {
+ children = (
+ 2C18F0B415DC1DC700593670,
+ );
+ isa = PBXGroup;
+ name = Source;
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ 1AB674ADFE9D54B511CA2CBB = {
+ children = (
+ 8DD76F6C0486A84900D96B5E,
+ );
+ isa = PBXGroup;
+ name = Products;
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ 2C18F0B415DC1DC700593670 = {
+ fileEncoding = 30;
+ isa = PBXFileReference;
+ lastKnownFileType = @id_type@;
+ path = @id_src@;
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ 2C18F0B615DC1E0300593670 = {
+ fileRef = 2C18F0B415DC1DC700593670;
+ isa = PBXBuildFile;
+ settings = {
+ };
+ };
+ 2C8FEB8E15DC1A1A00E56A5D = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "echo \"GCC_VERSION=$GCC_VERSION\"";
+ };
+ 8DD76FA90486AB0100D96B5E = {
+ buildPhases = (
+ 2C18F0B515DC1DCE00593670,
+ 2C8FEB8E15DC1A1A00E56A5D,
+ );
+ buildRules = (
+ );
+ buildSettings = {
+ PRODUCT_NAME = CompilerId@id_lang@;
+ SYMROOT = .;
+ };
+ dependencies = (
+ );
+ isa = PBXNativeTarget;
+ name = CompilerId@id_lang@;
+ productName = CompilerId@id_lang@;
+ productReference = 8DD76F6C0486A84900D96B5E;
+ productType = "com.apple.product-type.tool";
+ };
+ 2C18F0B515DC1DCE00593670 = {
+ buildActionMask = 2147483647;
+ files = (
+ 2C18F0B615DC1E0300593670,
+ );
+ isa = PBXSourcesBuildPhase;
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 8DD76F6C0486A84900D96B5E = {
+ explicitFileType = "compiled.mach-o.executable";
+ includeInIndex = 0;
+ isa = PBXFileReference;
+ path = CompilerId@id_lang@;
+ refType = 3;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+ };
+ rootObject = 08FB7793FE84155DC02AAC07;
+}
diff --git a/Modules/CompilerId/Xcode-2.pbxproj.in b/Modules/CompilerId/Xcode-2.pbxproj.in
new file mode 100644
index 000000000..e3c7aa910
--- /dev/null
+++ b/Modules/CompilerId/Xcode-2.pbxproj.in
@@ -0,0 +1,119 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 42;
+ objects = {
+
+ 2C18F0B615DC1E0300593670 = {isa = PBXBuildFile; fileRef = 2C18F0B415DC1DC700593670; };
+ 2C18F0B415DC1DC700593670 = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = @id_type@; path = @id_src@; sourceTree = "<group>"; };
+ 8DD76F6C0486A84900D96B5E = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = CompilerId@id_lang@; sourceTree = BUILT_PRODUCTS_DIR; };
+
+ 08FB7794FE84155DC02AAC07 = {
+ isa = PBXGroup;
+ children = (
+ 08FB7795FE84155DC02AAC07,
+ 1AB674ADFE9D54B511CA2CBB,
+ );
+ name = CompilerId@id_lang@;
+ sourceTree = "<group>";
+ };
+ 08FB7795FE84155DC02AAC07 = {
+ isa = PBXGroup;
+ children = (
+ 2C18F0B415DC1DC700593670,
+ );
+ name = Source;
+ sourceTree = "<group>";
+ };
+ 1AB674ADFE9D54B511CA2CBB = {
+ isa = PBXGroup;
+ children = (
+ 8DD76F6C0486A84900D96B5E,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+
+ 8DD76FA90486AB0100D96B5E = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 1DEB928508733DD80010E9CD;
+ buildPhases = (
+ 2C18F0B515DC1DCE00593670,
+ 2C8FEB8E15DC1A1A00E56A5D,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = CompilerId@id_lang@;
+ productName = CompilerId@id_lang@;
+ productReference = 8DD76F6C0486A84900D96B5E;
+ productType = "com.apple.product-type.tool";
+ };
+ 08FB7793FE84155DC02AAC07 = {
+ isa = PBXProject;
+ buildConfigurationList = 1DEB928908733DD80010E9CD;
+ hasScannedForEncodings = 1;
+ mainGroup = 08FB7794FE84155DC02AAC07;
+ projectDirPath = "";
+ targets = (
+ 8DD76FA90486AB0100D96B5E,
+ );
+ };
+ 2C8FEB8E15DC1A1A00E56A5D = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "echo \"GCC_VERSION=$GCC_VERSION\"";
+ };
+ 2C18F0B515DC1DCE00593670 = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 2C18F0B615DC1E0300593670,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 1DEB928608733DD80010E9CD = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ PRODUCT_NAME = CompilerId@id_lang@;
+ };
+ name = Debug;
+ };
+ 1DEB928A08733DD80010E9CD = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)";
+ SYMROOT = .;
+ };
+ name = Debug;
+ };
+ 1DEB928508733DD80010E9CD = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 1DEB928608733DD80010E9CD,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ 1DEB928908733DD80010E9CD = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 1DEB928A08733DD80010E9CD,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ };
+ rootObject = 08FB7793FE84155DC02AAC07;
+}
diff --git a/Modules/CompilerId/Xcode-3.pbxproj.in b/Modules/CompilerId/Xcode-3.pbxproj.in
new file mode 100644
index 000000000..41ca7db72
--- /dev/null
+++ b/Modules/CompilerId/Xcode-3.pbxproj.in
@@ -0,0 +1,107 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 45;
+ objects = {
+
+ 2C18F0B615DC1E0300593670 = {isa = PBXBuildFile; fileRef = 2C18F0B415DC1DC700593670; };
+ 2C18F0B415DC1DC700593670 = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = @id_type@; path = @id_src@; sourceTree = "<group>"; };
+ 08FB7794FE84155DC02AAC07 = {
+ isa = PBXGroup;
+ children = (
+ 2C18F0B415DC1DC700593670,
+ );
+ name = CompilerId@id_lang@;
+ sourceTree = "<group>";
+ };
+ 8DD76FA90486AB0100D96B5E = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 1DEB928508733DD80010E9CD;
+ buildPhases = (
+ 2C18F0B515DC1DCE00593670,
+ 2C8FEB8E15DC1A1A00E56A5D,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = CompilerId@id_lang@;
+ productName = CompilerId@id_lang@;
+ productType = "com.apple.product-type.tool";
+ };
+ 08FB7793FE84155DC02AAC07 = {
+ isa = PBXProject;
+ buildConfigurationList = 1DEB928908733DD80010E9CD;
+ compatibilityVersion = "Xcode 3.1";
+ developmentRegion = English;
+ hasScannedForEncodings = 1;
+ knownRegions = (
+ en,
+ );
+ mainGroup = 08FB7794FE84155DC02AAC07;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 8DD76FA90486AB0100D96B5E,
+ );
+ };
+ 2C8FEB8E15DC1A1A00E56A5D = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "echo \"GCC_VERSION=$GCC_VERSION\"";
+ showEnvVarsInLog = 0;
+ };
+ 2C18F0B515DC1DCE00593670 = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 2C18F0B615DC1E0300593670,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 1DEB928608733DD80010E9CD = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ PRODUCT_NAME = CompilerId@id_lang@;
+ };
+ name = Debug;
+ };
+ 1DEB928A08733DD80010E9CD = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ ONLY_ACTIVE_ARCH = YES;
+ CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)";
+ SYMROOT = .;
+ };
+ name = Debug;
+ };
+ 1DEB928508733DD80010E9CD = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 1DEB928608733DD80010E9CD,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ 1DEB928908733DD80010E9CD = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 1DEB928A08733DD80010E9CD,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ };
+ rootObject = 08FB7793FE84155DC02AAC07;
+}
diff --git a/Modules/Dart.cmake b/Modules/Dart.cmake
index 870545471..bd744b003 100644
--- a/Modules/Dart.cmake
+++ b/Modules/Dart.cmake
@@ -3,10 +3,10 @@
# It supports using the old Dart 1 Tcl client for driving dashboard
# submissions as well as testing with CTest. This module should be included
# in the CMakeLists.txt file at the top of a project. Typical usage:
-# INCLUDE(Dart)
-# IF(BUILD_TESTING)
+# include(Dart)
+# if(BUILD_TESTING)
# # ... testing related CMake code ...
-# ENDIF(BUILD_TESTING)
+# endif()
# The BUILD_TESTING option is created by the Dart module to determine
# whether testing support should be enabled. The default is ON.
@@ -32,10 +32,10 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-OPTION(BUILD_TESTING "Build the testing tree." ON)
+option(BUILD_TESTING "Build the testing tree." ON)
-IF(BUILD_TESTING)
- FIND_PACKAGE(Dart QUIET)
+if(BUILD_TESTING)
+ find_package(Dart QUIET)
#
# Section #1:
@@ -44,58 +44,58 @@ IF(BUILD_TESTING)
# on the client and configure site name and build name.
#
- SET(RUN_FROM_DART 1)
- INCLUDE(CTest)
- SET(RUN_FROM_DART)
+ set(RUN_FROM_DART 1)
+ include(CTest)
+ set(RUN_FROM_DART)
- FIND_PROGRAM(COMPRESSIONCOMMAND NAMES gzip compress zip
+ find_program(COMPRESSIONCOMMAND NAMES gzip compress zip
DOC "Path to program used to compress files for transfer to the dart server")
- FIND_PROGRAM(GUNZIPCOMMAND gunzip DOC "Path to gunzip executable")
- FIND_PROGRAM(JAVACOMMAND java DOC "Path to java command, used by the Dart server to create html.")
- OPTION(DART_VERBOSE_BUILD "Show the actual output of the build, or if off show a . for each 1024 bytes."
+ find_program(GUNZIPCOMMAND gunzip DOC "Path to gunzip executable")
+ find_program(JAVACOMMAND java DOC "Path to java command, used by the Dart server to create html.")
+ option(DART_VERBOSE_BUILD "Show the actual output of the build, or if off show a . for each 1024 bytes."
OFF)
- OPTION(DART_BUILD_ERROR_REPORT_LIMIT "Limit of reported errors, -1 reports all." -1 )
- OPTION(DART_BUILD_WARNING_REPORT_LIMIT "Limit of reported warnings, -1 reports all." -1 )
+ option(DART_BUILD_ERROR_REPORT_LIMIT "Limit of reported errors, -1 reports all." -1 )
+ option(DART_BUILD_WARNING_REPORT_LIMIT "Limit of reported warnings, -1 reports all." -1 )
- SET(VERBOSE_BUILD ${DART_VERBOSE_BUILD})
- SET(BUILD_ERROR_REPORT_LIMIT ${DART_BUILD_ERROR_REPORT_LIMIT})
- SET(BUILD_WARNING_REPORT_LIMIT ${DART_BUILD_WARNING_REPORT_LIMIT})
- SET (DELIVER_CONTINUOUS_EMAIL "Off" CACHE BOOL "Should Dart server send email when build errors are found in Continuous builds?")
+ set(VERBOSE_BUILD ${DART_VERBOSE_BUILD})
+ set(BUILD_ERROR_REPORT_LIMIT ${DART_BUILD_ERROR_REPORT_LIMIT})
+ set(BUILD_WARNING_REPORT_LIMIT ${DART_BUILD_WARNING_REPORT_LIMIT})
+ set (DELIVER_CONTINUOUS_EMAIL "Off" CACHE BOOL "Should Dart server send email when build errors are found in Continuous builds?")
- MARK_AS_ADVANCED(
+ mark_as_advanced(
COMPRESSIONCOMMAND
- DART_BUILD_ERROR_REPORT_LIMIT
- DART_BUILD_WARNING_REPORT_LIMIT
+ DART_BUILD_ERROR_REPORT_LIMIT
+ DART_BUILD_WARNING_REPORT_LIMIT
DART_TESTING_TIMEOUT
DART_VERBOSE_BUILD
DELIVER_CONTINUOUS_EMAIL
GUNZIPCOMMAND
- JAVACOMMAND
+ JAVACOMMAND
)
- SET(HAVE_DART)
- IF(EXISTS "${DART_ROOT}/Source/Client/Dart.conf.in")
- SET(HAVE_DART 1)
- ENDIF(EXISTS "${DART_ROOT}/Source/Client/Dart.conf.in")
+ set(HAVE_DART)
+ if(EXISTS "${DART_ROOT}/Source/Client/Dart.conf.in")
+ set(HAVE_DART 1)
+ endif()
#
# Section #2:
- #
+ #
# Make necessary directories and configure testing scripts
#
# find a tcl shell command
- IF(HAVE_DART)
- FIND_PACKAGE(Tclsh)
- ENDIF(HAVE_DART)
+ if(HAVE_DART)
+ find_package(Tclsh)
+ endif()
- IF (HAVE_DART)
+ if (HAVE_DART)
# make directories in the binary tree
- FILE(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/Testing/HTML/TestingResults/Dashboard"
+ file(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/Testing/HTML/TestingResults/Dashboard"
"${PROJECT_BINARY_DIR}/Testing/HTML/TestingResults/Sites/${SITE}/${BUILDNAME}")
# configure files
- CONFIGURE_FILE(
+ configure_file(
"${DART_ROOT}/Source/Client/Dart.conf.in"
"${PROJECT_BINARY_DIR}/DartConfiguration.tcl" )
@@ -107,16 +107,16 @@ IF(BUILD_TESTING)
#
# add testing targets
- SET(DART_EXPERIMENTAL_NAME Experimental)
- IF(DART_EXPERIMENTAL_USE_PROJECT_NAME)
- SET(DART_EXPERIMENTAL_NAME "${DART_EXPERIMENTAL_NAME}${PROJECT_NAME}")
- ENDIF(DART_EXPERIMENTAL_USE_PROJECT_NAME)
- ENDIF (HAVE_DART)
-
- SET(RUN_FROM_CTEST_OR_DART 1)
- INCLUDE(CTestTargets)
- SET(RUN_FROM_CTEST_OR_DART)
-ENDIF(BUILD_TESTING)
+ set(DART_EXPERIMENTAL_NAME Experimental)
+ if(DART_EXPERIMENTAL_USE_PROJECT_NAME)
+ set(DART_EXPERIMENTAL_NAME "${DART_EXPERIMENTAL_NAME}${PROJECT_NAME}")
+ endif()
+ endif ()
+
+ set(RUN_FROM_CTEST_OR_DART 1)
+ include(CTestTargets)
+ set(RUN_FROM_CTEST_OR_DART)
+endif()
#
# End of Dart.cmake
diff --git a/Modules/DartConfiguration.tcl.in b/Modules/DartConfiguration.tcl.in
index ad7f80517..9e49ac776 100644
--- a/Modules/DartConfiguration.tcl.in
+++ b/Modules/DartConfiguration.tcl.in
@@ -44,6 +44,7 @@ CVSUpdateOptions: @CVS_UPDATE_OPTIONS@
# Subversion options
SVNCommand: @SVNCOMMAND@
+SVNOptions: @CTEST_SVN_OPTIONS@
SVNUpdateOptions: @SVN_UPDATE_OPTIONS@
# Git options
diff --git a/Modules/DeployQt4.cmake b/Modules/DeployQt4.cmake
index edf4b4e76..309fce310 100644
--- a/Modules/DeployQt4.cmake
+++ b/Modules/DeployQt4.cmake
@@ -101,7 +101,7 @@ function(resolve_qt4_paths paths_var)
if(${executable_path})
list(APPEND paths_resolved "${executable_path}/${path}")
else()
- list(APPEND paths_resolved "\${CMAKE_INSTALL_PREFIX}/${path}")
+ list(APPEND paths_resolved "\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${path}")
endif()
endif()
endforeach()
@@ -293,9 +293,9 @@ function(install_qt4_executable executable)
resolve_qt4_paths(libs "")
install(CODE
- "INCLUDE(\"${DeployQt4_cmake_dir}/DeployQt4.cmake\")
- SET(BU_CHMOD_BUNDLE_ITEMS TRUE)
- FIXUP_QT4_EXECUTABLE(\"\${CMAKE_INSTALL_PREFIX}/${executable}\" \"\" \"${libs}\" \"${dirs}\" \"${plugins_dir}\" \"${request_qt_conf}\")"
+ "include(\"${DeployQt4_cmake_dir}/DeployQt4.cmake\")
+ set(BU_CHMOD_BUNDLE_ITEMS TRUE)
+ FIXUP_QT4_EXECUTABLE(\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${executable}\" \"\" \"${libs}\" \"${dirs}\" \"${plugins_dir}\" \"${request_qt_conf}\")"
${component}
)
endfunction()
diff --git a/Modules/Documentation.cmake b/Modules/Documentation.cmake
index ffeb371cc..d1c3afe47 100644
--- a/Modules/Documentation.cmake
+++ b/Modules/Documentation.cmake
@@ -18,35 +18,35 @@
#
# Build the documentation ?
#
-OPTION(BUILD_DOCUMENTATION "Build the documentation (Doxygen)." OFF)
-MARK_AS_ADVANCED(BUILD_DOCUMENTATION)
+option(BUILD_DOCUMENTATION "Build the documentation (Doxygen)." OFF)
+mark_as_advanced(BUILD_DOCUMENTATION)
-IF (BUILD_DOCUMENTATION)
+if (BUILD_DOCUMENTATION)
#
# Check for the tools
#
- FIND_PACKAGE(UnixCommands)
- FIND_PACKAGE(Doxygen)
- FIND_PACKAGE(Gnuplot)
- FIND_PACKAGE(HTMLHelp)
- FIND_PACKAGE(Perl)
- FIND_PACKAGE(Wget)
-
- OPTION(DOCUMENTATION_HTML_HELP
+ find_package(UnixCommands)
+ find_package(Doxygen)
+ find_package(Gnuplot)
+ find_package(HTMLHelp)
+ find_package(Perl)
+ find_package(Wget)
+
+ option(DOCUMENTATION_HTML_HELP
"Build the HTML Help file (CHM)." OFF)
- OPTION(DOCUMENTATION_HTML_TARZ
+ option(DOCUMENTATION_HTML_TARZ
"Build a compressed tar archive of the HTML doc." OFF)
- MARK_AS_ADVANCED(
+ mark_as_advanced(
DOCUMENTATION_HTML_HELP
DOCUMENTATION_HTML_TARZ
)
- #
+ #
# The documentation process is controled by a batch file.
# We will probably need bash to create the custom target
#
-ENDIF (BUILD_DOCUMENTATION)
+endif ()
diff --git a/Modules/ExternalProject.cmake b/Modules/ExternalProject.cmake
index a0a9aead5..8d578607e 100644
--- a/Modules/ExternalProject.cmake
+++ b/Modules/ExternalProject.cmake
@@ -9,6 +9,7 @@
# [TMP_DIR dir] # Directory to store temporary files
# [STAMP_DIR dir] # Directory to store step timestamps
# #--Download step--------------
+# [DOWNLOAD_NAME fname] # File name to store (if not end of URL)
# [DOWNLOAD_DIR dir] # Directory to store downloaded files
# [DOWNLOAD_COMMAND cmd...] # Command to download source tree
# [CVS_REPOSITORY cvsroot] # CVSROOT of CVS repository
@@ -21,8 +22,13 @@
# [SVN_TRUST_CERT 1 ] # Trust the Subversion server site certificate
# [GIT_REPOSITORY url] # URL of git repo
# [GIT_TAG tag] # Git branch name, commit id or tag
+# [HG_REPOSITORY url] # URL of mercurial repo
+# [HG_TAG tag] # Mercurial branch name, commit id or tag
# [URL /.../src.tgz] # Full path or URL of source
-# [URL_MD5 md5] # MD5 checksum of file at URL
+# [URL_HASH ALGO=value] # Hash of file at URL
+# [URL_MD5 md5] # Equivalent to URL_HASH MD5=md5
+# [TLS_VERIFY bool] # Should certificate for https be checked
+# [TLS_CAINFO file] # Path to a certificate authority file
# [TIMEOUT seconds] # Time allowed for file download operations
# #--Update/Patch step----------
# [UPDATE_COMMAND cmd...] # Source work-tree update command
@@ -182,6 +188,9 @@ if(_ep_func)
set(_ep_keywords_${_ep_func} "${_ep_keywords_${_ep_func}})$")
endif()
+# Save regex matching supported hash algorithm names.
+set(_ep_hash_algos "MD5|SHA1|SHA224|SHA256|SHA384|SHA512")
+set(_ep_hash_regex "^(${_ep_hash_algos})=([0-9A-Fa-f]+)$")
function(_ep_parse_arguments f name ns args)
# Transfer the arguments to this function into target properties for the
@@ -226,7 +235,7 @@ function(_ep_parse_arguments f name ns args)
set(key "${arg}")
endif()
endforeach()
-endfunction(_ep_parse_arguments)
+endfunction()
define_property(DIRECTORY PROPERTY "EP_BASE" INHERITED
@@ -329,10 +338,71 @@ endif()
"
)
-endfunction(_ep_write_gitclone_script)
+endfunction()
+
+function(_ep_write_hgclone_script script_filename source_dir hg_EXECUTABLE hg_repository hg_tag src_name work_dir hgclone_infofile hgclone_stampfile)
+ file(WRITE ${script_filename}
+"if(\"${hg_tag}\" STREQUAL \"\")
+ message(FATAL_ERROR \"Tag for hg checkout should not be empty.\")
+endif()
+
+set(run 0)
+
+if(\"${hgclone_infofile}\" IS_NEWER_THAN \"${hgclone_stampfile}\")
+ set(run 1)
+endif()
+
+if(NOT run)
+ message(STATUS \"Avoiding repeated hg clone, stamp file is up to date: '${hgclone_stampfile}'\")
+ return()
+endif()
+
+execute_process(
+ COMMAND \${CMAKE_COMMAND} -E remove_directory \"${source_dir}\"
+ RESULT_VARIABLE error_code
+ )
+if(error_code)
+ message(FATAL_ERROR \"Failed to remove directory: '${source_dir}'\")
+endif()
+
+execute_process(
+ COMMAND \"${hg_EXECUTABLE}\" clone \"${hg_repository}\" \"${src_name}\"
+ WORKING_DIRECTORY \"${work_dir}\"
+ RESULT_VARIABLE error_code
+ )
+if(error_code)
+ message(FATAL_ERROR \"Failed to clone repository: '${hg_repository}'\")
+endif()
+
+execute_process(
+ COMMAND \"${hg_EXECUTABLE}\" update ${hg_tag}
+ WORKING_DIRECTORY \"${work_dir}/${src_name}\"
+ RESULT_VARIABLE error_code
+ )
+if(error_code)
+ message(FATAL_ERROR \"Failed to checkout tag: '${hg_tag}'\")
+endif()
+
+# Complete success, update the script-last-run stamp file:
+#
+execute_process(
+ COMMAND \${CMAKE_COMMAND} -E copy
+ \"${hgclone_infofile}\"
+ \"${hgclone_stampfile}\"
+ WORKING_DIRECTORY \"${work_dir}/${src_name}\"
+ RESULT_VARIABLE error_code
+ )
+if(error_code)
+ message(FATAL_ERROR \"Failed to copy script-last-run stamp file: '${hgclone_stampfile}'\")
+endif()
+
+"
+)
+
+endfunction()
-function(_ep_write_downloadfile_script script_filename remote local timeout md5)
+function(_ep_write_downloadfile_script script_filename remote local timeout hash tls_verify tls_cainfo)
if(timeout)
set(timeout_args TIMEOUT ${timeout})
set(timeout_msg "${timeout} seconds")
@@ -341,10 +411,31 @@ function(_ep_write_downloadfile_script script_filename remote local timeout md5)
set(timeout_msg "none")
endif()
- if(md5)
- set(md5_args EXPECTED_MD5 ${md5})
+ if("${hash}" MATCHES "${_ep_hash_regex}")
+ set(hash_args EXPECTED_HASH ${CMAKE_MATCH_1}=${CMAKE_MATCH_2})
else()
- set(md5_args "# no EXPECTED_MD5")
+ set(hash_args "# no EXPECTED_HASH")
+ endif()
+ # check for curl globals in the project
+ if(DEFINED CMAKE_TLS_VERIFY)
+ set(tls_verify "set(CMAKE_TLS_VERIFY ${CMAKE_TLS_VERIFY})")
+ endif()
+ if(DEFINED CMAKE_TLS_CAINFO)
+ set(tls_cainfo "set(CMAKE_TLS_CAINFO \"${CMAKE_TLS_CAINFO}\")")
+ endif()
+
+ # now check for curl locals so that the local values
+ # will override the globals
+
+ # check for tls_verify argument
+ string(LENGTH "${tls_verify}" tls_verify_len)
+ if(tls_verify_len GREATER 0)
+ set(tls_verify "set(CMAKE_TLS_VERIFY ${tls_verify})")
+ endif()
+ # check for tls_cainfo argument
+ string(LENGTH "${tls_cainfo}" tls_cainfo_len)
+ if(tls_cainfo_len GREATER 0)
+ set(tls_cainfo "set(CMAKE_TLS_CAINFO \"${tls_cainfo}\")")
endif()
file(WRITE ${script_filename}
@@ -353,11 +444,14 @@ function(_ep_write_downloadfile_script script_filename remote local timeout md5)
dst='${local}'
timeout='${timeout_msg}'\")
+${tls_verify}
+${tls_cainfo}
+
file(DOWNLOAD
\"${remote}\"
\"${local}\"
SHOW_PROGRESS
- ${md5_args}
+ ${hash_args}
${timeout_args}
STATUS status
LOG log)
@@ -377,52 +471,34 @@ message(STATUS \"downloading... done\")
"
)
-endfunction(_ep_write_downloadfile_script)
-
-
-function(_ep_write_verifyfile_script script_filename local md5)
- file(WRITE ${script_filename}
-"message(STATUS \"verifying file...
- file='${local}'\")
-
-set(verified 0)
-
-# If an expected md5 checksum exists, compare against it:
-#
-if(NOT \"${md5}\" STREQUAL \"\")
- execute_process(COMMAND \${CMAKE_COMMAND} -E md5sum \"${local}\"
- OUTPUT_VARIABLE ov
- OUTPUT_STRIP_TRAILING_WHITESPACE
- RESULT_VARIABLE rv)
-
- if(NOT rv EQUAL 0)
- message(FATAL_ERROR \"error: computing md5sum of '${local}' failed\")
- endif()
-
- string(REGEX MATCH \"^([0-9A-Fa-f]+)\" md5_actual \"\${ov}\")
-
- string(TOLOWER \"\${md5_actual}\" md5_actual)
- string(TOLOWER \"${md5}\" md5)
-
- if(NOT \"\${md5}\" STREQUAL \"\${md5_actual}\")
- message(FATAL_ERROR \"error: md5sum of '${local}' does not match expected value
- md5_expected: \${md5}
- md5_actual: \${md5_actual}
-\")
- endif()
+endfunction()
- set(verified 1)
-endif()
-if(verified)
+function(_ep_write_verifyfile_script script_filename local hash)
+ if("${hash}" MATCHES "${_ep_hash_regex}")
+ set(algo "${CMAKE_MATCH_1}")
+ string(TOLOWER "${CMAKE_MATCH_2}" expect_value)
+ set(script_content "set(expect_value \"${expect_value}\")
+file(${algo} \"\${file}\" actual_value)
+if(\"\${actual_value}\" STREQUAL \"\${expect_value}\")
message(STATUS \"verifying file... done\")
else()
- message(STATUS \"verifying file... warning: did not verify file - no URL_MD5 checksum argument? corrupt file?\")
-endif()
-"
-)
-
-endfunction(_ep_write_verifyfile_script)
+ message(FATAL_ERROR \"error: ${algo} hash of
+ \${file}
+does not match expected value
+ expected: \${expect_value}
+ actual: \${actual_value}
+\")
+endif()")
+ else()
+ set(script_content "message(STATUS \"verifying file... warning: did not verify file - no URL_HASH specified?\")")
+ endif()
+ file(WRITE ${script_filename} "set(file \"${local}\")
+message(STATUS \"verifying file...
+ file='\${file}'\")
+${script_content}
+")
+endfunction()
function(_ep_write_extractfile_script script_filename name filename directory)
@@ -502,7 +578,7 @@ message(STATUS \"extracting... done\")
"
)
-endfunction(_ep_write_extractfile_script)
+endfunction()
function(_ep_set_directories name)
@@ -523,7 +599,7 @@ function(_ep_set_directories name)
set(binary_default "${prefix}/src/${name}-build")
set(stamp_default "${prefix}/src/${name}-stamp")
set(install_default "${prefix}")
- else() # assert(base)
+ else()
set(tmp_default "${base}/tmp/${name}")
set(download_default "${base}/Download/${name}")
set(source_default "${base}/Source/${name}")
@@ -573,7 +649,7 @@ function(_ep_set_directories name)
message(FATAL_ERROR "dir '${dir}' does not exist after file(MAKE_DIRECTORY)")
endif()
endforeach()
-endfunction(_ep_set_directories)
+endfunction()
# IMPORTANT: this MUST be a macro and not a function because of the
@@ -633,7 +709,7 @@ function(_ep_write_initial_cache target_name script_filename args)
file(WRITE "${script_filename}.in" "\@script_initial_cache\@\n")
endif()
configure_file("${script_filename}.in" "${script_filename}")
-endfunction(_ep_write_initial_cache)
+endfunction()
function(ExternalProject_Get_Property name)
@@ -645,7 +721,7 @@ function(ExternalProject_Get_Property name)
endif()
set(${var} "${${var}}" PARENT_SCOPE)
endforeach()
-endfunction(ExternalProject_Get_Property)
+endfunction()
function(_ep_get_configure_command_id name cfg_cmd_id_var)
@@ -671,7 +747,7 @@ function(_ep_get_configure_command_id name cfg_cmd_id_var)
endif()
endif()
endif()
-endfunction(_ep_get_configure_command_id)
+endfunction()
function(_ep_get_build_command name step cmd_var)
@@ -710,7 +786,7 @@ function(_ep_get_build_command name step cmd_var)
set(args "")
endif()
endif()
- else() # if(cfg_cmd_id STREQUAL "configure")
+ else()
# Non-CMake project. Guess "make" and "make install" and "make test".
if("${CMAKE_GENERATOR}" MATCHES "Makefiles")
# Try to get the parallel arguments
@@ -736,7 +812,7 @@ function(_ep_get_build_command name step cmd_var)
endif()
set(${cmd_var} "${cmd}" PARENT_SCOPE)
-endfunction(_ep_get_build_command)
+endfunction()
function(_ep_write_log_script name step cmd_var)
ExternalProject_Get_Property(${name} stamp_dir)
@@ -784,7 +860,7 @@ if(result)
set(msg \"Command failed (\${result}):\\n\")
foreach(arg IN LISTS command)
set(msg \"\${msg} '\${arg}'\")
- endforeach(arg)
+ endforeach()
message(FATAL_ERROR \"\${msg}\")
endif()
")
@@ -823,7 +899,7 @@ if(result)
set(msg \"Command failed: \${result}\\n\")
foreach(arg IN LISTS command)
set(msg \"\${msg} '\${arg}'\")
- endforeach(arg)
+ endforeach()
set(msg \"\${msg}\\nSee also\\n ${logbase}-*.log\\n\")
message(FATAL_ERROR \"\${msg}\")
else()
@@ -833,7 +909,7 @@ endif()
")
set(command ${CMAKE_COMMAND} ${make} ${config} -P ${script})
set(${cmd_var} "${command}" PARENT_SCOPE)
-endfunction(_ep_write_log_script)
+endfunction()
# This module used to use "/${CMAKE_CFG_INTDIR}" directly and produced
# makefiles with "/./" in paths for custom command dependencies. Which
@@ -849,7 +925,7 @@ function(_ep_get_configuration_subdir_suffix suffix_var)
set(suffix "/${CMAKE_CFG_INTDIR}")
endif()
set(${suffix_var} "${suffix}" PARENT_SCOPE)
-endfunction(_ep_get_configuration_subdir_suffix)
+endfunction()
function(_ep_get_step_stampfile name step stampfile_var)
@@ -876,7 +952,7 @@ function(ExternalProject_Add_StepTargets name)
add_dependencies(${name}-${step} ${arg})
endforeach()
endforeach()
-endfunction(ExternalProject_Add_StepTargets)
+endfunction()
function(ExternalProject_Add_Step name step)
@@ -974,7 +1050,7 @@ function(ExternalProject_Add_Step name step)
break()
endif()
endforeach()
-endfunction(ExternalProject_Add_Step)
+endfunction()
function(_ep_add_mkdir_command name)
@@ -992,7 +1068,7 @@ function(_ep_add_mkdir_command name)
COMMAND ${CMAKE_COMMAND} -E make_directory ${stamp_dir}${cfgdir}
COMMAND ${CMAKE_COMMAND} -E make_directory ${download_dir}
)
-endfunction(_ep_add_mkdir_command)
+endfunction()
function(_ep_get_git_version git_EXECUTABLE git_version_var)
@@ -1027,7 +1103,9 @@ function(_ep_add_download_command name)
get_property(cvs_repository TARGET ${name} PROPERTY _EP_CVS_REPOSITORY)
get_property(svn_repository TARGET ${name} PROPERTY _EP_SVN_REPOSITORY)
get_property(git_repository TARGET ${name} PROPERTY _EP_GIT_REPOSITORY)
+ get_property(hg_repository TARGET ${name} PROPERTY _EP_HG_REPOSITORY )
get_property(url TARGET ${name} PROPERTY _EP_URL)
+ get_property(fname TARGET ${name} PROPERTY _EP_DOWNLOAD_NAME)
# TODO: Perhaps file:// should be copied to download dir before extraction.
string(REGEX REPLACE "^file://" "" url "${url}")
@@ -1148,12 +1226,64 @@ function(_ep_add_download_command name)
set(comment "Performing download step (git clone) for '${name}'")
set(cmd ${CMAKE_COMMAND} -P ${tmp_dir}/${name}-gitclone.cmake)
list(APPEND depends ${stamp_dir}/${name}-gitinfo.txt)
+ elseif(hg_repository)
+ find_package(Hg)
+ if(NOT HG_EXECUTABLE)
+ message(FATAL_ERROR "error: could not find hg for clone of ${name}")
+ endif()
+
+ get_property(hg_tag TARGET ${name} PROPERTY _EP_HG_TAG)
+ if(NOT hg_tag)
+ set(hg_tag "tip")
+ endif()
+
+ # For the download step, and the hg clone operation, only the repository
+ # should be recorded in a configured RepositoryInfo file. If the repo
+ # changes, the clone script should be run again. But if only the tag
+ # changes, avoid running the clone script again. Let the 'always' running
+ # update step checkout the new tag.
+ #
+ set(repository ${hg_repository})
+ set(module)
+ set(tag)
+ configure_file(
+ "${CMAKE_ROOT}/Modules/RepositoryInfo.txt.in"
+ "${stamp_dir}/${name}-hginfo.txt"
+ @ONLY
+ )
+
+ get_filename_component(src_name "${source_dir}" NAME)
+ get_filename_component(work_dir "${source_dir}" PATH)
+
+ # Since hg clone doesn't succeed if the non-empty source_dir exists,
+ # create a cmake script to invoke as download command.
+ # The script will delete the source directory and then call hg clone.
+ #
+ _ep_write_hgclone_script(${tmp_dir}/${name}-hgclone.cmake ${source_dir}
+ ${HG_EXECUTABLE} ${hg_repository} ${hg_tag} ${src_name} ${work_dir}
+ ${stamp_dir}/${name}-hginfo.txt ${stamp_dir}/${name}-hgclone-lastrun.txt
+ )
+ set(comment "Performing download step (hg clone) for '${name}'")
+ set(cmd ${CMAKE_COMMAND} -P ${tmp_dir}/${name}-hgclone.cmake)
+ list(APPEND depends ${stamp_dir}/${name}-hginfo.txt)
elseif(url)
get_filename_component(work_dir "${source_dir}" PATH)
+ get_property(hash TARGET ${name} PROPERTY _EP_URL_HASH)
+ if(hash AND NOT "${hash}" MATCHES "${_ep_hash_regex}")
+ message(FATAL_ERROR "URL_HASH is set to\n ${hash}\n"
+ "but must be ALGO=value where ALGO is\n ${_ep_hash_algos}\n"
+ "and value is a hex string.")
+ endif()
get_property(md5 TARGET ${name} PROPERTY _EP_URL_MD5)
+ if(md5 AND NOT "MD5=${md5}" MATCHES "${_ep_hash_regex}")
+ message(FATAL_ERROR "URL_MD5 is set to\n ${md5}\nbut must be a hex string.")
+ endif()
+ if(md5 AND NOT hash)
+ set(hash "MD5=${md5}")
+ endif()
set(repository "external project URL")
set(module "${url}")
- set(tag "${md5}")
+ set(tag "${hash}")
configure_file(
"${CMAKE_ROOT}/Modules/RepositoryInfo.txt.in"
"${stamp_dir}/${name}-urlinfo.txt"
@@ -1168,7 +1298,9 @@ function(_ep_add_download_command name)
else()
if("${url}" MATCHES "^[a-z]+://")
# TODO: Should download and extraction be different steps?
- string(REGEX MATCH "[^/\\?]*$" fname "${url}")
+ if("x${fname}" STREQUAL "x")
+ string(REGEX MATCH "[^/\\?]*$" fname "${url}")
+ endif()
if(NOT "${fname}" MATCHES "(\\.|=)(bz2|tar|tgz|tar\\.gz|zip)$")
string(REGEX MATCH "([^/\\?]+(\\.|=)(bz2|tar|tgz|tar\\.gz|zip))/.*$" match_result "${url}")
set(fname "${CMAKE_MATCH_1}")
@@ -1179,7 +1311,10 @@ function(_ep_add_download_command name)
string(REPLACE ";" "-" fname "${fname}")
set(file ${download_dir}/${fname})
get_property(timeout TARGET ${name} PROPERTY _EP_TIMEOUT)
- _ep_write_downloadfile_script("${stamp_dir}/download-${name}.cmake" "${url}" "${file}" "${timeout}" "${md5}")
+ get_property(tls_verify TARGET ${name} PROPERTY _EP_TLS_VERIFY)
+ get_property(tls_cainfo TARGET ${name} PROPERTY _EP_TLS_CAINFO)
+ _ep_write_downloadfile_script("${stamp_dir}/download-${name}.cmake"
+ "${url}" "${file}" "${timeout}" "${hash}" "${tls_verify}" "${tls_cainfo}")
set(cmd ${CMAKE_COMMAND} -P ${stamp_dir}/download-${name}.cmake
COMMAND)
set(comment "Performing download step (download, verify and extract) for '${name}'")
@@ -1187,7 +1322,7 @@ function(_ep_add_download_command name)
set(file "${url}")
set(comment "Performing download step (verify and extract) for '${name}'")
endif()
- _ep_write_verifyfile_script("${stamp_dir}/verify-${name}.cmake" "${file}" "${md5}")
+ _ep_write_verifyfile_script("${stamp_dir}/verify-${name}.cmake" "${file}" "${hash}")
list(APPEND cmd ${CMAKE_COMMAND} -P ${stamp_dir}/verify-${name}.cmake
COMMAND)
_ep_write_extractfile_script("${stamp_dir}/extract-${name}.cmake" "${name}" "${file}" "${source_dir}")
@@ -1196,7 +1331,7 @@ function(_ep_add_download_command name)
else()
_ep_is_dir_empty("${source_dir}" empty)
if(${empty})
- message(SEND_ERROR "error: no download info for '${name}' -- please specify existing/non-empty SOURCE_DIR or one of URL, CVS_REPOSITORY and CVS_MODULE, SVN_REPOSITORY, GIT_REPOSITORY or DOWNLOAD_COMMAND")
+ message(SEND_ERROR "error: no download info for '${name}' -- please specify existing/non-empty SOURCE_DIR or one of URL, CVS_REPOSITORY and CVS_MODULE, SVN_REPOSITORY, GIT_REPOSITORY, HG_REPOSITORY or DOWNLOAD_COMMAND")
endif()
endif()
@@ -1215,7 +1350,7 @@ function(_ep_add_download_command name)
DEPENDEES mkdir
${log}
)
-endfunction(_ep_add_download_command)
+endfunction()
function(_ep_add_update_command name)
@@ -1226,6 +1361,7 @@ function(_ep_add_update_command name)
get_property(cvs_repository TARGET ${name} PROPERTY _EP_CVS_REPOSITORY)
get_property(svn_repository TARGET ${name} PROPERTY _EP_SVN_REPOSITORY)
get_property(git_repository TARGET ${name} PROPERTY _EP_GIT_REPOSITORY)
+ get_property(hg_repository TARGET ${name} PROPERTY _EP_HG_REPOSITORY )
set(work_dir)
set(comment)
@@ -1280,6 +1416,27 @@ function(_ep_add_update_command name)
COMMAND ${GIT_EXECUTABLE} submodule update --recursive
)
set(always 1)
+ elseif(hg_repository)
+ if(NOT HG_EXECUTABLE)
+ message(FATAL_ERROR "error: could not find hg for pull of ${name}")
+ endif()
+ set(work_dir ${source_dir})
+ set(comment "Performing update step (hg pull) for '${name}'")
+ get_property(hg_tag TARGET ${name} PROPERTY _EP_HG_TAG)
+ if(NOT hg_tag)
+ set(hg_tag "tip")
+ endif()
+ if("${HG_VERSION_STRING}" STREQUAL "2.1")
+ message(WARNING "Mercurial 2.1 does not distinguish an empty pull from a failed pull:
+ http://mercurial.selenic.com/wiki/UpgradeNotes#A2.1.1:_revert_pull_return_code_change.2C_compile_issue_on_OS_X
+ http://thread.gmane.org/gmane.comp.version-control.mercurial.devel/47656
+Update to Mercurial >= 2.1.1.
+")
+ endif()
+ set(cmd ${HG_EXECUTABLE} pull
+ COMMAND ${HG_EXECUTABLE} update ${hg_tag}
+ )
+ set(always 1)
endif()
get_property(log TARGET ${name} PROPERTY _EP_LOG_UPDATE)
@@ -1297,7 +1454,7 @@ function(_ep_add_update_command name)
DEPENDEES download
${log}
)
-endfunction(_ep_add_update_command)
+endfunction()
function(_ep_add_patch_command name)
@@ -1317,7 +1474,7 @@ function(_ep_add_patch_command name)
WORKING_DIRECTORY ${work_dir}
DEPENDEES download
)
-endfunction(_ep_add_patch_command)
+endfunction()
# TODO: Make sure external projects use the proper compiler
@@ -1392,7 +1549,7 @@ function(_ep_add_configure_command name)
DEPENDS ${file_deps}
${log}
)
-endfunction(_ep_add_configure_command)
+endfunction()
function(_ep_add_build_command name)
@@ -1418,7 +1575,7 @@ function(_ep_add_build_command name)
DEPENDEES configure
${log}
)
-endfunction(_ep_add_build_command)
+endfunction()
function(_ep_add_install_command name)
@@ -1444,7 +1601,7 @@ function(_ep_add_install_command name)
DEPENDEES build
${log}
)
-endfunction(_ep_add_install_command)
+endfunction()
function(_ep_add_test_command name)
@@ -1484,7 +1641,7 @@ function(_ep_add_test_command name)
${log}
)
endif()
-endfunction(_ep_add_test_command)
+endfunction()
function(ExternalProject_Add name)
@@ -1550,4 +1707,4 @@ function(ExternalProject_Add name)
# on install.
#
_ep_add_test_command(${name})
-endfunction(ExternalProject_Add)
+endfunction()
diff --git a/Modules/FLTKCompatibility.cmake b/Modules/FLTKCompatibility.cmake
index 6b6f9607b..58c52da34 100644
--- a/Modules/FLTKCompatibility.cmake
+++ b/Modules/FLTKCompatibility.cmake
@@ -12,4 +12,4 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE(CheckIncludeFile)
+include(CheckIncludeFile)
diff --git a/Modules/FeatureSummary.cmake b/Modules/FeatureSummary.cmake
index a5b94d199..41bce1e85 100644
--- a/Modules/FeatureSummary.cmake
+++ b/Modules/FeatureSummary.cmake
@@ -87,7 +87,7 @@
# Use this macro to set up information about the named package, which can
# then be displayed via FEATURE_SUMMARY().
# This can be done either directly in the Find-module or in the project
-# which uses the module after the FIND_PACKAGE() call.
+# which uses the module after the find_package() call.
# The features for which information can be set are added automatically by the
# find_package() command.
#
@@ -151,7 +151,7 @@
# Use this macro to set up information about the named package, which can
# then be displayed via FEATURE_SUMMARY().
# This can be done either directly in the Find-module or in the project
-# which uses the module after the FIND_PACKAGE() call.
+# which uses the module after the find_package() call.
# The features for which information can be set are added automatically by the
# find_package() command.
#
@@ -177,177 +177,177 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE(CMakeParseArguments)
+include(CMakeParseArguments)
-FUNCTION(ADD_FEATURE_INFO _name _enabled _desc)
- IF (${_enabled})
- SET_PROPERTY(GLOBAL APPEND PROPERTY ENABLED_FEATURES "${_name}")
- ELSE ()
- SET_PROPERTY(GLOBAL APPEND PROPERTY DISABLED_FEATURES "${_name}")
- ENDIF ()
+function(ADD_FEATURE_INFO _name _enabled _desc)
+ if (${_enabled})
+ set_property(GLOBAL APPEND PROPERTY ENABLED_FEATURES "${_name}")
+ else ()
+ set_property(GLOBAL APPEND PROPERTY DISABLED_FEATURES "${_name}")
+ endif ()
- SET_PROPERTY(GLOBAL PROPERTY _CMAKE_${_name}_DESCRIPTION "${_desc}" )
-ENDFUNCTION(ADD_FEATURE_INFO)
+ set_property(GLOBAL PROPERTY _CMAKE_${_name}_DESCRIPTION "${_desc}" )
+endfunction()
-FUNCTION(SET_PACKAGE_PROPERTIES _name _props)
- IF(NOT "${_props}" STREQUAL "PROPERTIES")
- MESSAGE(FATAL_ERROR "PROPERTIES keyword is missing in SET_PACKAGE_PROPERTIES() call.")
- ENDIF()
+function(SET_PACKAGE_PROPERTIES _name _props)
+ if(NOT "${_props}" STREQUAL "PROPERTIES")
+ message(FATAL_ERROR "PROPERTIES keyword is missing in SET_PACKAGE_PROPERTIES() call.")
+ endif()
- SET(options ) # none
- SET(oneValueArgs DESCRIPTION URL TYPE PURPOSE )
- SET(multiValueArgs ) # none
+ set(options ) # none
+ set(oneValueArgs DESCRIPTION URL TYPE PURPOSE )
+ set(multiValueArgs ) # none
CMAKE_PARSE_ARGUMENTS(_SPP "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
- IF(_SPP_UNPARSED_ARGUMENTS)
- MESSAGE(FATAL_ERROR "Unknown keywords given to SET_PACKAGE_PROPERTIES(): \"${_SPP_UNPARSED_ARGUMENTS}\"")
- ENDIF()
+ if(_SPP_UNPARSED_ARGUMENTS)
+ message(FATAL_ERROR "Unknown keywords given to SET_PACKAGE_PROPERTIES(): \"${_SPP_UNPARSED_ARGUMENTS}\"")
+ endif()
- IF(_SPP_DESCRIPTION)
- GET_PROPERTY(_info GLOBAL PROPERTY _CMAKE_${_name}_DESCRIPTION)
- IF(_info AND NOT "${_info}" STREQUAL "${_SPP_DESCRIPTION}")
- MESSAGE(STATUS "Warning: Property DESCRIPTION for package ${_name} already set to \"${_info}\", overriding it with \"${_SPP_DESCRIPTION}\"")
- ENDIF()
+ if(_SPP_DESCRIPTION)
+ get_property(_info GLOBAL PROPERTY _CMAKE_${_name}_DESCRIPTION)
+ if(_info AND NOT "${_info}" STREQUAL "${_SPP_DESCRIPTION}")
+ message(STATUS "Warning: Property DESCRIPTION for package ${_name} already set to \"${_info}\", overriding it with \"${_SPP_DESCRIPTION}\"")
+ endif()
- SET_PROPERTY(GLOBAL PROPERTY _CMAKE_${_name}_DESCRIPTION "${_SPP_DESCRIPTION}" )
- ENDIF()
+ set_property(GLOBAL PROPERTY _CMAKE_${_name}_DESCRIPTION "${_SPP_DESCRIPTION}" )
+ endif()
- IF(_SPP_URL)
- GET_PROPERTY(_info GLOBAL PROPERTY _CMAKE_${_name}_URL)
- IF(_info AND NOT "${_info}" STREQUAL "${_SPP_URL}")
- MESSAGE(STATUS "Warning: Property URL already set to \"${_info}\", overriding it with \"${_SPP_URL}\"")
- ENDIF()
+ if(_SPP_URL)
+ get_property(_info GLOBAL PROPERTY _CMAKE_${_name}_URL)
+ if(_info AND NOT "${_info}" STREQUAL "${_SPP_URL}")
+ message(STATUS "Warning: Property URL already set to \"${_info}\", overriding it with \"${_SPP_URL}\"")
+ endif()
- SET_PROPERTY(GLOBAL PROPERTY _CMAKE_${_name}_URL "${_SPP_URL}" )
- ENDIF()
+ set_property(GLOBAL PROPERTY _CMAKE_${_name}_URL "${_SPP_URL}" )
+ endif()
# handle the PURPOSE: use APPEND, since there can be multiple purposes for one package inside a project
- IF(_SPP_PURPOSE)
- SET_PROPERTY(GLOBAL APPEND PROPERTY _CMAKE_${_name}_PURPOSE "${_SPP_PURPOSE}" )
- ENDIF()
+ if(_SPP_PURPOSE)
+ set_property(GLOBAL APPEND PROPERTY _CMAKE_${_name}_PURPOSE "${_SPP_PURPOSE}" )
+ endif()
# handle the TYPE
- IF(NOT _SPP_TYPE)
- SET(_SPP_TYPE OPTIONAL)
- ENDIF()
+ if(NOT _SPP_TYPE)
+ set(_SPP_TYPE OPTIONAL)
+ endif()
# List the supported types, according to their priority
- SET(validTypes "RUNTIME" "OPTIONAL" "RECOMMENDED" "REQUIRED" )
- LIST(FIND validTypes ${_SPP_TYPE} _typeIndexInList)
- IF("${_typeIndexInList}" STREQUAL "-1" )
- MESSAGE(FATAL_ERROR "Bad package property type ${_SPP_TYPE} used in SET_PACKAGE_PROPERTIES(). "
+ set(validTypes "RUNTIME" "OPTIONAL" "RECOMMENDED" "REQUIRED" )
+ list(FIND validTypes ${_SPP_TYPE} _typeIndexInList)
+ if("${_typeIndexInList}" STREQUAL "-1" )
+ message(FATAL_ERROR "Bad package property type ${_SPP_TYPE} used in SET_PACKAGE_PROPERTIES(). "
"Valid types are OPTIONAL, RECOMMENDED, REQUIRED and RUNTIME." )
- ENDIF()
+ endif()
- GET_PROPERTY(_previousType GLOBAL PROPERTY _CMAKE_${_name}_TYPE)
- LIST(FIND validTypes "${_previousType}" _prevTypeIndexInList)
+ get_property(_previousType GLOBAL PROPERTY _CMAKE_${_name}_TYPE)
+ list(FIND validTypes "${_previousType}" _prevTypeIndexInList)
# make sure a previously set TYPE is not overridden with a lower new TYPE:
- IF("${_typeIndexInList}" GREATER "${_prevTypeIndexInList}")
- SET_PROPERTY(GLOBAL PROPERTY _CMAKE_${_name}_TYPE "${_SPP_TYPE}" )
- ENDIF()
+ if("${_typeIndexInList}" GREATER "${_prevTypeIndexInList}")
+ set_property(GLOBAL PROPERTY _CMAKE_${_name}_TYPE "${_SPP_TYPE}" )
+ endif()
-ENDFUNCTION(SET_PACKAGE_PROPERTIES)
+endfunction()
-FUNCTION(_FS_GET_FEATURE_SUMMARY _property _var _includeQuiet)
+function(_FS_GET_FEATURE_SUMMARY _property _var _includeQuiet)
- SET(_type "ANY")
- IF("${_property}" MATCHES "REQUIRED_")
- SET(_type "REQUIRED")
- ELSEIF("${_property}" MATCHES "RECOMMENDED_")
- SET(_type "RECOMMENDED")
- ELSEIF("${_property}" MATCHES "RUNTIME_")
- SET(_type "RUNTIME")
- ELSEIF("${_property}" MATCHES "OPTIONAL_")
- SET(_type "OPTIONAL")
- ENDIF()
+ set(_type "ANY")
+ if("${_property}" MATCHES "REQUIRED_")
+ set(_type "REQUIRED")
+ elseif("${_property}" MATCHES "RECOMMENDED_")
+ set(_type "RECOMMENDED")
+ elseif("${_property}" MATCHES "RUNTIME_")
+ set(_type "RUNTIME")
+ elseif("${_property}" MATCHES "OPTIONAL_")
+ set(_type "OPTIONAL")
+ endif()
- IF("${_property}" MATCHES "PACKAGES_FOUND")
- SET(_property "PACKAGES_FOUND")
- ELSEIF("${_property}" MATCHES "PACKAGES_NOT_FOUND")
- SET(_property "PACKAGES_NOT_FOUND")
- ENDIF()
+ if("${_property}" MATCHES "PACKAGES_FOUND")
+ set(_property "PACKAGES_FOUND")
+ elseif("${_property}" MATCHES "PACKAGES_NOT_FOUND")
+ set(_property "PACKAGES_NOT_FOUND")
+ endif()
- SET(_currentFeatureText "")
- GET_PROPERTY(_EnabledFeatures GLOBAL PROPERTY ${_property})
+ set(_currentFeatureText "")
+ get_property(_EnabledFeatures GLOBAL PROPERTY ${_property})
- FOREACH(_currentFeature ${_EnabledFeatures})
+ foreach(_currentFeature ${_EnabledFeatures})
# does this package belong to the type we currently want to list ?
- GET_PROPERTY(_currentType GLOBAL PROPERTY _CMAKE_${_currentFeature}_TYPE)
- IF(NOT _currentType)
- SET(_currentType OPTIONAL)
- ENDIF()
+ get_property(_currentType GLOBAL PROPERTY _CMAKE_${_currentFeature}_TYPE)
+ if(NOT _currentType)
+ set(_currentType OPTIONAL)
+ endif()
- IF("${_type}" STREQUAL ANY OR "${_type}" STREQUAL "${_currentType}")
+ if("${_type}" STREQUAL ANY OR "${_type}" STREQUAL "${_currentType}")
# check whether the current feature/package should be in the output depending on whether it was QUIET or not
- SET(includeThisOne TRUE)
+ set(includeThisOne TRUE)
# skip QUIET packages, except if they are REQUIRED or INCLUDE_QUIET_PACKAGES has been set
- IF((NOT "${_currentType}" STREQUAL "REQUIRED") AND NOT _includeQuiet)
- GET_PROPERTY(_isQuiet GLOBAL PROPERTY _CMAKE_${_currentFeature}_QUIET)
- IF(_isQuiet)
- SET(includeThisOne FALSE)
- ENDIF()
- ENDIF()
+ if((NOT "${_currentType}" STREQUAL "REQUIRED") AND NOT _includeQuiet)
+ get_property(_isQuiet GLOBAL PROPERTY _CMAKE_${_currentFeature}_QUIET)
+ if(_isQuiet)
+ set(includeThisOne FALSE)
+ endif()
+ endif()
- IF(includeThisOne)
+ if(includeThisOne)
- SET(_currentFeatureText "${_currentFeatureText}\n * ${_currentFeature}")
- GET_PROPERTY(_info GLOBAL PROPERTY _CMAKE_${_currentFeature}_REQUIRED_VERSION)
- IF(_info)
- SET(_currentFeatureText "${_currentFeatureText} (required version ${_info})")
- ENDIF(_info)
- GET_PROPERTY(_info GLOBAL PROPERTY _CMAKE_${_currentFeature}_DESCRIPTION)
- IF(_info)
- SET(_currentFeatureText "${_currentFeatureText} , ${_info}")
- ENDIF(_info)
- GET_PROPERTY(_info GLOBAL PROPERTY _CMAKE_${_currentFeature}_URL)
- IF(_info)
- SET(_currentFeatureText "${_currentFeatureText} , <${_info}>")
- ENDIF(_info)
+ set(_currentFeatureText "${_currentFeatureText}\n * ${_currentFeature}")
+ get_property(_info GLOBAL PROPERTY _CMAKE_${_currentFeature}_REQUIRED_VERSION)
+ if(_info)
+ set(_currentFeatureText "${_currentFeatureText} (required version ${_info})")
+ endif()
+ get_property(_info GLOBAL PROPERTY _CMAKE_${_currentFeature}_DESCRIPTION)
+ if(_info)
+ set(_currentFeatureText "${_currentFeatureText} , ${_info}")
+ endif()
+ get_property(_info GLOBAL PROPERTY _CMAKE_${_currentFeature}_URL)
+ if(_info)
+ set(_currentFeatureText "${_currentFeatureText} , <${_info}>")
+ endif()
- GET_PROPERTY(_info GLOBAL PROPERTY _CMAKE_${_currentFeature}_PURPOSE)
- FOREACH(_purpose ${_info})
- SET(_currentFeatureText "${_currentFeatureText}\n ${_purpose}")
- ENDFOREACH()
+ get_property(_info GLOBAL PROPERTY _CMAKE_${_currentFeature}_PURPOSE)
+ foreach(_purpose ${_info})
+ set(_currentFeatureText "${_currentFeatureText}\n ${_purpose}")
+ endforeach()
- ENDIF(includeThisOne)
+ endif()
- ENDIF("${_type}" STREQUAL ANY OR "${_type}" STREQUAL "${_currentType}")
+ endif()
- ENDFOREACH(_currentFeature)
- SET(${_var} "${_currentFeatureText}" PARENT_SCOPE)
-ENDFUNCTION(_FS_GET_FEATURE_SUMMARY)
+ endforeach()
+ set(${_var} "${_currentFeatureText}" PARENT_SCOPE)
+endfunction()
-FUNCTION(FEATURE_SUMMARY)
+function(FEATURE_SUMMARY)
# CMAKE_PARSE_ARGUMENTS(<prefix> <options> <one_value_keywords> <multi_value_keywords> args...)
- SET(options APPEND INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
- SET(oneValueArgs FILENAME VAR DESCRIPTION WHAT)
- SET(multiValueArgs ) # none
+ set(options APPEND INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
+ set(oneValueArgs FILENAME VAR DESCRIPTION WHAT)
+ set(multiValueArgs ) # none
CMAKE_PARSE_ARGUMENTS(_FS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${_FIRST_ARG} ${ARGN})
- IF(_FS_UNPARSED_ARGUMENTS)
- MESSAGE(FATAL_ERROR "Unknown keywords given to FEATURE_SUMMARY(): \"${_FS_UNPARSED_ARGUMENTS}\"")
- ENDIF()
+ if(_FS_UNPARSED_ARGUMENTS)
+ message(FATAL_ERROR "Unknown keywords given to FEATURE_SUMMARY(): \"${_FS_UNPARSED_ARGUMENTS}\"")
+ endif()
- IF(NOT _FS_WHAT)
- MESSAGE(FATAL_ERROR "The call to FEATURE_SUMMARY() doesn't set the required WHAT argument.")
- ENDIF()
+ if(NOT _FS_WHAT)
+ message(FATAL_ERROR "The call to FEATURE_SUMMARY() doesn't set the required WHAT argument.")
+ endif()
- SET(validWhatParts "ENABLED_FEATURES"
+ set(validWhatParts "ENABLED_FEATURES"
"DISABLED_FEATURES"
"PACKAGES_FOUND"
"PACKAGES_NOT_FOUND"
@@ -360,17 +360,17 @@ FUNCTION(FEATURE_SUMMARY)
"RUNTIME_PACKAGES_FOUND"
"RUNTIME_PACKAGES_NOT_FOUND")
- LIST(FIND validWhatParts "${_FS_WHAT}" indexInList)
- IF(NOT "${indexInList}" STREQUAL "-1")
+ list(FIND validWhatParts "${_FS_WHAT}" indexInList)
+ if(NOT "${indexInList}" STREQUAL "-1")
_FS_GET_FEATURE_SUMMARY( ${_FS_WHAT} _featureSummary ${_FS_INCLUDE_QUIET_PACKAGES} )
- SET(_fullText "${_FS_DESCRIPTION}${_featureSummary}\n")
- IF (("${_FS_WHAT}" STREQUAL "REQUIRED_PACKAGES_NOT_FOUND") AND _featureSummary)
- SET(requiredPackagesNotFound TRUE)
- ENDIF()
+ set(_fullText "${_FS_DESCRIPTION}${_featureSummary}\n")
+ if (("${_FS_WHAT}" STREQUAL "REQUIRED_PACKAGES_NOT_FOUND") AND _featureSummary)
+ set(requiredPackagesNotFound TRUE)
+ endif()
- ELSEIF("${_FS_WHAT}" STREQUAL "ALL")
+ elseif("${_FS_WHAT}" STREQUAL "ALL")
- SET(allWhatParts "ENABLED_FEATURES"
+ set(allWhatParts "ENABLED_FEATURES"
"RUNTIME_PACKAGES_FOUND"
"OPTIONAL_PACKAGES_FOUND"
"RECOMMENDED_PACKAGES_FOUND"
@@ -383,84 +383,84 @@ FUNCTION(FEATURE_SUMMARY)
"REQUIRED_PACKAGES_NOT_FOUND"
)
- SET(title_ENABLED_FEATURES "The following features have been enabled:")
- SET(title_DISABLED_FEATURES "The following features have been disabled:")
- SET(title_OPTIONAL_PACKAGES_FOUND "The following OPTIONAL packages have been found:")
- SET(title_OPTIONAL_PACKAGES_NOT_FOUND "The following OPTIONAL packages have not been found:")
- SET(title_RECOMMENDED_PACKAGES_FOUND "The following RECOMMENDED packages have been found:")
- SET(title_RECOMMENDED_PACKAGES_NOT_FOUND "The following RECOMMENDED packages have not been found:")
- SET(title_REQUIRED_PACKAGES_FOUND "The following REQUIRED packages have been found:")
- SET(title_REQUIRED_PACKAGES_NOT_FOUND "The following REQUIRED packages have not been found:")
- SET(title_RUNTIME_PACKAGES_FOUND "The following RUNTIME packages have been found:")
- SET(title_RUNTIME_PACKAGES_NOT_FOUND "The following RUNTIME packages have not been found:")
-
- SET(_fullText "${_FS_DESCRIPTION}")
- FOREACH(part ${allWhatParts})
- SET(_tmp)
+ set(title_ENABLED_FEATURES "The following features have been enabled:")
+ set(title_DISABLED_FEATURES "The following features have been disabled:")
+ set(title_OPTIONAL_PACKAGES_FOUND "The following OPTIONAL packages have been found:")
+ set(title_OPTIONAL_PACKAGES_NOT_FOUND "The following OPTIONAL packages have not been found:")
+ set(title_RECOMMENDED_PACKAGES_FOUND "The following RECOMMENDED packages have been found:")
+ set(title_RECOMMENDED_PACKAGES_NOT_FOUND "The following RECOMMENDED packages have not been found:")
+ set(title_REQUIRED_PACKAGES_FOUND "The following REQUIRED packages have been found:")
+ set(title_REQUIRED_PACKAGES_NOT_FOUND "The following REQUIRED packages have not been found:")
+ set(title_RUNTIME_PACKAGES_FOUND "The following RUNTIME packages have been found:")
+ set(title_RUNTIME_PACKAGES_NOT_FOUND "The following RUNTIME packages have not been found:")
+
+ set(_fullText "${_FS_DESCRIPTION}")
+ foreach(part ${allWhatParts})
+ set(_tmp)
_FS_GET_FEATURE_SUMMARY( ${part} _tmp ${_FS_INCLUDE_QUIET_PACKAGES})
- IF(_tmp)
- SET(_fullText "${_fullText}\n-- ${title_${part}}\n${_tmp}\n")
- IF("${part}" STREQUAL "REQUIRED_PACKAGES_NOT_FOUND")
- SET(requiredPackagesNotFound TRUE)
- ENDIF()
- ENDIF()
- ENDFOREACH()
- ELSE()
- MESSAGE(FATAL_ERROR "The WHAT argument of FEATURE_SUMMARY() is set to ${_FS_WHAT}, which is not a valid value.")
- ENDIF()
-
- IF(_FS_FILENAME)
- IF(_FS_APPEND)
- FILE(APPEND "${_FS_FILENAME}" "${_fullText}")
- ELSE(_FS_APPEND)
- FILE(WRITE "${_FS_FILENAME}" "${_fullText}")
- ENDIF()
-
- ELSE(_FS_FILENAME)
- IF(NOT _FS_VAR)
- MESSAGE(STATUS "${_fullText}")
- ENDIF()
- ENDIF()
-
- IF(_FS_VAR)
- SET(${_FS_VAR} "${_fullText}" PARENT_SCOPE)
- ENDIF()
-
- IF(requiredPackagesNotFound AND _FS_FATAL_ON_MISSING_REQUIRED_PACKAGES)
- MESSAGE(FATAL_ERROR "feature_summary() Error: REQUIRED package(s) are missing, aborting CMake run.")
- ENDIF()
-
-ENDFUNCTION(FEATURE_SUMMARY)
+ if(_tmp)
+ set(_fullText "${_fullText}\n-- ${title_${part}}\n${_tmp}\n")
+ if("${part}" STREQUAL "REQUIRED_PACKAGES_NOT_FOUND")
+ set(requiredPackagesNotFound TRUE)
+ endif()
+ endif()
+ endforeach()
+ else()
+ message(FATAL_ERROR "The WHAT argument of FEATURE_SUMMARY() is set to ${_FS_WHAT}, which is not a valid value.")
+ endif()
+
+ if(_FS_FILENAME)
+ if(_FS_APPEND)
+ file(APPEND "${_FS_FILENAME}" "${_fullText}")
+ else()
+ file(WRITE "${_FS_FILENAME}" "${_fullText}")
+ endif()
+
+ else()
+ if(NOT _FS_VAR)
+ message(STATUS "${_fullText}")
+ endif()
+ endif()
+
+ if(_FS_VAR)
+ set(${_FS_VAR} "${_fullText}" PARENT_SCOPE)
+ endif()
+
+ if(requiredPackagesNotFound AND _FS_FATAL_ON_MISSING_REQUIRED_PACKAGES)
+ message(FATAL_ERROR "feature_summary() Error: REQUIRED package(s) are missing, aborting CMake run.")
+ endif()
+
+endfunction()
# The stuff below is only kept for compatibility
-FUNCTION(SET_PACKAGE_INFO _name _desc)
- SET(_url "${ARGV2}")
- SET(_purpose "${ARGV3}")
- SET_PROPERTY(GLOBAL PROPERTY _CMAKE_${_name}_DESCRIPTION "${_desc}" )
- IF(_url MATCHES ".+")
- SET_PROPERTY(GLOBAL PROPERTY _CMAKE_${_name}_URL "${_url}" )
- ENDIF()
- IF(_purpose MATCHES ".+")
- SET_PROPERTY(GLOBAL APPEND PROPERTY _CMAKE_${_name}_PURPOSE "${_purpose}" )
- ENDIF()
-ENDFUNCTION(SET_PACKAGE_INFO)
+function(SET_PACKAGE_INFO _name _desc)
+ set(_url "${ARGV2}")
+ set(_purpose "${ARGV3}")
+ set_property(GLOBAL PROPERTY _CMAKE_${_name}_DESCRIPTION "${_desc}" )
+ if(_url MATCHES ".+")
+ set_property(GLOBAL PROPERTY _CMAKE_${_name}_URL "${_url}" )
+ endif()
+ if(_purpose MATCHES ".+")
+ set_property(GLOBAL APPEND PROPERTY _CMAKE_${_name}_PURPOSE "${_purpose}" )
+ endif()
+endfunction()
-FUNCTION(SET_FEATURE_INFO)
+function(SET_FEATURE_INFO)
SET_PACKAGE_INFO(${ARGN})
-ENDFUNCTION(SET_FEATURE_INFO)
+endfunction()
-FUNCTION(PRINT_ENABLED_FEATURES)
+function(PRINT_ENABLED_FEATURES)
FEATURE_SUMMARY(WHAT ENABLED_FEATURES DESCRIPTION "Enabled features:")
-ENDFUNCTION(PRINT_ENABLED_FEATURES)
+endfunction()
-FUNCTION(PRINT_DISABLED_FEATURES)
+function(PRINT_DISABLED_FEATURES)
FEATURE_SUMMARY(WHAT DISABLED_FEATURES DESCRIPTION "Disabled features:")
-ENDFUNCTION(PRINT_DISABLED_FEATURES)
+endfunction()
diff --git a/Modules/FindALSA.cmake b/Modules/FindALSA.cmake
index 4a0b69303..60b0f56e6 100644
--- a/Modules/FindALSA.cmake
+++ b/Modules/FindALSA.cmake
@@ -40,7 +40,7 @@ if(ALSA_INCLUDE_DIR AND EXISTS "${ALSA_INCLUDE_DIR}/alsa/version.h")
unset(alsa_version_str)
endif()
-# handle the QUIETLY and REQUIRED arguments and set ALSA_FOUND to TRUE if
+# handle the QUIETLY and REQUIRED arguments and set ALSA_FOUND to TRUE if
# all listed variables are TRUE
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(ALSA
diff --git a/Modules/FindASPELL.cmake b/Modules/FindASPELL.cmake
index 713ab7e19..5b383c4d3 100644
--- a/Modules/FindASPELL.cmake
+++ b/Modules/FindASPELL.cmake
@@ -21,17 +21,17 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PATH(ASPELL_INCLUDE_DIR aspell.h )
+find_path(ASPELL_INCLUDE_DIR aspell.h )
-FIND_PROGRAM(ASPELL_EXECUTABLE
+find_program(ASPELL_EXECUTABLE
NAMES aspell
)
-FIND_LIBRARY(ASPELL_LIBRARIES NAMES aspell aspell-15 libaspell-15 libaspell)
+find_library(ASPELL_LIBRARIES NAMES aspell aspell-15 libaspell-15 libaspell)
# handle the QUIETLY and REQUIRED arguments and set ASPELL_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(ASPELL DEFAULT_MSG ASPELL_LIBRARIES ASPELL_INCLUDE_DIR ASPELL_EXECUTABLE)
-MARK_AS_ADVANCED(ASPELL_INCLUDE_DIR ASPELL_LIBRARIES ASPELL_EXECUTABLE)
+mark_as_advanced(ASPELL_INCLUDE_DIR ASPELL_LIBRARIES ASPELL_EXECUTABLE)
diff --git a/Modules/FindAVIFile.cmake b/Modules/FindAVIFile.cmake
index 8b5b05ae3..93fa40004 100644
--- a/Modules/FindAVIFile.cmake
+++ b/Modules/FindAVIFile.cmake
@@ -1,5 +1,5 @@
# - Locate AVIFILE library and include paths
-# AVIFILE (http://avifile.sourceforge.net/)is a set of libraries for
+# AVIFILE (http://avifile.sourceforge.net/)is a set of libraries for
# i386 machines
# to use various AVI codecs. Support is limited beyond Linux. Windows
# provides native AVI support, and so doesn't need this library.
@@ -22,27 +22,27 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-IF (UNIX)
+if (UNIX)
- FIND_PATH(AVIFILE_INCLUDE_DIR avifile.h
+ find_path(AVIFILE_INCLUDE_DIR avifile.h
/usr/local/avifile/include
/usr/local/include/avifile
)
- FIND_LIBRARY(AVIFILE_AVIPLAY_LIBRARY aviplay
+ find_library(AVIFILE_AVIPLAY_LIBRARY aviplay
/usr/local/avifile/lib
)
-ENDIF (UNIX)
+endif ()
# handle the QUIETLY and REQUIRED arguments and set AVIFILE_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(AVIFile DEFAULT_MSG AVIFILE_INCLUDE_DIR AVIFILE_AVIPLAY_LIBRARY)
-IF (AVIFILE_FOUND)
- SET(AVIFILE_LIBRARIES ${AVIFILE_AVIPLAY_LIBRARY})
- SET(AVIFILE_DEFINITIONS "")
-ENDIF()
+if (AVIFILE_FOUND)
+ set(AVIFILE_LIBRARIES ${AVIFILE_AVIPLAY_LIBRARY})
+ set(AVIFILE_DEFINITIONS "")
+endif()
-MARK_AS_ADVANCED(AVIFILE_INCLUDE_DIR AVIFILE_AVIPLAY_LIBRARY)
+mark_as_advanced(AVIFILE_INCLUDE_DIR AVIFILE_AVIPLAY_LIBRARY)
diff --git a/Modules/FindArmadillo.cmake b/Modules/FindArmadillo.cmake
index 84ed3cab6..4758534d7 100644
--- a/Modules/FindArmadillo.cmake
+++ b/Modules/FindArmadillo.cmake
@@ -58,24 +58,25 @@ if(ARMADILLO_INCLUDE_DIR)
if(EXISTS "${ARMADILLO_INCLUDE_DIR}/armadillo_bits/arma_version.hpp")
# Read and parse armdillo version header file for version number
- file(READ "${ARMADILLO_INCLUDE_DIR}/armadillo_bits/arma_version.hpp" _armadillo_HEADER_CONTENTS)
+ file(STRINGS "${ARMADILLO_INCLUDE_DIR}/armadillo_bits/arma_version.hpp" _armadillo_HEADER_CONTENTS REGEX "#define ARMA_VERSION_[A-Z]+ ")
string(REGEX REPLACE ".*#define ARMA_VERSION_MAJOR ([0-9]+).*" "\\1" ARMADILLO_VERSION_MAJOR "${_armadillo_HEADER_CONTENTS}")
string(REGEX REPLACE ".*#define ARMA_VERSION_MINOR ([0-9]+).*" "\\1" ARMADILLO_VERSION_MINOR "${_armadillo_HEADER_CONTENTS}")
string(REGEX REPLACE ".*#define ARMA_VERSION_PATCH ([0-9]+).*" "\\1" ARMADILLO_VERSION_PATCH "${_armadillo_HEADER_CONTENTS}")
# WARNING: The number of spaces before the version name is not one.
- string(REGEX REPLACE ".*#define ARMA_VERSION_NAME\ +\"([0-9a-zA-Z\ _-]+)\".*" "\\1" ARMADILLO_VERSION_NAME "${_armadillo_HEADER_CONTENTS}")
+ string(REGEX REPLACE ".*#define ARMA_VERSION_NAME +\"([0-9a-zA-Z _-]+)\".*" "\\1" ARMADILLO_VERSION_NAME "${_armadillo_HEADER_CONTENTS}")
- endif(EXISTS "${ARMADILLO_INCLUDE_DIR}/armadillo_bits/arma_version.hpp")
+ unset(_armadillo_HEADER_CONTENTS)
+ endif()
set(ARMADILLO_VERSION_STRING "${ARMADILLO_VERSION_MAJOR}.${ARMADILLO_VERSION_MINOR}.${ARMADILLO_VERSION_PATCH}")
-endif (ARMADILLO_INCLUDE_DIR)
+endif ()
#======================
# Checks 'REQUIRED', 'QUIET' and versions.
-include(FindPackageHandleStandardArgs)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
find_package_handle_standard_args(Armadillo
REQUIRED_VARS ARMADILLO_LIBRARY ARMADILLO_INCLUDE_DIR
VERSION_VAR ARMADILLO_VERSION_STRING)
@@ -84,7 +85,7 @@ find_package_handle_standard_args(Armadillo
if (ARMADILLO_FOUND)
set(ARMADILLO_INCLUDE_DIRS ${ARMADILLO_INCLUDE_DIR})
set(ARMADILLO_LIBRARIES ${ARMADILLO_LIBRARY})
-endif (ARMADILLO_FOUND)
+endif ()
# Hide internal variables
diff --git a/Modules/FindBISON.cmake b/Modules/FindBISON.cmake
index 7af336788..a0afd344c 100644
--- a/Modules/FindBISON.cmake
+++ b/Modules/FindBISON.cmake
@@ -47,46 +47,46 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PROGRAM(BISON_EXECUTABLE bison DOC "path to the bison executable")
-MARK_AS_ADVANCED(BISON_EXECUTABLE)
+find_program(BISON_EXECUTABLE bison DOC "path to the bison executable")
+mark_as_advanced(BISON_EXECUTABLE)
-IF(BISON_EXECUTABLE)
+if(BISON_EXECUTABLE)
# the bison commands should be executed with the C locale, otherwise
# the message (which are parsed) may be translated
- SET(_Bison_SAVED_LC_ALL "$ENV{LC_ALL}")
- SET(ENV{LC_ALL} C)
+ set(_Bison_SAVED_LC_ALL "$ENV{LC_ALL}")
+ set(ENV{LC_ALL} C)
- EXECUTE_PROCESS(COMMAND ${BISON_EXECUTABLE} --version
+ execute_process(COMMAND ${BISON_EXECUTABLE} --version
OUTPUT_VARIABLE BISON_version_output
ERROR_VARIABLE BISON_version_error
RESULT_VARIABLE BISON_version_result
OUTPUT_STRIP_TRAILING_WHITESPACE)
- SET(ENV{LC_ALL} ${_Bison_SAVED_LC_ALL})
+ set(ENV{LC_ALL} ${_Bison_SAVED_LC_ALL})
- IF(NOT ${BISON_version_result} EQUAL 0)
- MESSAGE(SEND_ERROR "Command \"${BISON_EXECUTABLE} --version\" failed with output:\n${BISON_version_error}")
- ELSE()
+ if(NOT ${BISON_version_result} EQUAL 0)
+ message(SEND_ERROR "Command \"${BISON_EXECUTABLE} --version\" failed with output:\n${BISON_version_error}")
+ else()
# Bison++
- IF("${BISON_version_output}" MATCHES "^bison\\+\\+")
- STRING(REGEX REPLACE "^bison\\+\\+ Version ([^,]+).*" "\\1"
+ if("${BISON_version_output}" MATCHES "^bison\\+\\+")
+ string(REGEX REPLACE "^bison\\+\\+ Version ([^,]+).*" "\\1"
BISON_VERSION "${BISON_version_output}")
# GNU Bison
- ELSEIF("${BISON_version_output}" MATCHES "^bison[^+]")
- STRING(REGEX REPLACE "^bison \\(GNU Bison\\) ([^\n]+)\n.*" "\\1"
+ elseif("${BISON_version_output}" MATCHES "^bison[^+]")
+ string(REGEX REPLACE "^bison \\(GNU Bison\\) ([^\n]+)\n.*" "\\1"
BISON_VERSION "${BISON_version_output}")
- ELSEIF("${BISON_version_output}" MATCHES "^GNU Bison ")
- STRING(REGEX REPLACE "^GNU Bison (version )?([^\n]+).*" "\\2"
+ elseif("${BISON_version_output}" MATCHES "^GNU Bison ")
+ string(REGEX REPLACE "^GNU Bison (version )?([^\n]+).*" "\\2"
BISON_VERSION "${BISON_version_output}")
- ENDIF()
- ENDIF()
+ endif()
+ endif()
# internal macro
- MACRO(BISON_TARGET_option_verbose Name BisonOutput filename)
- LIST(APPEND BISON_TARGET_cmdopt "--verbose")
- GET_FILENAME_COMPONENT(BISON_TARGET_output_path "${BisonOutput}" PATH)
- GET_FILENAME_COMPONENT(BISON_TARGET_output_name "${BisonOutput}" NAME_WE)
- ADD_CUSTOM_COMMAND(OUTPUT ${filename}
+ macro(BISON_TARGET_option_verbose Name BisonOutput filename)
+ list(APPEND BISON_TARGET_cmdopt "--verbose")
+ get_filename_component(BISON_TARGET_output_path "${BisonOutput}" PATH)
+ get_filename_component(BISON_TARGET_output_name "${BisonOutput}" NAME_WE)
+ add_custom_command(OUTPUT ${filename}
COMMAND ${CMAKE_COMMAND}
ARGS -E copy
"${BISON_TARGET_output_path}/${BISON_TARGET_output_name}.output"
@@ -95,58 +95,58 @@ IF(BISON_EXECUTABLE)
"${BISON_TARGET_output_path}/${BISON_TARGET_output_name}.output"
COMMENT "[BISON][${Name}] Copying bison verbose table to ${filename}"
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
- SET(BISON_${Name}_VERBOSE_FILE ${filename})
- LIST(APPEND BISON_TARGET_extraoutputs
+ set(BISON_${Name}_VERBOSE_FILE ${filename})
+ list(APPEND BISON_TARGET_extraoutputs
"${BISON_TARGET_output_path}/${BISON_TARGET_output_name}.output")
- ENDMACRO(BISON_TARGET_option_verbose)
+ endmacro()
# internal macro
- MACRO(BISON_TARGET_option_extraopts Options)
- SET(BISON_TARGET_extraopts "${Options}")
- SEPARATE_ARGUMENTS(BISON_TARGET_extraopts)
- LIST(APPEND BISON_TARGET_cmdopt ${BISON_TARGET_extraopts})
- ENDMACRO(BISON_TARGET_option_extraopts)
+ macro(BISON_TARGET_option_extraopts Options)
+ set(BISON_TARGET_extraopts "${Options}")
+ separate_arguments(BISON_TARGET_extraopts)
+ list(APPEND BISON_TARGET_cmdopt ${BISON_TARGET_extraopts})
+ endmacro()
#============================================================
# BISON_TARGET (public macro)
#============================================================
#
- MACRO(BISON_TARGET Name BisonInput BisonOutput)
- SET(BISON_TARGET_output_header "")
- SET(BISON_TARGET_cmdopt "")
- SET(BISON_TARGET_outputs "${BisonOutput}")
- IF(NOT ${ARGC} EQUAL 3 AND NOT ${ARGC} EQUAL 5 AND NOT ${ARGC} EQUAL 7)
- MESSAGE(SEND_ERROR "Usage")
- ELSE()
+ macro(BISON_TARGET Name BisonInput BisonOutput)
+ set(BISON_TARGET_output_header "")
+ set(BISON_TARGET_cmdopt "")
+ set(BISON_TARGET_outputs "${BisonOutput}")
+ if(NOT ${ARGC} EQUAL 3 AND NOT ${ARGC} EQUAL 5 AND NOT ${ARGC} EQUAL 7)
+ message(SEND_ERROR "Usage")
+ else()
# Parsing parameters
- IF(${ARGC} GREATER 5 OR ${ARGC} EQUAL 5)
- IF("${ARGV3}" STREQUAL "VERBOSE")
+ if(${ARGC} GREATER 5 OR ${ARGC} EQUAL 5)
+ if("${ARGV3}" STREQUAL "VERBOSE")
BISON_TARGET_option_verbose(${Name} ${BisonOutput} "${ARGV4}")
- ENDIF()
- IF("${ARGV3}" STREQUAL "COMPILE_FLAGS")
+ endif()
+ if("${ARGV3}" STREQUAL "COMPILE_FLAGS")
BISON_TARGET_option_extraopts("${ARGV4}")
- ENDIF()
- ENDIF()
+ endif()
+ endif()
- IF(${ARGC} EQUAL 7)
- IF("${ARGV5}" STREQUAL "VERBOSE")
+ if(${ARGC} EQUAL 7)
+ if("${ARGV5}" STREQUAL "VERBOSE")
BISON_TARGET_option_verbose(${Name} ${BisonOutput} "${ARGV6}")
- ENDIF()
+ endif()
- IF("${ARGV5}" STREQUAL "COMPILE_FLAGS")
+ if("${ARGV5}" STREQUAL "COMPILE_FLAGS")
BISON_TARGET_option_extraopts("${ARGV6}")
- ENDIF()
- ENDIF()
+ endif()
+ endif()
# Header's name generated by bison (see option -d)
- LIST(APPEND BISON_TARGET_cmdopt "-d")
- STRING(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\2" _fileext "${ARGV2}")
- STRING(REPLACE "c" "h" _fileext ${_fileext})
- STRING(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\1${_fileext}"
+ list(APPEND BISON_TARGET_cmdopt "-d")
+ string(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\2" _fileext "${ARGV2}")
+ string(REPLACE "c" "h" _fileext ${_fileext})
+ string(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\1${_fileext}"
BISON_${Name}_OUTPUT_HEADER "${ARGV2}")
- LIST(APPEND BISON_TARGET_outputs "${BISON_${Name}_OUTPUT_HEADER}")
+ list(APPEND BISON_TARGET_outputs "${BISON_${Name}_OUTPUT_HEADER}")
- ADD_CUSTOM_COMMAND(OUTPUT ${BISON_TARGET_outputs}
+ add_custom_command(OUTPUT ${BISON_TARGET_outputs}
${BISON_TARGET_extraoutputs}
COMMAND ${BISON_EXECUTABLE}
ARGS ${BISON_TARGET_cmdopt} -o ${ARGV2} ${ARGV1}
@@ -155,20 +155,20 @@ IF(BISON_EXECUTABLE)
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
# define target variables
- SET(BISON_${Name}_DEFINED TRUE)
- SET(BISON_${Name}_INPUT ${ARGV1})
- SET(BISON_${Name}_OUTPUTS ${BISON_TARGET_outputs})
- SET(BISON_${Name}_COMPILE_FLAGS ${BISON_TARGET_cmdopt})
- SET(BISON_${Name}_OUTPUT_SOURCE "${BisonOutput}")
-
- ENDIF(NOT ${ARGC} EQUAL 3 AND NOT ${ARGC} EQUAL 5 AND NOT ${ARGC} EQUAL 7)
- ENDMACRO(BISON_TARGET)
+ set(BISON_${Name}_DEFINED TRUE)
+ set(BISON_${Name}_INPUT ${ARGV1})
+ set(BISON_${Name}_OUTPUTS ${BISON_TARGET_outputs})
+ set(BISON_${Name}_COMPILE_FLAGS ${BISON_TARGET_cmdopt})
+ set(BISON_${Name}_OUTPUT_SOURCE "${BisonOutput}")
+
+ endif()
+ endmacro()
#
#============================================================
-ENDIF(BISON_EXECUTABLE)
+endif()
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(BISON REQUIRED_VARS BISON_EXECUTABLE
VERSION_VAR BISON_VERSION)
diff --git a/Modules/FindBLAS.cmake b/Modules/FindBLAS.cmake
index 1cf31c4a6..d9b3c618c 100644
--- a/Modules/FindBLAS.cmake
+++ b/Modules/FindBLAS.cmake
@@ -54,11 +54,11 @@ elseif( (_LANGUAGES_ MATCHES C) OR (_LANGUAGES_ MATCHES CXX) )
else()
if(BLAS_FIND_REQUIRED)
message(FATAL_ERROR "FindBLAS requires Fortran, C, or C++ to be enabled.")
- else(BLAS_FIND_REQUIRED)
+ else()
message(STATUS "Looking for BLAS... - NOT found (Unsupported languages)")
return()
- endif(BLAS_FIND_REQUIRED)
-endif( )
+ endif()
+endif()
macro(Check_Fortran_Libraries LIBRARIES _prefix _name _flags _list _thread)
# This macro checks for the existence of the combination of fortran libraries
@@ -81,9 +81,9 @@ if (NOT _libdir)
if (WIN32)
set(_libdir ENV LIB)
elseif (APPLE)
- set(_libdir /usr/local/lib /usr/lib /usr/local/lib64 /usr/lib64 ENV DYLD_LIBRARY_PATH)
+ set(_libdir ENV DYLD_LIBRARY_PATH)
else ()
- set(_libdir /usr/local/lib /usr/lib /usr/local/lib64 /usr/lib64 ENV LD_LIBRARY_PATH)
+ set(_libdir ENV LD_LIBRARY_PATH)
endif ()
endif ()
@@ -94,18 +94,18 @@ foreach(_library ${_list})
if (BLA_STATIC)
if (WIN32)
set(CMAKE_FIND_LIBRARY_SUFFIXES .lib ${CMAKE_FIND_LIBRARY_SUFFIXES})
- endif ( WIN32 )
+ endif ()
if (APPLE)
set(CMAKE_FIND_LIBRARY_SUFFIXES .lib ${CMAKE_FIND_LIBRARY_SUFFIXES})
- else (APPLE)
+ else ()
set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
- endif (APPLE)
- else (BLA_STATIC)
+ endif ()
+ else ()
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
# for ubuntu's libblas3gf and liblapack3gf packages
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES} .so.3gf)
endif ()
- endif (BLA_STATIC)
+ endif ()
find_library(${_prefix}_${_library}_LIBRARY
NAMES ${_library}
PATHS ${_libdir}
@@ -113,8 +113,8 @@ foreach(_library ${_list})
mark_as_advanced(${_prefix}_${_library}_LIBRARY)
set(${LIBRARIES} ${${LIBRARIES}} ${${_prefix}_${_library}_LIBRARY})
set(_libraries_work ${${_prefix}_${_library}_LIBRARY})
- endif(_libraries_work)
-endforeach(_library ${_list})
+ endif()
+endforeach()
if(_libraries_work)
# Test this combination of libraries.
set(CMAKE_REQUIRED_LIBRARIES ${_flags} ${${LIBRARIES}} ${_thread})
@@ -127,23 +127,23 @@ if(_libraries_work)
set(CMAKE_REQUIRED_LIBRARIES)
mark_as_advanced(${_prefix}${_combined_name}_WORKS)
set(_libraries_work ${${_prefix}${_combined_name}_WORKS})
-endif(_libraries_work)
+endif()
if(NOT _libraries_work)
set(${LIBRARIES} FALSE)
-endif(NOT _libraries_work)
+endif()
#message("DEBUG: ${LIBRARIES} = ${${LIBRARIES}}")
-endmacro(Check_Fortran_Libraries)
+endmacro()
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 ".+")
+else ()
if(NOT BLA_VENDOR)
set(BLA_VENDOR "All")
- endif(NOT BLA_VENDOR)
-endif ($ENV{BLA_VENDOR} MATCHES ".+")
+ endif()
+endif ()
if (BLA_VENDOR STREQUAL "Goto" OR BLA_VENDOR STREQUAL "All")
if(NOT BLAS_LIBRARIES)
@@ -156,8 +156,8 @@ if (BLA_VENDOR STREQUAL "Goto" OR BLA_VENDOR STREQUAL "All")
"goto2"
""
)
- endif(NOT BLAS_LIBRARIES)
-endif (BLA_VENDOR STREQUAL "Goto" OR BLA_VENDOR STREQUAL "All")
+ endif()
+endif ()
if (BLA_VENDOR STREQUAL "ATLAS" OR BLA_VENDOR STREQUAL "All")
if(NOT BLAS_LIBRARIES)
@@ -170,8 +170,8 @@ if (BLA_VENDOR STREQUAL "ATLAS" OR BLA_VENDOR STREQUAL "All")
"f77blas;atlas"
""
)
- endif(NOT BLAS_LIBRARIES)
-endif (BLA_VENDOR STREQUAL "ATLAS" OR BLA_VENDOR STREQUAL "All")
+ endif()
+endif ()
# BLAS in PhiPACK libraries? (requires generic BLAS lib, too)
if (BLA_VENDOR STREQUAL "PhiPACK" OR BLA_VENDOR STREQUAL "All")
@@ -184,8 +184,8 @@ if (BLA_VENDOR STREQUAL "PhiPACK" OR BLA_VENDOR STREQUAL "All")
"sgemm;dgemm;blas"
""
)
- endif(NOT BLAS_LIBRARIES)
-endif (BLA_VENDOR STREQUAL "PhiPACK" OR BLA_VENDOR STREQUAL "All")
+ endif()
+endif ()
# BLAS in Alpha CXML library?
if (BLA_VENDOR STREQUAL "CXML" OR BLA_VENDOR STREQUAL "All")
@@ -198,8 +198,8 @@ if (BLA_VENDOR STREQUAL "CXML" OR BLA_VENDOR STREQUAL "All")
"cxml"
""
)
- endif(NOT BLAS_LIBRARIES)
-endif (BLA_VENDOR STREQUAL "CXML" OR BLA_VENDOR STREQUAL "All")
+ endif()
+endif ()
# BLAS in Alpha DXML library? (now called CXML, see above)
if (BLA_VENDOR STREQUAL "DXML" OR BLA_VENDOR STREQUAL "All")
@@ -212,8 +212,8 @@ if (BLA_VENDOR STREQUAL "DXML" OR BLA_VENDOR STREQUAL "All")
"dxml"
""
)
- endif(NOT BLAS_LIBRARIES)
-endif (BLA_VENDOR STREQUAL "DXML" OR BLA_VENDOR STREQUAL "All")
+ endif()
+endif ()
# BLAS in Sun Performance library?
if (BLA_VENDOR STREQUAL "SunPerf" OR BLA_VENDOR STREQUAL "All")
@@ -228,9 +228,9 @@ if (BLA_VENDOR STREQUAL "SunPerf" OR BLA_VENDOR STREQUAL "All")
)
if(BLAS_LIBRARIES)
set(BLAS_LINKER_FLAGS "-xlic_lib=sunperf")
- endif(BLAS_LIBRARIES)
- endif(NOT BLAS_LIBRARIES)
-endif (BLA_VENDOR STREQUAL "SunPerf" OR BLA_VENDOR STREQUAL "All")
+ endif()
+ endif()
+endif ()
# BLAS in SCSL library? (SGI/Cray Scientific Library)
if (BLA_VENDOR STREQUAL "SCSL" OR BLA_VENDOR STREQUAL "All")
@@ -243,8 +243,8 @@ if (BLA_VENDOR STREQUAL "SCSL" OR BLA_VENDOR STREQUAL "All")
"scsl"
""
)
- endif(NOT BLAS_LIBRARIES)
-endif (BLA_VENDOR STREQUAL "SCSL" OR BLA_VENDOR STREQUAL "All")
+ endif()
+endif ()
# BLAS in SGIMATH library?
if (BLA_VENDOR STREQUAL "SGIMATH" OR BLA_VENDOR STREQUAL "All")
@@ -257,8 +257,8 @@ if (BLA_VENDOR STREQUAL "SGIMATH" OR BLA_VENDOR STREQUAL "All")
"complib.sgimath"
""
)
- endif(NOT BLAS_LIBRARIES)
-endif (BLA_VENDOR STREQUAL "SGIMATH" OR BLA_VENDOR STREQUAL "All")
+ endif()
+endif ()
# BLAS in IBM ESSL library? (requires generic BLAS lib, too)
if (BLA_VENDOR STREQUAL "IBMESSL" OR BLA_VENDOR STREQUAL "All")
@@ -271,8 +271,8 @@ if (BLA_VENDOR STREQUAL "IBMESSL" OR BLA_VENDOR STREQUAL "All")
"essl;blas"
""
)
- endif(NOT BLAS_LIBRARIES)
-endif (BLA_VENDOR STREQUAL "IBMESSL" OR BLA_VENDOR STREQUAL "All")
+ endif()
+endif ()
#BLAS in acml library?
if (BLA_VENDOR MATCHES "ACML.*" OR BLA_VENDOR STREQUAL "All")
@@ -321,7 +321,7 @@ if (BLA_VENDOR MATCHES "ACML.*" OR BLA_VENDOR STREQUAL "All")
elseif( CMAKE_Fortran_COMPILER_ID STREQUAL "NAG" )
set( _ACML_COMPILER32 "nag32" )
set( _ACML_COMPILER64 "nag64" )
- else() #if( CMAKE_Fortran_COMPILER_ID STREQUAL "GNU" )
+ else()
set( _ACML_COMPILER32 "gfortran32" )
set( _ACML_COMPILER64 "gfortran64" )
endif()
@@ -330,7 +330,7 @@ if (BLA_VENDOR MATCHES "ACML.*" OR BLA_VENDOR STREQUAL "All")
set(_ACML_MP_LIB_DIRS
"${_ACML_ROOT}/${_ACML_COMPILER32}_mp${_ACML_PATH_SUFFIX}/lib"
"${_ACML_ROOT}/${_ACML_COMPILER64}_mp${_ACML_PATH_SUFFIX}/lib" )
- else() #if( _BLAS_VENDOR STREQUAL "ACML" )
+ else()
set(_ACML_LIB_DIRS
"${_ACML_ROOT}/${_ACML_COMPILER32}${_ACML_PATH_SUFFIX}/lib"
"${_ACML_ROOT}/${_ACML_COMPILER64}${_ACML_PATH_SUFFIX}/lib" )
@@ -364,7 +364,7 @@ if (BLA_VENDOR MATCHES "ACML.*" OR BLA_VENDOR STREQUAL "All")
break()
endif()
endforeach()
- else() #if( _BLAS_VENDOR STREQUAL "ACML" )
+ else()
foreach( BLAS_ACML_LIB_DIRS ${_ACML_LIB_DIRS} )
check_fortran_libraries (
BLAS_LIBRARIES
@@ -388,7 +388,7 @@ if (BLA_VENDOR MATCHES "ACML.*" OR BLA_VENDOR STREQUAL "All")
"acml;acml_mv"
""
)
- endif(NOT BLAS_LIBRARIES)
+ endif()
if(NOT BLAS_LIBRARIES)
check_fortran_libraries(
BLAS_LIBRARIES
@@ -398,7 +398,7 @@ if (BLA_VENDOR MATCHES "ACML.*" OR BLA_VENDOR STREQUAL "All")
"acml_mp;acml_mv"
""
)
- endif(NOT BLAS_LIBRARIES)
+ endif()
if(NOT BLAS_LIBRARIES)
check_fortran_libraries(
BLAS_LIBRARIES
@@ -408,7 +408,7 @@ if (BLA_VENDOR MATCHES "ACML.*" OR BLA_VENDOR STREQUAL "All")
"acml;acml_mv;CALBLAS"
""
)
- endif(NOT BLAS_LIBRARIES)
+ endif()
endif () # ACML
# Apple BLAS library?
@@ -422,8 +422,8 @@ if(NOT BLAS_LIBRARIES)
"Accelerate"
""
)
- endif(NOT BLAS_LIBRARIES)
-endif (BLA_VENDOR STREQUAL "Apple" OR BLA_VENDOR STREQUAL "All")
+ endif()
+endif ()
if (BLA_VENDOR STREQUAL "NAS" OR BLA_VENDOR STREQUAL "All")
if ( NOT BLAS_LIBRARIES )
@@ -435,8 +435,8 @@ if (BLA_VENDOR STREQUAL "NAS" OR BLA_VENDOR STREQUAL "All")
"vecLib"
""
)
- endif ( NOT BLAS_LIBRARIES )
-endif (BLA_VENDOR STREQUAL "NAS" OR BLA_VENDOR STREQUAL "All")
+ endif ()
+endif ()
# Generic BLAS library?
if (BLA_VENDOR STREQUAL "Generic" OR BLA_VENDOR STREQUAL "All")
if(NOT BLAS_LIBRARIES)
@@ -448,8 +448,8 @@ if (BLA_VENDOR STREQUAL "Generic" OR BLA_VENDOR STREQUAL "All")
"blas"
""
)
- endif(NOT BLAS_LIBRARIES)
-endif (BLA_VENDOR STREQUAL "Generic" OR BLA_VENDOR STREQUAL "All")
+ endif()
+endif ()
#BLAS in intel mkl 10 library? (em64t 64bit)
if (BLA_VENDOR MATCHES "Intel*" OR BLA_VENDOR STREQUAL "All")
@@ -459,9 +459,9 @@ 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)
+ else()
find_package(Threads REQUIRED)
- endif(BLAS_FIND_QUIETLY OR NOT BLAS_FIND_REQUIRED)
+ endif()
set(BLAS_SEARCH_LIBS "")
@@ -471,7 +471,7 @@ if (BLA_VENDOR MATCHES "Intel*" OR BLA_VENDOR STREQUAL "All")
if (WIN32)
list(APPEND BLAS_SEARCH_LIBS
"mkl_blas95 mkl_intel_c mkl_intel_thread mkl_core libguide40")
- else (WIN32)
+ else ()
if (BLA_VENDOR STREQUAL "Intel10_32" OR BLA_VENDOR STREQUAL "All")
list(APPEND BLAS_SEARCH_LIBS
"mkl_blas95 mkl_intel mkl_intel_thread mkl_core guide")
@@ -490,18 +490,18 @@ if (BLA_VENDOR MATCHES "Intel*" OR BLA_VENDOR STREQUAL "All")
"mkl_blas95_lp64 mkl_intel_lp64 mkl_intel_thread mkl_core iomp5")
endif ()
endif ()
- endif (WIN32)
+ endif ()
if (BLA_VENDOR STREQUAL "Intel10_64lp_seq" OR BLA_VENDOR STREQUAL "All")
list(APPEND BLAS_SEARCH_LIBS
"mkl_blas95_lp64 mkl_intel_lp64 mkl_sequential mkl_core")
endif ()
- else (BLA_F95)
+ else ()
set(BLAS_mkl_SEARCH_SYMBOL sgemm)
set(_LIBRARIES BLAS_LIBRARIES)
if (WIN32)
list(APPEND BLAS_SEARCH_LIBS
"mkl_c_dll mkl_intel_thread_dll mkl_core_dll libguide40")
- else (WIN32)
+ else ()
if (BLA_VENDOR STREQUAL "Intel10_32" OR BLA_VENDOR STREQUAL "All")
list(APPEND BLAS_SEARCH_LIBS
"mkl_intel mkl_intel_thread mkl_core guide")
@@ -531,12 +531,12 @@ if (BLA_VENDOR MATCHES "Intel*" OR BLA_VENDOR STREQUAL "All")
list(APPEND BLAS_SEARCH_LIBS
"mkl_em64t")
endif ()
- endif (WIN32)
+ endif ()
if (BLA_VENDOR STREQUAL "Intel10_64lp_seq" OR BLA_VENDOR STREQUAL "All")
list(APPEND BLAS_SEARCH_LIBS
"mkl_intel_lp64 mkl_sequential mkl_core")
endif ()
- endif (BLA_F95)
+ endif ()
foreach (IT ${BLAS_SEARCH_LIBS})
string(REPLACE " " ";" SEARCH_LIBS ${IT})
@@ -553,54 +553,54 @@ if (BLA_VENDOR MATCHES "Intel*" OR BLA_VENDOR STREQUAL "All")
endif ()
endforeach ()
- endif (_LANGUAGES_ MATCHES C OR _LANGUAGES_ MATCHES CXX)
-endif (BLA_VENDOR MATCHES "Intel*" OR BLA_VENDOR STREQUAL "All")
+ endif ()
+endif ()
if(BLA_F95)
if(BLAS95_LIBRARIES)
set(BLAS95_FOUND TRUE)
- else(BLAS95_LIBRARIES)
+ else()
set(BLAS95_FOUND FALSE)
- endif(BLAS95_LIBRARIES)
+ endif()
if(NOT BLAS_FIND_QUIETLY)
if(BLAS95_FOUND)
message(STATUS "A library with BLAS95 API found.")
- else(BLAS95_FOUND)
+ else()
if(BLAS_FIND_REQUIRED)
message(FATAL_ERROR
"A required library with BLAS95 API not found. Please specify library location.")
- else(BLAS_FIND_REQUIRED)
+ else()
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)
+ endif()
+ endif()
+ endif()
set(BLAS_FOUND TRUE)
set(BLAS_LIBRARIES "${BLAS95_LIBRARIES}")
-else(BLA_F95)
+else()
if(BLAS_LIBRARIES)
set(BLAS_FOUND TRUE)
- else(BLAS_LIBRARIES)
+ else()
set(BLAS_FOUND FALSE)
- endif(BLAS_LIBRARIES)
+ endif()
if(NOT BLAS_FIND_QUIETLY)
if(BLAS_FOUND)
message(STATUS "A library with BLAS API found.")
- else(BLAS_FOUND)
+ else()
if(BLAS_FIND_REQUIRED)
message(FATAL_ERROR
"A required library with BLAS API not found. Please specify library location."
)
- else(BLAS_FIND_REQUIRED)
+ else()
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)
+ endif()
+ endif()
+ endif()
+endif()
set(CMAKE_FIND_LIBRARY_SUFFIXES ${_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
diff --git a/Modules/FindBZip2.cmake b/Modules/FindBZip2.cmake
index ce7f2555d..8b9d235d1 100644
--- a/Modules/FindBZip2.cmake
+++ b/Modules/FindBZip2.cmake
@@ -22,35 +22,35 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-SET(_BZIP2_PATHS PATHS
+set(_BZIP2_PATHS PATHS
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\Bzip2;InstallPath]"
)
-FIND_PATH(BZIP2_INCLUDE_DIR bzlib.h ${_BZIP2_PATHS} PATH_SUFFIXES include)
+find_path(BZIP2_INCLUDE_DIR bzlib.h ${_BZIP2_PATHS} PATH_SUFFIXES include)
-IF (NOT BZIP2_LIBRARIES)
- FIND_LIBRARY(BZIP2_LIBRARY_RELEASE NAMES bz2 bzip2 ${_BZIP2_PATHS} PATH_SUFFIXES lib)
- FIND_LIBRARY(BZIP2_LIBRARY_DEBUG NAMES bzip2d ${_BZIP2_PATHS} PATH_SUFFIXES lib)
+if (NOT BZIP2_LIBRARIES)
+ find_library(BZIP2_LIBRARY_RELEASE NAMES bz2 bzip2 ${_BZIP2_PATHS} PATH_SUFFIXES lib)
+ find_library(BZIP2_LIBRARY_DEBUG NAMES bzip2d ${_BZIP2_PATHS} PATH_SUFFIXES lib)
- INCLUDE(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
+ include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
SELECT_LIBRARY_CONFIGURATIONS(BZIP2)
-ENDIF (NOT BZIP2_LIBRARIES)
+endif ()
-IF (BZIP2_INCLUDE_DIR AND EXISTS "${BZIP2_INCLUDE_DIR}/bzlib.h")
- FILE(STRINGS "${BZIP2_INCLUDE_DIR}/bzlib.h" BZLIB_H REGEX "bzip2/libbzip2 version [0-9]+\\.[^ ]+ of [0-9]+ ")
- STRING(REGEX REPLACE ".* bzip2/libbzip2 version ([0-9]+\\.[^ ]+) of [0-9]+ .*" "\\1" BZIP2_VERSION_STRING "${BZLIB_H}")
-ENDIF (BZIP2_INCLUDE_DIR AND EXISTS "${BZIP2_INCLUDE_DIR}/bzlib.h")
+if (BZIP2_INCLUDE_DIR AND EXISTS "${BZIP2_INCLUDE_DIR}/bzlib.h")
+ file(STRINGS "${BZIP2_INCLUDE_DIR}/bzlib.h" BZLIB_H REGEX "bzip2/libbzip2 version [0-9]+\\.[^ ]+ of [0-9]+ ")
+ string(REGEX REPLACE ".* bzip2/libbzip2 version ([0-9]+\\.[^ ]+) of [0-9]+ .*" "\\1" BZIP2_VERSION_STRING "${BZLIB_H}")
+endif ()
-# handle the QUIETLY and REQUIRED arguments and set BZip2_FOUND to TRUE if
+# handle the QUIETLY and REQUIRED arguments and set BZip2_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(BZip2
REQUIRED_VARS BZIP2_LIBRARIES BZIP2_INCLUDE_DIR
VERSION_VAR BZIP2_VERSION_STRING)
-IF (BZIP2_FOUND)
- INCLUDE(CheckLibraryExists)
+if (BZIP2_FOUND)
+ include(CheckLibraryExists)
CHECK_LIBRARY_EXISTS("${BZIP2_LIBRARIES}" BZ2_bzCompressInit "" BZIP2_NEED_PREFIX)
-ENDIF (BZIP2_FOUND)
+endif ()
-MARK_AS_ADVANCED(BZIP2_INCLUDE_DIR)
+mark_as_advanced(BZIP2_INCLUDE_DIR)
diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake
index ad6b1598d..17aba1b22 100644
--- a/Modules/FindBoost.cmake
+++ b/Modules/FindBoost.cmake
@@ -48,7 +48,7 @@
# libraries with a few exceptions (Boost.Python is one).
#
# Please see the section below near Boost_LIB_DIAGNOSTIC_DEFINITIONS for
-# more details. Adding a TARGET_LINK_LIBRARIES() as shown in the example
+# more details. Adding a target_link_libraries() as shown in the example
# above appears to cause VS to link dynamically if Boost_USE_STATIC_LIBS
# gets set to OFF. It is suggested you avoid automatic linking since it
# will make your application less portable.
@@ -361,16 +361,16 @@ macro(_Boost_ADJUST_LIB_VARS basename)
set(Boost_LIBRARY_DIRS ${Boost_LIBRARY_DIRS} CACHE FILEPATH "Boost library directory")
set(Boost_${basename}_FOUND ON CACHE INTERNAL "Whether the Boost ${basename} library found")
- endif(Boost_${basename}_LIBRARY)
+ endif()
- endif(Boost_INCLUDE_DIR )
+ endif()
# Make variables changeble to the advanced user
mark_as_advanced(
Boost_${basename}_LIBRARY
Boost_${basename}_LIBRARY_RELEASE
Boost_${basename}_LIBRARY_DEBUG
)
-endmacro(_Boost_ADJUST_LIB_VARS)
+endmacro()
#-------------------------------------------------------------------------------
@@ -479,21 +479,21 @@ function(_Boost_GUESS_COMPILER_PREFIX _ret)
# 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)
+ else()
# 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)
+ endif()
+ else()
# We don't know the Boost version, so assume it's
# pre-1.36.0.
set(_boost_COMPILER "")
- endif(Boost_MINOR_VERSION)
+ endif()
else()
set(_boost_COMPILER "-gcc${_boost_COMPILER_VERSION}")
endif()
endif()
- endif (CMAKE_COMPILER_IS_GNUCXX)
+ endif ()
else()
# TODO at least Boost_DEBUG here?
set(_boost_COMPILER "")
@@ -525,7 +525,7 @@ if(Boost_FIND_VERSION_EXACT)
set(_boost_TEST_VERSIONS
"${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}.${Boost_FIND_VERSION_PATCH}"
"${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}")
-else(Boost_FIND_VERSION_EXACT)
+else()
# The user has not requested an exact version. Among known
# versions, find those that are acceptable to the user request.
set(_Boost_KNOWN_VERSIONS ${Boost_ADDITIONAL_VERSIONS}
@@ -549,12 +549,12 @@ else(Boost_FIND_VERSION_EXACT)
# the patch level dropped.
list(APPEND _boost_TEST_VERSIONS "${version}")
endif()
- endforeach(version)
- else(Boost_FIND_VERSION)
+ endforeach()
+ else()
# Any version is acceptable.
set(_boost_TEST_VERSIONS "${_Boost_KNOWN_VERSIONS}")
- endif(Boost_FIND_VERSION)
-endif(Boost_FIND_VERSION_EXACT)
+ endif()
+endif()
# 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
@@ -597,7 +597,7 @@ set(Boost_ERROR_REASON)
# for linking.
set(Boost_LIB_DIAGNOSTIC_DEFINITIONS
"-DBOOST_LIB_DIAGNOSTIC" CACHE STRING "Boost diagnostic define")
- endif(WIN32)
+ endif()
set(_boost_INCLUDE_SEARCH_DIRS_SYSTEM
C:/boost/include
@@ -671,7 +671,7 @@ set(Boost_ERROR_REASON)
file(TO_CMAKE_PATH ${BOOST_INCLUDEDIR} BOOST_INCLUDEDIR)
set(_boost_INCLUDE_SEARCH_DIRS
${BOOST_INCLUDEDIR} ${_boost_INCLUDE_SEARCH_DIRS})
- endif( BOOST_INCLUDEDIR )
+ endif()
# ------------------------------------------------------------------------
# Search for Boost include DIR
@@ -699,7 +699,7 @@ set(Boost_ERROR_REASON)
list(APPEND _boost_PATH_SUFFIXES "boost-${_boost_BOOSTIFIED_VERSION}")
list(APPEND _boost_PATH_SUFFIXES "boost_${_boost_BOOSTIFIED_VERSION}")
- endforeach(_boost_VER)
+ endforeach()
if(Boost_DEBUG)
message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
@@ -717,7 +717,7 @@ set(Boost_ERROR_REASON)
PATH_SUFFIXES ${_boost_PATH_SUFFIXES}
${_boost_FIND_OPTIONS}
)
- endif( NOT Boost_INCLUDE_DIR )
+ endif()
# ------------------------------------------------------------------------
# Extract version information from version.hpp
@@ -729,7 +729,7 @@ set(Boost_ERROR_REASON)
#
set(BOOST_VERSION 0)
set(BOOST_LIB_VERSION "")
- file(READ "${Boost_INCLUDE_DIR}/boost/version.hpp" _boost_VERSION_HPP_CONTENTS)
+ file(STRINGS "${Boost_INCLUDE_DIR}/boost/version.hpp" _boost_VERSION_HPP_CONTENTS REGEX "#define BOOST_(LIB_)?VERSION ")
if(Boost_DEBUG)
message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
"location of version.hpp: ${Boost_INCLUDE_DIR}/boost/version.hpp")
@@ -737,6 +737,7 @@ set(Boost_ERROR_REASON)
string(REGEX REPLACE ".*#define BOOST_VERSION ([0-9]+).*" "\\1" Boost_VERSION "${_boost_VERSION_HPP_CONTENTS}")
string(REGEX REPLACE ".*#define BOOST_LIB_VERSION \"([0-9_]+)\".*" "\\1" Boost_LIB_VERSION "${_boost_VERSION_HPP_CONTENTS}")
+ unset(_boost_VERSION_HPP_CONTENTS)
set(Boost_LIB_VERSION ${Boost_LIB_VERSION} CACHE INTERNAL "The library version string for boost libraries")
set(Boost_VERSION ${Boost_VERSION} CACHE INTERNAL "The version number for boost libraries")
@@ -748,16 +749,16 @@ set(Boost_ERROR_REASON)
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")
+ endif()
if(Boost_DEBUG)
message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
"version.hpp reveals boost "
"${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}")
endif()
- else(Boost_INCLUDE_DIR)
+ else()
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)
+ endif()
# ------------------------------------------------------------------------
# Suffix initialization and compiler suffix detection.
@@ -1007,7 +1008,7 @@ set(Boost_ERROR_REASON)
_Boost_ADJUST_LIB_VARS(${UPPERCOMPONENT})
- endforeach(COMPONENT)
+ endforeach()
# Restore the original find library ordering
if( Boost_USE_STATIC_LIBS )
@@ -1044,9 +1045,9 @@ set(Boost_ERROR_REASON)
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}" )
+ endif()
+ endif()
+ endif()
if (NOT Boost_FOUND)
_Boost_MARK_COMPONENTS_FOUND(OFF)
@@ -1061,7 +1062,7 @@ set(Boost_ERROR_REASON)
# 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)
+ endif ()
# We'll set Boost_FOUND true again if we have an exact version match.
set(Boost_FOUND FALSE)
@@ -1071,10 +1072,10 @@ set(Boost_ERROR_REASON)
if(Boost_SUBMINOR_VERSION EQUAL "${Boost_FIND_VERSION_PATCH}" )
set( Boost_FOUND TRUE )
_Boost_MARK_COMPONENTS_FOUND(ON)
- 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)
+ endif()
+ endif()
+ endif()
+ endif ()
if(NOT Boost_FOUND)
# State that we found a version of Boost that is too new or too old.
@@ -1083,12 +1084,12 @@ set(Boost_ERROR_REASON)
if (Boost_FIND_VERSION_PATCH)
set(Boost_ERROR_REASON
"${Boost_ERROR_REASON}.${Boost_FIND_VERSION_PATCH}")
- endif (Boost_FIND_VERSION_PATCH)
+ endif ()
if (NOT Boost_FIND_VERSION_EXACT)
set(Boost_ERROR_REASON "${Boost_ERROR_REASON} (or newer)")
- endif (NOT Boost_FIND_VERSION_EXACT)
+ endif ()
set(Boost_ERROR_REASON "${Boost_ERROR_REASON}.")
- endif (NOT Boost_FOUND)
+ endif ()
# Always check for missing components
set(_boost_CHECKED_COMPONENT FALSE)
@@ -1101,7 +1102,7 @@ set(Boost_ERROR_REASON)
list(APPEND _Boost_MISSING_COMPONENTS ${COMPONENT})
set( Boost_FOUND FALSE)
endif()
- endforeach(COMPONENT)
+ endforeach()
if(Boost_DEBUG)
message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] Boost_FOUND = ${Boost_FOUND}")
@@ -1115,18 +1116,18 @@ set(Boost_ERROR_REASON)
foreach(COMPONENT ${_Boost_MISSING_COMPONENTS})
set(Boost_ERROR_REASON
"${Boost_ERROR_REASON} boost_${COMPONENT}\n")
- endforeach(COMPONENT)
+ endforeach()
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})
+ else ()
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)
+ endif ()
+ endif ()
if( NOT Boost_LIBRARY_DIRS AND NOT _boost_CHECKED_COMPONENT )
# Compatibility Code for backwards compatibility with CMake
@@ -1160,11 +1161,11 @@ set(Boost_ERROR_REASON)
set(Boost_LIBRARY_DIRS ${_boost_LIB_DIR} CACHE FILEPATH "Boost library directory")
endif()
- endif( NOT Boost_LIBRARY_DIRS AND NOT _boost_CHECKED_COMPONENT )
+ endif()
- else(Boost_INCLUDE_DIR)
+ else()
set( Boost_FOUND FALSE)
- endif(Boost_INCLUDE_DIR)
+ endif()
# ------------------------------------------------------------------------
# Notification to end user about what was found
@@ -1176,16 +1177,16 @@ set(Boost_ERROR_REASON)
if(Boost_FIND_COMPONENTS)
message(STATUS "Found the following Boost libraries:")
endif()
- endif(NOT Boost_FIND_QUIETLY)
+ endif()
foreach( COMPONENT ${Boost_FIND_COMPONENTS} )
string( TOUPPER ${COMPONENT} UPPERCOMPONENT )
if( Boost_${UPPERCOMPONENT}_FOUND )
if(NOT Boost_FIND_QUIETLY)
message (STATUS " ${COMPONENT}")
- endif(NOT Boost_FIND_QUIETLY)
+ endif()
set(Boost_LIBRARIES ${Boost_LIBRARIES} ${Boost_${UPPERCOMPONENT}_LIBRARY})
- endif( Boost_${UPPERCOMPONENT}_FOUND )
- endforeach(COMPONENT)
+ endif()
+ endforeach()
else()
if(Boost_FIND_REQUIRED)
message(SEND_ERROR "Unable to find the requested Boost libraries.\n${Boost_ERROR_REASON}")
@@ -1201,7 +1202,7 @@ set(Boost_ERROR_REASON)
message(STATUS "Could NOT find Boost")
endif()
endif()
- endif(Boost_FIND_REQUIRED)
+ endif()
endif()
# show the Boost_INCLUDE_DIRS AND Boost_LIBRARIES variables only in the advanced view
diff --git a/Modules/FindBullet.cmake b/Modules/FindBullet.cmake
index c96755fa4..1c4a9dec4 100644
--- a/Modules/FindBullet.cmake
+++ b/Modules/FindBullet.cmake
@@ -29,7 +29,7 @@
macro(_FIND_BULLET_LIBRARY _var)
find_library(${_var}
- NAMES
+ NAMES
${ARGN}
HINTS
${BULLET_ROOT}
@@ -68,7 +68,7 @@ _FIND_BULLET_LIBRARY(BULLET_SOFTBODY_LIBRARY BulletSoftBody)
_FIND_BULLET_LIBRARY(BULLET_SOFTBODY_LIBRARY_DEBUG BulletSoftBody_Debug BulletSoftBody_d)
-# handle the QUIETLY and REQUIRED arguments and set BULLET_FOUND to TRUE if
+# handle the QUIETLY and REQUIRED arguments and set BULLET_FOUND to TRUE if
# all listed variables are TRUE
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Bullet DEFAULT_MSG
diff --git a/Modules/FindCABLE.cmake b/Modules/FindCABLE.cmake
index 678fb07ca..3e2d5d3bb 100644
--- a/Modules/FindCABLE.cmake
+++ b/Modules/FindCABLE.cmake
@@ -23,12 +23,12 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-IF(NOT CABLE)
- FIND_PATH(CABLE_BUILD_DIR cableVersion.h)
-ENDIF(NOT CABLE)
+if(NOT CABLE)
+ find_path(CABLE_BUILD_DIR cableVersion.h)
+endif()
-IF(CABLE_BUILD_DIR)
- LOAD_CACHE(${CABLE_BUILD_DIR}
+if(CABLE_BUILD_DIR)
+ load_cache(${CABLE_BUILD_DIR}
EXCLUDE
BUILD_SHARED_LIBS
LIBRARY_OUTPUT_PATH
@@ -39,43 +39,43 @@ IF(CABLE_BUILD_DIR)
CABLE_LIBRARY_PATH
CABLE_EXECUTABLE_PATH)
- IF(CABLE_LIBRARY_PATH)
- FIND_LIBRARY(CABLE_TCL_LIBRARY NAMES CableTclFacility PATHS
+ if(CABLE_LIBRARY_PATH)
+ find_library(CABLE_TCL_LIBRARY NAMES CableTclFacility PATHS
${CABLE_LIBRARY_PATH}
${CABLE_LIBRARY_PATH}/*)
- ELSE(CABLE_LIBRARY_PATH)
- FIND_LIBRARY(CABLE_TCL_LIBRARY NAMES CableTclFacility PATHS
+ else()
+ find_library(CABLE_TCL_LIBRARY NAMES CableTclFacility PATHS
${CABLE_BINARY_DIR}/CableTclFacility
${CABLE_BINARY_DIR}/CableTclFacility/*)
- ENDIF(CABLE_LIBRARY_PATH)
+ endif()
- IF(CABLE_EXECUTABLE_PATH)
- FIND_PROGRAM(CABLE NAMES cable PATHS
+ if(CABLE_EXECUTABLE_PATH)
+ find_program(CABLE NAMES cable PATHS
${CABLE_EXECUTABLE_PATH}
${CABLE_EXECUTABLE_PATH}/*)
- ELSE(CABLE_EXECUTABLE_PATH)
- FIND_PROGRAM(CABLE NAMES cable PATHS
+ else()
+ find_program(CABLE NAMES cable PATHS
${CABLE_BINARY_DIR}/Executables
${CABLE_BINARY_DIR}/Executables/*)
- ENDIF(CABLE_EXECUTABLE_PATH)
+ endif()
- FIND_PATH(CABLE_INCLUDE_DIR CableTclFacility/ctCalls.h
+ find_path(CABLE_INCLUDE_DIR CableTclFacility/ctCalls.h
${CABLE_SOURCE_DIR})
-ELSE(CABLE_BUILD_DIR)
+else()
# Find the cable executable in the path.
- FIND_PROGRAM(CABLE NAMES cable)
+ find_program(CABLE NAMES cable)
# Get the path where the executable sits, but without the executable
# name on it.
- GET_FILENAME_COMPONENT(CABLE_ROOT_BIN ${CABLE} PATH)
+ get_filename_component(CABLE_ROOT_BIN ${CABLE} PATH)
# Find the cable include directory in a path relative to the cable
# executable.
- FIND_PATH(CABLE_INCLUDE_DIR CableTclFacility/ctCalls.h
+ find_path(CABLE_INCLUDE_DIR CableTclFacility/ctCalls.h
${CABLE_ROOT_BIN}/../include/Cable)
# Find the WrapTclFacility library in a path relative to the cable
# executable.
- FIND_LIBRARY(CABLE_TCL_LIBRARY NAMES CableTclFacility PATHS
+ find_library(CABLE_TCL_LIBRARY NAMES CableTclFacility PATHS
${CABLE_ROOT_BIN}/../lib/Cable)
-ENDIF(CABLE_BUILD_DIR)
+endif()
diff --git a/Modules/FindCUDA.cmake b/Modules/FindCUDA.cmake
index 56a92c199..5a834b128 100644
--- a/Modules/FindCUDA.cmake
+++ b/Modules/FindCUDA.cmake
@@ -68,6 +68,13 @@
# CUDA_HOST_COMPILATION_CPP (Default ON)
# -- Set to OFF for C compilation of host code.
#
+# CUDA_HOST_COMPILER (Default CMAKE_C_COMPILER, $(VCInstallDir)/bin for VS)
+# -- Set the host compiler to be used by nvcc. Ignored if -ccbin or
+# --compiler-bindir is already present in the CUDA_NVCC_FLAGS or
+# CUDA_NVCC_FLAGS_<CONFIG> variables. For Visual Studio targets
+# $(VCInstallDir)/bin is a special value that expands out to the path when
+# the command is run from withing VS.
+#
# CUDA_NVCC_FLAGS
# CUDA_NVCC_FLAGS_<CONFIG>
# -- Additional NVCC command line arguments. NOTE: multiple arguments must be
@@ -291,7 +298,7 @@ macro(CUDA_FIND_HELPER_FILE _name _extension)
endif()
# Set this variable as internal, so the user isn't bugged with it.
set(CUDA_${_name} ${CUDA_${_name}} CACHE INTERNAL "Location of ${_full_name}" FORCE)
-endmacro(CUDA_FIND_HELPER_FILE)
+endmacro()
#####################################################################
## CUDA_INCLUDE_NVCC_DEPENDENCIES
@@ -339,12 +346,12 @@ macro(CUDA_INCLUDE_NVCC_DEPENDENCIES dependency_file)
#message("file ${f} not found")
set(CUDA_NVCC_DEPEND_REGENERATE TRUE)
endif()
- endforeach(f)
- else(CUDA_NVCC_DEPEND)
+ endforeach()
+ else()
#message("CUDA_NVCC_DEPEND false")
# No dependencies, so regenerate the file.
set(CUDA_NVCC_DEPEND_REGENERATE TRUE)
- endif(CUDA_NVCC_DEPEND)
+ endif()
#message("CUDA_NVCC_DEPEND_REGENERATE = ${CUDA_NVCC_DEPEND_REGENERATE}")
# No incoming dependencies, so we need to generate them. Make the
@@ -354,9 +361,9 @@ macro(CUDA_INCLUDE_NVCC_DEPENDENCIES dependency_file)
set(CUDA_NVCC_DEPEND ${dependency_file})
#message("Generating an empty dependency_file: ${dependency_file}")
file(WRITE ${dependency_file} "#FindCUDA.cmake generated file. Do not edit.\n")
- endif(CUDA_NVCC_DEPEND_REGENERATE)
+ endif()
-endmacro(CUDA_INCLUDE_NVCC_DEPENDENCIES)
+endmacro()
###############################################################################
###############################################################################
@@ -390,6 +397,12 @@ option(CUDA_HOST_COMPILATION_CPP "Generated file extension" ON)
# Extra user settable flags
set(CUDA_NVCC_FLAGS "" CACHE STRING "Semi-colon delimit multiple arguments.")
+if(CMAKE_GENERATOR MATCHES "Visual Studio")
+ set(CUDA_HOST_COMPILER "$(VCInstallDir)bin" CACHE FILEPATH "Host side compiler used by NVCC")
+else()
+ set(CUDA_HOST_COMPILER "${CMAKE_C_COMPILER}" CACHE FILEPATH "Host side compiler used by NVCC")
+endif()
+
# Propagate the host flags to the host compiler via -Xcompiler
option(CUDA_PROPAGATE_HOST_FLAGS "Propage C/CXX_FLAGS and friends to the host compiler via -Xcompile" ON)
@@ -482,15 +495,15 @@ if(NOT CUDA_TOOLKIT_ROOT_DIR)
string(REGEX REPLACE "[/\\\\]?bin[64]*[/\\\\]?$" "" CUDA_TOOLKIT_ROOT_DIR ${CUDA_TOOLKIT_ROOT_DIR})
# We need to force this back into the cache.
set(CUDA_TOOLKIT_ROOT_DIR ${CUDA_TOOLKIT_ROOT_DIR} CACHE PATH "Toolkit location." FORCE)
- endif(CUDA_TOOLKIT_ROOT_DIR)
+ endif()
if (NOT EXISTS ${CUDA_TOOLKIT_ROOT_DIR})
if(CUDA_FIND_REQUIRED)
message(FATAL_ERROR "Specify CUDA_TOOLKIT_ROOT_DIR")
elseif(NOT CUDA_FIND_QUIETLY)
message("CUDA_TOOLKIT_ROOT_DIR not found or specified")
endif()
- endif (NOT EXISTS ${CUDA_TOOLKIT_ROOT_DIR})
-endif (NOT CUDA_TOOLKIT_ROOT_DIR)
+ endif ()
+endif ()
# CUDA_NVCC_EXECUTABLE
find_program(CUDA_NVCC_EXECUTABLE
@@ -595,7 +608,7 @@ find_library_local_first(CUDA_CUDA_LIBRARY cuda "\"cuda\" library (older version
# Add cuda library to the link line only if it is found.
if (CUDA_CUDA_LIBRARY)
set(CUDA_LIBRARIES ${CUDA_LIBRARIES} ${CUDA_CUDA_LIBRARY})
-endif(CUDA_CUDA_LIBRARY)
+endif()
mark_as_advanced(
CUDA_CUDA_LIBRARY
@@ -607,7 +620,7 @@ mark_as_advanced(
macro(FIND_CUDA_HELPER_LIBS _name)
find_library_local_first(CUDA_${_name}_LIBRARY ${_name} "\"${_name}\" library")
mark_as_advanced(CUDA_${_name}_LIBRARY)
-endmacro(FIND_CUDA_HELPER_LIBS)
+endmacro()
#######################
# Disable emulation for v3.1 onward
@@ -650,9 +663,11 @@ endif()
# Look for the SDK stuff. As of CUDA 3.0 NVSDKCUDA_ROOT has been replaced with
# NVSDKCOMPUTE_ROOT with the old CUDA C contents moved into the C subdirectory
find_path(CUDA_SDK_ROOT_DIR common/inc/cutil.h
+ HINTS
"$ENV{NVSDKCOMPUTE_ROOT}/C"
- "$ENV{NVSDKCUDA_ROOT}"
+ ENV NVSDKCUDA_ROOT
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\NVIDIA Corporation\\Installed Products\\NVIDIA SDK 10\\Compute;InstallDir]"
+ PATHS
"/Developer/GPU\ Computing/C"
)
@@ -691,9 +706,9 @@ set(CUDA_SDK_SEARCH_PATH
# if(CMAKE_SIZEOF_VOID_P EQUAL 8)
# set(cuda_cutil_name cutil64)
-# else(CMAKE_SIZEOF_VOID_P EQUAL 8)
+# else()
# set(cuda_cutil_name cutil32)
-# endif(CMAKE_SIZEOF_VOID_P EQUAL 8)
+# endif()
# find_library(CUDA_CUT_LIBRARY
# NAMES cutil ${cuda_cutil_name}
@@ -743,8 +758,8 @@ find_package_handle_standard_args(CUDA
macro(CUDA_INCLUDE_DIRECTORIES)
foreach(dir ${ARGN})
list(APPEND CUDA_NVCC_INCLUDE_ARGS_USER -I${dir})
- endforeach(dir ${ARGN})
-endmacro(CUDA_INCLUDE_DIRECTORIES)
+ endforeach()
+endmacro()
##############################################################################
@@ -855,7 +870,7 @@ function(CUDA_COMPUTE_BUILD_PATH path build_path)
file(TO_CMAKE_PATH "${path}" bpath)
if (IS_ABSOLUTE "${bpath}")
# Absolute paths are generally unnessary, especially if something like
- # FILE(GLOB_RECURSE) is used to pick up the files.
+ # file(GLOB_RECURSE) is used to pick up the files.
file(RELATIVE_PATH bpath "${CMAKE_CURRENT_SOURCE_DIR}" "${bpath}")
endif()
@@ -898,14 +913,6 @@ endfunction()
macro(CUDA_WRAP_SRCS cuda_target format generated_files)
- if( ${format} MATCHES "PTX" )
- set( compile_to_ptx ON )
- elseif( ${format} MATCHES "OBJ")
- set( compile_to_ptx OFF )
- else()
- message( FATAL_ERROR "Invalid format flag passed to CUDA_WRAP_SRCS: '${format}'. Use OBJ or PTX.")
- endif()
-
# Set up all the command line flags here, so that they can be overridden on a per target basis.
set(nvcc_flags "")
@@ -914,20 +921,20 @@ macro(CUDA_WRAP_SRCS cuda_target format generated_files)
if (CUDA_BUILD_EMULATION)
# Emulation.
set(nvcc_flags ${nvcc_flags} --device-emulation -D_DEVICEEMU -g)
- else(CUDA_BUILD_EMULATION)
+ else()
# Device mode. No flags necessary.
- endif(CUDA_BUILD_EMULATION)
+ endif()
if(CUDA_HOST_COMPILATION_CPP)
set(CUDA_C_OR_CXX CXX)
- else(CUDA_HOST_COMPILATION_CPP)
+ else()
if(CUDA_VERSION VERSION_LESS "3.0")
set(nvcc_flags ${nvcc_flags} --host-compilation C)
else()
message(WARNING "--host-compilation flag is deprecated in CUDA version >= 3.0. Removing --host-compilation C flag" )
endif()
set(CUDA_C_OR_CXX C)
- endif(CUDA_HOST_COMPILATION_CPP)
+ endif()
set(generated_extension ${CMAKE_${CUDA_C_OR_CXX}_OUTPUT_EXTENSION})
@@ -938,12 +945,11 @@ macro(CUDA_WRAP_SRCS cuda_target format generated_files)
endif()
# This needs to be passed in at this stage, because VS needs to fill out the
- # value of VCInstallDir from within VS.
+ # value of VCInstallDir from within VS. Note that CCBIN is only used if
+ # -ccbin or --compiler-bindir isn't used and CUDA_HOST_COMPILER matches
+ # $(VCInstallDir)/bin.
if(CMAKE_GENERATOR MATCHES "Visual Studio")
- if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
- # Add nvcc flag for 64b Windows
- set(ccbin_flags -D "\"CCBIN:PATH=$(VCInstallDir)bin\"" )
- endif()
+ set(ccbin_flags -D "\"CCBIN:PATH=$(VCInstallDir)bin\"" )
endif()
# Figure out which configure we will use and pass that in as an argument to
@@ -1002,12 +1008,12 @@ macro(CUDA_WRAP_SRCS cuda_target format generated_files)
# Only add the CMAKE_{C,CXX}_FLAGS if we are propagating host flags. We
# always need to set the SHARED_FLAGS, though.
if(CUDA_PROPAGATE_HOST_FLAGS)
- set(CUDA_HOST_FLAGS "set(CMAKE_HOST_FLAGS ${CMAKE_${CUDA_C_OR_CXX}_FLAGS} ${CUDA_HOST_SHARED_FLAGS})")
+ set(_cuda_host_flags "set(CMAKE_HOST_FLAGS ${CMAKE_${CUDA_C_OR_CXX}_FLAGS} ${CUDA_HOST_SHARED_FLAGS})")
else()
- set(CUDA_HOST_FLAGS "set(CMAKE_HOST_FLAGS ${CUDA_HOST_SHARED_FLAGS})")
+ set(_cuda_host_flags "set(CMAKE_HOST_FLAGS ${CUDA_HOST_SHARED_FLAGS})")
endif()
- set(CUDA_NVCC_FLAGS_CONFIG "# Build specific configuration flags")
+ set(_cuda_nvcc_flags_config "# Build specific configuration flags")
# Loop over all the configuration types to generate appropriate flags for run_nvcc.cmake
foreach(config ${CUDA_configuration_types})
string(TOUPPER ${config} config_upper)
@@ -1016,27 +1022,31 @@ macro(CUDA_WRAP_SRCS cuda_target format generated_files)
if(CUDA_PROPAGATE_HOST_FLAGS)
# nvcc chokes on -g3 in versions previous to 3.0, so replace it with -g
- if(CMAKE_COMPILER_IS_GNUCC AND CUDA_VERSION VERSION_LESS "3.0")
+ set(_cuda_fix_g3 FALSE)
+
+ if(CMAKE_COMPILER_IS_GNUCC)
+ if (CUDA_VERSION VERSION_LESS "3.0" OR
+ CUDA_VERSION VERSION_EQUAL "4.1" OR
+ CUDA_VERSION VERSION_EQUAL "4.2"
+ )
+ set(_cuda_fix_g3 TRUE)
+ endif()
+ endif()
+ if(_cuda_fix_g3)
string(REPLACE "-g3" "-g" _cuda_C_FLAGS "${CMAKE_${CUDA_C_OR_CXX}_FLAGS_${config_upper}}")
else()
set(_cuda_C_FLAGS "${CMAKE_${CUDA_C_OR_CXX}_FLAGS_${config_upper}}")
endif()
- set(CUDA_HOST_FLAGS "${CUDA_HOST_FLAGS}\nset(CMAKE_HOST_FLAGS_${config_upper} ${_cuda_C_FLAGS})")
+ set(_cuda_host_flags "${_cuda_host_flags}\nset(CMAKE_HOST_FLAGS_${config_upper} ${_cuda_C_FLAGS})")
endif()
# Note that if we ever want CUDA_NVCC_FLAGS_<CONFIG> to be string (instead of a list
# like it is currently), we can remove the quotes around the
# ${CUDA_NVCC_FLAGS_${config_upper}} variable like the CMAKE_HOST_FLAGS_<CONFIG> variable.
- set(CUDA_NVCC_FLAGS_CONFIG "${CUDA_NVCC_FLAGS_CONFIG}\nset(CUDA_NVCC_FLAGS_${config_upper} ${CUDA_NVCC_FLAGS_${config_upper}} ;; ${CUDA_WRAP_OPTION_NVCC_FLAGS_${config_upper}})")
+ set(_cuda_nvcc_flags_config "${_cuda_nvcc_flags_config}\nset(CUDA_NVCC_FLAGS_${config_upper} ${CUDA_NVCC_FLAGS_${config_upper}} ;; ${CUDA_WRAP_OPTION_NVCC_FLAGS_${config_upper}})")
endforeach()
- if(compile_to_ptx)
- # Don't use any of the host compilation flags for PTX targets.
- set(CUDA_HOST_FLAGS)
- set(CUDA_NVCC_FLAGS_CONFIG)
- endif()
-
# Get the list of definitions from the directory property
get_directory_property(CUDA_NVCC_DEFINITIONS COMPILE_DEFINITIONS)
if(CUDA_NVCC_DEFINITIONS)
@@ -1059,6 +1069,30 @@ macro(CUDA_WRAP_SRCS cuda_target format generated_files)
get_source_file_property(_is_header ${file} HEADER_FILE_ONLY)
if(${file} MATCHES ".*\\.cu$" AND NOT _is_header)
+ # Allow per source file overrides of the format.
+ get_source_file_property(_cuda_source_format ${file} CUDA_SOURCE_PROPERTY_FORMAT)
+ if(NOT _cuda_source_format)
+ set(_cuda_source_format ${format})
+ endif()
+
+ if( ${_cuda_source_format} MATCHES "PTX" )
+ set( compile_to_ptx ON )
+ elseif( ${_cuda_source_format} MATCHES "OBJ")
+ set( compile_to_ptx OFF )
+ else()
+ message( FATAL_ERROR "Invalid format flag passed to CUDA_WRAP_SRCS for file '${file}': '${_cuda_source_format}'. Use OBJ or PTX.")
+ endif()
+
+
+ if(compile_to_ptx)
+ # Don't use any of the host compilation flags for PTX targets.
+ set(CUDA_HOST_FLAGS)
+ set(CUDA_NVCC_FLAGS_CONFIG)
+ else()
+ set(CUDA_HOST_FLAGS ${_cuda_host_flags})
+ set(CUDA_NVCC_FLAGS_CONFIG ${_cuda_nvcc_flags_config})
+ endif()
+
# Determine output directory
cuda_compute_build_path("${file}" cuda_build_path)
set(cuda_compile_intermediate_directory "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${cuda_target}.dir/${cuda_build_path}")
@@ -1080,11 +1114,11 @@ macro(CUDA_WRAP_SRCS cuda_target format generated_files)
set(generated_file_basename "${cuda_target}_generated_${basename}.ptx")
set(format_flag "-ptx")
file(MAKE_DIRECTORY "${cuda_compile_output_dir}")
- else( compile_to_ptx )
+ else()
set(generated_file_path "${cuda_compile_output_dir}/${CMAKE_CFG_INTDIR}")
set(generated_file_basename "${cuda_target}_generated_${basename}${generated_extension}")
set(format_flag "-c")
- endif( compile_to_ptx )
+ endif()
# Set all of our file names. Make sure that whatever filenames that have
# generated_file_path in them get passed in through as a command line
@@ -1118,17 +1152,17 @@ macro(CUDA_WRAP_SRCS cuda_target format generated_files)
# Convience string for output ###########################################
if(CUDA_BUILD_EMULATION)
set(cuda_build_type "Emulation")
- else(CUDA_BUILD_EMULATION)
+ else()
set(cuda_build_type "Device")
- endif(CUDA_BUILD_EMULATION)
+ endif()
# Build the NVCC made dependency file ###################################
set(build_cubin OFF)
if ( NOT CUDA_BUILD_EMULATION AND CUDA_BUILD_CUBIN )
if ( NOT compile_to_ptx )
set ( build_cubin ON )
- endif( NOT compile_to_ptx )
- endif( NOT CUDA_BUILD_EMULATION AND CUDA_BUILD_CUBIN )
+ endif()
+ endif()
# Configure the build script
configure_file("${CUDA_run_nvcc}" "${custom_target_script}" @ONLY)
@@ -1203,12 +1237,12 @@ macro(CUDA_WRAP_SRCS cuda_target format generated_files)
list(REMOVE_DUPLICATES CUDA_ADDITIONAL_CLEAN_FILES)
set(CUDA_ADDITIONAL_CLEAN_FILES ${CUDA_ADDITIONAL_CLEAN_FILES} CACHE INTERNAL "List of intermediate files that are part of the cuda dependency scanning.")
- endif(${file} MATCHES ".*\\.cu$" AND NOT _is_header)
- endforeach(file)
+ endif()
+ endforeach()
# Set the return parameter
set(${generated_files} ${_cuda_wrap_generated_files})
-endmacro(CUDA_WRAP_SRCS)
+endmacro()
###############################################################################
@@ -1245,7 +1279,7 @@ macro(CUDA_ADD_LIBRARY cuda_target)
LINKER_LANGUAGE ${CUDA_C_OR_CXX}
)
-endmacro(CUDA_ADD_LIBRARY cuda_target)
+endmacro()
###############################################################################
@@ -1279,7 +1313,7 @@ macro(CUDA_ADD_EXECUTABLE cuda_target)
LINKER_LANGUAGE ${CUDA_C_OR_CXX}
)
-endmacro(CUDA_ADD_EXECUTABLE cuda_target)
+endmacro()
###############################################################################
@@ -1297,7 +1331,7 @@ macro(CUDA_COMPILE generated_files)
set( ${generated_files} ${_generated_files})
-endmacro(CUDA_COMPILE)
+endmacro()
###############################################################################
@@ -1315,7 +1349,7 @@ macro(CUDA_COMPILE_PTX generated_files)
set( ${generated_files} ${_generated_files})
-endmacro(CUDA_COMPILE_PTX)
+endmacro()
###############################################################################
###############################################################################
@@ -1364,4 +1398,4 @@ macro(CUDA_BUILD_CLEAN_TARGET)
# This is useful so that the files won't persist in the list after targets
# have been removed.
set(CUDA_ADDITIONAL_CLEAN_FILES "" CACHE INTERNAL "List of intermediate files that are part of the cuda dependency scanning.")
-endmacro(CUDA_BUILD_CLEAN_TARGET)
+endmacro()
diff --git a/Modules/FindCUDA/make2cmake.cmake b/Modules/FindCUDA/make2cmake.cmake
index d41b72dc2..c2405f44f 100644
--- a/Modules/FindCUDA/make2cmake.cmake
+++ b/Modules/FindCUDA/make2cmake.cmake
@@ -76,7 +76,7 @@ if (${depend_text} MATCHES ".+")
list(APPEND dependency_list "${file_absolute}")
endif()
- endforeach(file)
+ endforeach()
else()
# message("FOUND NO DEPENDS")
diff --git a/Modules/FindCUDA/parse_cubin.cmake b/Modules/FindCUDA/parse_cubin.cmake
index 2518c6852..94be7e2cb 100644
--- a/Modules/FindCUDA/parse_cubin.cmake
+++ b/Modules/FindCUDA/parse_cubin.cmake
@@ -65,11 +65,11 @@ if (${file_text} MATCHES ".+")
# Skip the rest of this block.
# message("Skipping ${entry}")
# set(skip TRUE)
- # else (${entry} MATCHES "^_")
+ # else ()
message("Kernel: ${entry}")
- # endif (${entry} MATCHES "^_")
+ # endif ()
- endif(${entry} MATCHES "[^g]name = ([^ ]+)")
+ endif()
# Skip the rest of the block if necessary
if(NOT skip)
@@ -96,14 +96,14 @@ if (${file_text} MATCHES ".+")
message("")
endif()
- endif(NOT skip)
+ endif()
- endforeach(entry)
+ endforeach()
- endif(line MATCHES "^code")
+ endif()
- endforeach(line)
+ endforeach()
else()
# message("FOUND NO DEPENDS")
diff --git a/Modules/FindCUDA/run_nvcc.cmake b/Modules/FindCUDA/run_nvcc.cmake
index b31011c0e..f0aac8487 100644
--- a/Modules/FindCUDA/run_nvcc.cmake
+++ b/Modules/FindCUDA/run_nvcc.cmake
@@ -62,6 +62,7 @@ set(cmake_dependency_file "@cmake_dependency_file@") # path
set(CUDA_make2cmake "@CUDA_make2cmake@") # path
set(CUDA_parse_cubin "@CUDA_parse_cubin@") # path
set(build_cubin @build_cubin@) # bool
+set(CUDA_HOST_COMPILER "@CUDA_HOST_COMPILER@") # bool
# We won't actually use these variables for now, but we need to set this, in
# order to force this file to be run again if it changes.
set(generated_file_path "@generated_file_path@") # path
@@ -102,8 +103,15 @@ endif()
# Add the build specific configuration flags
list(APPEND CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS_${build_configuration}})
-if(DEFINED CCBIN)
- set(CCBIN -ccbin "${CCBIN}")
+# Any -ccbin existing in CUDA_NVCC_FLAGS gets highest priority
+list( FIND CUDA_NVCC_FLAGS "-ccbin" ccbin_found0 )
+list( FIND CUDA_NVCC_FLAGS "--compiler-bindir" ccbin_found1 )
+if( ccbin_found0 LESS 0 AND ccbin_found1 LESS 0 )
+ if (CUDA_HOST_COMPILER STREQUAL "$(VCInstallDir)bin" AND DEFINED CCBIN)
+ set(CCBIN -ccbin "${CCBIN}")
+ else()
+ set(CCBIN -ccbin "${CUDA_HOST_COMPILER}")
+ endif()
endif()
# cuda_execute_process - Executes a command with optional command echo and status message.
@@ -139,7 +147,7 @@ macro(cuda_execute_process status command)
endforeach()
# Echo the command
execute_process(COMMAND ${CMAKE_COMMAND} -E echo ${cuda_execute_process_string})
- endif(verbose)
+ endif()
# Run the command
execute_process(COMMAND ${ARGN} RESULT_VARIABLE CUDA_result )
endmacro()
@@ -277,4 +285,4 @@ if( build_cubin )
-P "${CUDA_parse_cubin}"
)
-endif( build_cubin )
+endif()
diff --git a/Modules/FindCURL.cmake b/Modules/FindCURL.cmake
index cc00d53f4..0fb8f45d4 100644
--- a/Modules/FindCURL.cmake
+++ b/Modules/FindCURL.cmake
@@ -21,39 +21,41 @@
# License text for the above reference.)
# Look for the header file.
-FIND_PATH(CURL_INCLUDE_DIR NAMES curl/curl.h)
-MARK_AS_ADVANCED(CURL_INCLUDE_DIR)
+find_path(CURL_INCLUDE_DIR NAMES curl/curl.h)
+mark_as_advanced(CURL_INCLUDE_DIR)
-# Look for the library.
-FIND_LIBRARY(CURL_LIBRARY NAMES
+# Look for the library (sorted from most current/relevant entry to least).
+find_library(CURL_LIBRARY NAMES
curl
# Windows MSVC prebuilts:
curllib
libcurl_imp
curllib_static
+ # Windows older "Win32 - MSVC" prebuilts (libcurl.lib, e.g. libcurl-7.15.5-win32-msvc.zip):
+ libcurl
)
-MARK_AS_ADVANCED(CURL_LIBRARY)
+mark_as_advanced(CURL_LIBRARY)
-IF(CURL_INCLUDE_DIR)
- FOREACH(_curl_version_header curlver.h curl.h)
- IF(EXISTS "${CURL_INCLUDE_DIR}/curl/${_curl_version_header}")
- FILE(STRINGS "${CURL_INCLUDE_DIR}/curl/${_curl_version_header}" curl_version_str REGEX "^#define[\t ]+LIBCURL_VERSION[\t ]+\".*\"")
+if(CURL_INCLUDE_DIR)
+ foreach(_curl_version_header curlver.h curl.h)
+ if(EXISTS "${CURL_INCLUDE_DIR}/curl/${_curl_version_header}")
+ file(STRINGS "${CURL_INCLUDE_DIR}/curl/${_curl_version_header}" curl_version_str REGEX "^#define[\t ]+LIBCURL_VERSION[\t ]+\".*\"")
- STRING(REGEX REPLACE "^#define[\t ]+LIBCURL_VERSION[\t ]+\"([^\"]*)\".*" "\\1" CURL_VERSION_STRING "${curl_version_str}")
- UNSET(curl_version_str)
- BREAK()
- ENDIF()
- ENDFOREACH(_curl_version_header)
-ENDIF()
+ string(REGEX REPLACE "^#define[\t ]+LIBCURL_VERSION[\t ]+\"([^\"]*)\".*" "\\1" CURL_VERSION_STRING "${curl_version_str}")
+ unset(curl_version_str)
+ break()
+ endif()
+ endforeach()
+endif()
-# handle the QUIETLY and REQUIRED arguments and set CURL_FOUND to TRUE if
+# handle the QUIETLY and REQUIRED arguments and set CURL_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(CURL
REQUIRED_VARS CURL_LIBRARY CURL_INCLUDE_DIR
VERSION_VAR CURL_VERSION_STRING)
-IF(CURL_FOUND)
- SET(CURL_LIBRARIES ${CURL_LIBRARY})
- SET(CURL_INCLUDE_DIRS ${CURL_INCLUDE_DIR})
-ENDIF(CURL_FOUND)
+if(CURL_FOUND)
+ set(CURL_LIBRARIES ${CURL_LIBRARY})
+ set(CURL_INCLUDE_DIRS ${CURL_INCLUDE_DIR})
+endif()
diff --git a/Modules/FindCVS.cmake b/Modules/FindCVS.cmake
index 57680bd97..07079bb5a 100644
--- a/Modules/FindCVS.cmake
+++ b/Modules/FindCVS.cmake
@@ -5,7 +5,7 @@
# find_package(CVS)
# if(CVS_FOUND)
# message("CVS found: ${CVS_EXECUTABLE}")
-# endif(CVS_FOUND)
+# endif()
#=============================================================================
# Copyright 2008-2009 Kitware, Inc.
@@ -24,31 +24,31 @@
get_filename_component(
CVSNT_TypeLib_Win32
- "[HKEY_CLASSES_ROOT\\TypeLib\\{2BDF7A65-0BFE-4B1A-9205-9AB900C7D0DA}\\1.0\\0\\win32]"
+ "[HKEY_CLASSES_ROOT\\TypeLib\\{2BDF7A65-0BFE-4B1A-9205-9AB900C7D0DA}\\1.0\\0\\win32]"
PATH)
get_filename_component(
CVSNT_Services_EventMessagePath
- "[HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet001\\Services\\Eventlog\\Application\\cvsnt;EventMessageFile]"
+ "[HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet001\\Services\\Eventlog\\Application\\cvsnt;EventMessageFile]"
PATH)
# WinCVS (in case CVSNT was installed in the same directory)
get_filename_component(
WinCVS_Folder_Command
- "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\Folder\\shell\\wincvs\\command]"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\Folder\\shell\\wincvs\\command]"
PATH)
# TortoiseCVS (in case CVSNT was installed in the same directory)
get_filename_component(
TortoiseCVS_Folder_Command
- "[HKEY_CLASSES_ROOT\\CVS\\shell\\open\\command]"
+ "[HKEY_CLASSES_ROOT\\CVS\\shell\\open\\command]"
PATH)
get_filename_component(
TortoiseCVS_DefaultIcon
- "[HKEY_CLASSES_ROOT\\CVS\\DefaultIcon]"
+ "[HKEY_CLASSES_ROOT\\CVS\\DefaultIcon]"
PATH)
find_program(CVS_EXECUTABLE cvs
@@ -62,7 +62,7 @@ find_program(CVS_EXECUTABLE cvs
)
mark_as_advanced(CVS_EXECUTABLE)
-# Handle the QUIETLY and REQUIRED arguments and set CVS_FOUND to TRUE if
+# Handle the QUIETLY and REQUIRED arguments and set CVS_FOUND to TRUE if
# all listed variables are TRUE
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
diff --git a/Modules/FindCoin3D.cmake b/Modules/FindCoin3D.cmake
index 8bfe97acc..bbda87b3a 100644
--- a/Modules/FindCoin3D.cmake
+++ b/Modules/FindCoin3D.cmake
@@ -22,63 +22,63 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-IF (WIN32)
- IF (CYGWIN)
+if (WIN32)
+ if (CYGWIN)
- FIND_PATH(COIN3D_INCLUDE_DIRS Inventor/So.h)
- FIND_LIBRARY(COIN3D_LIBRARIES Coin)
+ find_path(COIN3D_INCLUDE_DIRS Inventor/So.h)
+ find_library(COIN3D_LIBRARIES Coin)
- ELSE (CYGWIN)
+ else ()
- FIND_PATH(COIN3D_INCLUDE_DIRS Inventor/So.h
+ find_path(COIN3D_INCLUDE_DIRS Inventor/So.h
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\Coin3D\\2;Installation Path]/include"
)
- FIND_LIBRARY(COIN3D_LIBRARY_DEBUG coin2d
+ find_library(COIN3D_LIBRARY_DEBUG coin2d
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\Coin3D\\2;Installation Path]/lib"
)
- FIND_LIBRARY(COIN3D_LIBRARY_RELEASE coin2
+ find_library(COIN3D_LIBRARY_RELEASE coin2
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\SIM\\Coin3D\\2;Installation Path]/lib"
)
- IF (COIN3D_LIBRARY_DEBUG AND COIN3D_LIBRARY_RELEASE)
- SET(COIN3D_LIBRARIES optimized ${COIN3D_LIBRARY_RELEASE}
+ if (COIN3D_LIBRARY_DEBUG AND COIN3D_LIBRARY_RELEASE)
+ set(COIN3D_LIBRARIES optimized ${COIN3D_LIBRARY_RELEASE}
debug ${COIN3D_LIBRARY_DEBUG})
- ELSE (COIN3D_LIBRARY_DEBUG AND COIN3D_LIBRARY_RELEASE)
- IF (COIN3D_LIBRARY_DEBUG)
- SET (COIN3D_LIBRARIES ${COIN3D_LIBRARY_DEBUG})
- ENDIF (COIN3D_LIBRARY_DEBUG)
- IF (COIN3D_LIBRARY_RELEASE)
- SET (COIN3D_LIBRARIES ${COIN3D_LIBRARY_RELEASE})
- ENDIF (COIN3D_LIBRARY_RELEASE)
- ENDIF (COIN3D_LIBRARY_DEBUG AND COIN3D_LIBRARY_RELEASE)
-
- ENDIF (CYGWIN)
-
-ELSE (WIN32)
- IF(APPLE)
- FIND_PATH(COIN3D_INCLUDE_DIRS Inventor/So.h
- /Library/Frameworks/Inventor.framework/Headers
+ else ()
+ if (COIN3D_LIBRARY_DEBUG)
+ set (COIN3D_LIBRARIES ${COIN3D_LIBRARY_DEBUG})
+ endif ()
+ if (COIN3D_LIBRARY_RELEASE)
+ set (COIN3D_LIBRARIES ${COIN3D_LIBRARY_RELEASE})
+ endif ()
+ endif ()
+
+ endif ()
+
+else ()
+ if(APPLE)
+ find_path(COIN3D_INCLUDE_DIRS Inventor/So.h
+ /Library/Frameworks/Inventor.framework/Headers
)
- FIND_LIBRARY(COIN3D_LIBRARIES Coin
+ find_library(COIN3D_LIBRARIES Coin
/Library/Frameworks/Inventor.framework/Libraries
- )
- SET(COIN3D_LIBRARIES "-framework Coin3d" CACHE STRING "Coin3D library for OSX")
- ELSE(APPLE)
+ )
+ set(COIN3D_LIBRARIES "-framework Coin3d" CACHE STRING "Coin3D library for OSX")
+ else()
- FIND_PATH(COIN3D_INCLUDE_DIRS Inventor/So.h)
- FIND_LIBRARY(COIN3D_LIBRARIES Coin)
+ find_path(COIN3D_INCLUDE_DIRS Inventor/So.h)
+ find_library(COIN3D_LIBRARIES Coin)
- ENDIF(APPLE)
+ endif()
-ENDIF (WIN32)
+endif ()
-# handle the QUIETLY and REQUIRED arguments and set COIN3D_FOUND to TRUE if
+# handle the QUIETLY and REQUIRED arguments and set COIN3D_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Coin3D DEFAULT_MSG COIN3D_LIBRARIES COIN3D_INCLUDE_DIRS)
-MARK_AS_ADVANCED(COIN3D_INCLUDE_DIRS COIN3D_LIBRARIES )
+mark_as_advanced(COIN3D_INCLUDE_DIRS COIN3D_LIBRARIES )
diff --git a/Modules/FindCups.cmake b/Modules/FindCups.cmake
index 3862f7ddf..f74366bb7 100644
--- a/Modules/FindCups.cmake
+++ b/Modules/FindCups.cmake
@@ -5,7 +5,7 @@
# CUPS_INCLUDE_DIR - the Cups include directory
# CUPS_LIBRARIES - Libraries needed to use Cups
# CUPS_VERSION_STRING - version of Cups found (since CMake 2.8.8)
-# Set CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE to TRUE if you need a version which
+# Set CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE to TRUE if you need a version which
# features this function (i.e. at least 1.1.19)
#=============================================================================
@@ -32,7 +32,7 @@ if (CUPS_INCLUDE_DIR AND CUPS_LIBRARIES AND CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE)
# ippDeleteAttribute is new in cups-1.1.19 (and used by kdeprint)
CHECK_LIBRARY_EXISTS(cups ippDeleteAttribute "" CUPS_HAS_IPP_DELETE_ATTRIBUTE)
-endif (CUPS_INCLUDE_DIR AND CUPS_LIBRARIES AND CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE)
+endif ()
if (CUPS_INCLUDE_DIR AND EXISTS "${CUPS_INCLUDE_DIR}/cups/cups.h")
file(STRINGS "${CUPS_INCLUDE_DIR}/cups/cups.h" cups_version_str
@@ -46,13 +46,13 @@ if (CUPS_INCLUDE_DIR AND EXISTS "${CUPS_INCLUDE_DIR}/cups/cups.h")
CUPS_VERSION_PART "${VLINE}")
if(CUPS_VERSION_STRING)
set(CUPS_VERSION_STRING "${CUPS_VERSION_STRING}.${CUPS_VERSION_PART}")
- else(CUPS_VERSION_STRING)
+ else()
set(CUPS_VERSION_STRING "${CUPS_VERSION_PART}")
- endif(CUPS_VERSION_STRING)
+ endif()
endif()
- endforeach(VLINE)
- endforeach(VPART)
-endif (CUPS_INCLUDE_DIR AND EXISTS "${CUPS_INCLUDE_DIR}/cups/cups.h")
+ endforeach()
+ endforeach()
+endif ()
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
@@ -60,10 +60,10 @@ if (CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Cups
REQUIRED_VARS CUPS_LIBRARIES CUPS_INCLUDE_DIR CUPS_HAS_IPP_DELETE_ATTRIBUTE
VERSION_VAR CUPS_VERSION_STRING)
-else (CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE)
+else ()
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Cups
REQUIRED_VARS CUPS_LIBRARIES CUPS_INCLUDE_DIR
VERSION_VAR CUPS_VERSION_STRING)
-endif (CUPS_REQUIRE_IPP_DELETE_ATTRIBUTE)
-
+endif ()
+
mark_as_advanced(CUPS_INCLUDE_DIR CUPS_LIBRARIES)
diff --git a/Modules/FindCurses.cmake b/Modules/FindCurses.cmake
index d1e13116d..6acf42126 100644
--- a/Modules/FindCurses.cmake
+++ b/Modules/FindCurses.cmake
@@ -9,7 +9,7 @@
# CURSES_HAVE_NCURSES_CURSES_H - true if ncurses/curses.h is available
# CURSES_LIBRARY - set for backwards compatibility with 2.4 CMake
#
-# Set CURSES_NEED_NCURSES to TRUE before the FIND_PACKAGE() command if NCurses
+# Set CURSES_NEED_NCURSES to TRUE before the find_package() command if NCurses
# functionality is required.
#=============================================================================
@@ -25,23 +25,23 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_LIBRARY(CURSES_CURSES_LIBRARY NAMES curses )
+find_library(CURSES_CURSES_LIBRARY NAMES curses )
-FIND_LIBRARY(CURSES_NCURSES_LIBRARY NAMES ncurses )
-SET(CURSES_USE_NCURSES FALSE)
+find_library(CURSES_NCURSES_LIBRARY NAMES ncurses )
+set(CURSES_USE_NCURSES FALSE)
-IF(CURSES_NCURSES_LIBRARY AND NOT CURSES_CURSES_LIBRARY)
- SET(CURSES_USE_NCURSES TRUE)
-ENDIF(CURSES_NCURSES_LIBRARY AND NOT CURSES_CURSES_LIBRARY)
+if(CURSES_NCURSES_LIBRARY AND NOT CURSES_CURSES_LIBRARY)
+ set(CURSES_USE_NCURSES TRUE)
+endif()
# http://cygwin.com/ml/cygwin-announce/2010-01/msg00002.html
# cygwin ncurses stopped providing curses.h symlinks see above
# message. Cygwin is an ncurses package, so force ncurses on
# cygwin if the curses.h is missing
-IF(CYGWIN)
- IF(NOT EXISTS /usr/include/curses.h)
- SET(CURSES_USE_NCURSES TRUE)
- ENDIF()
-ENDIF()
+if(CYGWIN)
+ if(NOT EXISTS /usr/include/curses.h)
+ set(CURSES_USE_NCURSES TRUE)
+ endif()
+endif()
# Not sure the logic is correct here.
@@ -53,113 +53,113 @@ ENDIF()
# some web pages also say that even with ncurses there is not always a ncurses.h:
# http://osdir.com/ml/gnome.apps.mc.devel/2002-06/msg00029.html
# 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
+# prefix as the library was found, if still not found, try curses.h with the
# default search paths.
-IF(CURSES_CURSES_LIBRARY AND CURSES_NEED_NCURSES)
- INCLUDE(CheckLibraryExists)
- CHECK_LIBRARY_EXISTS("${CURSES_CURSES_LIBRARY}"
+if(CURSES_CURSES_LIBRARY AND CURSES_NEED_NCURSES)
+ include(CheckLibraryExists)
+ 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}"
+ if(CURSES_NCURSES_LIBRARY AND NOT CURSES_CURSES_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)
+ if( CURSES_NCURSES_HAS_WSYNCUP)
+ set(CURSES_USE_NCURSES TRUE)
+ endif()
+ endif()
-ENDIF(CURSES_CURSES_LIBRARY AND CURSES_NEED_NCURSES)
+endif()
-IF(NOT CURSES_USE_NCURSES)
- FIND_FILE(CURSES_HAVE_CURSES_H curses.h )
- FIND_PATH(CURSES_CURSES_H_PATH curses.h )
- GET_FILENAME_COMPONENT(_cursesLibDir "${CURSES_CURSES_LIBRARY}" PATH)
- GET_FILENAME_COMPONENT(_cursesParentDir "${_cursesLibDir}" PATH)
+if(NOT CURSES_USE_NCURSES)
+ find_file(CURSES_HAVE_CURSES_H curses.h )
+ 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}"
+ set(CURSES_INCLUDE_PATH "${CURSES_CURSES_H_PATH}"
CACHE FILEPATH "The curses include path")
- SET(CURSES_LIBRARY "${CURSES_CURSES_LIBRARY}"
+ set(CURSES_LIBRARY "${CURSES_CURSES_LIBRARY}"
CACHE FILEPATH "The curses library")
-ELSE(NOT CURSES_USE_NCURSES)
+else()
# we need to find ncurses
- GET_FILENAME_COMPONENT(_cursesLibDir "${CURSES_NCURSES_LIBRARY}" PATH)
- GET_FILENAME_COMPONENT(_cursesParentDir "${_cursesLibDir}" PATH)
+ get_filename_component(_cursesLibDir "${CURSES_NCURSES_LIBRARY}" PATH)
+ get_filename_component(_cursesParentDir "${_cursesLibDir}" PATH)
- 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
+ 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
HINTS "${_cursesParentDir}/include")
- FIND_PATH(CURSES_NCURSES_INCLUDE_PATH ncurses.h ncurses/ncurses.h
+ find_path(CURSES_NCURSES_INCLUDE_PATH ncurses.h ncurses/ncurses.h
ncurses/curses.h)
- FIND_PATH(CURSES_NCURSES_INCLUDE_PATH 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
- # however if the value of the variable has NOTFOUND in it, then
+ # however if the value of the variable has NOTFOUND in it, then
# it is OK to force, and we need to force in order to have it work.
# a cache wqith these variables set
- # only put ncurses include and library into
+ # only put ncurses include and library into
# variables if they are found
- IF(NOT CURSES_NCURSES_INCLUDE_PATH AND CURSES_HAVE_NCURSES_NCURSES_H)
- GET_FILENAME_COMPONENT(CURSES_NCURSES_INCLUDE_PATH
+ if(NOT CURSES_NCURSES_INCLUDE_PATH AND CURSES_HAVE_NCURSES_NCURSES_H)
+ get_filename_component(CURSES_NCURSES_INCLUDE_PATH
"${CURSES_HAVE_NCURSES_NCURSES_H}" PATH)
- ENDIF(NOT CURSES_NCURSES_INCLUDE_PATH AND CURSES_HAVE_NCURSES_NCURSES_H)
- IF(CURSES_NCURSES_INCLUDE_PATH AND CURSES_NCURSES_LIBRARY)
- SET( FORCE_IT )
- IF(CURSES_INCLUDE_PATH MATCHES NOTFOUND)
- SET(FORCE_IT FORCE)
- ENDIF(CURSES_INCLUDE_PATH MATCHES NOTFOUND)
- SET(CURSES_INCLUDE_PATH "${CURSES_NCURSES_INCLUDE_PATH}"
+ endif()
+ if(CURSES_NCURSES_INCLUDE_PATH AND CURSES_NCURSES_LIBRARY)
+ set( FORCE_IT )
+ if(CURSES_INCLUDE_PATH MATCHES NOTFOUND)
+ set(FORCE_IT FORCE)
+ endif()
+ set(CURSES_INCLUDE_PATH "${CURSES_NCURSES_INCLUDE_PATH}"
CACHE FILEPATH "The curses include path" ${FORCE_IT})
- SET( FORCE_IT)
- IF(CURSES_LIBRARY MATCHES NOTFOUND)
- SET(FORCE_IT FORCE)
- ENDIF(CURSES_LIBRARY MATCHES NOTFOUND)
- SET(CURSES_LIBRARY "${CURSES_NCURSES_LIBRARY}"
+ set( FORCE_IT)
+ if(CURSES_LIBRARY MATCHES NOTFOUND)
+ set(FORCE_IT FORCE)
+ endif()
+ set(CURSES_LIBRARY "${CURSES_NCURSES_LIBRARY}"
CACHE FILEPATH "The curses library" ${FORCE_IT})
- ENDIF(CURSES_NCURSES_INCLUDE_PATH AND CURSES_NCURSES_LIBRARY)
+ endif()
-ENDIF(NOT CURSES_USE_NCURSES)
+endif()
-FIND_LIBRARY(CURSES_EXTRA_LIBRARY cur_colr HINTS "${_cursesLibDir}")
-FIND_LIBRARY(CURSES_EXTRA_LIBRARY cur_colr )
+find_library(CURSES_EXTRA_LIBRARY cur_colr HINTS "${_cursesLibDir}")
+find_library(CURSES_EXTRA_LIBRARY cur_colr )
-FIND_LIBRARY(CURSES_FORM_LIBRARY form HINTS "${_cursesLibDir}")
-FIND_LIBRARY(CURSES_FORM_LIBRARY form )
+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}"
+set(FORM_LIBRARY "${CURSES_FORM_LIBRARY}"
CACHE FILEPATH "The curses form library")
# Need to provide the *_LIBRARIES
-SET(CURSES_LIBRARIES ${CURSES_LIBRARY})
+set(CURSES_LIBRARIES ${CURSES_LIBRARY})
-IF(CURSES_EXTRA_LIBRARY)
- SET(CURSES_LIBRARIES ${CURSES_LIBRARIES} ${CURSES_EXTRA_LIBRARY})
-ENDIF(CURSES_EXTRA_LIBRARY)
+if(CURSES_EXTRA_LIBRARY)
+ set(CURSES_LIBRARIES ${CURSES_LIBRARIES} ${CURSES_EXTRA_LIBRARY})
+endif()
-IF(CURSES_FORM_LIBRARY)
- SET(CURSES_LIBRARIES ${CURSES_LIBRARIES} ${CURSES_FORM_LIBRARY})
-ENDIF(CURSES_FORM_LIBRARY)
+if(CURSES_FORM_LIBRARY)
+ set(CURSES_LIBRARIES ${CURSES_LIBRARIES} ${CURSES_FORM_LIBRARY})
+endif()
# Proper name is *_INCLUDE_DIR
-SET(CURSES_INCLUDE_DIR ${CURSES_INCLUDE_PATH})
+set(CURSES_INCLUDE_DIR ${CURSES_INCLUDE_PATH})
-# handle the QUIETLY and REQUIRED arguments and set CURSES_FOUND to TRUE if
+# handle the QUIETLY and REQUIRED arguments and set CURSES_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Curses DEFAULT_MSG
CURSES_LIBRARY CURSES_INCLUDE_PATH)
-MARK_AS_ADVANCED(
+mark_as_advanced(
CURSES_INCLUDE_PATH
CURSES_LIBRARY
CURSES_CURSES_INCLUDE_PATH
diff --git a/Modules/FindCxxTest.cmake b/Modules/FindCxxTest.cmake
index a4d150493..48de64afd 100644
--- a/Modules/FindCxxTest.cmake
+++ b/Modules/FindCxxTest.cmake
@@ -49,7 +49,7 @@
# input_files_to_testgen The list of header files containing the
# CxxTest::TestSuite's to be included in
# this runner
-#
+#
# #==============
# Example Usage:
#
@@ -67,13 +67,13 @@
# 1. Invoke the testgen executable to autogenerate foo_test.cc in the
# binary tree from "foo_test.h" in the current source directory.
# 2. Create an executable and test called unittest_foo.
-#
+#
# #=============
# Example foo_test.h:
#
# #include <cxxtest/TestSuite.h>
-#
-# class MyTestSuite : public CxxTest::TestSuite
+#
+# class MyTestSuite : public CxxTest::TestSuite
# {
# public:
# void testAddition( void )
@@ -147,7 +147,7 @@ macro(CXXTEST_ADD_TEST _cxxtest_testname _cxxtest_outfname)
add_test(${_cxxtest_testname} ${CMAKE_CURRENT_BINARY_DIR}/${_cxxtest_testname})
endif()
-endmacro(CXXTEST_ADD_TEST)
+endmacro()
#=============================================================
# main()
diff --git a/Modules/FindCygwin.cmake b/Modules/FindCygwin.cmake
index 28f55ba0c..d7ab7cc80 100644
--- a/Modules/FindCygwin.cmake
+++ b/Modules/FindCygwin.cmake
@@ -14,15 +14,15 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-IF (WIN32)
- FIND_PATH(CYGWIN_INSTALL_PATH
+if (WIN32)
+ find_path(CYGWIN_INSTALL_PATH
cygwin.bat
"C:/Cygwin"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Cygwin\\setup;rootdir]"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Cygnus Solutions\\Cygwin\\mounts v2\\/;native]"
)
- MARK_AS_ADVANCED(
+ mark_as_advanced(
CYGWIN_INSTALL_PATH
)
-ENDIF (WIN32)
+endif ()
diff --git a/Modules/FindDart.cmake b/Modules/FindDart.cmake
index f7c54df43..a2b2926a7 100644
--- a/Modules/FindDart.cmake
+++ b/Modules/FindDart.cmake
@@ -16,21 +16,25 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PATH(DART_ROOT README.INSTALL
- $ENV{DART_ROOT}
- ${PROJECT_SOURCE_DIR}/Dart
- /usr/share/Dart
- C:/Dart
- "$ENV{ProgramFiles}/Dart"
- "C:/Program Files/Dart"
- ${PROJECT_SOURCE_DIR}/../Dart
- [HKEY_LOCAL_MACHINE\\SOFTWARE\\Dart\\InstallPath]
+find_path(DART_ROOT README.INSTALL
+ HINTS
+ ENV DART_ROOT
+ PATHS
+ ${PROJECT_SOURCE_DIR}
+ /usr/share
+ C:/
+ "C:/Program Files"
+ ${PROJECT_SOURCE_DIR}/..
+ [HKEY_LOCAL_MACHINE\\SOFTWARE\\Dart\\InstallPath]
+ ENV ProgramFiles
+ PATH_SUFFIXES
+ Dart
DOC "If you have Dart installed, where is it located?"
)
# handle the QUIETLY and REQUIRED arguments and set DART_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Dart DEFAULT_MSG DART_ROOT)
-MARK_AS_ADVANCED(DART_ROOT)
+mark_as_advanced(DART_ROOT)
diff --git a/Modules/FindDevIL.cmake b/Modules/FindDevIL.cmake
index 4a0fbe064..dacc60422 100644
--- a/Modules/FindDevIL.cmake
+++ b/Modules/FindDevIL.cmake
@@ -36,39 +36,39 @@
# TODO: Add version support.
# Tested under Linux and Windows (MSVC)
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PATH(IL_INCLUDE_DIR il.h
+find_path(IL_INCLUDE_DIR il.h
PATH_SUFFIXES include IL
DOC "The path the the directory that contains il.h"
)
-#MESSAGE("IL_INCLUDE_DIR is ${IL_INCLUDE_DIR}")
+#message("IL_INCLUDE_DIR is ${IL_INCLUDE_DIR}")
-FIND_LIBRARY(IL_LIBRARIES
+find_library(IL_LIBRARIES
NAMES IL DEVIL
PATH_SUFFIXES lib64 lib lib32
DOC "The file that corresponds to the base il library."
)
-#MESSAGE("IL_LIBRARIES is ${IL_LIBRARIES}")
+#message("IL_LIBRARIES is ${IL_LIBRARIES}")
-FIND_LIBRARY(ILUT_LIBRARIES
+find_library(ILUT_LIBRARIES
NAMES ILUT
PATH_SUFFIXES lib64 lib lib32
DOC "The file that corresponds to the il (system?) utility library."
)
-#MESSAGE("ILUT_LIBRARIES is ${ILUT_LIBRARIES}")
+#message("ILUT_LIBRARIES is ${ILUT_LIBRARIES}")
-FIND_LIBRARY(ILU_LIBRARIES
+find_library(ILU_LIBRARIES
NAMES ILU
PATH_SUFFIXES lib64 lib lib32
DOC "The file that corresponds to the il utility library."
)
-#MESSAGE("ILU_LIBRARIES is ${ILU_LIBRARIES}")
+#message("ILU_LIBRARIES is ${ILU_LIBRARIES}")
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(IL DEFAULT_MSG
- IL_LIBRARIES ILU_LIBRARIES
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(IL DEFAULT_MSG
+ IL_LIBRARIES ILU_LIBRARIES
ILUT_LIBRARIES IL_INCLUDE_DIR)
diff --git a/Modules/FindDoxygen.cmake b/Modules/FindDoxygen.cmake
index 6cc9efb18..d2ede6ab9 100644
--- a/Modules/FindDoxygen.cmake
+++ b/Modules/FindDoxygen.cmake
@@ -33,19 +33,19 @@
# License text for the above reference.)
# For backwards compatibility support
-IF(Doxygen_FIND_QUIETLY)
- SET(DOXYGEN_FIND_QUIETLY TRUE)
-ENDIF(Doxygen_FIND_QUIETLY)
+if(Doxygen_FIND_QUIETLY)
+ set(DOXYGEN_FIND_QUIETLY TRUE)
+endif()
# ===== Rationale for OS X AppBundle mods below =====
# With the OS X GUI version, Doxygen likes to be installed to /Applications and
-# it contains the doxygen executable in the bundle. In the versions I've
-# seen, it is located in Resources, but in general, more often binaries are
+# it contains the doxygen executable in the bundle. In the versions I've
+# seen, it is located in Resources, but in general, more often binaries are
# located in MacOS.
#
-# NOTE: The official Doxygen.app that is distributed for OS X uses non-standard
+# NOTE: The official Doxygen.app that is distributed for OS X uses non-standard
# conventions. Instead of the command-line "doxygen" tool being placed in
-# Doxygen.app/Contents/MacOS, "Doxywizard" is placed there instead and
+# Doxygen.app/Contents/MacOS, "Doxywizard" is placed there instead and
# "doxygen" is placed in Contents/Resources. This is most likely done
# so that something happens when people double-click on the Doxygen.app
# package. Unfortunately, CMake gets confused by this as when it sees the
@@ -54,12 +54,12 @@ ENDIF(Doxygen_FIND_QUIETLY)
# the app-bundle feature, just for this CMake module:
if(APPLE)
# Save the old setting
- SET(TEMP_DOXYGEN_SAVE_CMAKE_FIND_APPBUNDLE ${CMAKE_FIND_APPBUNDLE})
+ set(TEMP_DOXYGEN_SAVE_CMAKE_FIND_APPBUNDLE ${CMAKE_FIND_APPBUNDLE})
# Disable the App-bundle detection feature
- SET(CMAKE_FIND_APPBUNDLE "NEVER")
+ set(CMAKE_FIND_APPBUNDLE "NEVER")
endif()
# FYI:
-# In the older versions of OS X Doxygen, dot was included with the
+# In the older versions of OS X Doxygen, dot was included with the
# Doxygen bundle. But the new versions require you to download
# Graphviz.app which contains "dot" in it's bundle.
# ============== End OSX stuff ================
@@ -68,7 +68,7 @@ endif()
# Find Doxygen...
#
-FIND_PROGRAM(DOXYGEN_EXECUTABLE
+find_program(DOXYGEN_EXECUTABLE
NAMES doxygen
PATHS
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\doxygen_is1;Inno Setup: App Path]/bin"
@@ -77,9 +77,9 @@ FIND_PROGRAM(DOXYGEN_EXECUTABLE
DOC "Doxygen documentation generation tool (http://www.doxygen.org)"
)
-IF(DOXYGEN_EXECUTABLE)
- EXECUTE_PROCESS(COMMAND ${DOXYGEN_EXECUTABLE} "--version" OUTPUT_VARIABLE DOXYGEN_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
-ENDIF()
+if(DOXYGEN_EXECUTABLE)
+ execute_process(COMMAND ${DOXYGEN_EXECUTABLE} "--version" OUTPUT_VARIABLE DOXYGEN_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
+endif()
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Doxygen REQUIRED_VARS DOXYGEN_EXECUTABLE VERSION_VAR DOXYGEN_VERSION)
@@ -88,10 +88,10 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(Doxygen REQUIRED_VARS DOXYGEN_EXECUTABLE VERSI
# Find Dot...
#
-IF(NOT DOXYGEN_SKIP_DOT)
- FIND_PROGRAM(DOXYGEN_DOT_EXECUTABLE
+if(NOT DOXYGEN_SKIP_DOT)
+ find_program(DOXYGEN_DOT_EXECUTABLE
NAMES dot
- PATHS
+ PATHS
"$ENV{ProgramFiles}/Graphviz 2.21/bin"
"C:/Program Files/Graphviz 2.21/bin"
"$ENV{ProgramFiles}/ATT/Graphviz/bin"
@@ -102,14 +102,14 @@ IF(NOT DOXYGEN_SKIP_DOT)
/Applications/Doxygen.app/Contents/MacOS
DOC "Graphviz Dot tool for using Doxygen"
)
-
+
if(DOXYGEN_DOT_EXECUTABLE)
set(DOXYGEN_DOT_FOUND TRUE)
# The Doxyfile wants the path to Dot, not the entire path and executable
get_filename_component(DOXYGEN_DOT_PATH "${DOXYGEN_DOT_EXECUTABLE}" PATH CACHE)
endif()
-
-endif(NOT DOXYGEN_SKIP_DOT)
+
+endif()
#
# Backwards compatibility...
@@ -117,7 +117,7 @@ endif(NOT DOXYGEN_SKIP_DOT)
if(APPLE)
# Restore the old app-bundle setting setting
- SET(CMAKE_FIND_APPBUNDLE ${TEMP_DOXYGEN_SAVE_CMAKE_FIND_APPBUNDLE})
+ set(CMAKE_FIND_APPBUNDLE ${TEMP_DOXYGEN_SAVE_CMAKE_FIND_APPBUNDLE})
endif()
# Maintain the _FOUND variables as "YES" or "NO" for backwards compatibility
@@ -134,10 +134,10 @@ else()
endif()
# For backwards compatibility support
-SET (DOXYGEN ${DOXYGEN_EXECUTABLE} )
-SET (DOT ${DOXYGEN_DOT_EXECUTABLE} )
+set (DOXYGEN ${DOXYGEN_EXECUTABLE} )
+set (DOT ${DOXYGEN_DOT_EXECUTABLE} )
-MARK_AS_ADVANCED(
+mark_as_advanced(
DOXYGEN_EXECUTABLE
DOXYGEN_DOT_EXECUTABLE
DOXYGEN_DOT_PATH
diff --git a/Modules/FindEXPAT.cmake b/Modules/FindEXPAT.cmake
index 1bf074357..c681a0dfd 100644
--- a/Modules/FindEXPAT.cmake
+++ b/Modules/FindEXPAT.cmake
@@ -19,10 +19,10 @@
# License text for the above reference.)
# Look for the header file.
-FIND_PATH(EXPAT_INCLUDE_DIR NAMES expat.h)
+find_path(EXPAT_INCLUDE_DIR NAMES expat.h)
# Look for the library.
-FIND_LIBRARY(EXPAT_LIBRARY NAMES expat libexpat)
+find_library(EXPAT_LIBRARY NAMES expat libexpat)
if (EXPAT_INCLUDE_DIR AND EXISTS "${EXPAT_INCLUDE_DIR}/expat.h")
file(STRINGS "${EXPAT_INCLUDE_DIR}/expat.h" expat_version_str
@@ -36,25 +36,25 @@ if (EXPAT_INCLUDE_DIR AND EXISTS "${EXPAT_INCLUDE_DIR}/expat.h")
EXPAT_VERSION_PART "${VLINE}")
if(EXPAT_VERSION_STRING)
set(EXPAT_VERSION_STRING "${EXPAT_VERSION_STRING}.${EXPAT_VERSION_PART}")
- else(EXPAT_VERSION_STRING)
+ else()
set(EXPAT_VERSION_STRING "${EXPAT_VERSION_PART}")
- endif(EXPAT_VERSION_STRING)
+ endif()
endif()
- endforeach(VLINE)
- endforeach(VPART)
-endif (EXPAT_INCLUDE_DIR AND EXISTS "${EXPAT_INCLUDE_DIR}/expat.h")
+ endforeach()
+ endforeach()
+endif ()
-# handle the QUIETLY and REQUIRED arguments and set EXPAT_FOUND to TRUE if
+# handle the QUIETLY and REQUIRED arguments and set EXPAT_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(EXPAT
REQUIRED_VARS EXPAT_LIBRARY EXPAT_INCLUDE_DIR
VERSION_VAR EXPAT_VERSION_STRING)
# Copy the results to the output variables.
-IF(EXPAT_FOUND)
- SET(EXPAT_LIBRARIES ${EXPAT_LIBRARY})
- SET(EXPAT_INCLUDE_DIRS ${EXPAT_INCLUDE_DIR})
-ENDIF(EXPAT_FOUND)
+if(EXPAT_FOUND)
+ set(EXPAT_LIBRARIES ${EXPAT_LIBRARY})
+ set(EXPAT_INCLUDE_DIRS ${EXPAT_INCLUDE_DIR})
+endif()
-MARK_AS_ADVANCED(EXPAT_INCLUDE_DIR EXPAT_LIBRARY)
+mark_as_advanced(EXPAT_INCLUDE_DIR EXPAT_LIBRARY)
diff --git a/Modules/FindFLEX.cmake b/Modules/FindFLEX.cmake
index 586f77a6e..daae94fad 100644
--- a/Modules/FindFLEX.cmake
+++ b/Modules/FindFLEX.cmake
@@ -8,7 +8,7 @@
# FLEX_INCLUDE_DIRS - The path to the flex headers
#
# The minimum required version of flex can be specified using the
-# standard syntax, e.g. FIND_PACKAGE(FLEX 2.5.13)
+# standard syntax, e.g. find_package(FLEX 2.5.13)
#
#
# If flex is found on the system, the module provides the macro:
@@ -63,73 +63,73 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PROGRAM(FLEX_EXECUTABLE flex DOC "path to the flex executable")
-MARK_AS_ADVANCED(FLEX_EXECUTABLE)
+find_program(FLEX_EXECUTABLE flex DOC "path to the flex executable")
+mark_as_advanced(FLEX_EXECUTABLE)
-FIND_LIBRARY(FL_LIBRARY NAMES fl
+find_library(FL_LIBRARY NAMES fl
DOC "Path to the fl library")
-FIND_PATH(FLEX_INCLUDE_DIR FlexLexer.h
+find_path(FLEX_INCLUDE_DIR FlexLexer.h
DOC "Path to the flex headers")
-MARK_AS_ADVANCED(FL_LIBRARY FLEX_INCLUDE_DIR)
+mark_as_advanced(FL_LIBRARY FLEX_INCLUDE_DIR)
-SET(FLEX_INCLUDE_DIRS ${FLEX_INCLUDE_DIR})
-SET(FLEX_LIBRARIES ${FL_LIBRARY})
+set(FLEX_INCLUDE_DIRS ${FLEX_INCLUDE_DIR})
+set(FLEX_LIBRARIES ${FL_LIBRARY})
-IF(FLEX_EXECUTABLE)
+if(FLEX_EXECUTABLE)
- EXECUTE_PROCESS(COMMAND ${FLEX_EXECUTABLE} --version
+ execute_process(COMMAND ${FLEX_EXECUTABLE} --version
OUTPUT_VARIABLE FLEX_version_output
ERROR_VARIABLE FLEX_version_error
RESULT_VARIABLE FLEX_version_result
OUTPUT_STRIP_TRAILING_WHITESPACE)
- IF(NOT ${FLEX_version_result} EQUAL 0)
- IF(FLEX_FIND_REQUIRED)
- MESSAGE(SEND_ERROR "Command \"${FLEX_EXECUTABLE} --version\" failed with output:\n${FLEX_version_output}\n${FLEX_version_error}")
- ELSE()
- MESSAGE("Command \"${FLEX_EXECUTABLE} --version\" failed with output:\n${FLEX_version_output}\n${FLEX_version_error}\nFLEX_VERSION will not be available")
- ENDIF()
- ELSE()
+ if(NOT ${FLEX_version_result} EQUAL 0)
+ if(FLEX_FIND_REQUIRED)
+ message(SEND_ERROR "Command \"${FLEX_EXECUTABLE} --version\" failed with output:\n${FLEX_version_output}\n${FLEX_version_error}")
+ else()
+ message("Command \"${FLEX_EXECUTABLE} --version\" failed with output:\n${FLEX_version_output}\n${FLEX_version_error}\nFLEX_VERSION will not be available")
+ endif()
+ else()
# older versions of flex printed "/full/path/to/executable version X.Y"
# newer versions use "basename(executable) X.Y"
- GET_FILENAME_COMPONENT(FLEX_EXE_NAME "${FLEX_EXECUTABLE}" NAME)
- STRING(REGEX REPLACE "^.*${FLEX_EXE_NAME}\"? (version )?([0-9]+[^ ]*)$" "\\2"
+ get_filename_component(FLEX_EXE_NAME "${FLEX_EXECUTABLE}" NAME)
+ string(REGEX REPLACE "^.*${FLEX_EXE_NAME}\"? (version )?([0-9]+[^ ]*)( .*)?$" "\\2"
FLEX_VERSION "${FLEX_version_output}")
- UNSET(FLEX_EXE_NAME)
- ENDIF()
+ unset(FLEX_EXE_NAME)
+ endif()
#============================================================
# FLEX_TARGET (public macro)
#============================================================
#
- MACRO(FLEX_TARGET Name Input Output)
- SET(FLEX_TARGET_usage "FLEX_TARGET(<Name> <Input> <Output> [COMPILE_FLAGS <string>]")
- IF(${ARGC} GREATER 3)
- IF(${ARGC} EQUAL 5)
- IF("${ARGV3}" STREQUAL "COMPILE_FLAGS")
- SET(FLEX_EXECUTABLE_opts "${ARGV4}")
- SEPARATE_ARGUMENTS(FLEX_EXECUTABLE_opts)
- ELSE()
- MESSAGE(SEND_ERROR ${FLEX_TARGET_usage})
- ENDIF()
- ELSE()
- MESSAGE(SEND_ERROR ${FLEX_TARGET_usage})
- ENDIF()
- ENDIF()
-
- ADD_CUSTOM_COMMAND(OUTPUT ${Output}
+ macro(FLEX_TARGET Name Input Output)
+ set(FLEX_TARGET_usage "FLEX_TARGET(<Name> <Input> <Output> [COMPILE_FLAGS <string>]")
+ if(${ARGC} GREATER 3)
+ if(${ARGC} EQUAL 5)
+ if("${ARGV3}" STREQUAL "COMPILE_FLAGS")
+ set(FLEX_EXECUTABLE_opts "${ARGV4}")
+ separate_arguments(FLEX_EXECUTABLE_opts)
+ else()
+ message(SEND_ERROR ${FLEX_TARGET_usage})
+ endif()
+ else()
+ message(SEND_ERROR ${FLEX_TARGET_usage})
+ endif()
+ endif()
+
+ add_custom_command(OUTPUT ${Output}
COMMAND ${FLEX_EXECUTABLE}
ARGS ${FLEX_EXECUTABLE_opts} -o${Output} ${Input}
DEPENDS ${Input}
COMMENT "[FLEX][${Name}] Building scanner with flex ${FLEX_VERSION}"
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
- SET(FLEX_${Name}_DEFINED TRUE)
- SET(FLEX_${Name}_OUTPUTS ${Output})
- SET(FLEX_${Name}_INPUT ${Input})
- SET(FLEX_${Name}_COMPILE_FLAGS ${FLEX_EXECUTABLE_opts})
- ENDMACRO(FLEX_TARGET)
+ set(FLEX_${Name}_DEFINED TRUE)
+ set(FLEX_${Name}_OUTPUTS ${Output})
+ set(FLEX_${Name}_INPUT ${Input})
+ set(FLEX_${Name}_COMPILE_FLAGS ${FLEX_EXECUTABLE_opts})
+ endmacro()
#============================================================
@@ -137,24 +137,24 @@ IF(FLEX_EXECUTABLE)
# ADD_FLEX_BISON_DEPENDENCY (public macro)
#============================================================
#
- MACRO(ADD_FLEX_BISON_DEPENDENCY FlexTarget BisonTarget)
+ macro(ADD_FLEX_BISON_DEPENDENCY FlexTarget BisonTarget)
- IF(NOT FLEX_${FlexTarget}_OUTPUTS)
- MESSAGE(SEND_ERROR "Flex target `${FlexTarget}' does not exists.")
- ENDIF()
+ if(NOT FLEX_${FlexTarget}_OUTPUTS)
+ message(SEND_ERROR "Flex target `${FlexTarget}' does not exists.")
+ endif()
- IF(NOT BISON_${BisonTarget}_OUTPUT_HEADER)
- MESSAGE(SEND_ERROR "Bison target `${BisonTarget}' does not exists.")
- ENDIF()
+ if(NOT BISON_${BisonTarget}_OUTPUT_HEADER)
+ message(SEND_ERROR "Bison target `${BisonTarget}' does not exists.")
+ endif()
- SET_SOURCE_FILES_PROPERTIES(${FLEX_${FlexTarget}_OUTPUTS}
+ set_source_files_properties(${FLEX_${FlexTarget}_OUTPUTS}
PROPERTIES OBJECT_DEPENDS ${BISON_${BisonTarget}_OUTPUT_HEADER})
- ENDMACRO(ADD_FLEX_BISON_DEPENDENCY)
+ endmacro()
#============================================================
-ENDIF(FLEX_EXECUTABLE)
+endif()
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(FLEX REQUIRED_VARS FLEX_EXECUTABLE
VERSION_VAR FLEX_VERSION)
diff --git a/Modules/FindFLTK.cmake b/Modules/FindFLTK.cmake
index bdea95bdc..24cfb87dd 100644
--- a/Modules/FindFLTK.cmake
+++ b/Modules/FindFLTK.cmake
@@ -42,62 +42,64 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-IF(NOT FLTK_SKIP_OPENGL)
- FIND_PACKAGE(OpenGL)
-ENDIF()
+if(NOT FLTK_SKIP_OPENGL)
+ find_package(OpenGL)
+endif()
# Platform dependent libraries required by FLTK
-IF(WIN32)
- IF(NOT CYGWIN)
- IF(BORLAND)
- SET( FLTK_PLATFORM_DEPENDENT_LIBS import32 )
- ELSE(BORLAND)
- SET( FLTK_PLATFORM_DEPENDENT_LIBS wsock32 comctl32 )
- ENDIF(BORLAND)
- ENDIF(NOT CYGWIN)
-ENDIF(WIN32)
-
-IF(UNIX)
- INCLUDE(FindX11)
- FIND_LIBRARY(FLTK_MATH_LIBRARY m)
- SET( FLTK_PLATFORM_DEPENDENT_LIBS ${X11_LIBRARIES} ${FLTK_MATH_LIBRARY})
-ENDIF(UNIX)
-
-IF(APPLE)
- SET( FLTK_PLATFORM_DEPENDENT_LIBS "-framework Carbon -framework Cocoa -framework ApplicationServices -lz")
-ENDIF(APPLE)
+if(WIN32)
+ if(NOT CYGWIN)
+ if(BORLAND)
+ set( FLTK_PLATFORM_DEPENDENT_LIBS import32 )
+ else()
+ set( FLTK_PLATFORM_DEPENDENT_LIBS wsock32 comctl32 )
+ endif()
+ endif()
+endif()
+
+if(UNIX)
+ include(FindX11)
+ find_library(FLTK_MATH_LIBRARY m)
+ set( FLTK_PLATFORM_DEPENDENT_LIBS ${X11_LIBRARIES} ${FLTK_MATH_LIBRARY})
+endif()
+
+if(APPLE)
+ set( FLTK_PLATFORM_DEPENDENT_LIBS "-framework Carbon -framework Cocoa -framework ApplicationServices -lz")
+endif()
# If FLTK_INCLUDE_DIR is already defined we assigne its value to FLTK_DIR
-IF(FLTK_INCLUDE_DIR)
- SET(FLTK_DIR ${FLTK_INCLUDE_DIR})
-ENDIF(FLTK_INCLUDE_DIR)
+if(FLTK_INCLUDE_DIR)
+ set(FLTK_DIR ${FLTK_INCLUDE_DIR})
+endif()
# If FLTK has been built using CMake we try to find everything directly
-SET(FLTK_DIR_STRING "directory containing FLTKConfig.cmake. This is either the root of the build tree, or PREFIX/lib/fltk for an installation.")
+set(FLTK_DIR_STRING "directory containing FLTKConfig.cmake. This is either the root of the build tree, or PREFIX/lib/fltk for an installation.")
# Search only if the location is not already known.
-IF(NOT FLTK_DIR)
+if(NOT FLTK_DIR)
# Get the system search path as a list.
- FILE(TO_CMAKE_PATH "$ENV{PATH}" FLTK_DIR_SEARCH2)
+ file(TO_CMAKE_PATH "$ENV{PATH}" FLTK_DIR_SEARCH2)
# Construct a set of paths relative to the system search path.
- SET(FLTK_DIR_SEARCH "")
- FOREACH(dir ${FLTK_DIR_SEARCH2})
- SET(FLTK_DIR_SEARCH ${FLTK_DIR_SEARCH} "${dir}/../lib/fltk")
- ENDFOREACH(dir)
- STRING(REPLACE "//" "/" FLTK_DIR_SEARCH "${FLTK_DIR_SEARCH}")
+ set(FLTK_DIR_SEARCH "")
+ foreach(dir ${FLTK_DIR_SEARCH2})
+ set(FLTK_DIR_SEARCH ${FLTK_DIR_SEARCH} "${dir}/../lib/fltk")
+ endforeach()
+ string(REPLACE "//" "/" FLTK_DIR_SEARCH "${FLTK_DIR_SEARCH}")
#
# Look for an installation or build tree.
#
- FIND_PATH(FLTK_DIR FLTKConfig.cmake
+ find_path(FLTK_DIR FLTKConfig.cmake
# Look for an environment variable FLTK_DIR.
- $ENV{FLTK_DIR}
+ HINTS
+ ENV FLTK_DIR
# Look in places relative to the system executable search path.
${FLTK_DIR_SEARCH}
+ PATHS
# Look in standard UNIX install locations.
/usr/local/lib/fltk
/usr/lib/fltk
@@ -122,188 +124,188 @@ IF(NOT FLTK_DIR)
# Help the user find it if we cannot.
DOC "The ${FLTK_DIR_STRING}"
)
-ENDIF(NOT FLTK_DIR)
+endif()
# Check if FLTK was built using CMake
- IF(EXISTS ${FLTK_DIR}/FLTKConfig.cmake)
- SET(FLTK_BUILT_WITH_CMAKE 1)
- ENDIF(EXISTS ${FLTK_DIR}/FLTKConfig.cmake)
+ if(EXISTS ${FLTK_DIR}/FLTKConfig.cmake)
+ set(FLTK_BUILT_WITH_CMAKE 1)
+ endif()
- IF(FLTK_BUILT_WITH_CMAKE)
- SET(FLTK_FOUND 1)
- INCLUDE(${FLTK_DIR}/FLTKConfig.cmake)
+ if(FLTK_BUILT_WITH_CMAKE)
+ set(FLTK_FOUND 1)
+ include(${FLTK_DIR}/FLTKConfig.cmake)
# Fluid
- IF(FLUID_COMMAND)
- SET(FLTK_FLUID_EXECUTABLE ${FLUID_COMMAND} CACHE FILEPATH "Fluid executable")
- ELSE(FLUID_COMMAND)
- FIND_PROGRAM(FLTK_FLUID_EXECUTABLE fluid PATHS
+ if(FLUID_COMMAND)
+ set(FLTK_FLUID_EXECUTABLE ${FLUID_COMMAND} CACHE FILEPATH "Fluid executable")
+ else()
+ find_program(FLTK_FLUID_EXECUTABLE fluid PATHS
${FLTK_EXECUTABLE_DIRS}
${FLTK_EXECUTABLE_DIRS}/RelWithDebInfo
${FLTK_EXECUTABLE_DIRS}/Debug
${FLTK_EXECUTABLE_DIRS}/Release
NO_SYSTEM_PATH)
- ENDIF(FLUID_COMMAND)
- # MARK_AS_ADVANCED(FLTK_FLUID_EXECUTABLE)
+ endif()
+ # mark_as_advanced(FLTK_FLUID_EXECUTABLE)
- SET(FLTK_INCLUDE_DIR ${FLTK_DIR})
- LINK_DIRECTORIES(${FLTK_LIBRARY_DIRS})
+ set(FLTK_INCLUDE_DIR ${FLTK_DIR})
+ link_directories(${FLTK_LIBRARY_DIRS})
- SET(FLTK_BASE_LIBRARY fltk)
- SET(FLTK_GL_LIBRARY fltk_gl)
- SET(FLTK_FORMS_LIBRARY fltk_forms)
- SET(FLTK_IMAGES_LIBRARY fltk_images)
+ set(FLTK_BASE_LIBRARY fltk)
+ set(FLTK_GL_LIBRARY fltk_gl)
+ set(FLTK_FORMS_LIBRARY fltk_forms)
+ set(FLTK_IMAGES_LIBRARY fltk_images)
# Add the extra libraries
- LOAD_CACHE(${FLTK_DIR}
+ load_cache(${FLTK_DIR}
READ_WITH_PREFIX
FL FLTK_USE_SYSTEM_JPEG
FL FLTK_USE_SYSTEM_PNG
FL FLTK_USE_SYSTEM_ZLIB
)
- SET(FLTK_IMAGES_LIBS "")
- IF(FLFLTK_USE_SYSTEM_JPEG)
- SET(FLTK_IMAGES_LIBS ${FLTK_IMAGES_LIBS} fltk_jpeg)
- ENDIF(FLFLTK_USE_SYSTEM_JPEG)
- IF(FLFLTK_USE_SYSTEM_PNG)
- SET(FLTK_IMAGES_LIBS ${FLTK_IMAGES_LIBS} fltk_png)
- ENDIF(FLFLTK_USE_SYSTEM_PNG)
- IF(FLFLTK_USE_SYSTEM_ZLIB)
- SET(FLTK_IMAGES_LIBS ${FLTK_IMAGES_LIBS} fltk_zlib)
- ENDIF(FLFLTK_USE_SYSTEM_ZLIB)
- SET(FLTK_IMAGES_LIBS "${FLTK_IMAGES_LIBS}" CACHE INTERNAL
+ set(FLTK_IMAGES_LIBS "")
+ if(FLFLTK_USE_SYSTEM_JPEG)
+ set(FLTK_IMAGES_LIBS ${FLTK_IMAGES_LIBS} fltk_jpeg)
+ endif()
+ if(FLFLTK_USE_SYSTEM_PNG)
+ set(FLTK_IMAGES_LIBS ${FLTK_IMAGES_LIBS} fltk_png)
+ endif()
+ if(FLFLTK_USE_SYSTEM_ZLIB)
+ set(FLTK_IMAGES_LIBS ${FLTK_IMAGES_LIBS} fltk_zlib)
+ endif()
+ set(FLTK_IMAGES_LIBS "${FLTK_IMAGES_LIBS}" CACHE INTERNAL
"Extra libraries for fltk_images library.")
- ELSE(FLTK_BUILT_WITH_CMAKE)
+ else()
# if FLTK was not built using CMake
# Find fluid executable.
- FIND_PROGRAM(FLTK_FLUID_EXECUTABLE fluid ${FLTK_INCLUDE_DIR}/fluid)
+ find_program(FLTK_FLUID_EXECUTABLE fluid ${FLTK_INCLUDE_DIR}/fluid)
# Use location of fluid to help find everything else.
- SET(FLTK_INCLUDE_SEARCH_PATH "")
- SET(FLTK_LIBRARY_SEARCH_PATH "")
- IF(FLTK_FLUID_EXECUTABLE)
- GET_FILENAME_COMPONENT(FLTK_BIN_DIR "${FLTK_FLUID_EXECUTABLE}" PATH)
- SET(FLTK_INCLUDE_SEARCH_PATH ${FLTK_INCLUDE_SEARCH_PATH}
+ set(FLTK_INCLUDE_SEARCH_PATH "")
+ set(FLTK_LIBRARY_SEARCH_PATH "")
+ if(FLTK_FLUID_EXECUTABLE)
+ get_filename_component(FLTK_BIN_DIR "${FLTK_FLUID_EXECUTABLE}" PATH)
+ set(FLTK_INCLUDE_SEARCH_PATH ${FLTK_INCLUDE_SEARCH_PATH}
${FLTK_BIN_DIR}/../include ${FLTK_BIN_DIR}/..)
- SET(FLTK_LIBRARY_SEARCH_PATH ${FLTK_LIBRARY_SEARCH_PATH}
+ set(FLTK_LIBRARY_SEARCH_PATH ${FLTK_LIBRARY_SEARCH_PATH}
${FLTK_BIN_DIR}/../lib)
- SET(FLTK_WRAP_UI 1)
- ENDIF(FLTK_FLUID_EXECUTABLE)
+ set(FLTK_WRAP_UI 1)
+ endif()
#
# Try to find FLTK include dir using fltk-config
#
- IF(UNIX)
+ if(UNIX)
# Use fltk-config to generate a list of possible include directories
- FIND_PROGRAM(FLTK_CONFIG_SCRIPT fltk-config PATHS ${FLTK_BIN_DIR})
- IF(FLTK_CONFIG_SCRIPT)
- IF(NOT FLTK_INCLUDE_DIR)
- EXEC_PROGRAM(${FLTK_CONFIG_SCRIPT} ARGS --cxxflags OUTPUT_VARIABLE FLTK_CXXFLAGS)
- IF(FLTK_CXXFLAGS)
- STRING(REGEX MATCHALL "-I[^ ]*" _fltk_temp_dirs ${FLTK_CXXFLAGS})
- STRING(REPLACE "-I" "" _fltk_temp_dirs "${_fltk_temp_dirs}")
- FOREACH(_dir ${_fltk_temp_dirs})
- STRING(STRIP ${_dir} _output)
- LIST(APPEND _FLTK_POSSIBLE_INCLUDE_DIRS ${_output})
- ENDFOREACH()
- ENDIF(FLTK_CXXFLAGS)
- ENDIF()
- ENDIF()
- ENDIF()
-
- SET(FLTK_INCLUDE_SEARCH_PATH ${FLTK_INCLUDE_SEARCH_PATH}
+ find_program(FLTK_CONFIG_SCRIPT fltk-config PATHS ${FLTK_BIN_DIR})
+ if(FLTK_CONFIG_SCRIPT)
+ if(NOT FLTK_INCLUDE_DIR)
+ exec_program(${FLTK_CONFIG_SCRIPT} ARGS --cxxflags OUTPUT_VARIABLE FLTK_CXXFLAGS)
+ if(FLTK_CXXFLAGS)
+ string(REGEX MATCHALL "-I[^ ]*" _fltk_temp_dirs ${FLTK_CXXFLAGS})
+ string(REPLACE "-I" "" _fltk_temp_dirs "${_fltk_temp_dirs}")
+ foreach(_dir ${_fltk_temp_dirs})
+ string(STRIP ${_dir} _output)
+ list(APPEND _FLTK_POSSIBLE_INCLUDE_DIRS ${_output})
+ endforeach()
+ endif()
+ endif()
+ endif()
+ endif()
+
+ set(FLTK_INCLUDE_SEARCH_PATH ${FLTK_INCLUDE_SEARCH_PATH}
/usr/local/fltk
/usr/X11R6/include
${_FLTK_POSSIBLE_INCLUDE_DIRS}
)
- FIND_PATH(FLTK_INCLUDE_DIR
+ find_path(FLTK_INCLUDE_DIR
NAMES FL/Fl.h FL/Fl.H # fltk 1.1.9 has Fl.H (#8376)
PATHS ${FLTK_INCLUDE_SEARCH_PATH})
-
+
#
# Try to find FLTK library
- IF(UNIX)
- IF(FLTK_CONFIG_SCRIPT)
- EXEC_PROGRAM(${FLTK_CONFIG_SCRIPT} ARGS --libs OUTPUT_VARIABLE _FLTK_POSSIBLE_LIBS)
- IF(_FLTK_POSSIBLE_LIBS)
- GET_FILENAME_COMPONENT(_FLTK_POSSIBLE_LIBRARY_DIR ${_FLTK_POSSIBLE_LIBS} PATH)
- ENDIF()
- ENDIF()
- ENDIF()
-
- SET(FLTK_LIBRARY_SEARCH_PATH ${FLTK_LIBRARY_SEARCH_PATH}
+ if(UNIX)
+ if(FLTK_CONFIG_SCRIPT)
+ exec_program(${FLTK_CONFIG_SCRIPT} ARGS --libs OUTPUT_VARIABLE _FLTK_POSSIBLE_LIBS)
+ if(_FLTK_POSSIBLE_LIBS)
+ get_filename_component(_FLTK_POSSIBLE_LIBRARY_DIR ${_FLTK_POSSIBLE_LIBS} PATH)
+ endif()
+ endif()
+ endif()
+
+ set(FLTK_LIBRARY_SEARCH_PATH ${FLTK_LIBRARY_SEARCH_PATH}
/usr/local/fltk/lib
/usr/X11R6/lib
${FLTK_INCLUDE_DIR}/lib
${_FLTK_POSSIBLE_LIBRARY_DIR}
)
- FIND_LIBRARY(FLTK_BASE_LIBRARY NAMES fltk fltkd
+ find_library(FLTK_BASE_LIBRARY NAMES fltk fltkd
PATHS ${FLTK_LIBRARY_SEARCH_PATH})
- FIND_LIBRARY(FLTK_GL_LIBRARY NAMES fltkgl fltkgld fltk_gl
+ find_library(FLTK_GL_LIBRARY NAMES fltkgl fltkgld fltk_gl
PATHS ${FLTK_LIBRARY_SEARCH_PATH})
- FIND_LIBRARY(FLTK_FORMS_LIBRARY NAMES fltkforms fltkformsd fltk_forms
+ find_library(FLTK_FORMS_LIBRARY NAMES fltkforms fltkformsd fltk_forms
PATHS ${FLTK_LIBRARY_SEARCH_PATH})
- FIND_LIBRARY(FLTK_IMAGES_LIBRARY NAMES fltkimages fltkimagesd fltk_images
+ find_library(FLTK_IMAGES_LIBRARY NAMES fltkimages fltkimagesd fltk_images
PATHS ${FLTK_LIBRARY_SEARCH_PATH})
# Find the extra libraries needed for the fltk_images library.
- IF(UNIX)
- IF(FLTK_CONFIG_SCRIPT)
- EXEC_PROGRAM(${FLTK_CONFIG_SCRIPT} ARGS --use-images --ldflags
+ if(UNIX)
+ if(FLTK_CONFIG_SCRIPT)
+ exec_program(${FLTK_CONFIG_SCRIPT} ARGS --use-images --ldflags
OUTPUT_VARIABLE FLTK_IMAGES_LDFLAGS)
- SET(FLTK_LIBS_EXTRACT_REGEX ".*-lfltk_images (.*) -lfltk.*")
- IF("${FLTK_IMAGES_LDFLAGS}" MATCHES "${FLTK_LIBS_EXTRACT_REGEX}")
- STRING(REGEX REPLACE "${FLTK_LIBS_EXTRACT_REGEX}" "\\1"
+ set(FLTK_LIBS_EXTRACT_REGEX ".*-lfltk_images (.*) -lfltk.*")
+ if("${FLTK_IMAGES_LDFLAGS}" MATCHES "${FLTK_LIBS_EXTRACT_REGEX}")
+ string(REGEX REPLACE "${FLTK_LIBS_EXTRACT_REGEX}" "\\1"
FLTK_IMAGES_LIBS "${FLTK_IMAGES_LDFLAGS}")
- STRING(REGEX REPLACE " +" ";" FLTK_IMAGES_LIBS "${FLTK_IMAGES_LIBS}")
+ string(REGEX REPLACE " +" ";" FLTK_IMAGES_LIBS "${FLTK_IMAGES_LIBS}")
# The EXEC_PROGRAM will not be inherited into subdirectories from
# the file that originally included this module. Save the answer.
- SET(FLTK_IMAGES_LIBS "${FLTK_IMAGES_LIBS}" CACHE INTERNAL
+ set(FLTK_IMAGES_LIBS "${FLTK_IMAGES_LIBS}" CACHE INTERNAL
"Extra libraries for fltk_images library.")
- ENDIF("${FLTK_IMAGES_LDFLAGS}" MATCHES "${FLTK_LIBS_EXTRACT_REGEX}")
- ENDIF(FLTK_CONFIG_SCRIPT)
- ENDIF(UNIX)
+ endif()
+ endif()
+ endif()
- ENDIF(FLTK_BUILT_WITH_CMAKE)
+ endif()
# Append all of the required libraries together (by default, everything)
- SET(FLTK_LIBRARIES)
- IF(NOT FLTK_SKIP_IMAGES)
- LIST(APPEND FLTK_LIBRARIES ${FLTK_IMAGES_LIBRARY})
- ENDIF()
- IF(NOT FLTK_SKIP_FORMS)
- LIST(APPEND FLTK_LIBRARIES ${FLTK_FORMS_LIBRARY})
- ENDIF()
- IF(NOT FLTK_SKIP_OPENGL)
- LIST(APPEND FLTK_LIBRARIES ${FLTK_GL_LIBRARY} ${OPENGL_gl_LIBRARY})
- LIST(APPEND FLTK_INCLUDE_DIR ${OPENGL_INCLUDE_DIR})
- LIST(REMOVE_DUPLICATES FLTK_INCLUDE_DIR)
- ENDIF()
- LIST(APPEND FLTK_LIBRARIES ${FLTK_BASE_LIBRARY})
-
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-IF(FLTK_SKIP_FLUID)
+ set(FLTK_LIBRARIES)
+ if(NOT FLTK_SKIP_IMAGES)
+ list(APPEND FLTK_LIBRARIES ${FLTK_IMAGES_LIBRARY})
+ endif()
+ if(NOT FLTK_SKIP_FORMS)
+ list(APPEND FLTK_LIBRARIES ${FLTK_FORMS_LIBRARY})
+ endif()
+ if(NOT FLTK_SKIP_OPENGL)
+ list(APPEND FLTK_LIBRARIES ${FLTK_GL_LIBRARY} ${OPENGL_gl_LIBRARY})
+ list(APPEND FLTK_INCLUDE_DIR ${OPENGL_INCLUDE_DIR})
+ list(REMOVE_DUPLICATES FLTK_INCLUDE_DIR)
+ endif()
+ list(APPEND FLTK_LIBRARIES ${FLTK_BASE_LIBRARY})
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+if(FLTK_SKIP_FLUID)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(FLTK DEFAULT_MSG FLTK_LIBRARIES FLTK_INCLUDE_DIR)
-ELSE()
+else()
FIND_PACKAGE_HANDLE_STANDARD_ARGS(FLTK DEFAULT_MSG FLTK_LIBRARIES FLTK_INCLUDE_DIR FLTK_FLUID_EXECUTABLE)
-ENDIF()
+endif()
-IF(FLTK_FOUND)
- IF(APPLE)
- SET(FLTK_LIBRARIES ${FLTK_PLATFORM_DEPENDENT_LIBS} ${FLTK_LIBRARIES})
- ELSE(APPLE)
- SET(FLTK_LIBRARIES ${FLTK_LIBRARIES} ${FLTK_PLATFORM_DEPENDENT_LIBS})
- ENDIF(APPLE)
+if(FLTK_FOUND)
+ if(APPLE)
+ set(FLTK_LIBRARIES ${FLTK_PLATFORM_DEPENDENT_LIBS} ${FLTK_LIBRARIES})
+ else()
+ set(FLTK_LIBRARIES ${FLTK_LIBRARIES} ${FLTK_PLATFORM_DEPENDENT_LIBS})
+ endif()
# The following deprecated settings are for compatibility with CMake 1.4
- SET (HAS_FLTK ${FLTK_FOUND})
- SET (FLTK_INCLUDE_PATH ${FLTK_INCLUDE_DIR})
- SET (FLTK_FLUID_EXE ${FLTK_FLUID_EXECUTABLE})
- SET (FLTK_LIBRARY ${FLTK_LIBRARIES})
-ENDIF(FLTK_FOUND)
+ set (HAS_FLTK ${FLTK_FOUND})
+ set (FLTK_INCLUDE_PATH ${FLTK_INCLUDE_DIR})
+ set (FLTK_FLUID_EXE ${FLTK_FLUID_EXECUTABLE})
+ set (FLTK_LIBRARY ${FLTK_LIBRARIES})
+endif()
diff --git a/Modules/FindFLTK2.cmake b/Modules/FindFLTK2.cmake
index 916474579..071c318ff 100644
--- a/Modules/FindFLTK2.cmake
+++ b/Modules/FindFLTK2.cmake
@@ -23,57 +23,57 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-SET (FLTK2_DIR $ENV{FLTK2_DIR} )
+set (FLTK2_DIR $ENV{FLTK2_DIR} )
# Platform dependent libraries required by FLTK2
-IF(WIN32)
- IF(NOT CYGWIN)
- IF(BORLAND)
- SET( FLTK2_PLATFORM_DEPENDENT_LIBS import32 )
- ELSE(BORLAND)
- SET( FLTK2_PLATFORM_DEPENDENT_LIBS wsock32 comctl32 )
- ENDIF(BORLAND)
- ENDIF(NOT CYGWIN)
-ENDIF(WIN32)
-
-IF(UNIX)
- INCLUDE(${CMAKE_ROOT}/Modules/FindX11.cmake)
- SET( FLTK2_PLATFORM_DEPENDENT_LIBS ${X11_LIBRARIES} -lm)
-ENDIF(UNIX)
-
-IF(APPLE)
- SET( FLTK2_PLATFORM_DEPENDENT_LIBS "-framework Carbon -framework Cocoa -framework ApplicationServices -lz")
-ENDIF(APPLE)
+if(WIN32)
+ if(NOT CYGWIN)
+ if(BORLAND)
+ set( FLTK2_PLATFORM_DEPENDENT_LIBS import32 )
+ else()
+ set( FLTK2_PLATFORM_DEPENDENT_LIBS wsock32 comctl32 )
+ endif()
+ endif()
+endif()
+
+if(UNIX)
+ include(${CMAKE_ROOT}/Modules/FindX11.cmake)
+ set( FLTK2_PLATFORM_DEPENDENT_LIBS ${X11_LIBRARIES} -lm)
+endif()
+
+if(APPLE)
+ set( FLTK2_PLATFORM_DEPENDENT_LIBS "-framework Carbon -framework Cocoa -framework ApplicationServices -lz")
+endif()
# If FLTK2_INCLUDE_DIR is already defined we assigne its value to FLTK2_DIR
-IF(FLTK2_INCLUDE_DIR)
- SET(FLTK2_DIR ${FLTK2_INCLUDE_DIR})
-ELSE(FLTK2_INCLUDE_DIR)
- SET(FLTK2_INCLUDE_DIR ${FLTK2_DIR})
-ENDIF(FLTK2_INCLUDE_DIR)
+if(FLTK2_INCLUDE_DIR)
+ set(FLTK2_DIR ${FLTK2_INCLUDE_DIR})
+else()
+ set(FLTK2_INCLUDE_DIR ${FLTK2_DIR})
+endif()
# If FLTK2 has been built using CMake we try to find everything directly
-SET(FLTK2_DIR_STRING "directory containing FLTK2Config.cmake. This is either the root of the build tree, or PREFIX/lib/fltk for an installation.")
+set(FLTK2_DIR_STRING "directory containing FLTK2Config.cmake. This is either the root of the build tree, or PREFIX/lib/fltk for an installation.")
# Search only if the location is not already known.
-IF(NOT FLTK2_DIR)
+if(NOT FLTK2_DIR)
# Get the system search path as a list.
- FILE(TO_CMAKE_PATH "$ENV{PATH}" FLTK2_DIR_SEARCH2)
+ file(TO_CMAKE_PATH "$ENV{PATH}" FLTK2_DIR_SEARCH2)
# Construct a set of paths relative to the system search path.
- SET(FLTK2_DIR_SEARCH "")
- FOREACH(dir ${FLTK2_DIR_SEARCH2})
- SET(FLTK2_DIR_SEARCH ${FLTK2_DIR_SEARCH} "${dir}/../lib/fltk")
- ENDFOREACH(dir)
- STRING(REPLACE "//" "/" FLTK2_DIR_SEARCH "${FLTK2_DIR_SEARCH}")
+ set(FLTK2_DIR_SEARCH "")
+ foreach(dir ${FLTK2_DIR_SEARCH2})
+ set(FLTK2_DIR_SEARCH ${FLTK2_DIR_SEARCH} "${dir}/../lib/fltk")
+ endforeach()
+ string(REPLACE "//" "/" FLTK2_DIR_SEARCH "${FLTK2_DIR_SEARCH}")
#
# Look for an installation or build tree.
#
- FIND_PATH(FLTK2_DIR FLTK2Config.cmake
+ find_path(FLTK2_DIR FLTK2Config.cmake
# Look for an environment variable FLTK2_DIR.
- $ENV{FLTK2_DIR}
+ ENV FLTK2_DIR
# Look in places relative to the system executable search path.
${FLTK2_DIR_SEARCH}
@@ -101,167 +101,167 @@ IF(NOT FLTK2_DIR)
DOC "The ${FLTK2_DIR_STRING}"
)
- IF(NOT FLTK2_DIR)
- FIND_PATH(FLTK2_DIR fltk/run.h ${FLTK2_INCLUDE_SEARCH_PATH})
- ENDIF(NOT FLTK2_DIR)
+ if(NOT FLTK2_DIR)
+ find_path(FLTK2_DIR fltk/run.h ${FLTK2_INCLUDE_SEARCH_PATH})
+ endif()
-ENDIF(NOT FLTK2_DIR)
+endif()
# If FLTK2 was found, load the configuration file to get the rest of the
# settings.
-IF(FLTK2_DIR)
+if(FLTK2_DIR)
# Check if FLTK2 was built using CMake
- IF(EXISTS ${FLTK2_DIR}/FLTK2Config.cmake)
- SET(FLTK2_BUILT_WITH_CMAKE 1)
- ENDIF(EXISTS ${FLTK2_DIR}/FLTK2Config.cmake)
+ if(EXISTS ${FLTK2_DIR}/FLTK2Config.cmake)
+ set(FLTK2_BUILT_WITH_CMAKE 1)
+ endif()
- IF(FLTK2_BUILT_WITH_CMAKE)
- SET(FLTK2_FOUND 1)
- INCLUDE(${FLTK2_DIR}/FLTK2Config.cmake)
+ if(FLTK2_BUILT_WITH_CMAKE)
+ set(FLTK2_FOUND 1)
+ include(${FLTK2_DIR}/FLTK2Config.cmake)
# Fluid
- IF(FLUID_COMMAND)
- SET(FLTK2_FLUID_EXECUTABLE ${FLUID_COMMAND} CACHE FILEPATH "Fluid executable")
- ELSE(FLUID_COMMAND)
- FIND_PROGRAM(FLTK2_FLUID_EXECUTABLE fluid2 PATHS
+ if(FLUID_COMMAND)
+ set(FLTK2_FLUID_EXECUTABLE ${FLUID_COMMAND} CACHE FILEPATH "Fluid executable")
+ else()
+ find_program(FLTK2_FLUID_EXECUTABLE fluid2 PATHS
${FLTK2_EXECUTABLE_DIRS}
${FLTK2_EXECUTABLE_DIRS}/RelWithDebInfo
${FLTK2_EXECUTABLE_DIRS}/Debug
${FLTK2_EXECUTABLE_DIRS}/Release
NO_SYSTEM_PATH)
- ENDIF(FLUID_COMMAND)
+ endif()
- MARK_AS_ADVANCED(FLTK2_FLUID_EXECUTABLE)
- SET( FLTK_FLUID_EXECUTABLE ${FLTK2_FLUID_EXECUTABLE} )
+ mark_as_advanced(FLTK2_FLUID_EXECUTABLE)
+ set( FLTK_FLUID_EXECUTABLE ${FLTK2_FLUID_EXECUTABLE} )
-
- SET(FLTK2_INCLUDE_DIR ${FLTK2_DIR})
- LINK_DIRECTORIES(${FLTK2_LIBRARY_DIRS})
- SET(FLTK2_BASE_LIBRARY fltk2)
- SET(FLTK2_GL_LIBRARY fltk2_gl)
- SET(FLTK2_IMAGES_LIBRARY fltk2_images)
+ set(FLTK2_INCLUDE_DIR ${FLTK2_DIR})
+ link_directories(${FLTK2_LIBRARY_DIRS})
+
+ set(FLTK2_BASE_LIBRARY fltk2)
+ set(FLTK2_GL_LIBRARY fltk2_gl)
+ set(FLTK2_IMAGES_LIBRARY fltk2_images)
# Add the extra libraries
- LOAD_CACHE(${FLTK2_DIR}
+ load_cache(${FLTK2_DIR}
READ_WITH_PREFIX
FL FLTK2_USE_SYSTEM_JPEG
FL FLTK2_USE_SYSTEM_PNG
FL FLTK2_USE_SYSTEM_ZLIB
)
- SET(FLTK2_IMAGES_LIBS "")
- IF(FLFLTK2_USE_SYSTEM_JPEG)
- SET(FLTK2_IMAGES_LIBS ${FLTK2_IMAGES_LIBS} fltk2_jpeg)
- ENDIF(FLFLTK2_USE_SYSTEM_JPEG)
- IF(FLFLTK2_USE_SYSTEM_PNG)
- SET(FLTK2_IMAGES_LIBS ${FLTK2_IMAGES_LIBS} fltk2_png)
- ENDIF(FLFLTK2_USE_SYSTEM_PNG)
- IF(FLFLTK2_USE_SYSTEM_ZLIB)
- SET(FLTK2_IMAGES_LIBS ${FLTK2_IMAGES_LIBS} fltk2_zlib)
- ENDIF(FLFLTK2_USE_SYSTEM_ZLIB)
- SET(FLTK2_IMAGES_LIBS "${FLTK2_IMAGES_LIBS}" CACHE INTERNAL
+ set(FLTK2_IMAGES_LIBS "")
+ if(FLFLTK2_USE_SYSTEM_JPEG)
+ set(FLTK2_IMAGES_LIBS ${FLTK2_IMAGES_LIBS} fltk2_jpeg)
+ endif()
+ if(FLFLTK2_USE_SYSTEM_PNG)
+ set(FLTK2_IMAGES_LIBS ${FLTK2_IMAGES_LIBS} fltk2_png)
+ endif()
+ if(FLFLTK2_USE_SYSTEM_ZLIB)
+ set(FLTK2_IMAGES_LIBS ${FLTK2_IMAGES_LIBS} fltk2_zlib)
+ endif()
+ set(FLTK2_IMAGES_LIBS "${FLTK2_IMAGES_LIBS}" CACHE INTERNAL
"Extra libraries for fltk2_images library.")
- ELSE(FLTK2_BUILT_WITH_CMAKE)
+ else()
# if FLTK2 was not built using CMake
# Find fluid executable.
- FIND_PROGRAM(FLTK2_FLUID_EXECUTABLE fluid2 ${FLTK2_INCLUDE_DIR}/fluid)
+ find_program(FLTK2_FLUID_EXECUTABLE fluid2 ${FLTK2_INCLUDE_DIR}/fluid)
# Use location of fluid to help find everything else.
- SET(FLTK2_INCLUDE_SEARCH_PATH "")
- SET(FLTK2_LIBRARY_SEARCH_PATH "")
- IF(FLTK2_FLUID_EXECUTABLE)
- SET( FLTK_FLUID_EXECUTABLE ${FLTK2_FLUID_EXECUTABLE} )
- GET_FILENAME_COMPONENT(FLTK2_BIN_DIR "${FLTK2_FLUID_EXECUTABLE}" PATH)
- SET(FLTK2_INCLUDE_SEARCH_PATH ${FLTK2_INCLUDE_SEARCH_PATH}
+ set(FLTK2_INCLUDE_SEARCH_PATH "")
+ set(FLTK2_LIBRARY_SEARCH_PATH "")
+ if(FLTK2_FLUID_EXECUTABLE)
+ set( FLTK_FLUID_EXECUTABLE ${FLTK2_FLUID_EXECUTABLE} )
+ get_filename_component(FLTK2_BIN_DIR "${FLTK2_FLUID_EXECUTABLE}" PATH)
+ set(FLTK2_INCLUDE_SEARCH_PATH ${FLTK2_INCLUDE_SEARCH_PATH}
${FLTK2_BIN_DIR}/../include ${FLTK2_BIN_DIR}/..)
- SET(FLTK2_LIBRARY_SEARCH_PATH ${FLTK2_LIBRARY_SEARCH_PATH}
+ set(FLTK2_LIBRARY_SEARCH_PATH ${FLTK2_LIBRARY_SEARCH_PATH}
${FLTK2_BIN_DIR}/../lib)
- SET(FLTK2_WRAP_UI 1)
- ENDIF(FLTK2_FLUID_EXECUTABLE)
+ set(FLTK2_WRAP_UI 1)
+ endif()
- SET(FLTK2_INCLUDE_SEARCH_PATH ${FLTK2_INCLUDE_SEARCH_PATH}
+ set(FLTK2_INCLUDE_SEARCH_PATH ${FLTK2_INCLUDE_SEARCH_PATH}
/usr/local/fltk2
/usr/X11R6/include
)
- FIND_PATH(FLTK2_INCLUDE_DIR fltk/run.h ${FLTK2_INCLUDE_SEARCH_PATH})
+ find_path(FLTK2_INCLUDE_DIR fltk/run.h ${FLTK2_INCLUDE_SEARCH_PATH})
- SET(FLTK2_LIBRARY_SEARCH_PATH ${FLTK2_LIBRARY_SEARCH_PATH}
+ set(FLTK2_LIBRARY_SEARCH_PATH ${FLTK2_LIBRARY_SEARCH_PATH}
/usr/local/fltk2/lib
/usr/X11R6/lib
${FLTK2_INCLUDE_DIR}/lib
)
- FIND_LIBRARY(FLTK2_BASE_LIBRARY NAMES fltk2
+ find_library(FLTK2_BASE_LIBRARY NAMES fltk2
PATHS ${FLTK2_LIBRARY_SEARCH_PATH})
- FIND_LIBRARY(FLTK2_GL_LIBRARY NAMES fltk2_gl
+ find_library(FLTK2_GL_LIBRARY NAMES fltk2_gl
PATHS ${FLTK2_LIBRARY_SEARCH_PATH})
- FIND_LIBRARY(FLTK2_IMAGES_LIBRARY NAMES fltk2_images
+ find_library(FLTK2_IMAGES_LIBRARY NAMES fltk2_images
PATHS ${FLTK2_LIBRARY_SEARCH_PATH})
# Find the extra libraries needed for the fltk_images library.
- IF(UNIX)
- FIND_PROGRAM(FLTK2_CONFIG_SCRIPT fltk2-config PATHS ${FLTK2_BIN_DIR})
- IF(FLTK2_CONFIG_SCRIPT)
- EXEC_PROGRAM(${FLTK2_CONFIG_SCRIPT} ARGS --use-images --ldflags
+ if(UNIX)
+ find_program(FLTK2_CONFIG_SCRIPT fltk2-config PATHS ${FLTK2_BIN_DIR})
+ if(FLTK2_CONFIG_SCRIPT)
+ exec_program(${FLTK2_CONFIG_SCRIPT} ARGS --use-images --ldflags
OUTPUT_VARIABLE FLTK2_IMAGES_LDFLAGS)
- SET(FLTK2_LIBS_EXTRACT_REGEX ".*-lfltk2_images (.*) -lfltk2.*")
- IF("${FLTK2_IMAGES_LDFLAGS}" MATCHES "${FLTK2_LIBS_EXTRACT_REGEX}")
- STRING(REGEX REPLACE "${FLTK2_LIBS_EXTRACT_REGEX}" "\\1"
+ set(FLTK2_LIBS_EXTRACT_REGEX ".*-lfltk2_images (.*) -lfltk2.*")
+ if("${FLTK2_IMAGES_LDFLAGS}" MATCHES "${FLTK2_LIBS_EXTRACT_REGEX}")
+ string(REGEX REPLACE "${FLTK2_LIBS_EXTRACT_REGEX}" "\\1"
FLTK2_IMAGES_LIBS "${FLTK2_IMAGES_LDFLAGS}")
- STRING(REGEX REPLACE " +" ";" FLTK2_IMAGES_LIBS "${FLTK2_IMAGES_LIBS}")
+ string(REGEX REPLACE " +" ";" FLTK2_IMAGES_LIBS "${FLTK2_IMAGES_LIBS}")
# The EXEC_PROGRAM will not be inherited into subdirectories from
# the file that originally included this module. Save the answer.
- SET(FLTK2_IMAGES_LIBS "${FLTK2_IMAGES_LIBS}" CACHE INTERNAL
+ set(FLTK2_IMAGES_LIBS "${FLTK2_IMAGES_LIBS}" CACHE INTERNAL
"Extra libraries for fltk_images library.")
- ENDIF("${FLTK2_IMAGES_LDFLAGS}" MATCHES "${FLTK2_LIBS_EXTRACT_REGEX}")
- ENDIF(FLTK2_CONFIG_SCRIPT)
- ENDIF(UNIX)
+ endif()
+ endif()
+ endif()
- ENDIF(FLTK2_BUILT_WITH_CMAKE)
-ENDIF(FLTK2_DIR)
+ endif()
+endif()
-SET(FLTK2_FOUND 1)
-FOREACH(var FLTK2_FLUID_EXECUTABLE FLTK2_INCLUDE_DIR
+set(FLTK2_FOUND 1)
+foreach(var FLTK2_FLUID_EXECUTABLE FLTK2_INCLUDE_DIR
FLTK2_BASE_LIBRARY FLTK2_GL_LIBRARY
FLTK2_IMAGES_LIBRARY)
- IF(NOT ${var})
- MESSAGE( STATUS "${var} not found" )
- SET(FLTK2_FOUND 0)
- ENDIF(NOT ${var})
-ENDFOREACH(var)
+ if(NOT ${var})
+ message( STATUS "${var} not found" )
+ set(FLTK2_FOUND 0)
+ endif()
+endforeach()
-IF(FLTK2_FOUND)
- SET(FLTK2_LIBRARIES ${FLTK2_IMAGES_LIBRARY} ${FLTK2_IMAGES_LIBS} ${FLTK2_BASE_LIBRARY} ${FLTK2_GL_LIBRARY} )
- IF(APPLE)
- SET(FLTK2_LIBRARIES ${FLTK2_PLATFORM_DEPENDENT_LIBS} ${FLTK2_LIBRARIES})
- ELSE(APPLE)
- SET(FLTK2_LIBRARIES ${FLTK2_LIBRARIES} ${FLTK2_PLATFORM_DEPENDENT_LIBS})
- ENDIF(APPLE)
+if(FLTK2_FOUND)
+ set(FLTK2_LIBRARIES ${FLTK2_IMAGES_LIBRARY} ${FLTK2_IMAGES_LIBS} ${FLTK2_BASE_LIBRARY} ${FLTK2_GL_LIBRARY} )
+ if(APPLE)
+ set(FLTK2_LIBRARIES ${FLTK2_PLATFORM_DEPENDENT_LIBS} ${FLTK2_LIBRARIES})
+ else()
+ set(FLTK2_LIBRARIES ${FLTK2_LIBRARIES} ${FLTK2_PLATFORM_DEPENDENT_LIBS})
+ endif()
# The following deprecated settings are for compatibility with CMake 1.4
- SET (HAS_FLTK2 ${FLTK2_FOUND})
- SET (FLTK2_INCLUDE_PATH ${FLTK2_INCLUDE_DIR})
- SET (FLTK2_FLUID_EXE ${FLTK2_FLUID_EXECUTABLE})
- SET (FLTK2_LIBRARY ${FLTK2_LIBRARIES})
-ELSE(FLTK2_FOUND)
+ set (HAS_FLTK2 ${FLTK2_FOUND})
+ set (FLTK2_INCLUDE_PATH ${FLTK2_INCLUDE_DIR})
+ set (FLTK2_FLUID_EXE ${FLTK2_FLUID_EXECUTABLE})
+ set (FLTK2_LIBRARY ${FLTK2_LIBRARIES})
+else()
# make FIND_PACKAGE friendly
- IF(NOT FLTK2_FIND_QUIETLY)
- IF(FLTK2_FIND_REQUIRED)
- MESSAGE(FATAL_ERROR
+ if(NOT FLTK2_FIND_QUIETLY)
+ if(FLTK2_FIND_REQUIRED)
+ message(FATAL_ERROR
"FLTK2 required, please specify its location with FLTK2_DIR.")
- ELSE(FLTK2_FIND_REQUIRED)
- MESSAGE(STATUS "FLTK2 was not found.")
- ENDIF(FLTK2_FIND_REQUIRED)
- ENDIF(NOT FLTK2_FIND_QUIETLY)
-ENDIF(FLTK2_FOUND)
+ else()
+ message(STATUS "FLTK2 was not found.")
+ endif()
+ endif()
+endif()
diff --git a/Modules/FindFreetype.cmake b/Modules/FindFreetype.cmake
index e6f670256..cdb46beff 100644
--- a/Modules/FindFreetype.cmake
+++ b/Modules/FindFreetype.cmake
@@ -38,34 +38,35 @@
# Then from there, they need to set a bunch of #define's
# so you can do something like:
# #include FT_FREETYPE_H
-# Unfortunately, using CMake's mechanisms like INCLUDE_DIRECTORIES()
+# Unfortunately, using CMake's mechanisms like include_directories()
# wants explicit full paths and this trickery doesn't work too well.
# I'm going to attempt to cut out the middleman and hope
# everything still works.
-FIND_PATH(FREETYPE_INCLUDE_DIR_ft2build ft2build.h
+find_path(FREETYPE_INCLUDE_DIR_ft2build ft2build.h
HINTS
- $ENV{FREETYPE_DIR}
+ ENV FREETYPE_DIR
PATHS
- /usr/local/X11R6/include
- /usr/local/X11/include
- /usr/freeware/include
+ /usr/local/X11R6
+ /usr/local/X11
+ /usr/freeware
+ PATH_SUFFIXES include/freetype2 include
)
-FIND_PATH(FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h
+find_path(FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h
HINTS
- $ENV{FREETYPE_DIR}/include/freetype2
+ ENV FREETYPE_DIR
PATHS
- /usr/local/X11R6/include
- /usr/local/X11/include
- /usr/freeware/include
- PATH_SUFFIXES freetype2
+ /usr/local/X11R6
+ /usr/local/X11
+ /usr/freeware
+ PATH_SUFFIXES include/freetype2 include
)
-FIND_LIBRARY(FREETYPE_LIBRARY
+find_library(FREETYPE_LIBRARY
NAMES freetype libfreetype freetype219
HINTS
- $ENV{FREETYPE_DIR}
- PATH_SUFFIXES lib64 lib
+ ENV FREETYPE_DIR
+ PATH_SUFFIXES lib
PATHS
/usr/local/X11R6
/usr/local/X11
@@ -73,38 +74,38 @@ FIND_LIBRARY(FREETYPE_LIBRARY
)
# set the user variables
-IF(FREETYPE_INCLUDE_DIR_ft2build AND FREETYPE_INCLUDE_DIR_freetype2)
- SET(FREETYPE_INCLUDE_DIRS "${FREETYPE_INCLUDE_DIR_ft2build};${FREETYPE_INCLUDE_DIR_freetype2}")
-ENDIF(FREETYPE_INCLUDE_DIR_ft2build AND FREETYPE_INCLUDE_DIR_freetype2)
-SET(FREETYPE_LIBRARIES "${FREETYPE_LIBRARY}")
+if(FREETYPE_INCLUDE_DIR_ft2build AND FREETYPE_INCLUDE_DIR_freetype2)
+ set(FREETYPE_INCLUDE_DIRS "${FREETYPE_INCLUDE_DIR_ft2build};${FREETYPE_INCLUDE_DIR_freetype2}")
+endif()
+set(FREETYPE_LIBRARIES "${FREETYPE_LIBRARY}")
-IF(FREETYPE_INCLUDE_DIR_freetype2 AND EXISTS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h")
- FILE(STRINGS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h" freetype_version_str
+if(FREETYPE_INCLUDE_DIR_freetype2 AND EXISTS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h")
+ file(STRINGS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h" freetype_version_str
REGEX "^#[\t ]*define[\t ]+FREETYPE_(MAJOR|MINOR|PATCH)[\t ]+[0-9]+$")
- UNSET(FREETYPE_VERSION_STRING)
- FOREACH(VPART MAJOR MINOR PATCH)
- FOREACH(VLINE ${freetype_version_str})
- IF(VLINE MATCHES "^#[\t ]*define[\t ]+FREETYPE_${VPART}")
- STRING(REGEX REPLACE "^#[\t ]*define[\t ]+FREETYPE_${VPART}[\t ]+([0-9]+)$" "\\1"
+ unset(FREETYPE_VERSION_STRING)
+ foreach(VPART MAJOR MINOR PATCH)
+ foreach(VLINE ${freetype_version_str})
+ if(VLINE MATCHES "^#[\t ]*define[\t ]+FREETYPE_${VPART}")
+ string(REGEX REPLACE "^#[\t ]*define[\t ]+FREETYPE_${VPART}[\t ]+([0-9]+)$" "\\1"
FREETYPE_VERSION_PART "${VLINE}")
- IF(FREETYPE_VERSION_STRING)
- SET(FREETYPE_VERSION_STRING "${FREETYPE_VERSION_STRING}.${FREETYPE_VERSION_PART}")
- ELSE(FREETYPE_VERSION_STRING)
- SET(FREETYPE_VERSION_STRING "${FREETYPE_VERSION_PART}")
- ENDIF(FREETYPE_VERSION_STRING)
- UNSET(FREETYPE_VERSION_PART)
- ENDIF()
- ENDFOREACH(VLINE)
- ENDFOREACH(VPART)
-ENDIF(FREETYPE_INCLUDE_DIR_freetype2 AND EXISTS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h")
+ if(FREETYPE_VERSION_STRING)
+ set(FREETYPE_VERSION_STRING "${FREETYPE_VERSION_STRING}.${FREETYPE_VERSION_PART}")
+ else()
+ set(FREETYPE_VERSION_STRING "${FREETYPE_VERSION_PART}")
+ endif()
+ unset(FREETYPE_VERSION_PART)
+ endif()
+ endforeach()
+ endforeach()
+endif()
# handle the QUIETLY and REQUIRED arguments and set FREETYPE_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Freetype
REQUIRED_VARS FREETYPE_LIBRARY FREETYPE_INCLUDE_DIRS
VERSION_VAR FREETYPE_VERSION_STRING)
-MARK_AS_ADVANCED(FREETYPE_LIBRARY FREETYPE_INCLUDE_DIR_freetype2 FREETYPE_INCLUDE_DIR_ft2build)
+mark_as_advanced(FREETYPE_LIBRARY FREETYPE_INCLUDE_DIR_freetype2 FREETYPE_INCLUDE_DIR_ft2build)
diff --git a/Modules/FindGCCXML.cmake b/Modules/FindGCCXML.cmake
index 261a5d180..05f08a639 100644
--- a/Modules/FindGCCXML.cmake
+++ b/Modules/FindGCCXML.cmake
@@ -16,7 +16,7 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PROGRAM(GCCXML
+find_program(GCCXML
NAMES gccxml
../GCC_XML/gccxml
PATHS [HKEY_CURRENT_USER\\Software\\Kitware\\GCC_XML;loc]
@@ -24,4 +24,4 @@ FIND_PROGRAM(GCCXML
"C:/Program Files/GCC_XML"
)
-MARK_AS_ADVANCED(GCCXML)
+mark_as_advanced(GCCXML)
diff --git a/Modules/FindGDAL.cmake b/Modules/FindGDAL.cmake
index c31bef5ca..6e898474b 100644
--- a/Modules/FindGDAL.cmake
+++ b/Modules/FindGDAL.cmake
@@ -28,22 +28,22 @@
# correspond to the ./configure --prefix=$GDAL_DIR
# used in building gdal.
#
-# Created by Eric Wing. I'm not a gdal user, but OpenSceneGraph uses it
+# Created by Eric Wing. I'm not a gdal user, but OpenSceneGraph uses it
# for osgTerrain so I whipped this module together for completeness.
# I actually don't know the conventions or where files are typically
# placed in distros.
# Any real gdal users are encouraged to correct this (but please don't
-# break the OS X framework stuff when doing so which is what usually seems
+# break the OS X framework stuff when doing so which is what usually seems
# to happen).
# This makes the presumption that you are include gdal.h like
#
#include "gdal.h"
-FIND_PATH(GDAL_INCLUDE_DIR gdal.h
+find_path(GDAL_INCLUDE_DIR gdal.h
HINTS
- $ENV{GDAL_DIR}
- $ENV{GDAL_ROOT}
+ ENV GDAL_DIR
+ ENV GDAL_ROOT
PATH_SUFFIXES
include/gdal
include/GDAL
@@ -57,15 +57,15 @@ FIND_PATH(GDAL_INCLUDE_DIR gdal.h
/opt
)
-IF(UNIX)
+if(UNIX)
# Use gdal-config to obtain the library version (this should hopefully
# allow us to -lgdal1.x.y where x.y are correct version)
# For some reason, libgdal development packages do not contain
# libgdal.so...
- FIND_PROGRAM(GDAL_CONFIG gdal-config
+ find_program(GDAL_CONFIG gdal-config
HINTS
- $ENV{GDAL_DIR}
- $ENV{GDAL_ROOT}
+ ENV GDAL_DIR
+ ENV GDAL_ROOT
PATH_SUFFIXES bin
PATHS
/sw # Fink
@@ -85,13 +85,13 @@ IF(UNIX)
endif()
endif()
-FIND_LIBRARY(GDAL_LIBRARY
+find_library(GDAL_LIBRARY
NAMES ${_gdal_lib} gdal gdal_i gdal1.5.0 gdal1.4.0 gdal1.3.2 GDAL
HINTS
- $ENV{GDAL_DIR}
- $ENV{GDAL_ROOT}
+ ENV GDAL_DIR
+ ENV GDAL_ROOT
${_gdal_libpath}
- PATH_SUFFIXES lib64 lib
+ PATH_SUFFIXES lib
PATHS
/sw
/opt/local
diff --git a/Modules/FindGIF.cmake b/Modules/FindGIF.cmake
index 41e909805..6a665ad7e 100644
--- a/Modules/FindGIF.cmake
+++ b/Modules/FindGIF.cmake
@@ -5,7 +5,7 @@
# GIF_VERSION, reports either version 4 or 3 (for everything before version 4)
#
# The minimum required version of giflib can be specified using the
-# standard syntax, e.g. FIND_PACKAGE(GIF 4)
+# standard syntax, e.g. find_package(GIF 4)
#
# $GIF_DIR is an environment variable that would
# correspond to the ./configure --prefix=$GIF_DIR
@@ -26,9 +26,9 @@
# Created by Eric Wing.
# Modifications by Alexander Neundorf
-FIND_PATH(GIF_INCLUDE_DIR gif_lib.h
+find_path(GIF_INCLUDE_DIR gif_lib.h
HINTS
- $ENV{GIF_DIR}
+ ENV GIF_DIR
PATH_SUFFIXES include
PATHS
~/Library/Frameworks
@@ -36,20 +36,20 @@ FIND_PATH(GIF_INCLUDE_DIR gif_lib.h
)
# the gif library can have many names :-/
-SET(POTENTIAL_GIF_LIBS gif libgif ungif libungif giflib giflib4)
+set(POTENTIAL_GIF_LIBS gif libgif ungif libungif giflib giflib4)
-FIND_LIBRARY(GIF_LIBRARY
+find_library(GIF_LIBRARY
NAMES ${POTENTIAL_GIF_LIBS}
HINTS
- $ENV{GIF_DIR}
- PATH_SUFFIXES lib64 lib
+ ENV GIF_DIR
+ PATH_SUFFIXES lib
PATHS
~/Library/Frameworks
/usr/freeware
)
# see readme.txt
-SET(GIF_LIBRARIES ${GIF_LIBRARY})
+set(GIF_LIBRARIES ${GIF_LIBRARY})
# Very basic version detection.
# The GIF_LIB_VERSION string in gif_lib.h seems to be unreliable, since it seems
@@ -57,24 +57,24 @@ SET(GIF_LIBRARIES ${GIF_LIBRARY})
# In version 4 the member UserData was added to GifFileType, so we check for this
# one.
# http://giflib.sourcearchive.com/documentation/4.1.4/files.html
-IF(GIF_INCLUDE_DIR)
- INCLUDE(CMakePushCheckState)
- INCLUDE(CheckStructHasMember)
+if(GIF_INCLUDE_DIR)
+ include(CMakePushCheckState)
+ include(CheckStructHasMember)
CMAKE_PUSH_CHECK_STATE()
- SET(GIF_VERSION 3)
- SET(CMAKE_REQUIRED_INCLUDES "${GIF_INCLUDE_DIR}")
+ set(GIF_VERSION 3)
+ set(CMAKE_REQUIRED_INCLUDES "${GIF_INCLUDE_DIR}")
CHECK_STRUCT_HAS_MEMBER(GifFileType UserData gif_lib.h GIF_GifFileType_UserData )
- IF(GIF_GifFileType_UserData)
- SET(GIF_VERSION 4)
- ENDIF()
+ if(GIF_GifFileType_UserData)
+ set(GIF_VERSION 4)
+ endif()
CMAKE_POP_CHECK_STATE()
-ENDIF()
+endif()
# handle the QUIETLY and REQUIRED arguments and set GIF_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GIF REQUIRED_VARS GIF_LIBRARY GIF_INCLUDE_DIR
VERSION_VAR GIF_VERSION )
-MARK_AS_ADVANCED(GIF_INCLUDE_DIR GIF_LIBRARY)
+mark_as_advanced(GIF_INCLUDE_DIR GIF_LIBRARY)
diff --git a/Modules/FindGLEW.cmake b/Modules/FindGLEW.cmake
new file mode 100644
index 000000000..37dff0324
--- /dev/null
+++ b/Modules/FindGLEW.cmake
@@ -0,0 +1,30 @@
+# - Find the OpenGL Extension Wrangler Library (GLEW)
+# This module defines the following variables:
+# GLEW_INCLUDE_DIRS - include directories for GLEW
+# GLEW_LIBRARIES - libraries to link against GLEW
+# GLEW_FOUND - true if GLEW has been found and can be used
+
+#=============================================================================
+# Copyright 2012 Benjamin Eikel
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distribute this file outside of CMake, substitute the full
+# License text for the above reference.)
+
+find_path(GLEW_INCLUDE_DIR GL/glew.h)
+find_library(GLEW_LIBRARY NAMES GLEW glew32 glew glew32s PATH_SUFFIXES lib64)
+
+set(GLEW_INCLUDE_DIRS ${GLEW_INCLUDE_DIR})
+set(GLEW_LIBRARIES ${GLEW_LIBRARY})
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+find_package_handle_standard_args(GLEW
+ REQUIRED_VARS GLEW_INCLUDE_DIR GLEW_LIBRARY)
+
+mark_as_advanced(GLEW_INCLUDE_DIR GLEW_LIBRARY)
diff --git a/Modules/FindGLU.cmake b/Modules/FindGLU.cmake
index 5198f11e1..d87945ada 100644
--- a/Modules/FindGLU.cmake
+++ b/Modules/FindGLU.cmake
@@ -16,13 +16,13 @@
# GLU library is now found by FindOpenGL.cmake
#
-MESSAGE(STATUS
+message(STATUS
"WARNING: you are using the obsolete 'GLU' package, please use 'OpenGL' instead")
-INCLUDE(FindOpenGL)
+include(FindOpenGL)
-IF (OPENGL_GLU_FOUND)
- SET (GLU_LIBRARY ${OPENGL_LIBRARIES})
- SET (GLU_INCLUDE_PATH ${OPENGL_INCLUDE_DIR})
-ENDIF (OPENGL_GLU_FOUND)
+if (OPENGL_GLU_FOUND)
+ set (GLU_LIBRARY ${OPENGL_LIBRARIES})
+ set (GLU_INCLUDE_PATH ${OPENGL_INCLUDE_DIR})
+endif ()
diff --git a/Modules/FindGLUT.cmake b/Modules/FindGLUT.cmake
index 82057792d..55790ae7c 100644
--- a/Modules/FindGLUT.cmake
+++ b/Modules/FindGLUT.cmake
@@ -20,69 +20,69 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-IF (WIN32)
- FIND_PATH( GLUT_INCLUDE_DIR NAMES GL/glut.h
+if (WIN32)
+ find_path( GLUT_INCLUDE_DIR NAMES GL/glut.h
PATHS ${GLUT_ROOT_PATH}/include )
- FIND_LIBRARY( GLUT_glut_LIBRARY NAMES glut glut32 freeglut
+ find_library( GLUT_glut_LIBRARY NAMES glut glut32 freeglut
PATHS
${OPENGL_LIBRARY_DIR}
${GLUT_ROOT_PATH}/Release
)
-ELSE (WIN32)
-
- IF (APPLE)
+else ()
+
+ if (APPLE)
# These values for Apple could probably do with improvement.
- FIND_PATH( GLUT_INCLUDE_DIR glut.h
+ find_path( GLUT_INCLUDE_DIR glut.h
/System/Library/Frameworks/GLUT.framework/Versions/A/Headers
${OPENGL_LIBRARY_DIR}
)
- SET(GLUT_glut_LIBRARY "-framework GLUT" CACHE STRING "GLUT library for OSX")
- SET(GLUT_cocoa_LIBRARY "-framework Cocoa" CACHE STRING "Cocoa framework for OSX")
- ELSE (APPLE)
-
- FIND_PATH( GLUT_INCLUDE_DIR GL/glut.h
+ set(GLUT_glut_LIBRARY "-framework GLUT" CACHE STRING "GLUT library for OSX")
+ set(GLUT_cocoa_LIBRARY "-framework Cocoa" CACHE STRING "Cocoa framework for OSX")
+ else ()
+
+ find_path( GLUT_INCLUDE_DIR GL/glut.h
/usr/include/GL
/usr/openwin/share/include
/usr/openwin/include
/opt/graphics/OpenGL/include
/opt/graphics/OpenGL/contrib/libglut
)
-
- FIND_LIBRARY( GLUT_glut_LIBRARY glut
+
+ find_library( GLUT_glut_LIBRARY glut
/usr/openwin/lib
)
-
- FIND_LIBRARY( GLUT_Xi_LIBRARY Xi
+
+ find_library( GLUT_Xi_LIBRARY Xi
/usr/openwin/lib
)
-
- FIND_LIBRARY( GLUT_Xmu_LIBRARY Xmu
+
+ find_library( GLUT_Xmu_LIBRARY Xmu
/usr/openwin/lib
)
-
- ENDIF (APPLE)
-
-ENDIF (WIN32)
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+ endif ()
+
+endif ()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GLUT REQUIRED_VARS GLUT_glut_LIBRARY GLUT_INCLUDE_DIR)
-IF (GLUT_FOUND)
+if (GLUT_FOUND)
# Is -lXi and -lXmu required on all platforms that have it?
# If not, we need some way to figure out what platform we are on.
- SET( GLUT_LIBRARIES
+ set( GLUT_LIBRARIES
${GLUT_glut_LIBRARY}
${GLUT_Xmu_LIBRARY}
${GLUT_Xi_LIBRARY}
${GLUT_cocoa_LIBRARY}
)
-
+
#The following deprecated settings are for backwards compatibility with CMake1.4
- SET (GLUT_LIBRARY ${GLUT_LIBRARIES})
- SET (GLUT_INCLUDE_PATH ${GLUT_INCLUDE_DIR})
-ENDIF(GLUT_FOUND)
+ set (GLUT_LIBRARY ${GLUT_LIBRARIES})
+ set (GLUT_INCLUDE_PATH ${GLUT_INCLUDE_DIR})
+endif()
-MARK_AS_ADVANCED(
+mark_as_advanced(
GLUT_INCLUDE_DIR
GLUT_glut_LIBRARY
GLUT_Xmu_LIBRARY
diff --git a/Modules/FindGTK.cmake b/Modules/FindGTK.cmake
index e9cc62f20..8a44ade41 100644
--- a/Modules/FindGTK.cmake
+++ b/Modules/FindGTK.cmake
@@ -18,9 +18,9 @@
# License text for the above reference.)
# don't even bother under WIN32
-IF(UNIX)
+if(UNIX)
- FIND_PATH( GTK_gtk_INCLUDE_PATH NAMES gtk/gtk.h
+ find_path( GTK_gtk_INCLUDE_PATH NAMES gtk/gtk.h
PATH_SUFFIXES gtk-1.2 gtk12
PATHS
/usr/openwin/share/include
@@ -33,7 +33,7 @@ IF(UNIX)
# for both.
# - Atanas Georgiev <atanas@cs.columbia.edu>
- FIND_PATH( GTK_glibconfig_INCLUDE_PATH NAMES glibconfig.h
+ find_path( GTK_glibconfig_INCLUDE_PATH NAMES glibconfig.h
PATHS
/usr/openwin/share/include
/usr/local/include/glib12
@@ -43,7 +43,7 @@ IF(UNIX)
/opt/gnome/lib/glib/include
)
- FIND_PATH( GTK_glib_INCLUDE_PATH NAMES glib.h
+ find_path( GTK_glib_INCLUDE_PATH NAMES glib.h
PATH_SUFFIXES gtk-1.2 glib-1.2 glib12
PATHS
/usr/openwin/share/include
@@ -51,12 +51,12 @@ IF(UNIX)
/opt/gnome/include
)
- FIND_PATH( GTK_gtkgl_INCLUDE_PATH NAMES gtkgl/gtkglarea.h
+ find_path( GTK_gtkgl_INCLUDE_PATH NAMES gtkgl/gtkglarea.h
PATHS /usr/openwin/share/include
/opt/gnome/include
)
- FIND_LIBRARY( GTK_gtkgl_LIBRARY gtkgl
+ find_library( GTK_gtkgl_LIBRARY gtkgl
/usr/openwin/lib
/opt/gnome/lib
)
@@ -65,43 +65,43 @@ IF(UNIX)
# The 12 suffix is thanks to the FreeBSD ports collection
#
- FIND_LIBRARY( GTK_gtk_LIBRARY
+ find_library( GTK_gtk_LIBRARY
NAMES gtk gtk12
PATHS /usr/openwin/lib
/opt/gnome/lib
)
- FIND_LIBRARY( GTK_gdk_LIBRARY
+ find_library( GTK_gdk_LIBRARY
NAMES gdk gdk12
PATHS /usr/openwin/lib
/opt/gnome/lib
)
- FIND_LIBRARY( GTK_gmodule_LIBRARY
+ find_library( GTK_gmodule_LIBRARY
NAMES gmodule gmodule12
PATHS /usr/openwin/lib
/opt/gnome/lib
)
- FIND_LIBRARY( GTK_glib_LIBRARY
+ find_library( GTK_glib_LIBRARY
NAMES glib glib12
PATHS /usr/openwin/lib
/opt/gnome/lib
)
- FIND_LIBRARY( GTK_Xi_LIBRARY
- NAMES Xi
- PATHS /usr/openwin/lib
- /opt/gnome/lib
- )
+ find_library( GTK_Xi_LIBRARY
+ NAMES Xi
+ PATHS /usr/openwin/lib
+ /opt/gnome/lib
+ )
- FIND_LIBRARY( GTK_gthread_LIBRARY
+ find_library( GTK_gthread_LIBRARY
NAMES gthread gthread12
PATHS /usr/openwin/lib
/opt/gnome/lib
)
- IF(GTK_gtk_INCLUDE_PATH
+ if(GTK_gtk_INCLUDE_PATH
AND GTK_glibconfig_INCLUDE_PATH
AND GTK_glib_INCLUDE_PATH
AND GTK_gtk_LIBRARY
@@ -110,42 +110,38 @@ IF(UNIX)
# Assume that if gtk and glib were found, the other
# supporting libraries have also been found.
- SET( GTK_FOUND "YES" )
- SET( GTK_INCLUDE_DIR ${GTK_gtk_INCLUDE_PATH}
+ set( GTK_FOUND "YES" )
+ set( GTK_INCLUDE_DIR ${GTK_gtk_INCLUDE_PATH}
${GTK_glibconfig_INCLUDE_PATH}
${GTK_glib_INCLUDE_PATH} )
- SET( GTK_LIBRARIES ${GTK_gtk_LIBRARY}
+ set( GTK_LIBRARIES ${GTK_gtk_LIBRARY}
${GTK_gdk_LIBRARY}
${GTK_glib_LIBRARY} )
- IF(GTK_gmodule_LIBRARY)
- SET(GTK_LIBRARIES ${GTK_LIBRARIES} ${GTK_gmodule_LIBRARY})
- ENDIF(GTK_gmodule_LIBRARY)
- IF(GTK_gthread_LIBRARY)
- SET(GTK_LIBRARIES ${GTK_LIBRARIES} ${GTK_gthread_LIBRARY})
- ENDIF(GTK_gthread_LIBRARY)
- IF(GTK_Xi_LIBRARY)
- SET(GTK_LIBRARIES ${GTK_LIBRARIES} ${GTK_Xi_LIBRARY})
- ENDIF(GTK_Xi_LIBRARY)
-
- IF(GTK_gtkgl_INCLUDE_PATH AND GTK_gtkgl_LIBRARY)
- SET( GTK_GL_FOUND "YES" )
- SET( GTK_INCLUDE_DIR ${GTK_INCLUDE_DIR}
+ if(GTK_gmodule_LIBRARY)
+ set(GTK_LIBRARIES ${GTK_LIBRARIES} ${GTK_gmodule_LIBRARY})
+ endif()
+ if(GTK_gthread_LIBRARY)
+ set(GTK_LIBRARIES ${GTK_LIBRARIES} ${GTK_gthread_LIBRARY})
+ endif()
+ if(GTK_Xi_LIBRARY)
+ set(GTK_LIBRARIES ${GTK_LIBRARIES} ${GTK_Xi_LIBRARY})
+ endif()
+
+ if(GTK_gtkgl_INCLUDE_PATH AND GTK_gtkgl_LIBRARY)
+ set( GTK_GL_FOUND "YES" )
+ set( GTK_INCLUDE_DIR ${GTK_INCLUDE_DIR}
${GTK_gtkgl_INCLUDE_PATH} )
- SET( GTK_LIBRARIES ${GTK_gtkgl_LIBRARY} ${GTK_LIBRARIES} )
- MARK_AS_ADVANCED(
+ set( GTK_LIBRARIES ${GTK_gtkgl_LIBRARY} ${GTK_LIBRARIES} )
+ mark_as_advanced(
GTK_gtkgl_LIBRARY
GTK_gtkgl_INCLUDE_PATH
)
- ENDIF(GTK_gtkgl_INCLUDE_PATH AND GTK_gtkgl_LIBRARY)
+ endif()
- ENDIF(GTK_gtk_INCLUDE_PATH
- AND GTK_glibconfig_INCLUDE_PATH
- AND GTK_glib_INCLUDE_PATH
- AND GTK_gtk_LIBRARY
- AND GTK_glib_LIBRARY)
+ endif()
- MARK_AS_ADVANCED(
+ mark_as_advanced(
GTK_gdk_LIBRARY
GTK_glib_INCLUDE_PATH
GTK_glib_LIBRARY
@@ -159,7 +155,7 @@ IF(UNIX)
GTK_gtkgl_LIBRARY
)
-ENDIF(UNIX)
+endif()
diff --git a/Modules/FindGTK2.cmake b/Modules/FindGTK2.cmake
index a03c023e4..517a9ac6a 100644
--- a/Modules/FindGTK2.cmake
+++ b/Modules/FindGTK2.cmake
@@ -54,7 +54,7 @@
#=============================================================================
# Copyright 2009 Kitware, Inc.
-# Copyright 2008-2009 Philip Lowman <philip@yhbt.com>
+# Copyright 2008-2012 Philip Lowman <philip@yhbt.com>
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
@@ -66,10 +66,13 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
+# Version 1.4 (10/4/2012) (CMake 2.8.10)
+# * 12596: Missing paths for FindGTK2 on NetBSD
+# * 12049: Fixed detection of GTK include files in the lib folder on
+# multiarch systems.
# Version 1.3 (11/9/2010) (CMake 2.8.4)
# * 11429: Add support for detecting GTK2 built with Visual Studio 10.
# Thanks to Vincent Levesque for the patch.
-
# Version 1.2 (8/30/2010) (CMake 2.8.3)
# * Merge patch for detecting gdk-pixbuf library (split off
# from core GTK in 2.21). Thanks to Vincent Untz for the patch
@@ -114,12 +117,12 @@
# _gtkversion_hdr = Header file to parse
#=============================================================
function(_GTK2_GET_VERSION _OUT_major _OUT_minor _OUT_micro _gtkversion_hdr)
- file(READ ${_gtkversion_hdr} _contents)
+ file(STRINGS ${_gtkversion_hdr} _contents REGEX "#define GTK_M[A-Z]+_VERSION[ \t]+")
if(_contents)
string(REGEX REPLACE ".*#define GTK_MAJOR_VERSION[ \t]+\\(([0-9]+)\\).*" "\\1" ${_OUT_major} "${_contents}")
string(REGEX REPLACE ".*#define GTK_MINOR_VERSION[ \t]+\\(([0-9]+)\\).*" "\\1" ${_OUT_minor} "${_contents}")
string(REGEX REPLACE ".*#define GTK_MICRO_VERSION[ \t]+\\(([0-9]+)\\).*" "\\1" ${_OUT_micro} "${_contents}")
-
+
if(NOT ${_OUT_major} MATCHES "[0-9]+")
message(FATAL_ERROR "Version parsing failed for GTK2_MAJOR_VERSION!")
endif()
@@ -151,7 +154,7 @@ function(_GTK2_FIND_INCLUDE_DIR _var _hdr)
"_GTK2_FIND_INCLUDE_DIR( ${_var} ${_hdr} )")
endif()
- set(_relatives
+ set(_gtk_packages
# If these ever change, things will break.
${GTK2_ADDITIONAL_SUFFIXES}
glibmm-2.4
@@ -172,8 +175,15 @@ function(_GTK2_FIND_INCLUDE_DIR _var _hdr)
sigc++-2.0
)
+ #
+ # NOTE: The following suffixes cause searching for header files in both of
+ # these directories:
+ # /usr/include/<pkg>
+ # /usr/lib/<pkg>/include
+ #
+
set(_suffixes)
- foreach(_d ${_relatives})
+ foreach(_d ${_gtk_packages})
list(APPEND _suffixes ${_d})
list(APPEND _suffixes ${_d}/include) # for /usr/lib/gtk-2.0/include
endforeach()
@@ -183,8 +193,15 @@ function(_GTK2_FIND_INCLUDE_DIR _var _hdr)
"include suffixes = ${_suffixes}")
endif()
+ if(CMAKE_LIBRARY_ARCHITECTURE)
+ set(_gtk2_arch_dir /usr/lib/${CMAKE_LIBRARY_ARCHITECTURE})
+ if(GTK2_DEBUG)
+ message(STATUS "Adding ${_gtk2_arch_dir} to search path for multiarch support")
+ endif()
+ endif()
find_path(${_var} ${_hdr}
PATHS
+ ${_gtk2_arch_dir}
/usr/local/lib64
/usr/local/lib
/usr/lib64
@@ -197,6 +214,8 @@ function(_GTK2_FIND_INCLUDE_DIR _var _hdr)
/sw/lib
/opt/local/include
/opt/local/lib
+ /usr/pkg/lib
+ /usr/pkg/include/glib
$ENV{GTKMM_BASEPATH}/include
$ENV{GTKMM_BASEPATH}/lib
[HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]/include
@@ -214,7 +233,7 @@ function(_GTK2_FIND_INCLUDE_DIR _var _hdr)
endif()
endif()
-endfunction(_GTK2_FIND_INCLUDE_DIR)
+endfunction()
#=============================================================
# _GTK2_FIND_LIBRARY
@@ -269,7 +288,7 @@ function(_GTK2_FIND_LIBRARY _var _lib _expand_vc _append_version)
set(_lib_list ${_library})
set(_libd_list ${_library_d})
endif()
-
+
if(GTK2_DEBUG)
message(STATUS "[FindGTK2.cmake:${CMAKE_CURRENT_LIST_LINE}] "
"library list = ${_lib_list} and library debug list = ${_libd_list}")
@@ -301,13 +320,11 @@ function(_GTK2_FIND_LIBRARY _var _lib _expand_vc _append_version)
"While searching for ${_var}, our proposed library list is ${_lib_list}")
endif()
- find_library(${_var}
+ find_library(${_var}
NAMES ${_lib_list}
PATHS
/opt/gnome/lib
- /opt/gnome/lib64
/usr/openwin/lib
- /usr/openwin/lib64
/sw/lib
$ENV{GTKMM_BASEPATH}/lib
[HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]/lib
@@ -345,7 +362,7 @@ function(_GTK2_FIND_LIBRARY _var _lib _expand_vc _append_version)
set(${_var}_DEBUG ${${_var}})
set(${_var}_DEBUG ${${_var}} PARENT_SCOPE)
endif()
-endfunction(_GTK2_FIND_LIBRARY)
+endfunction()
#=============================================================
@@ -405,8 +422,8 @@ if(GTK2_FIND_VERSION)
else()
message(FATAL_ERROR "GTK2 version check failed. Version ${GTK2_VERSION} was found, at least version ${GTK2_FIND_VERSION} is required")
endif()
- endif()
-
+ endif()
+
# If the version check fails, exit out of the module here
return()
endif()
@@ -425,7 +442,7 @@ foreach(_GTK2_component ${GTK2_FIND_COMPONENTS})
_GTK2_FIND_INCLUDE_DIR(GTK2_GLIB_INCLUDE_DIR glib.h)
_GTK2_FIND_INCLUDE_DIR(GTK2_GLIBCONFIG_INCLUDE_DIR glibconfig.h)
_GTK2_FIND_LIBRARY (GTK2_GLIB_LIBRARY glib false true)
-
+
_GTK2_FIND_INCLUDE_DIR(GTK2_GOBJECT_INCLUDE_DIR gobject/gobject.h)
_GTK2_FIND_LIBRARY (GTK2_GOBJECT_LIBRARY gobject false true)
@@ -471,6 +488,7 @@ foreach(_GTK2_component ${GTK2_FIND_COMPONENTS})
_GTK2_FIND_LIBRARY (GTK2_GTKMM_LIBRARY gtkmm true true)
_GTK2_FIND_INCLUDE_DIR(GTK2_CAIROMM_INCLUDE_DIR cairomm/cairomm.h)
+ _GTK2_FIND_INCLUDE_DIR(GTK2_CAIROMMCONFIG_INCLUDE_DIR cairommconfig.h)
_GTK2_FIND_LIBRARY (GTK2_CAIROMM_LIBRARY cairomm true true)
_GTK2_FIND_INCLUDE_DIR(GTK2_PANGOMM_INCLUDE_DIR pangomm.h)
@@ -492,7 +510,7 @@ foreach(_GTK2_component ${GTK2_FIND_COMPONENTS})
_GTK2_FIND_INCLUDE_DIR(GTK2_GLADE_INCLUDE_DIR glade/glade.h)
_GTK2_FIND_LIBRARY (GTK2_GLADE_LIBRARY glade false true)
-
+
elseif(_GTK2_component STREQUAL "glademm")
_GTK2_FIND_INCLUDE_DIR(GTK2_GLADEMM_INCLUDE_DIR libglademm.h)
diff --git a/Modules/FindGTest.cmake b/Modules/FindGTest.cmake
index 6cffb5c59..d531dd12d 100644
--- a/Modules/FindGTest.cmake
+++ b/Modules/FindGTest.cmake
@@ -98,7 +98,7 @@ function(_gtest_find_library _name)
find_library(${_name}
NAMES ${ARGN}
HINTS
- $ENV{GTEST_ROOT}
+ ENV GTEST_ROOT
${GTEST_ROOT}
PATH_SUFFIXES ${_gtest_libpath_suffixes}
)
diff --git a/Modules/FindGettext.cmake b/Modules/FindGettext.cmake
index 6dbc02618..1a6bd39dd 100644
--- a/Modules/FindGettext.cmake
+++ b/Modules/FindGettext.cmake
@@ -39,182 +39,173 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PROGRAM(GETTEXT_MSGMERGE_EXECUTABLE msgmerge)
+find_program(GETTEXT_MSGMERGE_EXECUTABLE msgmerge)
-FIND_PROGRAM(GETTEXT_MSGFMT_EXECUTABLE msgfmt)
+find_program(GETTEXT_MSGFMT_EXECUTABLE msgfmt)
-IF(GETTEXT_MSGMERGE_EXECUTABLE)
- EXECUTE_PROCESS(COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} --version
+if(GETTEXT_MSGMERGE_EXECUTABLE)
+ execute_process(COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} --version
OUTPUT_VARIABLE gettext_version
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
- IF (gettext_version MATCHES "^msgmerge \\(.*\\) [0-9]")
- STRING(REGEX REPLACE "^msgmerge \\([^\\)]*\\) ([0-9\\.]+[^ \n]*).*" "\\1" GETTEXT_VERSION_STRING "${gettext_version}")
- ENDIF()
- UNSET(gettext_version)
-ENDIF(GETTEXT_MSGMERGE_EXECUTABLE)
+ if (gettext_version MATCHES "^msgmerge \\(.*\\) [0-9]")
+ string(REGEX REPLACE "^msgmerge \\([^\\)]*\\) ([0-9\\.]+[^ \n]*).*" "\\1" GETTEXT_VERSION_STRING "${gettext_version}")
+ endif()
+ unset(gettext_version)
+endif()
-INCLUDE(FindPackageHandleStandardArgs)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Gettext
REQUIRED_VARS GETTEXT_MSGMERGE_EXECUTABLE GETTEXT_MSGFMT_EXECUTABLE
VERSION_VAR GETTEXT_VERSION_STRING)
-INCLUDE(CMakeParseArguments)
+include(${CMAKE_CURRENT_LIST_DIR}/CMakeParseArguments.cmake)
-FUNCTION(_GETTEXT_GET_UNIQUE_TARGET_NAME _name _unique_name)
- SET(propertyName "_GETTEXT_UNIQUE_COUNTER_${_name}")
- GET_PROPERTY(currentCounter GLOBAL PROPERTY "${propertyName}")
- IF(NOT currentCounter)
- SET(currentCounter 1)
- ENDIF()
- SET(${_unique_name} "${_name}_${currentCounter}" PARENT_SCOPE)
- MATH(EXPR currentCounter "${currentCounter} + 1")
- SET_PROPERTY(GLOBAL PROPERTY ${propertyName} ${currentCounter} )
-ENDFUNCTION()
+function(_GETTEXT_GET_UNIQUE_TARGET_NAME _name _unique_name)
+ set(propertyName "_GETTEXT_UNIQUE_COUNTER_${_name}")
+ get_property(currentCounter GLOBAL PROPERTY "${propertyName}")
+ if(NOT currentCounter)
+ set(currentCounter 1)
+ endif()
+ set(${_unique_name} "${_name}_${currentCounter}" PARENT_SCOPE)
+ math(EXPR currentCounter "${currentCounter} + 1")
+ set_property(GLOBAL PROPERTY ${propertyName} ${currentCounter} )
+endfunction()
-MACRO(GETTEXT_CREATE_TRANSLATIONS _potFile _firstPoFileArg)
+macro(GETTEXT_CREATE_TRANSLATIONS _potFile _firstPoFileArg)
# make it a real variable, so we can modify it here
- SET(_firstPoFile "${_firstPoFileArg}")
-
- SET(_gmoFiles)
- GET_FILENAME_COMPONENT(_potName ${_potFile} NAME)
- STRING(REGEX REPLACE "^(.+)(\\.[^.]+)$" "\\1" _potBasename ${_potName})
- GET_FILENAME_COMPONENT(_absPotFile ${_potFile} ABSOLUTE)
-
- SET(_addToAll)
- IF(${_firstPoFile} STREQUAL "ALL")
- SET(_addToAll "ALL")
- SET(_firstPoFile)
- ENDIF(${_firstPoFile} STREQUAL "ALL")
-
- FOREACH (_currentPoFile ${_firstPoFile} ${ARGN})
- GET_FILENAME_COMPONENT(_absFile ${_currentPoFile} ABSOLUTE)
- GET_FILENAME_COMPONENT(_abs_PATH ${_absFile} PATH)
- GET_FILENAME_COMPONENT(_lang ${_absFile} NAME_WE)
- SET(_gmoFile ${CMAKE_CURRENT_BINARY_DIR}/${_lang}.gmo)
-
- ADD_CUSTOM_COMMAND(
+ set(_firstPoFile "${_firstPoFileArg}")
+
+ set(_gmoFiles)
+ get_filename_component(_potName ${_potFile} NAME)
+ string(REGEX REPLACE "^(.+)(\\.[^.]+)$" "\\1" _potBasename ${_potName})
+ get_filename_component(_absPotFile ${_potFile} ABSOLUTE)
+
+ set(_addToAll)
+ if(${_firstPoFile} STREQUAL "ALL")
+ set(_addToAll "ALL")
+ set(_firstPoFile)
+ endif()
+
+ foreach (_currentPoFile ${_firstPoFile} ${ARGN})
+ get_filename_component(_absFile ${_currentPoFile} ABSOLUTE)
+ get_filename_component(_abs_PATH ${_absFile} PATH)
+ get_filename_component(_lang ${_absFile} NAME_WE)
+ set(_gmoFile ${CMAKE_CURRENT_BINARY_DIR}/${_lang}.gmo)
+
+ add_custom_command(
OUTPUT ${_gmoFile}
COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} --quiet --update --backup=none -s ${_absFile} ${_absPotFile}
COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${_gmoFile} ${_absFile}
DEPENDS ${_absPotFile} ${_absFile}
)
- INSTALL(FILES ${_gmoFile} DESTINATION share/locale/${_lang}/LC_MESSAGES RENAME ${_potBasename}.mo)
- SET(_gmoFiles ${_gmoFiles} ${_gmoFile})
+ install(FILES ${_gmoFile} DESTINATION share/locale/${_lang}/LC_MESSAGES RENAME ${_potBasename}.mo)
+ set(_gmoFiles ${_gmoFiles} ${_gmoFile})
- ENDFOREACH (_currentPoFile )
+ endforeach ()
- IF(NOT TARGET translations)
- ADD_CUSTOM_TARGET(translations)
- ENDIF()
+ if(NOT TARGET translations)
+ add_custom_target(translations)
+ endif()
_GETTEXT_GET_UNIQUE_TARGET_NAME(translations uniqueTargetName)
- ADD_CUSTOM_TARGET(${uniqueTargetName} ${_addToAll} DEPENDS ${_gmoFiles})
+ add_custom_target(${uniqueTargetName} ${_addToAll} DEPENDS ${_gmoFiles})
- ADD_DEPENDENCIES(translations ${uniqueTargetName})
+ add_dependencies(translations ${uniqueTargetName})
-ENDMACRO(GETTEXT_CREATE_TRANSLATIONS )
+endmacro()
-FUNCTION(GETTEXT_PROCESS_POT_FILE _potFile)
- SET(_gmoFiles)
- SET(_options ALL)
- SET(_oneValueArgs INSTALL_DESTINATION)
- SET(_multiValueArgs LANGUAGES)
+function(GETTEXT_PROCESS_POT_FILE _potFile)
+ set(_gmoFiles)
+ set(_options ALL)
+ set(_oneValueArgs INSTALL_DESTINATION)
+ set(_multiValueArgs LANGUAGES)
CMAKE_PARSE_ARGUMENTS(_parsedArguments "${_options}" "${_oneValueArgs}" "${_multiValueArgs}" ${ARGN})
- GET_FILENAME_COMPONENT(_potName ${_potFile} NAME)
- STRING(REGEX REPLACE "^(.+)(\\.[^.]+)$" "\\1" _potBasename ${_potName})
- GET_FILENAME_COMPONENT(_absPotFile ${_potFile} ABSOLUTE)
+ get_filename_component(_potName ${_potFile} NAME)
+ string(REGEX REPLACE "^(.+)(\\.[^.]+)$" "\\1" _potBasename ${_potName})
+ get_filename_component(_absPotFile ${_potFile} ABSOLUTE)
- FOREACH (_lang ${_parsedArguments_LANGUAGES})
- SET(_poFile "${CMAKE_CURRENT_BINARY_DIR}/${_lang}.po")
- SET(_gmoFile "${CMAKE_CURRENT_BINARY_DIR}/${_lang}.gmo")
+ foreach (_lang ${_parsedArguments_LANGUAGES})
+ set(_poFile "${CMAKE_CURRENT_BINARY_DIR}/${_lang}.po")
+ set(_gmoFile "${CMAKE_CURRENT_BINARY_DIR}/${_lang}.gmo")
- ADD_CUSTOM_COMMAND(
+ add_custom_command(
OUTPUT "${_poFile}"
COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} --quiet --update --backup=none -s ${_poFile} ${_absPotFile}
DEPENDS ${_absPotFile}
)
- ADD_CUSTOM_COMMAND(
+ add_custom_command(
OUTPUT "${_gmoFile}"
COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${_gmoFile} ${_poFile}
DEPENDS ${_absPotFile} ${_poFile}
)
- IF(_parsedArguments_INSTALL_DESTINATION)
- INSTALL(FILES ${_gmoFile} DESTINATION ${_parsedArguments_INSTALL_DESTINATION}/${_lang}/LC_MESSAGES RENAME ${_potBasename}.mo)
- ENDIF(_parsedArguments_INSTALL_DESTINATION)
- LIST(APPEND _gmoFiles ${_gmoFile})
- ENDFOREACH (_lang )
+ if(_parsedArguments_INSTALL_DESTINATION)
+ install(FILES ${_gmoFile} DESTINATION ${_parsedArguments_INSTALL_DESTINATION}/${_lang}/LC_MESSAGES RENAME ${_potBasename}.mo)
+ endif()
+ list(APPEND _gmoFiles ${_gmoFile})
+ endforeach ()
- IF(NOT TARGET potfiles)
- ADD_CUSTOM_TARGET(potfiles)
- ENDIF()
+ if(NOT TARGET potfiles)
+ add_custom_target(potfiles)
+ endif()
_GETTEXT_GET_UNIQUE_TARGET_NAME( potfiles uniqueTargetName)
- IF(_parsedArguments_ALL)
- ADD_CUSTOM_TARGET(${uniqueTargetName} ALL DEPENDS ${_gmoFiles})
- ELSE(_parsedArguments_ALL)
- ADD_CUSTOM_TARGET(${uniqueTargetName} DEPENDS ${_gmoFiles})
- ENDIF(_parsedArguments_ALL)
+ if(_parsedArguments_ALL)
+ add_custom_target(${uniqueTargetName} ALL DEPENDS ${_gmoFiles})
+ else()
+ add_custom_target(${uniqueTargetName} DEPENDS ${_gmoFiles})
+ endif()
- ADD_DEPENDENCIES(potfiles ${uniqueTargetName})
+ add_dependencies(potfiles ${uniqueTargetName})
-ENDFUNCTION(GETTEXT_PROCESS_POT_FILE)
+endfunction()
-FUNCTION(GETTEXT_PROCESS_PO_FILES _lang)
- SET(_options ALL)
- SET(_oneValueArgs INSTALL_DESTINATION)
- SET(_multiValueArgs PO_FILES)
- SET(_gmoFiles)
+function(GETTEXT_PROCESS_PO_FILES _lang)
+ set(_options ALL)
+ set(_oneValueArgs INSTALL_DESTINATION)
+ set(_multiValueArgs PO_FILES)
+ set(_gmoFiles)
CMAKE_PARSE_ARGUMENTS(_parsedArguments "${_options}" "${_oneValueArgs}" "${_multiValueArgs}" ${ARGN})
- FOREACH(_current_PO_FILE ${_parsedArguments_PO_FILES})
- GET_FILENAME_COMPONENT(_name ${_current_PO_FILE} NAME)
- STRING(REGEX REPLACE "^(.+)(\\.[^.]+)$" "\\1" _basename ${_name})
- SET(_gmoFile ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.gmo)
- ADD_CUSTOM_COMMAND(OUTPUT ${_gmoFile}
+ foreach(_current_PO_FILE ${_parsedArguments_PO_FILES})
+ get_filename_component(_name ${_current_PO_FILE} NAME)
+ string(REGEX REPLACE "^(.+)(\\.[^.]+)$" "\\1" _basename ${_name})
+ set(_gmoFile ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.gmo)
+ add_custom_command(OUTPUT ${_gmoFile}
COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${_gmoFile} ${_current_PO_FILE}
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
DEPENDS ${_current_PO_FILE}
)
- IF(_parsedArguments_INSTALL_DESTINATION)
- INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.gmo DESTINATION ${_parsedArguments_INSTALL_DESTINATION}/${_lang}/LC_MESSAGES/ RENAME ${_basename}.mo)
- ENDIF(_parsedArguments_INSTALL_DESTINATION)
- LIST(APPEND _gmoFiles ${_gmoFile})
- ENDFOREACH(_current_PO_FILE)
+ if(_parsedArguments_INSTALL_DESTINATION)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.gmo DESTINATION ${_parsedArguments_INSTALL_DESTINATION}/${_lang}/LC_MESSAGES/ RENAME ${_basename}.mo)
+ endif()
+ list(APPEND _gmoFiles ${_gmoFile})
+ endforeach()
- IF(NOT TARGET pofiles)
- ADD_CUSTOM_TARGET(pofiles)
- ENDIF()
+ if(NOT TARGET pofiles)
+ add_custom_target(pofiles)
+ endif()
_GETTEXT_GET_UNIQUE_TARGET_NAME( pofiles uniqueTargetName)
- IF(_parsedArguments_ALL)
- ADD_CUSTOM_TARGET(${uniqueTargetName} ALL DEPENDS ${_gmoFiles})
- ELSE(_parsedArguments_ALL)
- ADD_CUSTOM_TARGET(${uniqueTargetName} DEPENDS ${_gmoFiles})
- ENDIF(_parsedArguments_ALL)
+ if(_parsedArguments_ALL)
+ add_custom_target(${uniqueTargetName} ALL DEPENDS ${_gmoFiles})
+ else()
+ add_custom_target(${uniqueTargetName} DEPENDS ${_gmoFiles})
+ endif()
- ADD_DEPENDENCIES(pofiles ${uniqueTargetName})
+ add_dependencies(pofiles ${uniqueTargetName})
-ENDFUNCTION(GETTEXT_PROCESS_PO_FILES)
-
-IF (GETTEXT_MSGMERGE_EXECUTABLE AND GETTEXT_MSGFMT_EXECUTABLE )
- SET(GETTEXT_FOUND TRUE)
-ELSE (GETTEXT_MSGMERGE_EXECUTABLE AND GETTEXT_MSGFMT_EXECUTABLE )
- SET(GETTEXT_FOUND FALSE)
- IF (GetText_REQUIRED)
- MESSAGE(FATAL_ERROR "GetText not found")
- ENDIF (GetText_REQUIRED)
-ENDIF (GETTEXT_MSGMERGE_EXECUTABLE AND GETTEXT_MSGFMT_EXECUTABLE )
+endfunction()
diff --git a/Modules/FindGit.cmake b/Modules/FindGit.cmake
index f89d1afa3..41d2a7a8c 100644
--- a/Modules/FindGit.cmake
+++ b/Modules/FindGit.cmake
@@ -51,7 +51,7 @@ if(GIT_EXECUTABLE)
string(REPLACE "git version " "" GIT_VERSION_STRING "${git_version}")
endif()
unset(git_version)
-endif(GIT_EXECUTABLE)
+endif()
# Handle the QUIETLY and REQUIRED arguments and set GIT_FOUND to TRUE if
# all listed variables are TRUE
diff --git a/Modules/FindGnuTLS.cmake b/Modules/FindGnuTLS.cmake
index 02f29648a..7315f1dd4 100644
--- a/Modules/FindGnuTLS.cmake
+++ b/Modules/FindGnuTLS.cmake
@@ -26,44 +26,44 @@
# Note that this doesn't try to find the gnutls-extra package.
-IF (GNUTLS_INCLUDE_DIR AND GNUTLS_LIBRARY)
+if (GNUTLS_INCLUDE_DIR AND GNUTLS_LIBRARY)
# in cache already
- SET(gnutls_FIND_QUIETLY TRUE)
-ENDIF (GNUTLS_INCLUDE_DIR AND GNUTLS_LIBRARY)
+ set(gnutls_FIND_QUIETLY TRUE)
+endif ()
-IF (NOT WIN32)
+if (NOT WIN32)
# try using pkg-config to get the directories and then use these values
- # in the FIND_PATH() and FIND_LIBRARY() calls
+ # in the find_path() and find_library() calls
# also fills in GNUTLS_DEFINITIONS, although that isn't normally useful
- FIND_PACKAGE(PkgConfig QUIET)
+ find_package(PkgConfig QUIET)
PKG_CHECK_MODULES(PC_GNUTLS QUIET gnutls)
- SET(GNUTLS_DEFINITIONS ${PC_GNUTLS_CFLAGS_OTHER})
- SET(GNUTLS_VERSION_STRING ${PC_GNUTLS_VERSION})
-ENDIF (NOT WIN32)
+ set(GNUTLS_DEFINITIONS ${PC_GNUTLS_CFLAGS_OTHER})
+ set(GNUTLS_VERSION_STRING ${PC_GNUTLS_VERSION})
+endif ()
-FIND_PATH(GNUTLS_INCLUDE_DIR gnutls/gnutls.h
+find_path(GNUTLS_INCLUDE_DIR gnutls/gnutls.h
HINTS
${PC_GNUTLS_INCLUDEDIR}
${PC_GNUTLS_INCLUDE_DIRS}
)
-FIND_LIBRARY(GNUTLS_LIBRARY NAMES gnutls libgnutls
+find_library(GNUTLS_LIBRARY NAMES gnutls libgnutls
HINTS
${PC_GNUTLS_LIBDIR}
${PC_GNUTLS_LIBRARY_DIRS}
)
-MARK_AS_ADVANCED(GNUTLS_INCLUDE_DIR GNUTLS_LIBRARY)
+mark_as_advanced(GNUTLS_INCLUDE_DIR GNUTLS_LIBRARY)
-# handle the QUIETLY and REQUIRED arguments and set GNUTLS_FOUND to TRUE if
+# handle the QUIETLY and REQUIRED arguments and set GNUTLS_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GnuTLS
REQUIRED_VARS GNUTLS_LIBRARY GNUTLS_INCLUDE_DIR
VERSION_VAR GNUTLS_VERSION_STRING)
-IF(GNUTLS_FOUND)
- SET(GNUTLS_LIBRARIES ${GNUTLS_LIBRARY})
- SET(GNUTLS_INCLUDE_DIRS ${GNUTLS_INCLUDE_DIR})
-ENDIF()
+if(GNUTLS_FOUND)
+ set(GNUTLS_LIBRARIES ${GNUTLS_LIBRARY})
+ set(GNUTLS_INCLUDE_DIRS ${GNUTLS_INCLUDE_DIR})
+endif()
diff --git a/Modules/FindGnuplot.cmake b/Modules/FindGnuplot.cmake
index b8dc3f49a..07af0bf20 100644
--- a/Modules/FindGnuplot.cmake
+++ b/Modules/FindGnuplot.cmake
@@ -21,10 +21,10 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE(FindCygwin)
+include(FindCygwin)
-FIND_PROGRAM(GNUPLOT_EXECUTABLE
- NAMES
+find_program(GNUPLOT_EXECUTABLE
+ NAMES
gnuplot
pgnuplot
wgnupl32
@@ -32,26 +32,26 @@ FIND_PROGRAM(GNUPLOT_EXECUTABLE
${CYGWIN_INSTALL_PATH}/bin
)
-IF (GNUPLOT_EXECUTABLE)
- EXECUTE_PROCESS(COMMAND "${GNUPLOT_EXECUTABLE}" --version
+if (GNUPLOT_EXECUTABLE)
+ execute_process(COMMAND "${GNUPLOT_EXECUTABLE}" --version
OUTPUT_VARIABLE GNUPLOT_OUTPUT_VARIABLE
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
- STRING(REGEX REPLACE "^gnuplot ([0-9\\.]+)( patchlevel )?" "\\1." GNUPLOT_VERSION_STRING "${GNUPLOT_OUTPUT_VARIABLE}")
- STRING(REGEX REPLACE "\\.$" "" GNUPLOT_VERSION_STRING "${GNUPLOT_VERSION_STRING}")
- UNSET(GNUPLOT_OUTPUT_VARIABLE)
-ENDIF()
+ string(REGEX REPLACE "^gnuplot ([0-9\\.]+)( patchlevel )?" "\\1." GNUPLOT_VERSION_STRING "${GNUPLOT_OUTPUT_VARIABLE}")
+ string(REGEX REPLACE "\\.$" "" GNUPLOT_VERSION_STRING "${GNUPLOT_VERSION_STRING}")
+ unset(GNUPLOT_OUTPUT_VARIABLE)
+endif()
# for compatibility
-SET(GNUPLOT ${GNUPLOT_EXECUTABLE})
+set(GNUPLOT ${GNUPLOT_EXECUTABLE})
-# handle the QUIETLY and REQUIRED arguments and set GNUPLOT_FOUND to TRUE if
+# handle the QUIETLY and REQUIRED arguments and set GNUPLOT_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Gnuplot
REQUIRED_VARS GNUPLOT_EXECUTABLE
VERSION_VAR GNUPLOT_VERSION_STRING)
-MARK_AS_ADVANCED( GNUPLOT_EXECUTABLE )
+mark_as_advanced( GNUPLOT_EXECUTABLE )
diff --git a/Modules/FindHDF5.cmake b/Modules/FindHDF5.cmake
index bc606389b..33599becf 100644
--- a/Modules/FindHDF5.cmake
+++ b/Modules/FindHDF5.cmake
@@ -25,7 +25,7 @@
# In addition to finding the includes and libraries required to compile an HDF5
# client application, this module also makes an effort to find tools that come
# with the HDF5 distribution that may be useful for regression testing.
-#
+#
# This module will define the following variables:
# HDF5_INCLUDE_DIRS - Location of the hdf5 includes
# HDF5_INCLUDE_DIR - Location of the hdf5 includes (deprecated)
@@ -64,7 +64,7 @@ include(SelectLibraryConfigurations)
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
# List of the valid HDF5 components
-set( HDF5_VALID_COMPONENTS
+set( HDF5_VALID_COMPONENTS
C
CXX
Fortran
@@ -110,10 +110,10 @@ find_program( HDF5_Fortran_COMPILER_EXECUTABLE
DOC "HDF5 Fortran Wrapper compiler. Used only to detect HDF5 compile flags." )
mark_as_advanced( HDF5_Fortran_COMPILER_EXECUTABLE )
-find_program( HDF5_DIFF_EXECUTABLE
+find_program( HDF5_DIFF_EXECUTABLE
NAMES h5diff
HINTS ENV HDF5_ROOT
- PATH_SUFFIXES bin Bin
+ PATH_SUFFIXES bin Bin
DOC "HDF5 file differencing tool." )
mark_as_advanced( HDF5_DIFF_EXECUTABLE )
@@ -121,7 +121,7 @@ mark_as_advanced( HDF5_DIFF_EXECUTABLE )
# return_value argument, the text output is stored to the output variable.
macro( _HDF5_invoke_compiler language output return_value )
if( HDF5_${language}_COMPILER_EXECUTABLE )
- exec_program( ${HDF5_${language}_COMPILER_EXECUTABLE}
+ exec_program( ${HDF5_${language}_COMPILER_EXECUTABLE}
ARGS -show
OUTPUT_VARIABLE ${output}
RETURN_VALUE ${return_value}
@@ -129,14 +129,14 @@ macro( _HDF5_invoke_compiler language output return_value )
if( ${${return_value}} EQUAL 0 )
# do nothing
else()
- message( STATUS
+ message( STATUS
"Unable to determine HDF5 ${language} flags from HDF5 wrapper." )
endif()
endif()
endmacro()
# Parse a compile line for definitions, includes, library paths, and libraries.
-macro( _HDF5_parse_compile_line
+macro( _HDF5_parse_compile_line
compile_line_var
include_paths
definitions
@@ -144,7 +144,7 @@ macro( _HDF5_parse_compile_line
libraries )
# Match the include paths
- string( REGEX MATCHALL "-I([^\" ]+)" include_path_flags
+ string( REGEX MATCHALL "-I([^\" ]+)" include_path_flags
"${${compile_line_var}}"
)
foreach( IPATH ${include_path_flags} )
@@ -163,7 +163,7 @@ macro( _HDF5_parse_compile_line
string( REGEX MATCHALL "-L([^\" ]+|\"[^\"]+\")" library_path_flags
"${${compile_line_var}}"
)
-
+
foreach( LPATH ${library_path_flags} )
string( REGEX REPLACE "^-L" "" LPATH ${LPATH} )
string( REGEX REPLACE "//" "/" LPATH ${LPATH} )
@@ -219,7 +219,7 @@ if( NOT HDF5_FOUND )
${HDF5_C_LIBRARY_NAMES_INIT} )
set( HDF5_Fortran_HL_LIBRARY_NAMES_INIT hdf5hl_fortran
${HDF5_Fortran_LIBRARY_NAMES_INIT} )
-
+
foreach( LANGUAGE ${HDF5_LANGUAGE_BINDINGS} )
if( HDF5_${LANGUAGE}_COMPILE_LINE )
_HDF5_parse_compile_line( HDF5_${LANGUAGE}_COMPILE_LINE
@@ -228,7 +228,7 @@ if( NOT HDF5_FOUND )
HDF5_${LANGUAGE}_LIBRARY_DIRS
HDF5_${LANGUAGE}_LIBRARY_NAMES
)
-
+
# take a guess that the includes may be in the 'include' sibling
# directory of a library directory.
foreach( dir ${HDF5_${LANGUAGE}_LIBRARY_DIRS} )
@@ -238,7 +238,7 @@ if( NOT HDF5_FOUND )
# set the definitions for the language bindings.
list( APPEND HDF5_DEFINITIONS ${HDF5_${LANGUAGE}_DEFINITIONS} )
-
+
# find the HDF5 include directories
if(${LANGUAGE} MATCHES "Fortran.*")
set(HDF5_INCLUDE_FILENAME hdf5.mod)
@@ -251,7 +251,7 @@ if( NOT HDF5_FOUND )
${HDF5_${LANGUAGE}_INCLUDE_FLAGS}
ENV
HDF5_ROOT
- PATHS
+ PATHS
$ENV{HOME}/.local/include
PATH_SUFFIXES
include
@@ -259,11 +259,11 @@ if( NOT HDF5_FOUND )
)
mark_as_advanced( HDF5_${LANGUAGE}_INCLUDE_DIR )
list( APPEND HDF5_INCLUDE_DIRS ${HDF5_${LANGUAGE}_INCLUDE_DIR} )
-
- set( HDF5_${LANGUAGE}_LIBRARY_NAMES
- ${HDF5_${LANGUAGE}_LIBRARY_NAMES_INIT}
+
+ set( HDF5_${LANGUAGE}_LIBRARY_NAMES
+ ${HDF5_${LANGUAGE}_LIBRARY_NAMES_INIT}
${HDF5_${LANGUAGE}_LIBRARY_NAMES} )
-
+
# find the HDF5 libraries
foreach( LIB ${HDF5_${LANGUAGE}_LIBRARY_NAMES} )
if( UNIX AND HDF5_USE_STATIC_LIBRARIES )
@@ -278,15 +278,15 @@ if( NOT HDF5_FOUND )
set( THIS_LIBRARY_SEARCH_DEBUG ${LIB}d )
set( THIS_LIBRARY_SEARCH_RELEASE ${LIB} )
endif()
- find_library( HDF5_${LIB}_LIBRARY_DEBUG
- NAMES ${THIS_LIBRARY_SEARCH_DEBUG}
- HINTS ${HDF5_${LANGUAGE}_LIBRARY_DIRS}
- ENV HDF5_ROOT
+ find_library( HDF5_${LIB}_LIBRARY_DEBUG
+ NAMES ${THIS_LIBRARY_SEARCH_DEBUG}
+ HINTS ${HDF5_${LANGUAGE}_LIBRARY_DIRS}
+ ENV HDF5_ROOT
PATH_SUFFIXES lib Lib )
find_library( HDF5_${LIB}_LIBRARY_RELEASE
- NAMES ${THIS_LIBRARY_SEARCH_RELEASE}
- HINTS ${HDF5_${LANGUAGE}_LIBRARY_DIRS}
- ENV HDF5_ROOT
+ NAMES ${THIS_LIBRARY_SEARCH_RELEASE}
+ HINTS ${HDF5_${LANGUAGE}_LIBRARY_DIRS}
+ ENV HDF5_ROOT
PATH_SUFFIXES lib Lib )
select_library_configurations( HDF5_${LIB} )
# even though we adjusted the individual library names in
@@ -297,16 +297,16 @@ if( NOT HDF5_FOUND )
# up by the selection macro above) because it may specify debug and
# optimized variants for a particular library, but a list of
# libraries is allowed to specify debug and optimized only once.
- list( APPEND HDF5_${LANGUAGE}_LIBRARIES_DEBUG
+ list( APPEND HDF5_${LANGUAGE}_LIBRARIES_DEBUG
${HDF5_${LIB}_LIBRARY_DEBUG} )
- list( APPEND HDF5_${LANGUAGE}_LIBRARIES_RELEASE
+ list( APPEND HDF5_${LANGUAGE}_LIBRARIES_RELEASE
${HDF5_${LIB}_LIBRARY_RELEASE} )
endforeach()
list( APPEND HDF5_LIBRARY_DIRS ${HDF5_${LANGUAGE}_LIBRARY_DIRS} )
-
+
# Append the libraries for this language binding to the list of all
# required libraries.
- list( APPEND HDF5_LIBRARIES_DEBUG
+ list( APPEND HDF5_LIBRARIES_DEBUG
${HDF5_${LANGUAGE}_LIBRARIES_DEBUG} )
list( APPEND HDF5_LIBRARIES_RELEASE
${HDF5_${LANGUAGE}_LIBRARIES_RELEASE} )
@@ -358,7 +358,7 @@ if( NOT HDF5_FOUND )
set( HDF5_IS_PARALLEL FALSE )
foreach( _dir IN LISTS HDF5_INCLUDE_DIRS )
if( EXISTS "${_dir}/H5pubconf.h" )
- file( STRINGS "${_dir}/H5pubconf.h"
+ file( STRINGS "${_dir}/H5pubconf.h"
HDF5_HAVE_PARALLEL_DEFINE
REGEX "HAVE_PARALLEL 1" )
if( HDF5_HAVE_PARALLEL_DEFINE )
@@ -378,8 +378,8 @@ if( NOT HDF5_FOUND )
endif()
-find_package_handle_standard_args( HDF5 DEFAULT_MSG
- HDF5_LIBRARIES
+find_package_handle_standard_args( HDF5 DEFAULT_MSG
+ HDF5_LIBRARIES
HDF5_INCLUDE_DIRS
)
diff --git a/Modules/FindHSPELL.cmake b/Modules/FindHSPELL.cmake
index ca5709b62..71e55dad4 100644
--- a/Modules/FindHSPELL.cmake
+++ b/Modules/FindHSPELL.cmake
@@ -24,23 +24,24 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PATH(HSPELL_INCLUDE_DIR hspell.h)
+find_path(HSPELL_INCLUDE_DIR hspell.h)
-FIND_LIBRARY(HSPELL_LIBRARIES NAMES hspell)
+find_library(HSPELL_LIBRARIES NAMES hspell)
-IF (HSPELL_INCLUDE_DIR)
- FILE(READ "${HSPELL_INCLUDE_DIR}/hspell.h" HSPELL_H)
- STRING(REGEX REPLACE ".*#define HSPELL_VERSION_MAJOR ([0-9]+).*" "\\1" HSPELL_VERSION_MAJOR "${HSPELL_H}")
- STRING(REGEX REPLACE ".*#define HSPELL_VERSION_MINOR ([0-9]+).*" "\\1" HSPELL_VERSION_MINOR "${HSPELL_H}")
- SET(HSPELL_VERSION_STRING "${HSPELL_VERSION_MAJOR}.${HSPELL_VERSION_MINOR}")
-ENDIF()
+if (HSPELL_INCLUDE_DIR)
+ file(STRINGS "${HSPELL_INCLUDE_DIR}/hspell.h" HSPELL_H REGEX "#define HSPELL_VERSION_M(AJO|INO)R [0-9]+")
+ string(REGEX REPLACE ".*#define HSPELL_VERSION_MAJOR ([0-9]+).*" "\\1" HSPELL_VERSION_MAJOR "${HSPELL_H}")
+ string(REGEX REPLACE ".*#define HSPELL_VERSION_MINOR ([0-9]+).*" "\\1" HSPELL_VERSION_MINOR "${HSPELL_H}")
+ set(HSPELL_VERSION_STRING "${HSPELL_VERSION_MAJOR}.${HSPELL_VERSION_MINOR}")
+ unset(HSPELL_H)
+endif()
-# handle the QUIETLY and REQUIRED arguments and set HSPELL_FOUND to TRUE if
+# handle the QUIETLY and REQUIRED arguments and set HSPELL_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(HSPELL
REQUIRED_VARS HSPELL_LIBRARIES HSPELL_INCLUDE_DIR
VERSION_VAR HSPELL_VERSION_STRING)
-MARK_AS_ADVANCED(HSPELL_INCLUDE_DIR HSPELL_LIBRARIES)
+mark_as_advanced(HSPELL_INCLUDE_DIR HSPELL_LIBRARIES)
diff --git a/Modules/FindHTMLHelp.cmake b/Modules/FindHTMLHelp.cmake
index 4455b0797..c69e9e948 100644
--- a/Modules/FindHTMLHelp.cmake
+++ b/Modules/FindHTMLHelp.cmake
@@ -18,26 +18,26 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-IF(WIN32)
+if(WIN32)
- FIND_PROGRAM(HTML_HELP_COMPILER
+ find_program(HTML_HELP_COMPILER
hhc
"[HKEY_CURRENT_USER\\Software\\Microsoft\\HTML Help Workshop;InstallDir]"
"$ENV{ProgramFiles}/HTML Help Workshop"
- "C:/Program Files/HTML Help Workshop"
+ "C:/Program Files/HTML Help Workshop"
)
- GET_FILENAME_COMPONENT(HTML_HELP_COMPILER_PATH "${HTML_HELP_COMPILER}" PATH)
+ get_filename_component(HTML_HELP_COMPILER_PATH "${HTML_HELP_COMPILER}" PATH)
- FIND_PATH(HTML_HELP_INCLUDE_PATH
- htmlhelp.h
+ find_path(HTML_HELP_INCLUDE_PATH
+ htmlhelp.h
"${HTML_HELP_COMPILER_PATH}/include"
"[HKEY_CURRENT_USER\\Software\\Microsoft\\HTML Help Workshop;InstallDir]/include"
"$ENV{ProgramFiles}/HTML Help Workshop/include"
- "C:/Program Files/HTML Help Workshop/include"
+ "C:/Program Files/HTML Help Workshop/include"
)
- FIND_LIBRARY(HTML_HELP_LIBRARY
+ find_library(HTML_HELP_LIBRARY
htmlhelp
"${HTML_HELP_COMPILER_PATH}/lib"
"[HKEY_CURRENT_USER\\Software\\Microsoft\\HTML Help Workshop;InstallDir]/lib"
@@ -45,10 +45,10 @@ IF(WIN32)
"C:/Program Files/HTML Help Workshop/lib"
)
- MARK_AS_ADVANCED(
+ mark_as_advanced(
HTML_HELP_COMPILER
HTML_HELP_INCLUDE_PATH
HTML_HELP_LIBRARY
)
-ENDIF(WIN32)
+endif()
diff --git a/Modules/FindHg.cmake b/Modules/FindHg.cmake
new file mode 100644
index 000000000..a6a4aef24
--- /dev/null
+++ b/Modules/FindHg.cmake
@@ -0,0 +1,48 @@
+# The module defines the following variables:
+# HG_EXECUTABLE - path to mercurial command line client (hg)
+# HG_FOUND - true if the command line client was found
+# HG_VERSION_STRING - the version of mercurial found
+# Example usage:
+# find_package(Hg)
+# if(HG_FOUND)
+# message("hg found: ${HG_EXECUTABLE}")
+# endif()
+
+#=============================================================================
+# Copyright 2010-2012 Kitware, Inc.
+# Copyright 2012 Rolf Eike Beer <eike@sf-mail.de>
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distribute this file outside of CMake, substitute the full
+# License text for the above reference.)
+
+find_program(HG_EXECUTABLE
+ NAMES hg
+ PATH_SUFFIXES Mercurial
+ DOC "hg command line client"
+ )
+mark_as_advanced(HG_EXECUTABLE)
+
+if(HG_EXECUTABLE)
+ execute_process(COMMAND ${HG_EXECUTABLE} --version
+ OUTPUT_VARIABLE hg_version
+ ERROR_QUIET
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ if(hg_version MATCHES "^Mercurial Distributed SCM \\(version ([0-9][^)]*)\\)")
+ set(HG_VERSION_STRING "${CMAKE_MATCH_1}")
+ endif()
+ unset(hg_version)
+endif()
+
+# Handle the QUIETLY and REQUIRED arguments and set HG_FOUND to TRUE if
+# all listed variables are TRUE
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+find_package_handle_standard_args(Hg
+ REQUIRED_VARS HG_EXECUTABLE
+ VERSION_VAR HG_VERSION_STRING)
diff --git a/Modules/FindITK.cmake b/Modules/FindITK.cmake
index a3ca99899..b0b3f03f0 100644
--- a/Modules/FindITK.cmake
+++ b/Modules/FindITK.cmake
@@ -7,16 +7,16 @@
# that can be included to set the include directories, library directories,
# and preprocessor macros. In addition to the variables read from
# ITKConfig.cmake, this find module also defines
-# ITK_DIR - The directory containing ITKConfig.cmake.
-# This is either the root of the build tree,
-# or the lib/InsightToolkit directory.
+# ITK_DIR - The directory containing ITKConfig.cmake.
+# This is either the root of the build tree,
+# or the lib/InsightToolkit directory.
# This is the only cache entry.
-#
-# ITK_FOUND - Whether ITK was found. If this is true,
+#
+# ITK_FOUND - Whether ITK was found. If this is true,
# ITK_DIR is okay.
#
-# USE_ITK_FILE - The full path to the UseITK.cmake file.
-# This is provided for backward
+# USE_ITK_FILE - The full path to the UseITK.cmake file.
+# This is provided for backward
# compatability. Use ITK_USE_FILE
# instead.
@@ -36,22 +36,22 @@
# Use the Config mode of the find_package() command to find ITKConfig.
# If this succeeds (possibly because ITK_DIR is already set), the
# command will have already loaded ITKConfig.cmake and set ITK_FOUND.
-IF(NOT ITK_FOUND)
- SET(_ITK_REQUIRED "")
- IF(ITK_FIND_REQUIRED)
- SET(_ITK_REQUIRED REQUIRED)
- ENDIF()
- SET(_ITK_QUIET "")
- IF(ITK_FIND_QUIETLY)
- SET(_ITK_QUIET QUIET)
- ENDIF()
- FIND_PACKAGE(ITK ${_ITK_REQUIRED} ${_ITK_QUIET} NO_MODULE
+if(NOT ITK_FOUND)
+ set(_ITK_REQUIRED "")
+ if(ITK_FIND_REQUIRED)
+ set(_ITK_REQUIRED REQUIRED)
+ endif()
+ set(_ITK_QUIET "")
+ if(ITK_FIND_QUIETLY)
+ set(_ITK_QUIET QUIET)
+ endif()
+ find_package(ITK ${_ITK_REQUIRED} ${_ITK_QUIET} NO_MODULE
NAMES ITK InsightToolkit
CONFIGS ITKConfig.cmake
)
-ENDIF()
+endif()
-IF(ITK_FOUND)
+if(ITK_FOUND)
# Set USE_ITK_FILE for backward-compatability.
- SET(USE_ITK_FILE ${ITK_USE_FILE})
-ENDIF()
+ set(USE_ITK_FILE ${ITK_USE_FILE})
+endif()
diff --git a/Modules/FindImageMagick.cmake b/Modules/FindImageMagick.cmake
index f21b63008..bf0961691 100644
--- a/Modules/FindImageMagick.cmake
+++ b/Modules/FindImageMagick.cmake
@@ -45,11 +45,11 @@
# 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)
+# 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.).
@@ -72,10 +72,10 @@
#---------------------------------------------------------------------
# Helper functions
#---------------------------------------------------------------------
-FUNCTION(FIND_IMAGEMAGICK_API component header)
- SET(ImageMagick_${component}_FOUND FALSE PARENT_SCOPE)
+function(FIND_IMAGEMAGICK_API component header)
+ set(ImageMagick_${component}_FOUND FALSE PARENT_SCOPE)
- FIND_PATH(ImageMagick_${component}_INCLUDE_DIR
+ find_path(ImageMagick_${component}_INCLUDE_DIR
NAMES ${header}
PATHS
${ImageMagick_INCLUDE_DIRS}
@@ -84,150 +84,150 @@ FUNCTION(FIND_IMAGEMAGICK_API component header)
ImageMagick
DOC "Path to the ImageMagick include dir."
)
- FIND_LIBRARY(ImageMagick_${component}_LIBRARY
+ 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)
+ if(ImageMagick_${component}_INCLUDE_DIR AND ImageMagick_${component}_LIBRARY)
+ set(ImageMagick_${component}_FOUND TRUE PARENT_SCOPE)
- LIST(APPEND ImageMagick_INCLUDE_DIRS
+ 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(REMOVE_DUPLICATES ImageMagick_INCLUDE_DIRS)
+ set(ImageMagick_INCLUDE_DIRS ${ImageMagick_INCLUDE_DIRS} PARENT_SCOPE)
- LIST(APPEND ImageMagick_LIBRARIES
+ 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)
+ set(ImageMagick_LIBRARIES ${ImageMagick_LIBRARIES} PARENT_SCOPE)
+ endif()
+endfunction()
-FUNCTION(FIND_IMAGEMAGICK_EXE component)
- SET(_IMAGEMAGICK_EXECUTABLE
+function(FIND_IMAGEMAGICK_EXE component)
+ set(_IMAGEMAGICK_EXECUTABLE
${ImageMagick_EXECUTABLE_DIR}/${component}${CMAKE_EXECUTABLE_SUFFIX})
- IF(EXISTS ${_IMAGEMAGICK_EXECUTABLE})
- SET(ImageMagick_${component}_EXECUTABLE
+ 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)
+ set(ImageMagick_${component}_FOUND TRUE PARENT_SCOPE)
+ else()
+ set(ImageMagick_${component}_FOUND FALSE PARENT_SCOPE)
+ endif()
+endfunction()
#---------------------------------------------------------------------
# Start Actual Work
#---------------------------------------------------------------------
# Try to find a ImageMagick installation binary path.
-FIND_PATH(ImageMagick_EXECUTABLE_DIR
+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
+find_path(ImageMagick_EXECUTABLE_DIR
NAMES mogrify${CMAKE_EXECUTABLE_SUFFIX}
)
# 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.
-UNSET(ImageMagick_REQUIRED_VARS)
-UNSET(ImageMagick_DEFAULT_EXECUTABLES)
-FOREACH(component ${ImageMagick_FIND_COMPONENTS}
+unset(ImageMagick_REQUIRED_VARS)
+unset(ImageMagick_DEFAULT_EXECUTABLES)
+foreach(component ${ImageMagick_FIND_COMPONENTS}
# DEPRECATED: forced components for backward compatibility
convert mogrify import montage composite
)
- IF(component STREQUAL "Magick++")
+ if(component STREQUAL "Magick++")
FIND_IMAGEMAGICK_API(Magick++ Magick++.h
Magick++ CORE_RL_Magick++_
)
- LIST(APPEND ImageMagick_REQUIRED_VARS ImageMagick_Magick++_LIBRARY)
- ELSEIF(component STREQUAL "MagickWand")
+ list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_Magick++_LIBRARY)
+ elseif(component STREQUAL "MagickWand")
FIND_IMAGEMAGICK_API(MagickWand wand/MagickWand.h
Wand MagickWand CORE_RL_wand_
)
- LIST(APPEND ImageMagick_REQUIRED_VARS ImageMagick_MagickWand_LIBRARY)
- ELSEIF(component STREQUAL "MagickCore")
+ list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_MagickWand_LIBRARY)
+ elseif(component STREQUAL "MagickCore")
FIND_IMAGEMAGICK_API(MagickCore magick/MagickCore.h
Magick MagickCore CORE_RL_magick_
)
- LIST(APPEND ImageMagick_REQUIRED_VARS ImageMagick_MagickCore_LIBRARY)
- ELSE(component STREQUAL "Magick++")
- IF(ImageMagick_EXECUTABLE_DIR)
+ list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_MagickCore_LIBRARY)
+ else()
+ if(ImageMagick_EXECUTABLE_DIR)
FIND_IMAGEMAGICK_EXE(${component})
- ENDIF(ImageMagick_EXECUTABLE_DIR)
+ endif()
- IF(ImageMagick_FIND_COMPONENTS)
- LIST(FIND ImageMagick_FIND_COMPONENTS ${component} is_requested)
- IF(is_requested GREATER -1)
- LIST(APPEND ImageMagick_REQUIRED_VARS ImageMagick_${component}_EXECUTABLE)
- ENDIF(is_requested GREATER -1)
- ELSEIF(ImageMagick_${component}_EXECUTABLE)
+ if(ImageMagick_FIND_COMPONENTS)
+ list(FIND ImageMagick_FIND_COMPONENTS ${component} is_requested)
+ if(is_requested GREATER -1)
+ list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_${component}_EXECUTABLE)
+ endif()
+ elseif(ImageMagick_${component}_EXECUTABLE)
# if no components were requested explicitly put all (default) executables
# in the list
- LIST(APPEND ImageMagick_DEFAULT_EXECUTABLES ImageMagick_${component}_EXECUTABLE)
- ENDIF(ImageMagick_FIND_COMPONENTS)
- ENDIF(component STREQUAL "Magick++")
-ENDFOREACH(component)
+ list(APPEND ImageMagick_DEFAULT_EXECUTABLES ImageMagick_${component}_EXECUTABLE)
+ endif()
+ endif()
+endforeach()
-IF(NOT ImageMagick_FIND_COMPONENTS AND NOT ImageMagick_DEFAULT_EXECUTABLES)
+if(NOT ImageMagick_FIND_COMPONENTS AND NOT ImageMagick_DEFAULT_EXECUTABLES)
# No components were requested, and none of the default components were
# found. Just insert mogrify into the list of the default components to
# find so FPHSA below has something to check
- LIST(APPEND ImageMagick_REQUIRED_VARS ImageMagick_mogrify_EXECUTABLE)
-ELSEIF(ImageMagick_DEFAULT_EXECUTABLES)
- LIST(APPEND ImageMagick_REQUIRED_VARS ${ImageMagick_DEFAULT_EXECUTABLES})
-ENDIF()
+ list(APPEND ImageMagick_REQUIRED_VARS ImageMagick_mogrify_EXECUTABLE)
+elseif(ImageMagick_DEFAULT_EXECUTABLES)
+ list(APPEND ImageMagick_REQUIRED_VARS ${ImageMagick_DEFAULT_EXECUTABLES})
+endif()
-SET(ImageMagick_INCLUDE_DIRS ${ImageMagick_INCLUDE_DIRS})
-SET(ImageMagick_LIBRARIES ${ImageMagick_LIBRARIES})
+set(ImageMagick_INCLUDE_DIRS ${ImageMagick_INCLUDE_DIRS})
+set(ImageMagick_LIBRARIES ${ImageMagick_LIBRARIES})
-IF(ImageMagick_mogrify_EXECUTABLE)
- EXECUTE_PROCESS(COMMAND ${ImageMagick_mogrify_EXECUTABLE} -version
+if(ImageMagick_mogrify_EXECUTABLE)
+ execute_process(COMMAND ${ImageMagick_mogrify_EXECUTABLE} -version
OUTPUT_VARIABLE imagemagick_version
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
- IF(imagemagick_version MATCHES "^Version: ImageMagick [0-9]")
- STRING(REGEX REPLACE "^Version: ImageMagick ([-0-9\\.]+).*" "\\1" ImageMagick_VERSION_STRING "${imagemagick_version}")
- ENDIF()
- UNSET(imagemagick_version)
-ENDIF(ImageMagick_mogrify_EXECUTABLE)
+ if(imagemagick_version MATCHES "^Version: ImageMagick [0-9]")
+ string(REGEX REPLACE "^Version: ImageMagick ([-0-9\\.]+).*" "\\1" ImageMagick_VERSION_STRING "${imagemagick_version}")
+ endif()
+ unset(imagemagick_version)
+endif()
#---------------------------------------------------------------------
# Standard Package Output
#---------------------------------------------------------------------
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(ImageMagick
REQUIRED_VARS ${ImageMagick_REQUIRED_VARS}
VERSION_VAR ImageMagick_VERSION_STRING
)
# Maintain consistency with all other variables.
-SET(ImageMagick_FOUND ${IMAGEMAGICK_FOUND})
+set(ImageMagick_FOUND ${IMAGEMAGICK_FOUND})
#---------------------------------------------------------------------
# DEPRECATED: Setting variables for backward compatibility.
#---------------------------------------------------------------------
-SET(IMAGEMAGICK_BINARY_PATH ${ImageMagick_EXECUTABLE_DIR}
+set(IMAGEMAGICK_BINARY_PATH ${ImageMagick_EXECUTABLE_DIR}
CACHE PATH "Path to the ImageMagick binary directory.")
-SET(IMAGEMAGICK_CONVERT_EXECUTABLE ${ImageMagick_convert_EXECUTABLE}
+set(IMAGEMAGICK_CONVERT_EXECUTABLE ${ImageMagick_convert_EXECUTABLE}
CACHE FILEPATH "Path to ImageMagick's convert executable.")
-SET(IMAGEMAGICK_MOGRIFY_EXECUTABLE ${ImageMagick_mogrify_EXECUTABLE}
+set(IMAGEMAGICK_MOGRIFY_EXECUTABLE ${ImageMagick_mogrify_EXECUTABLE}
CACHE FILEPATH "Path to ImageMagick's mogrify executable.")
-SET(IMAGEMAGICK_IMPORT_EXECUTABLE ${ImageMagick_import_EXECUTABLE}
+set(IMAGEMAGICK_IMPORT_EXECUTABLE ${ImageMagick_import_EXECUTABLE}
CACHE FILEPATH "Path to ImageMagick's import executable.")
-SET(IMAGEMAGICK_MONTAGE_EXECUTABLE ${ImageMagick_montage_EXECUTABLE}
+set(IMAGEMAGICK_MONTAGE_EXECUTABLE ${ImageMagick_montage_EXECUTABLE}
CACHE FILEPATH "Path to ImageMagick's montage executable.")
-SET(IMAGEMAGICK_COMPOSITE_EXECUTABLE ${ImageMagick_composite_EXECUTABLE}
+set(IMAGEMAGICK_COMPOSITE_EXECUTABLE ${ImageMagick_composite_EXECUTABLE}
CACHE FILEPATH "Path to ImageMagick's composite executable.")
-MARK_AS_ADVANCED(
+mark_as_advanced(
IMAGEMAGICK_BINARY_PATH
IMAGEMAGICK_CONVERT_EXECUTABLE
IMAGEMAGICK_MOGRIFY_EXECUTABLE
diff --git a/Modules/FindJNI.cmake b/Modules/FindJNI.cmake
index d49b44a55..0de3f7985 100644
--- a/Modules/FindJNI.cmake
+++ b/Modules/FindJNI.cmake
@@ -2,7 +2,7 @@
# This module finds if Java is installed and determines where the
# include files and libraries are. It also determines what the name of
# the library is. This code sets the following variables:
-#
+#
# JNI_INCLUDE_DIRS = the include dirs to use
# JNI_LIBRARIES = the libraries to use
# JNI_FOUND = TRUE if JNI headers and libraries were found.
@@ -27,74 +27,74 @@
# License text for the above reference.)
# Expand {libarch} occurences to java_libarch subdirectory(-ies) and set ${_var}
-MACRO(java_append_library_directories _var)
+macro(java_append_library_directories _var)
# Determine java arch-specific library subdir
# Mostly based on openjdk/jdk/make/common/shared/Platform.gmk as of openjdk
# 1.6.0_18 + icedtea patches. However, it would be much better to base the
# guess on the first part of the GNU config.guess platform triplet.
- IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
- SET(_java_libarch "amd64")
- ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$")
- SET(_java_libarch "i386")
- ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^alpha")
- SET(_java_libarch "alpha")
- ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm")
+ if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+ set(_java_libarch "amd64")
+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$")
+ set(_java_libarch "i386")
+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^alpha")
+ set(_java_libarch "alpha")
+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm")
# Subdir is "arm" for both big-endian (arm) and little-endian (armel).
- SET(_java_libarch "arm")
- ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^mips")
+ set(_java_libarch "arm")
+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^mips")
# mips* machines are bi-endian mostly so processor does not tell
# endianess of the underlying system.
- SET(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}" "mips" "mipsel" "mipseb")
- ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64")
- SET(_java_libarch "ppc64")
- ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)")
- SET(_java_libarch "ppc")
- ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^sparc")
+ set(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}" "mips" "mipsel" "mipseb")
+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64")
+ set(_java_libarch "ppc64")
+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)")
+ set(_java_libarch "ppc")
+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^sparc")
# Both flavours can run on the same processor
- SET(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}" "sparc" "sparcv9")
- ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^(parisc|hppa)")
- SET(_java_libarch "parisc" "parisc64")
- ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^s390")
+ set(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}" "sparc" "sparcv9")
+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(parisc|hppa)")
+ set(_java_libarch "parisc" "parisc64")
+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^s390")
# s390 binaries can run on s390x machines
- SET(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}" "s390" "s390x")
- ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "^sh")
- SET(_java_libarch "sh")
- ELSE(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
- SET(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}")
- ENDIF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+ set(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}" "s390" "s390x")
+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^sh")
+ set(_java_libarch "sh")
+ else()
+ set(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}")
+ endif()
# Append default list architectures if CMAKE_SYSTEM_PROCESSOR was empty or
# system is non-Linux (where the code above has not been well tested)
- IF(NOT _java_libarch OR NOT (CMAKE_SYSTEM_NAME MATCHES "Linux"))
- LIST(APPEND _java_libarch "i386" "amd64" "ppc")
- ENDIF(NOT _java_libarch OR NOT (CMAKE_SYSTEM_NAME MATCHES "Linux"))
+ if(NOT _java_libarch OR NOT (CMAKE_SYSTEM_NAME MATCHES "Linux"))
+ list(APPEND _java_libarch "i386" "amd64" "ppc")
+ endif()
# Sometimes ${CMAKE_SYSTEM_PROCESSOR} is added to the list to prefer
# current value to a hardcoded list. Remove possible duplicates.
- LIST(REMOVE_DUPLICATES _java_libarch)
+ list(REMOVE_DUPLICATES _java_libarch)
- FOREACH(_path ${ARGN})
- IF(_path MATCHES "{libarch}")
- FOREACH(_libarch ${_java_libarch})
- STRING(REPLACE "{libarch}" "${_libarch}" _newpath "${_path}")
- LIST(APPEND ${_var} "${_newpath}")
- ENDFOREACH(_libarch)
- ELSE(_path MATCHES "{libarch}")
- LIST(APPEND ${_var} "${_path}")
- ENDIF(_path MATCHES "{libarch}")
- ENDFOREACH(_path)
-ENDMACRO(java_append_library_directories)
+ foreach(_path ${ARGN})
+ if(_path MATCHES "{libarch}")
+ foreach(_libarch ${_java_libarch})
+ string(REPLACE "{libarch}" "${_libarch}" _newpath "${_path}")
+ list(APPEND ${_var} "${_newpath}")
+ endforeach()
+ else()
+ list(APPEND ${_var} "${_path}")
+ endif()
+ endforeach()
+endmacro()
-GET_FILENAME_COMPONENT(java_install_version
+get_filename_component(java_install_version
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit;CurrentVersion]" NAME)
-SET(JAVA_AWT_LIBRARY_DIRECTORIES
+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"
)
-FILE(TO_CMAKE_PATH "$ENV{JAVA_HOME}" _JAVA_HOME)
+file(TO_CMAKE_PATH "$ENV{JAVA_HOME}" _JAVA_HOME)
JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT_LIBRARY_DIRECTORIES
${_JAVA_HOME}/jre/lib/{libarch}
@@ -122,23 +122,23 @@ JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT_LIBRARY_DIRECTORIES
/usr/lib/jvm/default-java/lib
)
-SET(JAVA_JVM_LIBRARY_DIRECTORIES)
-FOREACH(dir ${JAVA_AWT_LIBRARY_DIRECTORIES})
- SET(JAVA_JVM_LIBRARY_DIRECTORIES
+set(JAVA_JVM_LIBRARY_DIRECTORIES)
+foreach(dir ${JAVA_AWT_LIBRARY_DIRECTORIES})
+ set(JAVA_JVM_LIBRARY_DIRECTORIES
${JAVA_JVM_LIBRARY_DIRECTORIES}
"${dir}"
"${dir}/client"
"${dir}/server"
)
-ENDFOREACH(dir)
+endforeach()
-SET(JAVA_AWT_INCLUDE_DIRECTORIES
+set(JAVA_AWT_INCLUDE_DIRECTORIES
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.4;JavaHome]/include"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/include"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\${java_install_version};JavaHome]/include"
${_JAVA_HOME}/include
- /usr/include
+ /usr/include
/usr/local/include
/usr/lib/java/include
/usr/local/lib/java/include
@@ -155,74 +155,74 @@ SET(JAVA_AWT_INCLUDE_DIRECTORIES
/usr/lib/jvm/default-java/include
)
-FOREACH(JAVA_PROG "${JAVA_RUNTIME}" "${JAVA_COMPILE}" "${JAVA_ARCHIVE}")
- GET_FILENAME_COMPONENT(jpath "${JAVA_PROG}" PATH)
- FOREACH(JAVA_INC_PATH ../include ../java/include ../share/java/include)
- IF(EXISTS ${jpath}/${JAVA_INC_PATH})
- SET(JAVA_AWT_INCLUDE_DIRECTORIES ${JAVA_AWT_INCLUDE_DIRECTORIES} "${jpath}/${JAVA_INC_PATH}")
- ENDIF(EXISTS ${jpath}/${JAVA_INC_PATH})
- ENDFOREACH(JAVA_INC_PATH)
- FOREACH(JAVA_LIB_PATH
- ../lib ../jre/lib ../jre/lib/i386
- ../java/lib ../java/jre/lib ../java/jre/lib/i386
+foreach(JAVA_PROG "${JAVA_RUNTIME}" "${JAVA_COMPILE}" "${JAVA_ARCHIVE}")
+ get_filename_component(jpath "${JAVA_PROG}" PATH)
+ foreach(JAVA_INC_PATH ../include ../java/include ../share/java/include)
+ if(EXISTS ${jpath}/${JAVA_INC_PATH})
+ set(JAVA_AWT_INCLUDE_DIRECTORIES ${JAVA_AWT_INCLUDE_DIRECTORIES} "${jpath}/${JAVA_INC_PATH}")
+ endif()
+ endforeach()
+ foreach(JAVA_LIB_PATH
+ ../lib ../jre/lib ../jre/lib/i386
+ ../java/lib ../java/jre/lib ../java/jre/lib/i386
../share/java/lib ../share/java/jre/lib ../share/java/jre/lib/i386)
- IF(EXISTS ${jpath}/${JAVA_LIB_PATH})
- SET(JAVA_AWT_LIBRARY_DIRECTORIES ${JAVA_AWT_LIBRARY_DIRECTORIES} "${jpath}/${JAVA_LIB_PATH}")
- ENDIF(EXISTS ${jpath}/${JAVA_LIB_PATH})
- ENDFOREACH(JAVA_LIB_PATH)
-ENDFOREACH(JAVA_PROG)
+ if(EXISTS ${jpath}/${JAVA_LIB_PATH})
+ set(JAVA_AWT_LIBRARY_DIRECTORIES ${JAVA_AWT_LIBRARY_DIRECTORIES} "${jpath}/${JAVA_LIB_PATH}")
+ endif()
+ endforeach()
+endforeach()
-IF(APPLE)
- IF(EXISTS ~/Library/Frameworks/JavaVM.framework)
- SET(JAVA_HAVE_FRAMEWORK 1)
- ENDIF(EXISTS ~/Library/Frameworks/JavaVM.framework)
- IF(EXISTS /Library/Frameworks/JavaVM.framework)
- SET(JAVA_HAVE_FRAMEWORK 1)
- ENDIF(EXISTS /Library/Frameworks/JavaVM.framework)
- IF(EXISTS /System/Library/Frameworks/JavaVM.framework)
- SET(JAVA_HAVE_FRAMEWORK 1)
- ENDIF(EXISTS /System/Library/Frameworks/JavaVM.framework)
+if(APPLE)
+ if(EXISTS ~/Library/Frameworks/JavaVM.framework)
+ set(JAVA_HAVE_FRAMEWORK 1)
+ endif()
+ if(EXISTS /Library/Frameworks/JavaVM.framework)
+ set(JAVA_HAVE_FRAMEWORK 1)
+ endif()
+ if(EXISTS /System/Library/Frameworks/JavaVM.framework)
+ set(JAVA_HAVE_FRAMEWORK 1)
+ endif()
- IF(JAVA_HAVE_FRAMEWORK)
- IF(NOT JAVA_AWT_LIBRARY)
- SET (JAVA_AWT_LIBRARY "-framework JavaVM" CACHE FILEPATH "Java Frameworks" FORCE)
- ENDIF(NOT JAVA_AWT_LIBRARY)
+ if(JAVA_HAVE_FRAMEWORK)
+ if(NOT JAVA_AWT_LIBRARY)
+ set (JAVA_AWT_LIBRARY "-framework JavaVM" CACHE FILEPATH "Java Frameworks" FORCE)
+ endif()
- IF(NOT JAVA_JVM_LIBRARY)
- SET (JAVA_JVM_LIBRARY "-framework JavaVM" CACHE FILEPATH "Java Frameworks" FORCE)
- ENDIF(NOT JAVA_JVM_LIBRARY)
+ if(NOT JAVA_JVM_LIBRARY)
+ set (JAVA_JVM_LIBRARY "-framework JavaVM" CACHE FILEPATH "Java Frameworks" FORCE)
+ endif()
- IF(NOT JAVA_AWT_INCLUDE_PATH)
- IF(EXISTS /System/Library/Frameworks/JavaVM.framework/Headers/jawt.h)
- SET (JAVA_AWT_INCLUDE_PATH "/System/Library/Frameworks/JavaVM.framework/Headers" CACHE FILEPATH "jawt.h location" FORCE)
- ENDIF(EXISTS /System/Library/Frameworks/JavaVM.framework/Headers/jawt.h)
- ENDIF(NOT JAVA_AWT_INCLUDE_PATH)
+ if(NOT JAVA_AWT_INCLUDE_PATH)
+ if(EXISTS /System/Library/Frameworks/JavaVM.framework/Headers/jawt.h)
+ set (JAVA_AWT_INCLUDE_PATH "/System/Library/Frameworks/JavaVM.framework/Headers" CACHE FILEPATH "jawt.h location" FORCE)
+ endif()
+ endif()
# If using "-framework JavaVM", prefer its headers *before* the others in
# JAVA_AWT_INCLUDE_DIRECTORIES... (*prepend* to the list here)
#
- SET(JAVA_AWT_INCLUDE_DIRECTORIES
+ set(JAVA_AWT_INCLUDE_DIRECTORIES
~/Library/Frameworks/JavaVM.framework/Headers
/Library/Frameworks/JavaVM.framework/Headers
/System/Library/Frameworks/JavaVM.framework/Headers
${JAVA_AWT_INCLUDE_DIRECTORIES}
)
- ENDIF(JAVA_HAVE_FRAMEWORK)
-ELSE(APPLE)
- FIND_LIBRARY(JAVA_AWT_LIBRARY jawt
+ endif()
+else()
+ find_library(JAVA_AWT_LIBRARY jawt
PATHS ${JAVA_AWT_LIBRARY_DIRECTORIES}
)
- FIND_LIBRARY(JAVA_JVM_LIBRARY NAMES jvm JavaVM
+ find_library(JAVA_JVM_LIBRARY NAMES jvm JavaVM
PATHS ${JAVA_JVM_LIBRARY_DIRECTORIES}
)
-ENDIF(APPLE)
+endif()
-# add in the include path
-FIND_PATH(JAVA_INCLUDE_PATH jni.h
+# add in the include path
+find_path(JAVA_INCLUDE_PATH jni.h
${JAVA_AWT_INCLUDE_DIRECTORIES}
)
-FIND_PATH(JAVA_INCLUDE_PATH2 jni_md.h
+find_path(JAVA_INCLUDE_PATH2 jni_md.h
${JAVA_INCLUDE_PATH}
${JAVA_INCLUDE_PATH}/win32
${JAVA_INCLUDE_PATH}/linux
@@ -232,15 +232,15 @@ FIND_PATH(JAVA_INCLUDE_PATH2 jni_md.h
${JAVA_INCLUDE_PATH}/alpha
)
-FIND_PATH(JAVA_AWT_INCLUDE_PATH jawt.h
+find_path(JAVA_AWT_INCLUDE_PATH jawt.h
${JAVA_INCLUDE_PATH}
)
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(JNI DEFAULT_MSG JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY
JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH)
-MARK_AS_ADVANCED(
+mark_as_advanced(
JAVA_AWT_LIBRARY
JAVA_JVM_LIBRARY
JAVA_AWT_INCLUDE_PATH
@@ -248,12 +248,12 @@ MARK_AS_ADVANCED(
JAVA_INCLUDE_PATH2
)
-SET(JNI_LIBRARIES
+set(JNI_LIBRARIES
${JAVA_AWT_LIBRARY}
${JAVA_JVM_LIBRARY}
)
-SET(JNI_INCLUDE_DIRS
+set(JNI_INCLUDE_DIRS
${JAVA_INCLUDE_PATH}
${JAVA_INCLUDE_PATH2}
${JAVA_AWT_INCLUDE_PATH}
diff --git a/Modules/FindJPEG.cmake b/Modules/FindJPEG.cmake
index 349e7e175..7c1f0fd94 100644
--- a/Modules/FindJPEG.cmake
+++ b/Modules/FindJPEG.cmake
@@ -20,24 +20,24 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PATH(JPEG_INCLUDE_DIR jpeglib.h)
+find_path(JPEG_INCLUDE_DIR jpeglib.h)
-SET(JPEG_NAMES ${JPEG_NAMES} jpeg)
-FIND_LIBRARY(JPEG_LIBRARY NAMES ${JPEG_NAMES} )
+set(JPEG_NAMES ${JPEG_NAMES} jpeg)
+find_library(JPEG_LIBRARY NAMES ${JPEG_NAMES} )
-# handle the QUIETLY and REQUIRED arguments and set JPEG_FOUND to TRUE if
+# handle the QUIETLY and REQUIRED arguments and set JPEG_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(JPEG DEFAULT_MSG JPEG_LIBRARY JPEG_INCLUDE_DIR)
-IF(JPEG_FOUND)
- SET(JPEG_LIBRARIES ${JPEG_LIBRARY})
-ENDIF(JPEG_FOUND)
+if(JPEG_FOUND)
+ set(JPEG_LIBRARIES ${JPEG_LIBRARY})
+endif()
# Deprecated declarations.
-SET (NATIVE_JPEG_INCLUDE_PATH ${JPEG_INCLUDE_DIR} )
-IF(JPEG_LIBRARY)
- GET_FILENAME_COMPONENT (NATIVE_JPEG_LIB_PATH ${JPEG_LIBRARY} PATH)
-ENDIF(JPEG_LIBRARY)
+set (NATIVE_JPEG_INCLUDE_PATH ${JPEG_INCLUDE_DIR} )
+if(JPEG_LIBRARY)
+ get_filename_component (NATIVE_JPEG_LIB_PATH ${JPEG_LIBRARY} PATH)
+endif()
-MARK_AS_ADVANCED(JPEG_LIBRARY JPEG_INCLUDE_DIR )
+mark_as_advanced(JPEG_LIBRARY JPEG_INCLUDE_DIR )
diff --git a/Modules/FindJasper.cmake b/Modules/FindJasper.cmake
index 6dc7e4db7..136056b84 100644
--- a/Modules/FindJasper.cmake
+++ b/Modules/FindJasper.cmake
@@ -21,33 +21,33 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PATH(JASPER_INCLUDE_DIR jasper/jasper.h)
+find_path(JASPER_INCLUDE_DIR jasper/jasper.h)
-IF (NOT JASPER_LIBRARIES)
- FIND_PACKAGE(JPEG)
+if (NOT JASPER_LIBRARIES)
+ find_package(JPEG)
- FIND_LIBRARY(JASPER_LIBRARY_RELEASE NAMES jasper libjasper)
- FIND_LIBRARY(JASPER_LIBRARY_DEBUG NAMES jasperd)
+ find_library(JASPER_LIBRARY_RELEASE NAMES jasper libjasper)
+ find_library(JASPER_LIBRARY_DEBUG NAMES jasperd)
- INCLUDE(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
+ include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
SELECT_LIBRARY_CONFIGURATIONS(JASPER)
-ENDIF (NOT JASPER_LIBRARIES)
+endif ()
-IF (JASPER_INCLUDE_DIR AND EXISTS "${JASPER_INCLUDE_DIR}/jasper/jas_config.h")
- FILE(STRINGS "${JASPER_INCLUDE_DIR}/jasper/jas_config.h" jasper_version_str REGEX "^#define[\t ]+JAS_VERSION[\t ]+\".*\".*")
+if (JASPER_INCLUDE_DIR AND EXISTS "${JASPER_INCLUDE_DIR}/jasper/jas_config.h")
+ file(STRINGS "${JASPER_INCLUDE_DIR}/jasper/jas_config.h" jasper_version_str REGEX "^#define[\t ]+JAS_VERSION[\t ]+\".*\".*")
- STRING(REGEX REPLACE "^#define[\t ]+JAS_VERSION[\t ]+\"([^\"]+)\".*" "\\1" JASPER_VERSION_STRING "${jasper_version_str}")
-ENDIF (JASPER_INCLUDE_DIR AND EXISTS "${JASPER_INCLUDE_DIR}/jasper/jas_config.h")
+ string(REGEX REPLACE "^#define[\t ]+JAS_VERSION[\t ]+\"([^\"]+)\".*" "\\1" JASPER_VERSION_STRING "${jasper_version_str}")
+endif ()
-# handle the QUIETLY and REQUIRED arguments and set JASPER_FOUND to TRUE if
+# handle the QUIETLY and REQUIRED arguments and set JASPER_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Jasper
REQUIRED_VARS JASPER_LIBRARIES JASPER_INCLUDE_DIR JPEG_LIBRARIES
VERSION_VAR JASPER_VERSION_STRING)
-IF (JASPER_FOUND)
- SET(JASPER_LIBRARIES ${JASPER_LIBRARIES} ${JPEG_LIBRARIES} )
-ENDIF (JASPER_FOUND)
+if (JASPER_FOUND)
+ set(JASPER_LIBRARIES ${JASPER_LIBRARIES} ${JPEG_LIBRARIES} )
+endif ()
-MARK_AS_ADVANCED(JASPER_INCLUDE_DIR)
+mark_as_advanced(JASPER_INCLUDE_DIR)
diff --git a/Modules/FindJava.cmake b/Modules/FindJava.cmake
index 345702122..1b4593d9c 100644
--- a/Modules/FindJava.cmake
+++ b/Modules/FindJava.cmake
@@ -16,14 +16,14 @@
# Java_VERSION = This is set to: $major.$minor.$patch(.$tweak)
#
# The minimum required version of Java can be specified using the
-# standard CMake syntax, e.g. FIND_PACKAGE(Java 1.5)
+# standard CMake syntax, e.g. find_package(Java 1.5)
#
# NOTE: ${Java_VERSION} and ${Java_VERSION_STRING} are not guaranteed to be
# identical. For example some java version may return:
# Java_VERSION_STRING = 1.5.0_17
# and
# Java_VERSION = 1.5.0.17
-#
+#
# another example is the Java OEM, with:
# Java_VERSION_STRING = 1.6.0-oem
# and
@@ -37,9 +37,9 @@
# Java_<component>_FOUND - TRUE if <component> is found.
#
# Example Usages:
-# FIND_PACKAGE(Java)
-# FIND_PACKAGE(Java COMPONENTS Runtime)
-# FIND_PACKAGE(Java COMPONENTS Development)
+# find_package(Java)
+# find_package(Java COMPONENTS Runtime)
+# find_package(Java COMPONENTS Development)
#
#=============================================================================
@@ -57,7 +57,7 @@
# License text for the above reference.)
# The HINTS option should only be used for values computed from the system.
-SET(_JAVA_HINTS
+set(_JAVA_HINTS
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\2.0;JavaHome]/bin"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.9;JavaHome]/bin"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.8;JavaHome]/bin"
@@ -70,7 +70,7 @@ SET(_JAVA_HINTS
)
# Hard-coded guesses should still go in PATHS. This ensures that the user
# environment can always override hard guesses.
-SET(_JAVA_PATHS
+set(_JAVA_PATHS
/usr/lib/java/bin
/usr/share/java/bin
/usr/local/java/bin
@@ -81,79 +81,79 @@ SET(_JAVA_PATHS
/usr/lib/j2sdk1.5-sun/bin
/opt/sun-jdk-1.5.0.04/bin
)
-FIND_PROGRAM(Java_JAVA_EXECUTABLE
+find_program(Java_JAVA_EXECUTABLE
NAMES java
HINTS ${_JAVA_HINTS}
PATHS ${_JAVA_PATHS}
)
-IF(Java_JAVA_EXECUTABLE)
- EXECUTE_PROCESS(COMMAND ${Java_JAVA_EXECUTABLE} -version
+if(Java_JAVA_EXECUTABLE)
+ execute_process(COMMAND ${Java_JAVA_EXECUTABLE} -version
RESULT_VARIABLE res
OUTPUT_VARIABLE var
ERROR_VARIABLE var # sun-java output to stderr
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_STRIP_TRAILING_WHITESPACE)
- IF( res )
- IF(${Java_FIND_REQUIRED})
- MESSAGE( FATAL_ERROR "Error executing java -version" )
- ELSE()
- MESSAGE( STATUS "Warning, could not run java --version")
- ENDIF()
- ELSE()
+ if( res )
+ if(${Java_FIND_REQUIRED})
+ message( FATAL_ERROR "Error executing java -version" )
+ else()
+ message( STATUS "Warning, could not run java --version")
+ endif()
+ else()
# extract major/minor version and patch level from "java -version" output
- # Tested on linux using
+ # Tested on linux using
# 1. Sun / Sun OEM
# 2. OpenJDK 1.6
# 3. GCJ 1.5
# 4. Kaffe 1.4.2
- IF(var MATCHES "java version \"[0-9]+\\.[0-9]+\\.[0-9_.]+.*\".*")
+ if(var MATCHES "java version \"[0-9]+\\.[0-9]+\\.[0-9_.]+.*\".*")
# This is most likely Sun / OpenJDK, or maybe GCJ-java compat layer
- STRING( REGEX REPLACE ".* version \"([0-9]+\\.[0-9]+\\.[0-9_.]+.*)\".*"
+ string( REGEX REPLACE ".* version \"([0-9]+\\.[0-9]+\\.[0-9_.]+.*)\".*"
"\\1" Java_VERSION_STRING "${var}" )
- ELSEIF(var MATCHES "java full version \"kaffe-[0-9]+\\.[0-9]+\\.[0-9_]+\".*")
+ elseif(var MATCHES "java full version \"kaffe-[0-9]+\\.[0-9]+\\.[0-9_]+\".*")
# Kaffe style
- STRING( REGEX REPLACE "java full version \"kaffe-([0-9]+\\.[0-9]+\\.[0-9_]+).*"
+ string( REGEX REPLACE "java full version \"kaffe-([0-9]+\\.[0-9]+\\.[0-9_]+).*"
"\\1" Java_VERSION_STRING "${var}" )
- ELSE()
- IF(NOT Java_FIND_QUIETLY)
+ else()
+ if(NOT Java_FIND_QUIETLY)
message(WARNING "regex not supported: ${var}. Please report")
- ENDIF(NOT Java_FIND_QUIETLY)
- ENDIF()
- STRING( REGEX REPLACE "([0-9]+).*" "\\1" Java_VERSION_MAJOR "${Java_VERSION_STRING}" )
- STRING( REGEX REPLACE "[0-9]+\\.([0-9]+).*" "\\1" Java_VERSION_MINOR "${Java_VERSION_STRING}" )
- STRING( REGEX REPLACE "[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" Java_VERSION_PATCH "${Java_VERSION_STRING}" )
+ endif()
+ endif()
+ string( REGEX REPLACE "([0-9]+).*" "\\1" Java_VERSION_MAJOR "${Java_VERSION_STRING}" )
+ string( REGEX REPLACE "[0-9]+\\.([0-9]+).*" "\\1" Java_VERSION_MINOR "${Java_VERSION_STRING}" )
+ string( REGEX REPLACE "[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" Java_VERSION_PATCH "${Java_VERSION_STRING}" )
# warning tweak version can be empty:
- STRING( REGEX REPLACE "[0-9]+\\.[0-9]+\\.[0-9]+[_\\.]?([0-9]*).*$" "\\1" Java_VERSION_TWEAK "${Java_VERSION_STRING}" )
+ string( REGEX REPLACE "[0-9]+\\.[0-9]+\\.[0-9]+[_\\.]?([0-9]*).*$" "\\1" Java_VERSION_TWEAK "${Java_VERSION_STRING}" )
if( Java_VERSION_TWEAK STREQUAL "" ) # check case where tweak is not defined
set(Java_VERSION ${Java_VERSION_MAJOR}.${Java_VERSION_MINOR}.${Java_VERSION_PATCH})
- else( )
+ else()
set(Java_VERSION ${Java_VERSION_MAJOR}.${Java_VERSION_MINOR}.${Java_VERSION_PATCH}.${Java_VERSION_TWEAK})
- endif( )
- ENDIF()
+ endif()
+ endif()
-ENDIF(Java_JAVA_EXECUTABLE)
+endif()
-FIND_PROGRAM(Java_JAR_EXECUTABLE
+find_program(Java_JAR_EXECUTABLE
NAMES jar
HINTS ${_JAVA_HINTS}
PATHS ${_JAVA_PATHS}
)
-FIND_PROGRAM(Java_JAVAC_EXECUTABLE
+find_program(Java_JAVAC_EXECUTABLE
NAMES javac
HINTS ${_JAVA_HINTS}
PATHS ${_JAVA_PATHS}
)
-FIND_PROGRAM(Java_JAVAH_EXECUTABLE
+find_program(Java_JAVAH_EXECUTABLE
NAMES javah
HINTS ${_JAVA_HINTS}
PATHS ${_JAVA_PATHS}
)
-FIND_PROGRAM(Java_JAVADOC_EXECUTABLE
+find_program(Java_JAVADOC_EXECUTABLE
NAMES javadoc
HINTS ${_JAVA_HINTS}
PATHS ${_JAVA_PATHS}
@@ -178,7 +178,7 @@ if(Java_FIND_COMPONENTS)
message(FATAL_ERROR "Comp: ${component} is not handled")
endif()
set(Java_${component}_FOUND TRUE)
- endforeach(component)
+ endforeach()
else()
# Check for everything
find_package_handle_standard_args(Java
@@ -189,7 +189,7 @@ else()
endif()
-MARK_AS_ADVANCED(
+mark_as_advanced(
Java_JAVA_EXECUTABLE
Java_JAR_EXECUTABLE
Java_JAVAC_EXECUTABLE
@@ -198,7 +198,7 @@ MARK_AS_ADVANCED(
)
# LEGACY
-SET(JAVA_RUNTIME ${Java_JAVA_EXECUTABLE})
-SET(JAVA_ARCHIVE ${Java_JAR_EXECUTABLE})
-SET(JAVA_COMPILE ${Java_JAVAC_EXECUTABLE})
+set(JAVA_RUNTIME ${Java_JAVA_EXECUTABLE})
+set(JAVA_ARCHIVE ${Java_JAR_EXECUTABLE})
+set(JAVA_COMPILE ${Java_JAVAC_EXECUTABLE})
diff --git a/Modules/FindKDE3.cmake b/Modules/FindKDE3.cmake
index 9d1081405..a09211684 100644
--- a/Modules/FindKDE3.cmake
+++ b/Modules/FindKDE3.cmake
@@ -3,8 +3,8 @@
# This module defines the following variables:
# KDE3_DEFINITIONS - compiler definitions required for compiling KDE software
# KDE3_INCLUDE_DIR - the KDE include directory
-# KDE3_INCLUDE_DIRS - the KDE and the Qt include directory, for use with INCLUDE_DIRECTORIES()
-# KDE3_LIB_DIR - the directory where the KDE libraries are installed, for use with LINK_DIRECTORIES()
+# KDE3_INCLUDE_DIRS - the KDE and the Qt include directory, for use with include_directories()
+# KDE3_LIB_DIR - the directory where the KDE libraries are installed, for use with link_directories()
# QT_AND_KDECORE_LIBS - this contains both the Qt and the kdecore library
# KDE3_DCOPIDL_EXECUTABLE - the dcopidl executable
# KDE3_DCOPIDL2CPP_EXECUTABLE - the dcopidl2cpp executable
@@ -23,7 +23,7 @@
# Call this if you want to have automatic moc file handling.
# This means if you include "foo.moc" in the source file foo.cpp
# a moc file for the header foo.h will be created automatically.
-# You can set the property SKIP_AUTOMAKE using SET_SOURCE_FILES_PROPERTIES()
+# You can set the property SKIP_AUTOMAKE using set_source_files_properties()
# to exclude some files in the list from being processed.
#
# KDE3_ADD_MOC_FILES(SRCS_VAR file1 ... fileN )
@@ -46,7 +46,7 @@
# This will create and install a simple libtool file for the given target.
#
# KDE3_ADD_EXECUTABLE(name file1 ... fileN )
-# Currently identical to ADD_EXECUTABLE(), may provide some advanced features in the future.
+# Currently identical to add_executable(), may provide some advanced features in the future.
#
# KDE3_ADD_KPART(name [WITH_PREFIX] file1 ... fileN )
# Create a KDE plugin (KPart, kioslave, etc.) from the given source files.
@@ -77,37 +77,37 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-IF(NOT UNIX AND KDE3_FIND_REQUIRED)
- MESSAGE(FATAL_ERROR "Compiling KDE3 applications and libraries under Windows is not supported")
-ENDIF(NOT UNIX AND KDE3_FIND_REQUIRED)
+if(NOT UNIX AND KDE3_FIND_REQUIRED)
+ message(FATAL_ERROR "Compiling KDE3 applications and libraries under Windows is not supported")
+endif()
# 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)
+if(QT4_FOUND)
+ if(KDE3_FIND_REQUIRED)
+ message( FATAL_ERROR "KDE3/Qt3 and Qt4 cannot be used together in one project.")
+ else()
+ if(NOT KDE3_FIND_QUIETLY)
+ message( STATUS "KDE3/Qt3 and Qt4 cannot be used together in one project.")
+ endif()
+ return()
+ endif()
+endif()
-SET(QT_MT_REQUIRED TRUE)
-#SET(QT_MIN_VERSION "3.0.0")
+set(QT_MT_REQUIRED TRUE)
+#set(QT_MIN_VERSION "3.0.0")
#this line includes FindQt.cmake, which searches the Qt library and headers
-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})
+if(KDE3_FIND_REQUIRED)
+ set(_REQ_STRING_KDE3 "REQUIRED")
+endif()
+
+find_package(Qt3 ${_REQ_STRING_KDE3})
+find_package(X11 ${_REQ_STRING_KDE3})
#now try to find some kde stuff
-FIND_PROGRAM(KDECONFIG_EXECUTABLE NAMES kde-config
+find_program(KDECONFIG_EXECUTABLE NAMES kde-config
HINTS
$ENV{KDEDIR}/bin
PATHS
@@ -115,25 +115,25 @@ FIND_PROGRAM(KDECONFIG_EXECUTABLE NAMES kde-config
/opt/kde/bin
)
-SET(KDE3PREFIX)
-IF(KDECONFIG_EXECUTABLE)
- EXECUTE_PROCESS(COMMAND ${KDECONFIG_EXECUTABLE} --version
+set(KDE3PREFIX)
+if(KDECONFIG_EXECUTABLE)
+ execute_process(COMMAND ${KDECONFIG_EXECUTABLE} --version
OUTPUT_VARIABLE kde_config_version )
- STRING(REGEX MATCH "KDE: .\\." kde_version "${kde_config_version}")
- IF ("${kde_version}" MATCHES "KDE: 3\\.")
- EXECUTE_PROCESS(COMMAND ${KDECONFIG_EXECUTABLE} --prefix
+ string(REGEX MATCH "KDE: .\\." kde_version "${kde_config_version}")
+ if ("${kde_version}" MATCHES "KDE: 3\\.")
+ execute_process(COMMAND ${KDECONFIG_EXECUTABLE} --prefix
OUTPUT_VARIABLE kdedir )
- STRING(REGEX REPLACE "\n" "" KDE3PREFIX "${kdedir}")
+ string(REGEX REPLACE "\n" "" KDE3PREFIX "${kdedir}")
- ENDIF ("${kde_version}" MATCHES "KDE: 3\\.")
-ENDIF(KDECONFIG_EXECUTABLE)
+ endif ()
+endif()
-# at first the KDE include direcory
+# at first the KDE include directory
# kpassdlg.h comes from kdeui and doesn't exist in KDE4 anymore
-FIND_PATH(KDE3_INCLUDE_DIR kpassdlg.h
+find_path(KDE3_INCLUDE_DIR kpassdlg.h
HINTS
$ENV{KDEDIR}/include
${KDE3PREFIX}/include
@@ -145,7 +145,7 @@ FIND_PATH(KDE3_INCLUDE_DIR kpassdlg.h
)
#now the KDE library directory
-FIND_LIBRARY(KDE3_KDECORE_LIBRARY NAMES kdecore
+find_library(KDE3_KDECORE_LIBRARY NAMES kdecore
HINTS
$ENV{KDEDIR}/lib
${KDE3PREFIX}/lib
@@ -154,20 +154,20 @@ FIND_LIBRARY(KDE3_KDECORE_LIBRARY NAMES kdecore
/opt/kde/lib
)
-SET(QT_AND_KDECORE_LIBS ${QT_LIBRARIES} ${KDE3_KDECORE_LIBRARY})
+set(QT_AND_KDECORE_LIBS ${QT_LIBRARIES} ${KDE3_KDECORE_LIBRARY})
-GET_FILENAME_COMPONENT(KDE3_LIB_DIR ${KDE3_KDECORE_LIBRARY} PATH )
+get_filename_component(KDE3_LIB_DIR ${KDE3_KDECORE_LIBRARY} PATH )
-IF(NOT KDE3_LIBTOOL_DIR)
- IF(KDE3_KDECORE_LIBRARY MATCHES lib64)
- SET(KDE3_LIBTOOL_DIR /lib64/kde3)
- ELSE(KDE3_KDECORE_LIBRARY MATCHES lib64)
- SET(KDE3_LIBTOOL_DIR /lib/kde3)
- ENDIF(KDE3_KDECORE_LIBRARY MATCHES lib64)
-ENDIF(NOT KDE3_LIBTOOL_DIR)
+if(NOT KDE3_LIBTOOL_DIR)
+ if(KDE3_KDECORE_LIBRARY MATCHES lib64)
+ set(KDE3_LIBTOOL_DIR /lib64/kde3)
+ else()
+ set(KDE3_LIBTOOL_DIR /lib/kde3)
+ endif()
+endif()
#now search for the dcop utilities
-FIND_PROGRAM(KDE3_DCOPIDL_EXECUTABLE NAMES dcopidl
+find_program(KDE3_DCOPIDL_EXECUTABLE NAMES dcopidl
HINTS
$ENV{KDEDIR}/bin
${KDE3PREFIX}/bin
@@ -176,7 +176,7 @@ FIND_PROGRAM(KDE3_DCOPIDL_EXECUTABLE NAMES dcopidl
/opt/kde/bin
)
-FIND_PROGRAM(KDE3_DCOPIDL2CPP_EXECUTABLE NAMES dcopidl2cpp
+find_program(KDE3_DCOPIDL2CPP_EXECUTABLE NAMES dcopidl2cpp
HINTS
$ENV{KDEDIR}/bin
${KDE3PREFIX}/bin
@@ -185,7 +185,7 @@ FIND_PROGRAM(KDE3_DCOPIDL2CPP_EXECUTABLE NAMES dcopidl2cpp
/opt/kde/bin
)
-FIND_PROGRAM(KDE3_KCFGC_EXECUTABLE NAMES kconfig_compiler
+find_program(KDE3_KCFGC_EXECUTABLE NAMES kconfig_compiler
HINTS
$ENV{KDEDIR}/bin
${KDE3PREFIX}/bin
@@ -196,104 +196,104 @@ FIND_PROGRAM(KDE3_KCFGC_EXECUTABLE NAMES kconfig_compiler
#SET KDE3_FOUND
-IF (KDE3_INCLUDE_DIR AND KDE3_LIB_DIR AND KDE3_DCOPIDL_EXECUTABLE AND KDE3_DCOPIDL2CPP_EXECUTABLE AND KDE3_KCFGC_EXECUTABLE)
- SET(KDE3_FOUND TRUE)
-ELSE (KDE3_INCLUDE_DIR AND KDE3_LIB_DIR AND KDE3_DCOPIDL_EXECUTABLE AND KDE3_DCOPIDL2CPP_EXECUTABLE AND KDE3_KCFGC_EXECUTABLE)
- SET(KDE3_FOUND FALSE)
-ENDIF (KDE3_INCLUDE_DIR AND KDE3_LIB_DIR AND KDE3_DCOPIDL_EXECUTABLE AND KDE3_DCOPIDL2CPP_EXECUTABLE AND KDE3_KCFGC_EXECUTABLE)
+if (KDE3_INCLUDE_DIR AND KDE3_LIB_DIR AND KDE3_DCOPIDL_EXECUTABLE AND KDE3_DCOPIDL2CPP_EXECUTABLE AND KDE3_KCFGC_EXECUTABLE)
+ set(KDE3_FOUND TRUE)
+else ()
+ set(KDE3_FOUND FALSE)
+endif ()
# add some KDE specific stuff
-SET(KDE3_DEFINITIONS -DQT_CLEAN_NAMESPACE -D_GNU_SOURCE)
+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
+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)
+ if("${out}" MATCHES "2.9[56]")
+ set(_KDE3_USE_FLAGS FALSE)
+ endif()
+ endif()
#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)
+ 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()
# 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 (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 ()
# 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)
+ 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 ()
-#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)
+#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()
# KDE3Macros.cmake contains all the KDE specific macros
-INCLUDE(KDE3Macros)
+include(KDE3Macros)
-MACRO (KDE3_PRINT_RESULTS)
- IF(KDE3_INCLUDE_DIR)
- MESSAGE(STATUS "Found KDE3 include dir: ${KDE3_INCLUDE_DIR}")
- ELSE(KDE3_INCLUDE_DIR)
- MESSAGE(STATUS "Didn't find KDE3 headers")
- ENDIF(KDE3_INCLUDE_DIR)
+macro (KDE3_PRINT_RESULTS)
+ if(KDE3_INCLUDE_DIR)
+ message(STATUS "Found KDE3 include dir: ${KDE3_INCLUDE_DIR}")
+ else()
+ message(STATUS "Didn't find KDE3 headers")
+ endif()
- IF(KDE3_LIB_DIR)
- MESSAGE(STATUS "Found KDE3 library dir: ${KDE3_LIB_DIR}")
- ELSE(KDE3_LIB_DIR)
- MESSAGE(STATUS "Didn't find KDE3 core library")
- ENDIF(KDE3_LIB_DIR)
+ if(KDE3_LIB_DIR)
+ message(STATUS "Found KDE3 library dir: ${KDE3_LIB_DIR}")
+ else()
+ message(STATUS "Didn't find KDE3 core library")
+ endif()
- IF(KDE3_DCOPIDL_EXECUTABLE)
- MESSAGE(STATUS "Found KDE3 dcopidl preprocessor: ${KDE3_DCOPIDL_EXECUTABLE}")
- ELSE(KDE3_DCOPIDL_EXECUTABLE)
- MESSAGE(STATUS "Didn't find the KDE3 dcopidl preprocessor")
- ENDIF(KDE3_DCOPIDL_EXECUTABLE)
+ if(KDE3_DCOPIDL_EXECUTABLE)
+ message(STATUS "Found KDE3 dcopidl preprocessor: ${KDE3_DCOPIDL_EXECUTABLE}")
+ else()
+ message(STATUS "Didn't find the KDE3 dcopidl preprocessor")
+ endif()
- IF(KDE3_DCOPIDL2CPP_EXECUTABLE)
- MESSAGE(STATUS "Found KDE3 dcopidl2cpp preprocessor: ${KDE3_DCOPIDL2CPP_EXECUTABLE}")
- ELSE(KDE3_DCOPIDL2CPP_EXECUTABLE)
- MESSAGE(STATUS "Didn't find the KDE3 dcopidl2cpp preprocessor")
- ENDIF(KDE3_DCOPIDL2CPP_EXECUTABLE)
+ if(KDE3_DCOPIDL2CPP_EXECUTABLE)
+ message(STATUS "Found KDE3 dcopidl2cpp preprocessor: ${KDE3_DCOPIDL2CPP_EXECUTABLE}")
+ else()
+ message(STATUS "Didn't find the KDE3 dcopidl2cpp preprocessor")
+ endif()
- IF(KDE3_KCFGC_EXECUTABLE)
- MESSAGE(STATUS "Found KDE3 kconfig_compiler preprocessor: ${KDE3_KCFGC_EXECUTABLE}")
- ELSE(KDE3_KCFGC_EXECUTABLE)
- MESSAGE(STATUS "Didn't find the KDE3 kconfig_compiler preprocessor")
- ENDIF(KDE3_KCFGC_EXECUTABLE)
+ if(KDE3_KCFGC_EXECUTABLE)
+ message(STATUS "Found KDE3 kconfig_compiler preprocessor: ${KDE3_KCFGC_EXECUTABLE}")
+ else()
+ message(STATUS "Didn't find the KDE3 kconfig_compiler preprocessor")
+ endif()
-ENDMACRO (KDE3_PRINT_RESULTS)
+endmacro ()
-IF (KDE3_FIND_REQUIRED AND NOT KDE3_FOUND)
+if (KDE3_FIND_REQUIRED AND NOT KDE3_FOUND)
#bail out if something wasn't found
KDE3_PRINT_RESULTS()
- MESSAGE(FATAL_ERROR "Could NOT find everything required for compiling KDE 3 programs")
+ message(FATAL_ERROR "Could NOT find everything required for compiling KDE 3 programs")
-ENDIF (KDE3_FIND_REQUIRED AND NOT KDE3_FOUND)
+endif ()
-IF (NOT KDE3_FIND_QUIETLY)
+if (NOT KDE3_FIND_QUIETLY)
KDE3_PRINT_RESULTS()
-ENDIF (NOT KDE3_FIND_QUIETLY)
+endif ()
#add the found Qt and KDE include directories to the current include path
-SET(KDE3_INCLUDE_DIRS ${QT_INCLUDE_DIR} ${KDE3_INCLUDE_DIR})
+set(KDE3_INCLUDE_DIRS ${QT_INCLUDE_DIR} ${KDE3_INCLUDE_DIR})
diff --git a/Modules/FindKDE4.cmake b/Modules/FindKDE4.cmake
index ed4f270b0..c653a04cd 100644
--- a/Modules/FindKDE4.cmake
+++ b/Modules/FindKDE4.cmake
@@ -24,28 +24,28 @@
# License text for the above reference.)
# 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 KDE4_FIND_QUIETLY)
- RETURN()
- ENDIF(KDE4_FIND_REQUIRED)
-ENDIF(QT_QT_LIBRARY)
+if(QT_QT_LIBRARY)
+ if(KDE4_FIND_REQUIRED)
+ message( FATAL_ERROR "KDE4/Qt4 and Qt3 cannot be used together in one project.")
+ else()
+ if(NOT KDE4_FIND_QUIETLY)
+ message( STATUS "KDE4/Qt4 and Qt3 cannot be used together in one project.")
+ endif()
+ return()
+ endif()
+endif()
-FILE(TO_CMAKE_PATH "$ENV{KDEDIRS}" _KDEDIRS)
+file(TO_CMAKE_PATH "$ENV{KDEDIRS}" _KDEDIRS)
# when cross compiling, searching kde4-config in order to run it later on
-# doesn't make a lot of sense. We'll have to do something about this.
+# doesn't make a lot of sense. We'll have to do something about this.
# Searching always in the target environment ? Then we get at least the correct one,
# still it can't be used to run it. Alex
# For KDE4 kde-config has been renamed to kde4-config
-FIND_PROGRAM(KDE4_KDECONFIG_EXECUTABLE NAMES kde4-config
+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
+ PATH_SUFFIXES bin
HINTS
${CMAKE_INSTALL_PREFIX}
${_KDEDIRS}
@@ -53,48 +53,48 @@ 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")
- ENDIF (KDE4_FIND_REQUIRED)
-ENDIF (NOT KDE4_KDECONFIG_EXECUTABLE)
+if (NOT KDE4_KDECONFIG_EXECUTABLE)
+ if (KDE4_FIND_REQUIRED)
+ message(FATAL_ERROR "ERROR: Could not find KDE4 kde4-config")
+ endif ()
+endif ()
# when cross compiling, KDE4_DATA_DIR may be already preset
-IF(NOT KDE4_DATA_DIR)
- IF(CMAKE_CROSSCOMPILING)
+if(NOT KDE4_DATA_DIR)
+ if(CMAKE_CROSSCOMPILING)
# when cross compiling, don't run kde4-config but use its location as install dir
- GET_FILENAME_COMPONENT(KDE4_DATA_DIR "${KDE4_KDECONFIG_EXECUTABLE}" PATH)
- GET_FILENAME_COMPONENT(KDE4_DATA_DIR "${KDE4_DATA_DIR}" PATH)
- ELSE(CMAKE_CROSSCOMPILING)
+ get_filename_component(KDE4_DATA_DIR "${KDE4_KDECONFIG_EXECUTABLE}" PATH)
+ get_filename_component(KDE4_DATA_DIR "${KDE4_DATA_DIR}" PATH)
+ else()
# then ask kde4-config for the kde data dirs
- 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)
+ 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 HINTS ${_data_DIR})
- ENDIF(KDE4_KDECONFIG_EXECUTABLE)
- ENDIF(CMAKE_CROSSCOMPILING)
-ENDIF(NOT KDE4_DATA_DIR)
+ find_path(KDE4_DATA_DIR cmake/modules/FindKDE4Internal.cmake HINTS ${_data_DIR})
+ endif()
+ endif()
+endif()
# if it has been found...
-IF (KDE4_DATA_DIR)
+if (KDE4_DATA_DIR)
- SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${KDE4_DATA_DIR}/cmake/modules)
+ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${KDE4_DATA_DIR}/cmake/modules)
- IF (KDE4_FIND_QUIETLY)
- SET(_quiet QUIET)
- ENDIF (KDE4_FIND_QUIETLY)
+ if (KDE4_FIND_QUIETLY)
+ set(_quiet QUIET)
+ endif ()
- IF (KDE4_FIND_REQUIRED)
- SET(_req REQUIRED)
- ENDIF (KDE4_FIND_REQUIRED)
+ if (KDE4_FIND_REQUIRED)
+ set(_req REQUIRED)
+ endif ()
# use FindKDE4Internal.cmake to do the rest
- FIND_PACKAGE(KDE4Internal ${_req} ${_quiet})
-ELSE (KDE4_DATA_DIR)
- IF (KDE4_FIND_REQUIRED)
- MESSAGE(FATAL_ERROR "ERROR: cmake/modules/FindKDE4Internal.cmake not found in ${_data_DIR}")
- ENDIF (KDE4_FIND_REQUIRED)
-ENDIF (KDE4_DATA_DIR)
+ find_package(KDE4Internal ${_req} ${_quiet})
+else ()
+ if (KDE4_FIND_REQUIRED)
+ message(FATAL_ERROR "ERROR: cmake/modules/FindKDE4Internal.cmake not found in ${_data_DIR}")
+ endif ()
+endif ()
diff --git a/Modules/FindLAPACK.cmake b/Modules/FindLAPACK.cmake
index 0ae98dfa7..430e45f2c 100644
--- a/Modules/FindLAPACK.cmake
+++ b/Modules/FindLAPACK.cmake
@@ -41,9 +41,9 @@ set(_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
get_property(_LANGUAGES_ GLOBAL PROPERTY ENABLED_LANGUAGES)
if (NOT _LANGUAGES_ MATCHES Fortran)
include(CheckFunctionExists)
-else (NOT _LANGUAGES_ MATCHES Fortran)
+else ()
include(CheckFortranFunctionExists)
-endif (NOT _LANGUAGES_ MATCHES Fortran)
+endif ()
set(LAPACK_FOUND FALSE)
set(LAPACK95_FOUND FALSE)
@@ -69,9 +69,9 @@ if (NOT _libdir)
if (WIN32)
set(_libdir ENV LIB)
elseif (APPLE)
- set(_libdir /usr/local/lib /usr/lib /usr/local/lib64 /usr/lib64 ENV DYLD_LIBRARY_PATH)
+ set(_libdir ENV DYLD_LIBRARY_PATH)
else ()
- set(_libdir /usr/local/lib /usr/lib /usr/local/lib64 /usr/lib64 ENV LD_LIBRARY_PATH)
+ set(_libdir ENV LD_LIBRARY_PATH)
endif ()
endif ()
foreach(_library ${_list})
@@ -81,18 +81,18 @@ foreach(_library ${_list})
if (BLA_STATIC)
if (WIN32)
set(CMAKE_FIND_LIBRARY_SUFFIXES .lib ${CMAKE_FIND_LIBRARY_SUFFIXES})
- endif ( WIN32 )
+ endif ()
if (APPLE)
set(CMAKE_FIND_LIBRARY_SUFFIXES .lib ${CMAKE_FIND_LIBRARY_SUFFIXES})
- else (APPLE)
+ else ()
set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
- endif (APPLE)
- else (BLA_STATIC)
+ endif ()
+ else ()
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
# for ubuntu's libblas3gf and liblapack3gf packages
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES} .so.3gf)
endif ()
- endif (BLA_STATIC)
+ endif ()
find_library(${_prefix}_${_library}_LIBRARY
NAMES ${_library}
PATHS ${_libdir}
@@ -100,35 +100,35 @@ foreach(_library ${_list})
mark_as_advanced(${_prefix}_${_library}_LIBRARY)
set(${LIBRARIES} ${${LIBRARIES}} ${${_prefix}_${_library}_LIBRARY})
set(_libraries_work ${${_prefix}_${_library}_LIBRARY})
- endif(_libraries_work)
-endforeach(_library ${_list})
+ endif()
+endforeach()
if(_libraries_work)
# Test this combination of 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)
+ else()
set(CMAKE_REQUIRED_LIBRARIES ${_flags} ${${LIBRARIES}} ${_blas} ${_threads})
- endif(UNIX AND BLA_STATIC)
+ endif()
# message("DEBUG: CMAKE_REQUIRED_LIBRARIES = ${CMAKE_REQUIRED_LIBRARIES}")
if (NOT _LANGUAGES_ MATCHES Fortran)
check_function_exists("${_name}_" ${_prefix}${_combined_name}_WORKS)
- else (NOT _LANGUAGES_ MATCHES Fortran)
+ else ()
check_fortran_function_exists(${_name} ${_prefix}${_combined_name}_WORKS)
- endif (NOT _LANGUAGES_ MATCHES Fortran)
+ endif ()
set(CMAKE_REQUIRED_LIBRARIES)
mark_as_advanced(${_prefix}${_combined_name}_WORKS)
set(_libraries_work ${${_prefix}${_combined_name}_WORKS})
#message("DEBUG: ${LIBRARIES} = ${${LIBRARIES}}")
-endif(_libraries_work)
+endif()
if(_libraries_work)
set(${LIBRARIES} ${${LIBRARIES}} ${_blas} ${_threads})
- else(_libraries_work)
+ else()
set(${LIBRARIES} FALSE)
- endif(_libraries_work)
+ endif()
-endmacro(Check_Lapack_Libraries)
+endmacro()
set(LAPACK_LINKER_FLAGS)
@@ -138,20 +138,20 @@ set(LAPACK95_LIBRARIES)
if(LAPACK_FIND_QUIETLY OR NOT LAPACK_FIND_REQUIRED)
find_package(BLAS)
-else(LAPACK_FIND_QUIETLY OR NOT LAPACK_FIND_REQUIRED)
+else()
find_package(BLAS REQUIRED)
-endif(LAPACK_FIND_QUIETLY OR NOT LAPACK_FIND_REQUIRED)
+endif()
if(BLAS_FOUND)
set(LAPACK_LINKER_FLAGS ${BLAS_LINKER_FLAGS})
if ($ENV{BLA_VENDOR} MATCHES ".+")
set(BLA_VENDOR $ENV{BLA_VENDOR})
- else ($ENV{BLA_VENDOR} MATCHES ".+")
+ else ()
if(NOT BLA_VENDOR)
set(BLA_VENDOR "All")
- endif(NOT BLA_VENDOR)
- endif ($ENV{BLA_VENDOR} MATCHES ".+")
+ endif()
+ endif ()
if (BLA_VENDOR STREQUAL "Goto" OR BLA_VENDOR STREQUAL "All")
if(NOT LAPACK_LIBRARIES)
@@ -164,8 +164,8 @@ if (BLA_VENDOR STREQUAL "Goto" OR BLA_VENDOR STREQUAL "All")
"${BLAS_LIBRARIES}"
""
)
- endif(NOT LAPACK_LIBRARIES)
-endif (BLA_VENDOR STREQUAL "Goto" OR BLA_VENDOR STREQUAL "All")
+ endif()
+endif ()
#acml lapack
@@ -187,8 +187,8 @@ if (BLA_VENDOR STREQUAL "Apple" OR BLA_VENDOR STREQUAL "All")
"${BLAS_LIBRARIES}"
""
)
- endif(NOT LAPACK_LIBRARIES)
-endif (BLA_VENDOR STREQUAL "Apple" OR BLA_VENDOR STREQUAL "All")
+ endif()
+endif ()
if (BLA_VENDOR STREQUAL "NAS" OR BLA_VENDOR STREQUAL "All")
if ( NOT LAPACK_LIBRARIES )
check_lapack_libraries(
@@ -200,8 +200,8 @@ if (BLA_VENDOR STREQUAL "NAS" OR BLA_VENDOR STREQUAL "All")
"${BLAS_LIBRARIES}"
""
)
- endif ( NOT LAPACK_LIBRARIES )
-endif (BLA_VENDOR STREQUAL "NAS" OR BLA_VENDOR STREQUAL "All")
+ endif ()
+endif ()
# Generic LAPACK library?
if (BLA_VENDOR STREQUAL "Generic" OR
BLA_VENDOR STREQUAL "ATLAS" OR
@@ -216,7 +216,7 @@ if (BLA_VENDOR STREQUAL "Generic" OR
"${BLAS_LIBRARIES}"
""
)
- endif ( NOT LAPACK_LIBRARIES )
+ endif ()
endif ()
#intel lapack
if (BLA_VENDOR MATCHES "Intel*" OR BLA_VENDOR STREQUAL "All")
@@ -226,9 +226,9 @@ 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)
+ else()
find_package(Threads REQUIRED)
- endif(LAPACK_FIND_QUIETLY OR NOT LAPACK_FIND_REQUIRED)
+ endif()
if (BLA_F95)
if(NOT LAPACK95_LIBRARIES)
# old
@@ -241,7 +241,7 @@ if (BLA_VENDOR MATCHES "Intel*" OR BLA_VENDOR STREQUAL "All")
"${BLAS95_LIBRARIES}"
"${CMAKE_THREAD_LIBS_INIT};${LM}"
)
- endif(NOT LAPACK95_LIBRARIES)
+ endif()
if(NOT LAPACK95_LIBRARIES)
# new >= 10.3
check_lapack_libraries(
@@ -253,8 +253,8 @@ if (BLA_VENDOR MATCHES "Intel*" OR BLA_VENDOR STREQUAL "All")
"${BLAS95_LIBRARIES}"
"${CMAKE_THREAD_LIBS_INIT};${LM}"
)
- endif(NOT LAPACK95_LIBRARIES)
- else(BLA_F95)
+ endif()
+ else()
if(NOT LAPACK_LIBRARIES)
# old
check_lapack_libraries(
@@ -266,7 +266,7 @@ if (BLA_VENDOR MATCHES "Intel*" OR BLA_VENDOR STREQUAL "All")
"${BLAS_LIBRARIES}"
"${CMAKE_THREAD_LIBS_INIT};${LM}"
)
- endif(NOT LAPACK_LIBRARIES)
+ endif()
if(NOT LAPACK_LIBRARIES)
# new >= 10.3
check_lapack_libraries(
@@ -278,59 +278,59 @@ if (BLA_VENDOR MATCHES "Intel*" OR BLA_VENDOR STREQUAL "All")
"${BLAS_LIBRARIES}"
"${CMAKE_THREAD_LIBS_INIT};${LM}"
)
- 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)
+ endif()
+ endif()
+ endif ()
+endif()
+else()
message(STATUS "LAPACK requires BLAS")
-endif(BLAS_FOUND)
+endif()
if(BLA_F95)
if(LAPACK95_LIBRARIES)
set(LAPACK95_FOUND TRUE)
- else(LAPACK95_LIBRARIES)
+ else()
set(LAPACK95_FOUND FALSE)
- endif(LAPACK95_LIBRARIES)
+ endif()
if(NOT LAPACK_FIND_QUIETLY)
if(LAPACK95_FOUND)
message(STATUS "A library with LAPACK95 API found.")
- else(LAPACK95_FOUND)
+ else()
if(LAPACK_FIND_REQUIRED)
message(FATAL_ERROR
"A required library with LAPACK95 API not found. Please specify library location."
)
- else(LAPACK_FIND_REQUIRED)
+ else()
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)
+ endif()
+ endif()
+ endif()
set(LAPACK_FOUND "${LAPACK95_FOUND}")
set(LAPACK_LIBRARIES "${LAPACK95_LIBRARIES}")
-else(BLA_F95)
+else()
if(LAPACK_LIBRARIES)
set(LAPACK_FOUND TRUE)
- else(LAPACK_LIBRARIES)
+ else()
set(LAPACK_FOUND FALSE)
- endif(LAPACK_LIBRARIES)
+ endif()
if(NOT LAPACK_FIND_QUIETLY)
if(LAPACK_FOUND)
message(STATUS "A library with LAPACK API found.")
- else(LAPACK_FOUND)
+ else()
if(LAPACK_FIND_REQUIRED)
message(FATAL_ERROR
"A required library with LAPACK API not found. Please specify library location."
)
- else(LAPACK_FIND_REQUIRED)
+ else()
message(STATUS
"A library with LAPACK API not found. Please specify library location."
)
- endif(LAPACK_FIND_REQUIRED)
- endif(LAPACK_FOUND)
- endif(NOT LAPACK_FIND_QUIETLY)
-endif(BLA_F95)
+ endif()
+ endif()
+ endif()
+endif()
set(CMAKE_FIND_LIBRARY_SUFFIXES ${_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
diff --git a/Modules/FindLATEX.cmake b/Modules/FindLATEX.cmake
index 950daca5a..bc752a95a 100644
--- a/Modules/FindLATEX.cmake
+++ b/Modules/FindLATEX.cmake
@@ -1,14 +1,14 @@
# - Find Latex
# This module finds if Latex is installed and determines where the
# executables are. This code sets the following variables:
-#
+#
# LATEX_COMPILER: path to the LaTeX compiler
# PDFLATEX_COMPILER: path to the PdfLaTeX compiler
# BIBTEX_COMPILER: path to the BibTeX compiler
# MAKEINDEX_COMPILER: path to the MakeIndex compiler
# DVIPS_CONVERTER: path to the DVIPS converter
# PS2PDF_CONVERTER: path to the PS2PDF converter
-# LATEX2HTML_CONVERTER: path to the LaTeX2Html converter
+# LATEX2HTML_CONVERTER: path to the LaTeX2Html converter
#
#=============================================================================
@@ -24,97 +24,97 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-IF (WIN32)
+if (WIN32)
# Try to find the MikTex binary path (look for its package manager).
- FIND_PATH(MIKTEX_BINARY_PATH mpm.exe
+ find_path(MIKTEX_BINARY_PATH mpm.exe
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MiK\\MiKTeX\\CurrentVersion\\MiKTeX;Install Root]/miktex/bin"
- DOC
+ DOC
"Path to the MikTex binary directory."
)
- MARK_AS_ADVANCED(MIKTEX_BINARY_PATH)
+ mark_as_advanced(MIKTEX_BINARY_PATH)
# Try to find the GhostScript binary path (look for gswin32).
- GET_FILENAME_COMPONENT(GHOSTSCRIPT_BINARY_PATH_FROM_REGISTERY_8_00
+ get_filename_component(GHOSTSCRIPT_BINARY_PATH_FROM_REGISTERY_8_00
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\AFPL Ghostscript\\8.00;GS_DLL]" PATH
)
- GET_FILENAME_COMPONENT(GHOSTSCRIPT_BINARY_PATH_FROM_REGISTERY_7_04
+ get_filename_component(GHOSTSCRIPT_BINARY_PATH_FROM_REGISTERY_7_04
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\AFPL Ghostscript\\7.04;GS_DLL]" PATH
)
- FIND_PATH(GHOSTSCRIPT_BINARY_PATH gswin32.exe
+ find_path(GHOSTSCRIPT_BINARY_PATH gswin32.exe
${GHOSTSCRIPT_BINARY_PATH_FROM_REGISTERY_8_00}
${GHOSTSCRIPT_BINARY_PATH_FROM_REGISTERY_7_04}
DOC "Path to the GhostScript binary directory."
)
- MARK_AS_ADVANCED(GHOSTSCRIPT_BINARY_PATH)
+ mark_as_advanced(GHOSTSCRIPT_BINARY_PATH)
- FIND_PATH(GHOSTSCRIPT_LIBRARY_PATH ps2pdf13.bat
+ find_path(GHOSTSCRIPT_LIBRARY_PATH ps2pdf13.bat
"${GHOSTSCRIPT_BINARY_PATH}/../lib"
DOC "Path to the GhostScript library directory."
)
- MARK_AS_ADVANCED(GHOSTSCRIPT_LIBRARY_PATH)
+ mark_as_advanced(GHOSTSCRIPT_LIBRARY_PATH)
-ENDIF (WIN32)
+endif ()
-FIND_PROGRAM(LATEX_COMPILER
+find_program(LATEX_COMPILER
NAMES latex
PATHS ${MIKTEX_BINARY_PATH}
/usr/bin
)
-FIND_PROGRAM(PDFLATEX_COMPILER
+find_program(PDFLATEX_COMPILER
NAMES pdflatex
PATHS ${MIKTEX_BINARY_PATH}
/usr/bin
)
-FIND_PROGRAM(BIBTEX_COMPILER
+find_program(BIBTEX_COMPILER
NAMES bibtex
PATHS ${MIKTEX_BINARY_PATH}
/usr/bin
)
-FIND_PROGRAM(MAKEINDEX_COMPILER
+find_program(MAKEINDEX_COMPILER
NAMES makeindex
PATHS ${MIKTEX_BINARY_PATH}
/usr/bin
)
-FIND_PROGRAM(DVIPS_CONVERTER
+find_program(DVIPS_CONVERTER
NAMES dvips
PATHS ${MIKTEX_BINARY_PATH}
/usr/bin
)
-FIND_PROGRAM(DVIPDF_CONVERTER
+find_program(DVIPDF_CONVERTER
NAMES dvipdfm dvipdft dvipdf
PATHS ${MIKTEX_BINARY_PATH}
/usr/bin
)
-IF (WIN32)
- FIND_PROGRAM(PS2PDF_CONVERTER
+if (WIN32)
+ find_program(PS2PDF_CONVERTER
NAMES ps2pdf14.bat
PATHS ${GHOSTSCRIPT_LIBRARY_PATH}
)
-ELSE (WIN32)
- FIND_PROGRAM(PS2PDF_CONVERTER
+else ()
+ find_program(PS2PDF_CONVERTER
NAMES ps2pdf14 ps2pdf
)
-ENDIF (WIN32)
+endif ()
-FIND_PROGRAM(LATEX2HTML_CONVERTER
+find_program(LATEX2HTML_CONVERTER
NAMES latex2html
PATHS ${MIKTEX_BINARY_PATH}
/usr/bin
)
-MARK_AS_ADVANCED(
+mark_as_advanced(
LATEX_COMPILER
PDFLATEX_COMPILER
BIBTEX_COMPILER
diff --git a/Modules/FindLibLZMA.cmake b/Modules/FindLibLZMA.cmake
index 729f5ce73..837e63324 100644
--- a/Modules/FindLibLZMA.cmake
+++ b/Modules/FindLibLZMA.cmake
@@ -29,30 +29,31 @@
# License text for the above reference.)
-FIND_PATH(LIBLZMA_INCLUDE_DIR lzma.h )
-FIND_LIBRARY(LIBLZMA_LIBRARY lzma)
+find_path(LIBLZMA_INCLUDE_DIR lzma.h )
+find_library(LIBLZMA_LIBRARY lzma)
-IF(LIBLZMA_INCLUDE_DIR AND EXISTS "${LIBLZMA_INCLUDE_DIR}/lzma/version.h")
- FILE(READ "${LIBLZMA_INCLUDE_DIR}/lzma/version.h" LIBLZMA_HEADER_CONTENTS)
+if(LIBLZMA_INCLUDE_DIR AND EXISTS "${LIBLZMA_INCLUDE_DIR}/lzma/version.h")
+ file(STRINGS "${LIBLZMA_INCLUDE_DIR}/lzma/version.h" LIBLZMA_HEADER_CONTENTS REGEX "#define LZMA_VERSION_[A-Z]+ [0-9]+")
- STRING(REGEX REPLACE ".*#define LZMA_VERSION_MAJOR ([0-9]+).*" "\\1" LIBLZMA_VERSION_MAJOR "${LIBLZMA_HEADER_CONTENTS}")
- STRING(REGEX REPLACE ".*#define LZMA_VERSION_MINOR ([0-9]+).*" "\\1" LIBLZMA_VERSION_MINOR "${LIBLZMA_HEADER_CONTENTS}")
- STRING(REGEX REPLACE ".*#define LZMA_VERSION_PATCH ([0-9]+).*" "\\1" LIBLZMA_VERSION_PATCH "${LIBLZMA_HEADER_CONTENTS}")
+ string(REGEX REPLACE ".*#define LZMA_VERSION_MAJOR ([0-9]+).*" "\\1" LIBLZMA_VERSION_MAJOR "${LIBLZMA_HEADER_CONTENTS}")
+ string(REGEX REPLACE ".*#define LZMA_VERSION_MINOR ([0-9]+).*" "\\1" LIBLZMA_VERSION_MINOR "${LIBLZMA_HEADER_CONTENTS}")
+ string(REGEX REPLACE ".*#define LZMA_VERSION_PATCH ([0-9]+).*" "\\1" LIBLZMA_VERSION_PATCH "${LIBLZMA_HEADER_CONTENTS}")
- SET(LIBLZMA_VERSION_STRING "${LIBLZMA_VERSION_MAJOR}.${LIBLZMA_VERSION_MINOR}.${LIBLZMA_VERSION_PATCH}")
-ENDIF(LIBLZMA_INCLUDE_DIR AND EXISTS "${LIBLZMA_INCLUDE_DIR}/lzma/version.h")
+ set(LIBLZMA_VERSION_STRING "${LIBLZMA_VERSION_MAJOR}.${LIBLZMA_VERSION_MINOR}.${LIBLZMA_VERSION_PATCH}")
+ unset(LIBLZMA_HEADER_CONTENTS)
+endif()
# We're using new code known now as XZ, even library still been called LZMA
# it can be found in http://tukaani.org/xz/
# Avoid using old codebase
-IF (LIBLZMA_LIBRARY)
- INCLUDE(CheckLibraryExists)
+if (LIBLZMA_LIBRARY)
+ include(${CMAKE_CURRENT_LIST_DIR}/CheckLibraryExists.cmake)
CHECK_LIBRARY_EXISTS(${LIBLZMA_LIBRARY} lzma_auto_decoder "" LIBLZMA_HAS_AUTO_DECODER)
CHECK_LIBRARY_EXISTS(${LIBLZMA_LIBRARY} lzma_easy_encoder "" LIBLZMA_HAS_EASY_ENCODER)
CHECK_LIBRARY_EXISTS(${LIBLZMA_LIBRARY} lzma_lzma_preset "" LIBLZMA_HAS_LZMA_PRESET)
-ENDIF (LIBLZMA_LIBRARY)
+endif ()
-INCLUDE(FindPackageHandleStandardArgs)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibLZMA REQUIRED_VARS LIBLZMA_INCLUDE_DIR
LIBLZMA_LIBRARY
LIBLZMA_HAS_AUTO_DECODER
@@ -61,9 +62,9 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibLZMA REQUIRED_VARS LIBLZMA_INCLUDE_DIR
VERSION_VAR LIBLZMA_VERSION_STRING
)
-IF (LIBLZMA_FOUND)
- SET(LIBLZMA_LIBRARIES ${LIBLZMA_LIBRARY})
- SET(LIBLZMA_INCLUDE_DIRS ${LIBLZMA_INCLUDE_DIR})
-ENDIF (LIBLZMA_FOUND)
+if (LIBLZMA_FOUND)
+ set(LIBLZMA_LIBRARIES ${LIBLZMA_LIBRARY})
+ set(LIBLZMA_INCLUDE_DIRS ${LIBLZMA_INCLUDE_DIR})
+endif ()
-MARK_AS_ADVANCED( LIBLZMA_INCLUDE_DIR LIBLZMA_LIBRARY )
+mark_as_advanced( LIBLZMA_INCLUDE_DIR LIBLZMA_LIBRARY )
diff --git a/Modules/FindLibXml2.cmake b/Modules/FindLibXml2.cmake
index 48a549806..858496e09 100644
--- a/Modules/FindLibXml2.cmake
+++ b/Modules/FindLibXml2.cmake
@@ -23,44 +23,44 @@
# License text for the above reference.)
# use pkg-config to get the directories and then use these values
-# in the FIND_PATH() and FIND_LIBRARY() calls
-FIND_PACKAGE(PkgConfig QUIET)
+# in the find_path() and find_library() calls
+find_package(PkgConfig QUIET)
PKG_CHECK_MODULES(PC_LIBXML QUIET libxml-2.0)
-SET(LIBXML2_DEFINITIONS ${PC_LIBXML_CFLAGS_OTHER})
+set(LIBXML2_DEFINITIONS ${PC_LIBXML_CFLAGS_OTHER})
-FIND_PATH(LIBXML2_INCLUDE_DIR NAMES libxml/xpath.h
+find_path(LIBXML2_INCLUDE_DIR NAMES libxml/xpath.h
HINTS
${PC_LIBXML_INCLUDEDIR}
${PC_LIBXML_INCLUDE_DIRS}
PATH_SUFFIXES libxml2
)
-FIND_LIBRARY(LIBXML2_LIBRARIES NAMES xml2 libxml2
+find_library(LIBXML2_LIBRARIES NAMES xml2 libxml2
HINTS
${PC_LIBXML_LIBDIR}
${PC_LIBXML_LIBRARY_DIRS}
)
-FIND_PROGRAM(LIBXML2_XMLLINT_EXECUTABLE xmllint)
+find_program(LIBXML2_XMLLINT_EXECUTABLE xmllint)
# for backwards compat. with KDE 4.0.x:
-SET(XMLLINT_EXECUTABLE "${LIBXML2_XMLLINT_EXECUTABLE}")
+set(XMLLINT_EXECUTABLE "${LIBXML2_XMLLINT_EXECUTABLE}")
-IF(PC_LIBXML_VERSION)
- SET(LIBXML2_VERSION_STRING ${PC_LIBXML_VERSION})
-ELSEIF(LIBXML2_INCLUDE_DIR AND EXISTS "${LIBXML2_INCLUDE_DIR}/libxml/xmlversion.h")
- FILE(STRINGS "${LIBXML2_INCLUDE_DIR}/libxml/xmlversion.h" libxml2_version_str
+if(PC_LIBXML_VERSION)
+ set(LIBXML2_VERSION_STRING ${PC_LIBXML_VERSION})
+elseif(LIBXML2_INCLUDE_DIR AND EXISTS "${LIBXML2_INCLUDE_DIR}/libxml/xmlversion.h")
+ file(STRINGS "${LIBXML2_INCLUDE_DIR}/libxml/xmlversion.h" libxml2_version_str
REGEX "^#define[\t ]+LIBXML_DOTTED_VERSION[\t ]+\".*\"")
- STRING(REGEX REPLACE "^#define[\t ]+LIBXML_DOTTED_VERSION[\t ]+\"([^\"]*)\".*" "\\1"
+ string(REGEX REPLACE "^#define[\t ]+LIBXML_DOTTED_VERSION[\t ]+\"([^\"]*)\".*" "\\1"
LIBXML2_VERSION_STRING "${libxml2_version_str}")
- UNSET(libxml2_version_str)
-ENDIF()
+ unset(libxml2_version_str)
+endif()
-# handle the QUIETLY and REQUIRED arguments and set LIBXML2_FOUND to TRUE if
+# handle the QUIETLY and REQUIRED arguments and set LIBXML2_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibXml2
REQUIRED_VARS LIBXML2_LIBRARIES LIBXML2_INCLUDE_DIR
VERSION_VAR LIBXML2_VERSION_STRING)
-MARK_AS_ADVANCED(LIBXML2_INCLUDE_DIR LIBXML2_LIBRARIES LIBXML2_XMLLINT_EXECUTABLE)
+mark_as_advanced(LIBXML2_INCLUDE_DIR LIBXML2_LIBRARIES LIBXML2_XMLLINT_EXECUTABLE)
diff --git a/Modules/FindLibXslt.cmake b/Modules/FindLibXslt.cmake
index dd5aac461..7d142f430 100644
--- a/Modules/FindLibXslt.cmake
+++ b/Modules/FindLibXslt.cmake
@@ -25,50 +25,50 @@
# License text for the above reference.)
# use pkg-config to get the directories and then use these values
-# in the FIND_PATH() and FIND_LIBRARY() calls
-FIND_PACKAGE(PkgConfig QUIET)
+# in the find_path() and find_library() calls
+find_package(PkgConfig QUIET)
PKG_CHECK_MODULES(PC_LIBXSLT QUIET libxslt)
-SET(LIBXSLT_DEFINITIONS ${PC_LIBXSLT_CFLAGS_OTHER})
+set(LIBXSLT_DEFINITIONS ${PC_LIBXSLT_CFLAGS_OTHER})
-FIND_PATH(LIBXSLT_INCLUDE_DIR NAMES libxslt/xslt.h
+find_path(LIBXSLT_INCLUDE_DIR NAMES libxslt/xslt.h
HINTS
${PC_LIBXSLT_INCLUDEDIR}
${PC_LIBXSLT_INCLUDE_DIRS}
)
-FIND_LIBRARY(LIBXSLT_LIBRARIES NAMES xslt libxslt
+find_library(LIBXSLT_LIBRARIES NAMES xslt libxslt
HINTS
${PC_LIBXSLT_LIBDIR}
${PC_LIBXSLT_LIBRARY_DIRS}
)
-FIND_LIBRARY(LIBXSLT_EXSLT_LIBRARY NAMES exslt libexslt
+find_library(LIBXSLT_EXSLT_LIBRARY NAMES exslt libexslt
HINTS
${PC_LIBXSLT_LIBDIR}
${PC_LIBXSLT_LIBRARY_DIRS}
)
-SET(LIBXSLT_EXSLT_LIBRARIES ${LIBXSLT_EXSLT_LIBRARY} )
+set(LIBXSLT_EXSLT_LIBRARIES ${LIBXSLT_EXSLT_LIBRARY} )
-FIND_PROGRAM(LIBXSLT_XSLTPROC_EXECUTABLE xsltproc)
+find_program(LIBXSLT_XSLTPROC_EXECUTABLE xsltproc)
-IF(PC_LIBXSLT_VERSION)
- SET(LIBXSLT_VERSION_STRING ${PC_LIBXSLT_VERSION})
-ELSEIF(LIBXSLT_INCLUDE_DIR AND EXISTS "${LIBXSLT_INCLUDE_DIR}/libxslt/xsltconfig.h")
- FILE(STRINGS "${LIBXSLT_INCLUDE_DIR}/libxslt/xsltconfig.h" libxslt_version_str
+if(PC_LIBXSLT_VERSION)
+ set(LIBXSLT_VERSION_STRING ${PC_LIBXSLT_VERSION})
+elseif(LIBXSLT_INCLUDE_DIR AND EXISTS "${LIBXSLT_INCLUDE_DIR}/libxslt/xsltconfig.h")
+ file(STRINGS "${LIBXSLT_INCLUDE_DIR}/libxslt/xsltconfig.h" libxslt_version_str
REGEX "^#define[\t ]+LIBXSLT_DOTTED_VERSION[\t ]+\".*\"")
- STRING(REGEX REPLACE "^#define[\t ]+LIBXSLT_DOTTED_VERSION[\t ]+\"([^\"]*)\".*" "\\1"
+ string(REGEX REPLACE "^#define[\t ]+LIBXSLT_DOTTED_VERSION[\t ]+\"([^\"]*)\".*" "\\1"
LIBXSLT_VERSION_STRING "${libxslt_version_str}")
- UNSET(libxslt_version_str)
-ENDIF()
+ unset(libxslt_version_str)
+endif()
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibXslt
REQUIRED_VARS LIBXSLT_LIBRARIES LIBXSLT_INCLUDE_DIR
VERSION_VAR LIBXSLT_VERSION_STRING)
-MARK_AS_ADVANCED(LIBXSLT_INCLUDE_DIR
+mark_as_advanced(LIBXSLT_INCLUDE_DIR
LIBXSLT_LIBRARIES
LIBXSLT_EXSLT_LIBRARY
LIBXSLT_XSLTPROC_EXECUTABLE)
diff --git a/Modules/FindLua50.cmake b/Modules/FindLua50.cmake
index 9a5cc1703..0276a98f4 100644
--- a/Modules/FindLua50.cmake
+++ b/Modules/FindLua50.cmake
@@ -1,6 +1,6 @@
# Locate Lua library
# This module defines
-# LUA50_FOUND, if false, do not try to link to Lua
+# LUA50_FOUND, if false, do not try to link to Lua
# LUA_LIBRARIES, both lua and lualib
# LUA_INCLUDE_DIR, where to find lua.h and lualib.h (and probably lauxlib.h)
#
@@ -24,9 +24,9 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PATH(LUA_INCLUDE_DIR lua.h
+find_path(LUA_INCLUDE_DIR lua.h
HINTS
- $ENV{LUA_DIR}
+ ENV LUA_DIR
PATH_SUFFIXES include/lua50 include/lua5.0 include/lua5 include/lua include
PATHS
~/Library/Frameworks
@@ -37,11 +37,11 @@ FIND_PATH(LUA_INCLUDE_DIR lua.h
/opt
)
-FIND_LIBRARY(LUA_LIBRARY_lua
+find_library(LUA_LIBRARY_lua
NAMES lua50 lua5.0 lua-5.0 lua5 lua
HINTS
- $ENV{LUA_DIR}
- PATH_SUFFIXES lib64 lib
+ ENV LUA_DIR
+ PATH_SUFFIXES lib
PATHS
~/Library/Frameworks
/Library/Frameworks
@@ -53,38 +53,38 @@ FIND_LIBRARY(LUA_LIBRARY_lua
# In an OS X framework, lualib is usually included as part of the framework
# (like GLU in OpenGL.framework)
-IF(${LUA_LIBRARY_lua} MATCHES "framework")
- SET( LUA_LIBRARIES "${LUA_LIBRARY_lua}" CACHE STRING "Lua framework")
-ELSE(${LUA_LIBRARY_lua} MATCHES "framework")
- FIND_LIBRARY(LUA_LIBRARY_lualib
+if(${LUA_LIBRARY_lua} MATCHES "framework")
+ set( LUA_LIBRARIES "${LUA_LIBRARY_lua}" CACHE STRING "Lua framework")
+else()
+ find_library(LUA_LIBRARY_lualib
NAMES lualib50 lualib5.0 lualib5 lualib
HINTS
- $ENV{LUALIB_DIR}
- $ENV{LUA_DIR}
- PATH_SUFFIXES lib64 lib
+ ENV LUALIB_DIR
+ ENV LUA_DIR
+ PATH_SUFFIXES lib
PATHS
/sw
/opt/local
/opt/csw
/opt
)
- IF(LUA_LIBRARY_lualib AND LUA_LIBRARY_lua)
+ if(LUA_LIBRARY_lualib AND LUA_LIBRARY_lua)
# include the math library for Unix
- IF(UNIX AND NOT APPLE)
- FIND_LIBRARY(MATH_LIBRARY_FOR_LUA m)
- SET( LUA_LIBRARIES "${LUA_LIBRARY_lualib};${LUA_LIBRARY_lua};${MATH_LIBRARY_FOR_LUA}" CACHE STRING "This is the concatentation of lua and lualib libraries")
+ if(UNIX AND NOT APPLE)
+ find_library(MATH_LIBRARY_FOR_LUA m)
+ set( LUA_LIBRARIES "${LUA_LIBRARY_lualib};${LUA_LIBRARY_lua};${MATH_LIBRARY_FOR_LUA}" CACHE STRING "This is the concatentation of lua and lualib libraries")
# For Windows and Mac, don't need to explicitly include the math library
- ELSE(UNIX AND NOT APPLE)
- SET( LUA_LIBRARIES "${LUA_LIBRARY_lualib};${LUA_LIBRARY_lua}" CACHE STRING "This is the concatentation of lua and lualib libraries")
- ENDIF(UNIX AND NOT APPLE)
- ENDIF(LUA_LIBRARY_lualib AND LUA_LIBRARY_lua)
-ENDIF(${LUA_LIBRARY_lua} MATCHES "framework")
+ else()
+ set( LUA_LIBRARIES "${LUA_LIBRARY_lualib};${LUA_LIBRARY_lua}" CACHE STRING "This is the concatentation of lua and lualib libraries")
+ endif()
+ endif()
+endif()
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-# handle the QUIETLY and REQUIRED arguments and set LUA_FOUND to TRUE if
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+# 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)
-MARK_AS_ADVANCED(LUA_INCLUDE_DIR LUA_LIBRARIES)
+mark_as_advanced(LUA_INCLUDE_DIR LUA_LIBRARIES)
diff --git a/Modules/FindLua51.cmake b/Modules/FindLua51.cmake
index e111d3624..eac25f526 100644
--- a/Modules/FindLua51.cmake
+++ b/Modules/FindLua51.cmake
@@ -1,6 +1,6 @@
# Locate Lua library
# This module defines
-# LUA51_FOUND, if false, do not try to link to Lua
+# LUA51_FOUND, if false, do not try to link to Lua
# LUA_LIBRARIES
# LUA_INCLUDE_DIR, where to find lua.h
# LUA_VERSION_STRING, the version of Lua found (since CMake 2.8.8)
@@ -25,9 +25,9 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PATH(LUA_INCLUDE_DIR lua.h
+find_path(LUA_INCLUDE_DIR lua.h
HINTS
- $ENV{LUA_DIR}
+ ENV LUA_DIR
PATH_SUFFIXES include/lua51 include/lua5.1 include/lua include
PATHS
~/Library/Frameworks
@@ -38,11 +38,11 @@ FIND_PATH(LUA_INCLUDE_DIR lua.h
/opt
)
-FIND_LIBRARY(LUA_LIBRARY
+find_library(LUA_LIBRARY
NAMES lua51 lua5.1 lua-5.1 lua
HINTS
- $ENV{LUA_DIR}
- PATH_SUFFIXES lib64 lib
+ ENV LUA_DIR
+ PATH_SUFFIXES lib
PATHS
~/Library/Frameworks
/Library/Frameworks
@@ -52,30 +52,30 @@ FIND_LIBRARY(LUA_LIBRARY
/opt
)
-IF(LUA_LIBRARY)
+if(LUA_LIBRARY)
# include the math library for Unix
- IF(UNIX AND NOT APPLE)
- FIND_LIBRARY(LUA_MATH_LIBRARY m)
- SET( LUA_LIBRARIES "${LUA_LIBRARY};${LUA_MATH_LIBRARY}" CACHE STRING "Lua Libraries")
+ if(UNIX AND NOT APPLE)
+ find_library(LUA_MATH_LIBRARY m)
+ set( LUA_LIBRARIES "${LUA_LIBRARY};${LUA_MATH_LIBRARY}" CACHE STRING "Lua Libraries")
# For Windows and Mac, don't need to explicitly include the math library
- ELSE(UNIX AND NOT APPLE)
- SET( LUA_LIBRARIES "${LUA_LIBRARY}" CACHE STRING "Lua Libraries")
- ENDIF(UNIX AND NOT APPLE)
-ENDIF(LUA_LIBRARY)
+ else()
+ set( LUA_LIBRARIES "${LUA_LIBRARY}" CACHE STRING "Lua Libraries")
+ endif()
+endif()
-IF(LUA_INCLUDE_DIR AND EXISTS "${LUA_INCLUDE_DIR}/lua.h")
- FILE(STRINGS "${LUA_INCLUDE_DIR}/lua.h" lua_version_str REGEX "^#define[ \t]+LUA_RELEASE[ \t]+\"Lua .+\"")
+if(LUA_INCLUDE_DIR AND EXISTS "${LUA_INCLUDE_DIR}/lua.h")
+ file(STRINGS "${LUA_INCLUDE_DIR}/lua.h" lua_version_str REGEX "^#define[ \t]+LUA_RELEASE[ \t]+\"Lua .+\"")
- STRING(REGEX REPLACE "^#define[ \t]+LUA_RELEASE[ \t]+\"Lua ([^\"]+)\".*" "\\1" LUA_VERSION_STRING "${lua_version_str}")
- UNSET(lua_version_str)
-ENDIF()
+ string(REGEX REPLACE "^#define[ \t]+LUA_RELEASE[ \t]+\"Lua ([^\"]+)\".*" "\\1" LUA_VERSION_STRING "${lua_version_str}")
+ unset(lua_version_str)
+endif()
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-# handle the QUIETLY and REQUIRED arguments and set LUA_FOUND to TRUE if
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+# handle the QUIETLY and REQUIRED arguments and set LUA_FOUND to TRUE if
# all listed variables are TRUE
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Lua51
REQUIRED_VARS LUA_LIBRARIES LUA_INCLUDE_DIR
VERSION_VAR LUA_VERSION_STRING)
-MARK_AS_ADVANCED(LUA_INCLUDE_DIR LUA_LIBRARIES LUA_LIBRARY LUA_MATH_LIBRARY)
+mark_as_advanced(LUA_INCLUDE_DIR LUA_LIBRARIES LUA_LIBRARY LUA_MATH_LIBRARY)
diff --git a/Modules/FindMFC.cmake b/Modules/FindMFC.cmake
index 3df284241..4ff7586dc 100644
--- a/Modules/FindMFC.cmake
+++ b/Modules/FindMFC.cmake
@@ -18,43 +18,43 @@
# License text for the above reference.)
# Assume no MFC support
-SET(MFC_FOUND "NO")
+set(MFC_FOUND "NO")
# Only attempt the try_compile call if it has a chance to succeed:
-SET(MFC_ATTEMPT_TRY_COMPILE 0)
-IF(WIN32 AND NOT UNIX AND NOT BORLAND AND NOT MINGW)
- SET(MFC_ATTEMPT_TRY_COMPILE 1)
-ENDIF(WIN32 AND NOT UNIX AND NOT BORLAND AND NOT MINGW)
+set(MFC_ATTEMPT_TRY_COMPILE 0)
+if(WIN32 AND NOT UNIX AND NOT BORLAND AND NOT MINGW)
+ set(MFC_ATTEMPT_TRY_COMPILE 1)
+endif()
-IF(MFC_ATTEMPT_TRY_COMPILE)
- IF("MFC_HAVE_MFC" MATCHES "^MFC_HAVE_MFC$")
- SET(CHECK_INCLUDE_FILE_VAR "afxwin.h")
- CONFIGURE_FILE(${CMAKE_ROOT}/Modules/CheckIncludeFile.cxx.in
+if(MFC_ATTEMPT_TRY_COMPILE)
+ if("MFC_HAVE_MFC" MATCHES "^MFC_HAVE_MFC$")
+ set(CHECK_INCLUDE_FILE_VAR "afxwin.h")
+ configure_file(${CMAKE_ROOT}/Modules/CheckIncludeFile.cxx.in
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFile.cxx)
- MESSAGE(STATUS "Looking for MFC")
- TRY_COMPILE(MFC_HAVE_MFC
+ message(STATUS "Looking for MFC")
+ try_compile(MFC_HAVE_MFC
${CMAKE_BINARY_DIR}
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckIncludeFile.cxx
CMAKE_FLAGS
-DCMAKE_MFC_FLAG:STRING=2
-DCOMPILE_DEFINITIONS:STRING=-D_AFXDLL
OUTPUT_VARIABLE OUTPUT)
- IF(MFC_HAVE_MFC)
- MESSAGE(STATUS "Looking for MFC - found")
- SET(MFC_HAVE_MFC 1 CACHE INTERNAL "Have MFC?")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ if(MFC_HAVE_MFC)
+ message(STATUS "Looking for MFC - found")
+ set(MFC_HAVE_MFC 1 CACHE INTERNAL "Have MFC?")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Determining if MFC exists passed with the following output:\n"
"${OUTPUT}\n\n")
- ELSE(MFC_HAVE_MFC)
- MESSAGE(STATUS "Looking for MFC - not found")
- SET(MFC_HAVE_MFC 0 CACHE INTERNAL "Have MFC?")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ else()
+ message(STATUS "Looking for MFC - not found")
+ set(MFC_HAVE_MFC 0 CACHE INTERNAL "Have MFC?")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Determining if MFC exists failed with the following output:\n"
"${OUTPUT}\n\n")
- ENDIF(MFC_HAVE_MFC)
- ENDIF("MFC_HAVE_MFC" MATCHES "^MFC_HAVE_MFC$")
+ endif()
+ endif()
- IF(MFC_HAVE_MFC)
- SET(MFC_FOUND "YES")
- ENDIF(MFC_HAVE_MFC)
-ENDIF(MFC_ATTEMPT_TRY_COMPILE)
+ if(MFC_HAVE_MFC)
+ set(MFC_FOUND "YES")
+ endif()
+endif()
diff --git a/Modules/FindMPEG.cmake b/Modules/FindMPEG.cmake
index cf4ef58f8..f99f87b87 100644
--- a/Modules/FindMPEG.cmake
+++ b/Modules/FindMPEG.cmake
@@ -20,25 +20,25 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PATH(MPEG_INCLUDE_DIR mpeg2dec/include/video_out.h
+find_path(MPEG_INCLUDE_DIR mpeg2dec/include/video_out.h
/usr/local/livid
)
-FIND_LIBRARY(MPEG_mpeg2_LIBRARY mpeg2
+find_library(MPEG_mpeg2_LIBRARY mpeg2
/usr/local/livid/mpeg2dec/libmpeg2/.libs
)
-FIND_LIBRARY( MPEG_vo_LIBRARY vo
+find_library( MPEG_vo_LIBRARY vo
/usr/local/livid/mpeg2dec/libvo/.libs
)
-# handle the QUIETLY and REQUIRED arguments and set MPEG2_FOUND to TRUE if
+# handle the QUIETLY and REQUIRED arguments and set MPEG2_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(MPEG DEFAULT_MSG MPEG_INCLUDE_DIR MPEG_mpeg2_LIBRARY MPEG_vo_LIBRARY)
-IF(MPEG_FOUND)
- SET( MPEG_LIBRARIES ${MPEG_mpeg2_LIBRARY} ${MPEG_vo_LIBRARY} )
-ENDIF(MPEG_FOUND)
+if(MPEG_FOUND)
+ set( MPEG_LIBRARIES ${MPEG_mpeg2_LIBRARY} ${MPEG_vo_LIBRARY} )
+endif()
-MARK_AS_ADVANCED(MPEG_INCLUDE_DIR MPEG_mpeg2_LIBRARY MPEG_vo_LIBRARY)
+mark_as_advanced(MPEG_INCLUDE_DIR MPEG_mpeg2_LIBRARY MPEG_vo_LIBRARY)
diff --git a/Modules/FindMPEG2.cmake b/Modules/FindMPEG2.cmake
index fab37cf54..0290ecaf2 100644
--- a/Modules/FindMPEG2.cmake
+++ b/Modules/FindMPEG2.cmake
@@ -20,35 +20,35 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PATH(MPEG2_INCLUDE_DIR
+find_path(MPEG2_INCLUDE_DIR
NAMES mpeg2.h mpeg2dec/mpeg2.h
PATHS /usr/local/livid
)
-FIND_LIBRARY(MPEG2_mpeg2_LIBRARY mpeg2
+find_library(MPEG2_mpeg2_LIBRARY mpeg2
/usr/local/livid/mpeg2dec/libmpeg2/.libs
)
-FIND_LIBRARY( MPEG2_vo_LIBRARY vo
+find_library( MPEG2_vo_LIBRARY vo
/usr/local/livid/mpeg2dec/libvo/.libs
)
-# handle the QUIETLY and REQUIRED arguments and set MPEG2_FOUND to TRUE if
+# handle the QUIETLY and REQUIRED arguments and set MPEG2_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(MPEG2 DEFAULT_MSG MPEG2_mpeg2_LIBRARY MPEG2_INCLUDE_DIR)
-IF(MPEG2_FOUND)
- SET( MPEG2_LIBRARIES ${MPEG2_mpeg2_LIBRARY}
+if(MPEG2_FOUND)
+ set( MPEG2_LIBRARIES ${MPEG2_mpeg2_LIBRARY}
${MPEG2_vo_LIBRARY})
#some native mpeg2 installations will depend
#on libSDL, if found, add it in.
- INCLUDE( FindSDL )
- IF(SDL_FOUND)
- SET( MPEG2_LIBRARIES ${MPEG2_LIBRARIES} ${SDL_LIBRARY})
- ENDIF(SDL_FOUND)
-ENDIF(MPEG2_FOUND)
+ include( FindSDL )
+ if(SDL_FOUND)
+ set( MPEG2_LIBRARIES ${MPEG2_LIBRARIES} ${SDL_LIBRARY})
+ endif()
+endif()
-MARK_AS_ADVANCED(MPEG2_INCLUDE_DIR MPEG2_mpeg2_LIBRARY MPEG2_vo_LIBRARY)
+mark_as_advanced(MPEG2_INCLUDE_DIR MPEG2_mpeg2_LIBRARY MPEG2_vo_LIBRARY)
diff --git a/Modules/FindMPI.cmake b/Modules/FindMPI.cmake
index ae50ca7b9..4ce4de9f5 100644
--- a/Modules/FindMPI.cmake
+++ b/Modules/FindMPI.cmake
@@ -576,6 +576,11 @@ foreach (lang C CXX Fortran)
try_regular_compiler(${lang} regular_compiler_worked)
endif()
+ set(MPI_${lang}_FIND_QUIETLY ${MPI_FIND_QUIETLY})
+ set(MPI_${lang}_FIND_REQUIRED ${MPI_FIND_REQUIRED})
+ set(MPI_${lang}_FIND_VERSION ${MPI_FIND_VERSION})
+ set(MPI_${lang}_FIND_VERSION_EXACT ${MPI_FIND_VERSION_EXACT})
+
if (regular_compiler_worked)
find_package_handle_standard_args(MPI_${lang} DEFAULT_MSG MPI_${lang}_COMPILER)
else()
diff --git a/Modules/FindMatlab.cmake b/Modules/FindMatlab.cmake
index 1cdb07174..803848806 100644
--- a/Modules/FindMatlab.cmake
+++ b/Modules/FindMatlab.cmake
@@ -19,75 +19,75 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-SET(MATLAB_FOUND 0)
-IF(WIN32)
- IF(${CMAKE_GENERATOR} MATCHES "Visual Studio 6")
- SET(MATLAB_ROOT "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MathWorks\\MATLAB\\7.0;MATLABROOT]/extern/lib/win32/microsoft/msvc60")
- ELSE(${CMAKE_GENERATOR} MATCHES "Visual Studio 6")
- IF(${CMAKE_GENERATOR} MATCHES "Visual Studio 7")
+set(MATLAB_FOUND 0)
+if(WIN32)
+ if(${CMAKE_GENERATOR} MATCHES "Visual Studio 6")
+ set(MATLAB_ROOT "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MathWorks\\MATLAB\\7.0;MATLABROOT]/extern/lib/win32/microsoft/msvc60")
+ else()
+ if(${CMAKE_GENERATOR} MATCHES "Visual Studio 7")
# Assume people are generally using 7.1,
# if using 7.0 need to link to: ../extern/lib/win32/microsoft/msvc70
- SET(MATLAB_ROOT "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MathWorks\\MATLAB\\7.0;MATLABROOT]/extern/lib/win32/microsoft/msvc71")
- ELSE(${CMAKE_GENERATOR} MATCHES "Visual Studio 7")
- IF(${CMAKE_GENERATOR} MATCHES "Borland")
+ set(MATLAB_ROOT "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MathWorks\\MATLAB\\7.0;MATLABROOT]/extern/lib/win32/microsoft/msvc71")
+ else()
+ if(${CMAKE_GENERATOR} MATCHES "Borland")
# 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")
- 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")
- FIND_LIBRARY(MATLAB_MEX_LIBRARY
+ set(MATLAB_ROOT "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MathWorks\\MATLAB\\7.0;MATLABROOT]/extern/lib/win32/microsoft/bcc54")
+ else()
+ if(MATLAB_FIND_REQUIRED)
+ message(FATAL_ERROR "Generator not compatible: ${CMAKE_GENERATOR}")
+ endif()
+ endif()
+ endif()
+ endif()
+ find_library(MATLAB_MEX_LIBRARY
libmex
${MATLAB_ROOT}
)
- FIND_LIBRARY(MATLAB_MX_LIBRARY
+ find_library(MATLAB_MX_LIBRARY
libmx
${MATLAB_ROOT}
)
- FIND_LIBRARY(MATLAB_ENG_LIBRARY
+ find_library(MATLAB_ENG_LIBRARY
libeng
${MATLAB_ROOT}
)
- FIND_PATH(MATLAB_INCLUDE_DIR
+ find_path(MATLAB_INCLUDE_DIR
"mex.h"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MathWorks\\MATLAB\\7.0;MATLABROOT]/extern/include"
)
-ELSE( WIN32 )
- IF(CMAKE_SIZEOF_VOID_P EQUAL 4)
+else()
+ if(CMAKE_SIZEOF_VOID_P EQUAL 4)
# Regular x86
- SET(MATLAB_ROOT
+ set(MATLAB_ROOT
/usr/local/matlab-7sp1/bin/glnx86/
/opt/matlab-7sp1/bin/glnx86/
$ENV{HOME}/matlab-7sp1/bin/glnx86/
$ENV{HOME}/redhat-matlab/bin/glnx86/
)
- ELSE(CMAKE_SIZEOF_VOID_P EQUAL 4)
+ else()
# AMD64:
- SET(MATLAB_ROOT
+ set(MATLAB_ROOT
/usr/local/matlab-7sp1/bin/glnxa64/
/opt/matlab-7sp1/bin/glnxa64/
$ENV{HOME}/matlab7_64/bin/glnxa64/
$ENV{HOME}/matlab-7sp1/bin/glnxa64/
$ENV{HOME}/redhat-matlab/bin/glnxa64/
)
- ENDIF(CMAKE_SIZEOF_VOID_P EQUAL 4)
- FIND_LIBRARY(MATLAB_MEX_LIBRARY
+ endif()
+ find_library(MATLAB_MEX_LIBRARY
mex
${MATLAB_ROOT}
)
- FIND_LIBRARY(MATLAB_MX_LIBRARY
+ find_library(MATLAB_MX_LIBRARY
mx
${MATLAB_ROOT}
)
- FIND_LIBRARY(MATLAB_ENG_LIBRARY
+ find_library(MATLAB_ENG_LIBRARY
eng
${MATLAB_ROOT}
)
- FIND_PATH(MATLAB_INCLUDE_DIR
+ find_path(MATLAB_INCLUDE_DIR
"mex.h"
"/usr/local/matlab-7sp1/extern/include/"
"/opt/matlab-7sp1/extern/include/"
@@ -95,20 +95,20 @@ ELSE( WIN32 )
"$ENV{HOME}/redhat-matlab/extern/include/"
)
-ENDIF(WIN32)
+endif()
# This is common to UNIX and Win32:
-SET(MATLAB_LIBRARIES
+set(MATLAB_LIBRARIES
${MATLAB_MEX_LIBRARY}
${MATLAB_MX_LIBRARY}
${MATLAB_ENG_LIBRARY}
)
-IF(MATLAB_INCLUDE_DIR AND MATLAB_LIBRARIES)
- SET(MATLAB_FOUND 1)
-ENDIF(MATLAB_INCLUDE_DIR AND MATLAB_LIBRARIES)
+if(MATLAB_INCLUDE_DIR AND MATLAB_LIBRARIES)
+ set(MATLAB_FOUND 1)
+endif()
-MARK_AS_ADVANCED(
+mark_as_advanced(
MATLAB_LIBRARIES
MATLAB_MEX_LIBRARY
MATLAB_MX_LIBRARY
diff --git a/Modules/FindMotif.cmake b/Modules/FindMotif.cmake
index e35411272..5065e3a2d 100644
--- a/Modules/FindMotif.cmake
+++ b/Modules/FindMotif.cmake
@@ -17,28 +17,28 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-SET(MOTIF_FOUND 0)
+set(MOTIF_FOUND 0)
-IF(UNIX)
- FIND_PATH(MOTIF_INCLUDE_DIR
+if(UNIX)
+ find_path(MOTIF_INCLUDE_DIR
Xm/Xm.h
/usr/openwin/include
)
- FIND_LIBRARY(MOTIF_LIBRARIES
+ find_library(MOTIF_LIBRARIES
Xm
/usr/openwin/lib
)
-ENDIF(UNIX)
+endif()
-# handle the QUIETLY and REQUIRED arguments and set MOTIF_FOUND to TRUE if
+# handle the QUIETLY and REQUIRED arguments and set MOTIF_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Motif DEFAULT_MSG MOTIF_LIBRARIES MOTIF_INCLUDE_DIR)
-MARK_AS_ADVANCED(
+mark_as_advanced(
MOTIF_INCLUDE_DIR
MOTIF_LIBRARIES
)
diff --git a/Modules/FindOpenAL.cmake b/Modules/FindOpenAL.cmake
index cb3ce4813..78fd632a5 100644
--- a/Modules/FindOpenAL.cmake
+++ b/Modules/FindOpenAL.cmake
@@ -1,7 +1,7 @@
# Locate OpenAL
# This module defines
# OPENAL_LIBRARY
-# OPENAL_FOUND, if false, do not try to link to OpenAL
+# OPENAL_FOUND, if false, do not try to link to OpenAL
# OPENAL_INCLUDE_DIR, where to find the headers
#
# $OPENALDIR is an environment variable that would
@@ -25,31 +25,31 @@
# This makes the presumption that you are include al.h like
# #include "al.h"
-# and not
+# and not
# #include <AL/al.h>
# The reason for this is that the latter is not entirely portable.
-# Windows/Creative Labs does not by default put their headers in AL/ and
+# Windows/Creative Labs does not by default put their headers in AL/ and
# OS X uses the convention <OpenAL/al.h>.
-#
-# For Windows, Creative Labs seems to have added a registry key for their
+#
+# For Windows, Creative Labs seems to have added a registry key for their
# OpenAL 1.1 installer. I have added that key to the list of search paths,
-# however, the key looks like it could be a little fragile depending on
+# however, the key looks like it could be a little fragile depending on
# if they decide to change the 1.00.0000 number for bug fix releases.
# Also, they seem to have laid down groundwork for multiple library platforms
# which puts the library in an extra subdirectory. Currently there is only
-# Win32 and I have hardcoded that here. This may need to be adjusted as
+# Win32 and I have hardcoded that here. This may need to be adjusted as
# platforms are introduced.
# The OpenAL 1.0 installer doesn't seem to have a useful key I can use.
# I do not know if the Nvidia OpenAL SDK has a registry key.
-#
-# For OS X, remember that OpenAL was added by Apple in 10.4 (Tiger).
-# To support the framework, I originally wrote special framework detection
+#
+# For OS X, remember that OpenAL was added by Apple in 10.4 (Tiger).
+# To support the framework, I originally wrote special framework detection
# code in this module which I have now removed with CMake's introduction
# of native support for frameworks.
-# In addition, OpenAL is open source, and it is possible to compile on Panther.
-# Furthermore, due to bugs in the initial OpenAL release, and the
+# In addition, OpenAL is open source, and it is possible to compile on Panther.
+# Furthermore, due to bugs in the initial OpenAL release, and the
# transition to OpenAL 1.1, it is common to need to override the built-in
-# framework.
+# framework.
# Per my request, CMake should search for frameworks first in
# the following order:
# ~/Library/Frameworks/OpenAL.framework/Headers
@@ -57,13 +57,13 @@
# /System/Library/Frameworks/OpenAL.framework/Headers
#
# On OS X, this will prefer the Framework version (if found) over others.
-# People will have to manually change the cache values of
+# People will have to manually change the cache values of
# OPENAL_LIBRARY to override this selection or set the CMake environment
# CMAKE_INCLUDE_PATH to modify the search paths.
-FIND_PATH(OPENAL_INCLUDE_DIR al.h
+find_path(OPENAL_INCLUDE_DIR al.h
HINTS
- $ENV{OPENALDIR}
+ ENV OPENALDIR
PATH_SUFFIXES include/AL include/OpenAL include
PATHS
~/Library/Frameworks
@@ -75,10 +75,10 @@ FIND_PATH(OPENAL_INCLUDE_DIR al.h
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Creative\ Labs\\OpenAL\ 1.1\ Software\ Development\ Kit\\1.00.0000;InstallDir]
)
-FIND_LIBRARY(OPENAL_LIBRARY
+find_library(OPENAL_LIBRARY
NAMES OpenAL al openal OpenAL32
HINTS
- $ENV{OPENALDIR}
+ ENV OPENALDIR
PATH_SUFFIXES lib64 lib libs64 libs libs/Win32 libs/Win64
PATHS
~/Library/Frameworks
@@ -93,7 +93,7 @@ FIND_LIBRARY(OPENAL_LIBRARY
# handle the QUIETLY and REQUIRED arguments and set OPENAL_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenAL DEFAULT_MSG OPENAL_LIBRARY OPENAL_INCLUDE_DIR)
-MARK_AS_ADVANCED(OPENAL_LIBRARY OPENAL_INCLUDE_DIR)
+mark_as_advanced(OPENAL_LIBRARY OPENAL_INCLUDE_DIR)
diff --git a/Modules/FindOpenGL.cmake b/Modules/FindOpenGL.cmake
index 98d8808c0..a6f450385 100644
--- a/Modules/FindOpenGL.cmake
+++ b/Modules/FindOpenGL.cmake
@@ -1,18 +1,18 @@
# - Try to find OpenGL
# Once done this will define
-#
+#
# OPENGL_FOUND - system has OpenGL
# OPENGL_XMESA_FOUND - system has XMESA
# OPENGL_GLU_FOUND - system has GLU
# OPENGL_INCLUDE_DIR - the GL include directory
# OPENGL_LIBRARIES - Link these to use OpenGL and GLU
-#
+#
# If you want to use just GL you can use these values
# OPENGL_gl_LIBRARY - Path to OpenGL Library
# OPENGL_glu_LIBRARY - Path to GLU Library
-#
+#
# On OSX default to using the framework version of opengl
-# People will have to change the cache values of OPENGL_glu_LIBRARY
+# People will have to change the cache values of OPENGL_glu_LIBRARY
# and OPENGL_gl_LIBRARY to use OpenGL with X11 on OSX
#=============================================================================
@@ -28,45 +28,45 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-IF (WIN32)
- IF (CYGWIN)
+if (WIN32)
+ if (CYGWIN)
- FIND_PATH(OPENGL_INCLUDE_DIR GL/gl.h )
+ find_path(OPENGL_INCLUDE_DIR GL/gl.h )
- FIND_LIBRARY(OPENGL_gl_LIBRARY opengl32 )
+ find_library(OPENGL_gl_LIBRARY opengl32 )
- FIND_LIBRARY(OPENGL_glu_LIBRARY glu32 )
+ find_library(OPENGL_glu_LIBRARY glu32 )
- ELSE (CYGWIN)
+ else ()
- IF(BORLAND)
- SET (OPENGL_gl_LIBRARY import32 CACHE STRING "OpenGL library for win32")
- SET (OPENGL_glu_LIBRARY import32 CACHE STRING "GLU library for win32")
- ELSE(BORLAND)
- SET (OPENGL_gl_LIBRARY opengl32 CACHE STRING "OpenGL library for win32")
- SET (OPENGL_glu_LIBRARY glu32 CACHE STRING "GLU library for win32")
- ENDIF(BORLAND)
+ if(BORLAND)
+ set (OPENGL_gl_LIBRARY import32 CACHE STRING "OpenGL library for win32")
+ set (OPENGL_glu_LIBRARY import32 CACHE STRING "GLU library for win32")
+ else()
+ set (OPENGL_gl_LIBRARY opengl32 CACHE STRING "OpenGL library for win32")
+ set (OPENGL_glu_LIBRARY glu32 CACHE STRING "GLU library for win32")
+ endif()
- ENDIF (CYGWIN)
+ endif ()
-ELSE (WIN32)
+else ()
- IF (APPLE)
+ if (APPLE)
- FIND_LIBRARY(OPENGL_gl_LIBRARY OpenGL DOC "OpenGL lib for OSX")
- FIND_LIBRARY(OPENGL_glu_LIBRARY AGL DOC "AGL lib for OSX")
- FIND_PATH(OPENGL_INCLUDE_DIR OpenGL/gl.h DOC "Include for OpenGL on OSX")
+ find_library(OPENGL_gl_LIBRARY OpenGL DOC "OpenGL lib for OSX")
+ find_library(OPENGL_glu_LIBRARY AGL DOC "AGL lib for OSX")
+ find_path(OPENGL_INCLUDE_DIR OpenGL/gl.h DOC "Include for OpenGL on OSX")
- ELSE(APPLE)
+ else()
# Handle HP-UX cases where we only want to find OpenGL in either hpux64
# or hpux32 depending on if we're doing a 64 bit build.
- IF(CMAKE_SIZEOF_VOID_P EQUAL 4)
- SET(HPUX_IA_OPENGL_LIB_PATH /opt/graphics/OpenGL/lib/hpux32/)
- ELSE(CMAKE_SIZEOF_VOID_P EQUAL 4)
- SET(HPUX_IA_OPENGL_LIB_PATH
+ if(CMAKE_SIZEOF_VOID_P EQUAL 4)
+ set(HPUX_IA_OPENGL_LIB_PATH /opt/graphics/OpenGL/lib/hpux32/)
+ else()
+ set(HPUX_IA_OPENGL_LIB_PATH
/opt/graphics/OpenGL/lib/hpux64/
/opt/graphics/OpenGL/lib/pa20_64)
- ENDIF(CMAKE_SIZEOF_VOID_P EQUAL 4)
+ endif()
# The first line below is to make sure that the proper headers
# are used on a Linux machine with the NVidia drivers installed.
@@ -76,19 +76,19 @@ ELSE (WIN32)
# Make sure the NVIDIA directory comes BEFORE the others.
# - Atanas Georgiev <atanas@cs.columbia.edu>
- FIND_PATH(OPENGL_INCLUDE_DIR GL/gl.h
+ find_path(OPENGL_INCLUDE_DIR GL/gl.h
/usr/share/doc/NVIDIA_GLX-1.0/include
/usr/openwin/share/include
/opt/graphics/OpenGL/include /usr/X11R6/include
)
- FIND_PATH(OPENGL_xmesa_INCLUDE_DIR GL/xmesa.h
+ 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 /usr/X11R6/include
)
- FIND_LIBRARY(OPENGL_gl_LIBRARY
+ find_library(OPENGL_gl_LIBRARY
NAMES GL MesaGL
PATHS /opt/graphics/OpenGL/lib
/usr/openwin/lib
@@ -97,22 +97,22 @@ ELSE (WIN32)
)
# On Unix OpenGL most certainly always requires X11.
- # Feel free to tighten up these conditions if you don't
+ # Feel free to tighten up these conditions if you don't
# think this is always true.
# It's not true on OSX.
- IF (OPENGL_gl_LIBRARY)
- IF(NOT X11_FOUND)
- INCLUDE(FindX11)
- ENDIF(NOT X11_FOUND)
- IF (X11_FOUND)
- IF (NOT APPLE)
- SET (OPENGL_LIBRARIES ${X11_LIBRARIES})
- ENDIF (NOT APPLE)
- ENDIF (X11_FOUND)
- ENDIF (OPENGL_gl_LIBRARY)
-
- FIND_LIBRARY(OPENGL_glu_LIBRARY
+ if (OPENGL_gl_LIBRARY)
+ if(NOT X11_FOUND)
+ include(FindX11)
+ endif()
+ if (X11_FOUND)
+ if (NOT APPLE)
+ set (OPENGL_LIBRARIES ${X11_LIBRARIES})
+ endif ()
+ endif ()
+ endif ()
+
+ find_library(OPENGL_glu_LIBRARY
NAMES GLU MesaGLU
PATHS ${OPENGL_gl_LIBRARY}
/opt/graphics/OpenGL/lib
@@ -120,39 +120,39 @@ ELSE (WIN32)
/usr/shlib /usr/X11R6/lib
)
- ENDIF(APPLE)
-ENDIF (WIN32)
+ endif()
+endif ()
-IF(OPENGL_gl_LIBRARY)
+if(OPENGL_gl_LIBRARY)
- IF(OPENGL_xmesa_INCLUDE_DIR)
- SET( OPENGL_XMESA_FOUND "YES" )
- ELSE(OPENGL_xmesa_INCLUDE_DIR)
- SET( OPENGL_XMESA_FOUND "NO" )
- ENDIF(OPENGL_xmesa_INCLUDE_DIR)
+ if(OPENGL_xmesa_INCLUDE_DIR)
+ set( OPENGL_XMESA_FOUND "YES" )
+ else()
+ set( OPENGL_XMESA_FOUND "NO" )
+ endif()
- SET( OPENGL_LIBRARIES ${OPENGL_gl_LIBRARY} ${OPENGL_LIBRARIES})
- IF(OPENGL_glu_LIBRARY)
- SET( OPENGL_GLU_FOUND "YES" )
- SET( OPENGL_LIBRARIES ${OPENGL_glu_LIBRARY} ${OPENGL_LIBRARIES} )
- ELSE(OPENGL_glu_LIBRARY)
- SET( OPENGL_GLU_FOUND "NO" )
- ENDIF(OPENGL_glu_LIBRARY)
+ set( OPENGL_LIBRARIES ${OPENGL_gl_LIBRARY} ${OPENGL_LIBRARIES})
+ if(OPENGL_glu_LIBRARY)
+ set( OPENGL_GLU_FOUND "YES" )
+ set( OPENGL_LIBRARIES ${OPENGL_glu_LIBRARY} ${OPENGL_LIBRARIES} )
+ else()
+ set( OPENGL_GLU_FOUND "NO" )
+ endif()
# This deprecated setting is for backward compatibility with CMake1.4
- SET (OPENGL_LIBRARY ${OPENGL_LIBRARIES})
+ set (OPENGL_LIBRARY ${OPENGL_LIBRARIES})
-ENDIF(OPENGL_gl_LIBRARY)
+endif()
# This deprecated setting is for backward compatibility with CMake1.4
-SET(OPENGL_INCLUDE_PATH ${OPENGL_INCLUDE_DIR})
+set(OPENGL_INCLUDE_PATH ${OPENGL_INCLUDE_DIR})
# handle the QUIETLY and REQUIRED arguments and set OPENGL_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenGL DEFAULT_MSG OPENGL_gl_LIBRARY)
-MARK_AS_ADVANCED(
+mark_as_advanced(
OPENGL_INCLUDE_DIR
OPENGL_xmesa_INCLUDE_DIR
OPENGL_glu_LIBRARY
diff --git a/Modules/FindOpenMP.cmake b/Modules/FindOpenMP.cmake
index b96a2ecfb..ad15d8ccc 100644
--- a/Modules/FindOpenMP.cmake
+++ b/Modules/FindOpenMP.cmake
@@ -72,15 +72,15 @@ function(_OPENMP_FLAG_CANDIDATES LANG)
endif()
set(OpenMP_${LANG}_FLAG_CANDIDATES "${OpenMP_FLAG_CANDIDATES}" PARENT_SCOPE)
-endfunction(_OPENMP_FLAG_CANDIDATES)
+endfunction()
# sample openmp source code to test
-set(OpenMP_C_TEST_SOURCE
+set(OpenMP_C_TEST_SOURCE
"
#include <omp.h>
-int main() {
+int main() {
#ifdef _OPENMP
- return 0;
+ return 0;
#else
breaks_on_purpose
#endif
@@ -108,8 +108,8 @@ if(CMAKE_C_COMPILER_LOADED)
if(OpenMP_FLAG_DETECTED)
set(OpenMP_C_FLAGS_INTERNAL "${FLAG}")
break()
- endif(OpenMP_FLAG_DETECTED)
- endforeach(FLAG ${OpenMP_C_FLAG_CANDIDATES})
+ endif()
+ endforeach()
set(OpenMP_C_FLAGS "${OpenMP_C_FLAGS_INTERNAL}"
CACHE STRING "C compiler flags for OpenMP parallization")
@@ -142,8 +142,8 @@ if(CMAKE_CXX_COMPILER_LOADED)
if(OpenMP_FLAG_DETECTED)
set(OpenMP_CXX_FLAGS_INTERNAL "${FLAG}")
break()
- endif(OpenMP_FLAG_DETECTED)
- endforeach(FLAG ${OpenMP_CXX_FLAG_CANDIDATES})
+ endif()
+ endforeach()
set(OpenMP_CXX_FLAGS "${OpenMP_CXX_FLAGS_INTERNAL}"
CACHE STRING "C++ compiler flags for OpenMP parallization")
diff --git a/Modules/FindOpenSSL.cmake b/Modules/FindOpenSSL.cmake
index d1fc2d259..224c88e0e 100644
--- a/Modules/FindOpenSSL.cmake
+++ b/Modules/FindOpenSSL.cmake
@@ -27,29 +27,38 @@
if (UNIX)
find_package(PkgConfig QUIET)
pkg_check_modules(_OPENSSL QUIET openssl)
-endif (UNIX)
-
-# http://www.slproweb.com/products/Win32OpenSSL.html
-SET(_OPENSSL_ROOT_HINTS
- $ENV{OPENSSL_ROOT_DIR}
- ${OPENSSL_ROOT_DIR}
- "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;Inno Setup: App Path]"
- "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (64-bit)_is1;Inno Setup: App Path]"
- )
-SET(_OPENSSL_ROOT_PATHS
- "$ENV{PROGRAMFILES}/OpenSSL"
- "$ENV{PROGRAMFILES}/OpenSSL-Win32"
- "$ENV{PROGRAMFILES}/OpenSSL-Win64"
- "C:/OpenSSL/"
- "C:/OpenSSL-Win32/"
- "C:/OpenSSL-Win64/"
- )
-SET(_OPENSSL_ROOT_HINTS_AND_PATHS
- HINTS ${_OPENSSL_ROOT_HINTS}
- PATHS ${_OPENSSL_ROOT_PATHS}
- )
+endif ()
+
+if (WIN32)
+ # http://www.slproweb.com/products/Win32OpenSSL.html
+ set(_OPENSSL_ROOT_HINTS
+ ${OPENSSL_ROOT_DIR}
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (32-bit)_is1;Inno Setup: App Path]"
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\OpenSSL (64-bit)_is1;Inno Setup: App Path]"
+ ENV OPENSSL_ROOT_DIR
+ )
+ file(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" _programfiles)
+ set(_OPENSSL_ROOT_PATHS
+ "${_programfiles}/OpenSSL"
+ "${_programfiles}/OpenSSL-Win32"
+ "${_programfiles}/OpenSSL-Win64"
+ "C:/OpenSSL/"
+ "C:/OpenSSL-Win32/"
+ "C:/OpenSSL-Win64/"
+ )
+ unset(_programfiles)
+ set(_OPENSSL_ROOT_HINTS_AND_PATHS
+ HINTS ${_OPENSSL_ROOT_HINTS}
+ PATHS ${_OPENSSL_ROOT_PATHS}
+ )
+else ()
+ set(_OPENSSL_ROOT_HINTS
+ ${OPENSSL_ROOT_DIR}
+ ENV OPENSSL_ROOT_DIR
+ )
+endif ()
-FIND_PATH(OPENSSL_INCLUDE_DIR
+find_path(OPENSSL_INCLUDE_DIR
NAMES
openssl/ssl.h
HINTS
@@ -59,9 +68,8 @@ FIND_PATH(OPENSSL_INCLUDE_DIR
include
)
-IF(WIN32 AND NOT CYGWIN)
- # MINGW should go here too
- IF(MSVC)
+if(WIN32 AND NOT CYGWIN)
+ if(MSVC)
# /MD and /MDd are the standard values - if someone 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
@@ -76,10 +84,10 @@ IF(WIN32 AND NOT CYGWIN)
# We are using the libraries located in the VC subdir instead of the parent directory eventhough :
# libeay32MD.lib is identical to ../libeay32.lib, and
# ssleay32MD.lib is identical to ../ssleay32.lib
- FIND_LIBRARY(LIB_EAY_DEBUG
+ find_library(LIB_EAY_DEBUG
NAMES
libeay32MDd
- libeay32
+ libeay32d
${_OPENSSL_ROOT_HINTS_AND_PATHS}
PATH_SUFFIXES
"lib"
@@ -87,7 +95,7 @@ IF(WIN32 AND NOT CYGWIN)
"lib/VC"
)
- FIND_LIBRARY(LIB_EAY_RELEASE
+ find_library(LIB_EAY_RELEASE
NAMES
libeay32MD
libeay32
@@ -98,11 +106,10 @@ IF(WIN32 AND NOT CYGWIN)
"lib/VC"
)
- FIND_LIBRARY(SSL_EAY_DEBUG
+ find_library(SSL_EAY_DEBUG
NAMES
ssleay32MDd
- ssleay32
- ssl
+ ssleay32d
${_OPENSSL_ROOT_HINTS_AND_PATHS}
PATH_SUFFIXES
"lib"
@@ -110,7 +117,7 @@ IF(WIN32 AND NOT CYGWIN)
"lib/VC"
)
- FIND_LIBRARY(SSL_EAY_RELEASE
+ find_library(SSL_EAY_RELEASE
NAMES
ssleay32MD
ssleay32
@@ -122,41 +129,49 @@ IF(WIN32 AND NOT CYGWIN)
"lib/VC"
)
- if( CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE )
- set( OPENSSL_LIBRARIES
- optimized ${SSL_EAY_RELEASE} debug ${SSL_EAY_DEBUG}
- optimized ${LIB_EAY_RELEASE} debug ${LIB_EAY_DEBUG}
- )
- else()
- set( OPENSSL_LIBRARIES ${SSL_EAY_RELEASE} ${LIB_EAY_RELEASE} )
- endif()
- MARK_AS_ADVANCED(SSL_EAY_DEBUG SSL_EAY_RELEASE)
- MARK_AS_ADVANCED(LIB_EAY_DEBUG LIB_EAY_RELEASE)
- ELSEIF(MINGW)
+ set(LIB_EAY_LIBRARY_DEBUG "${LIB_EAY_DEBUG}")
+ set(LIB_EAY_LIBRARY_RELEASE "${LIB_EAY_RELEASE}")
+ set(SSL_EAY_LIBRARY_DEBUG "${SSL_EAY_DEBUG}")
+ set(SSL_EAY_LIBRARY_RELEASE "${SSL_EAY_RELEASE}")
+
+ include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
+ select_library_configurations(LIB_EAY)
+ select_library_configurations(SSL_EAY)
+
+ set( OPENSSL_LIBRARIES ${SSL_EAY_LIBRARY} ${LIB_EAY_LIBRARY} )
+ elseif(MINGW)
# same player, for MingW
- FIND_LIBRARY(LIB_EAY
+ set(LIB_EAY_NAMES libeay32)
+ set(SSL_EAY_NAMES ssleay32)
+ if(CMAKE_CROSS_COMPILING)
+ list(APPEND LIB_EAY_NAMES crypto)
+ list(APPEND SSL_EAY_NAMES ssl)
+ endif()
+ find_library(LIB_EAY
NAMES
- libeay32
+ ${LIB_EAY_NAMES}
${_OPENSSL_ROOT_HINTS_AND_PATHS}
PATH_SUFFIXES
"lib"
"lib/MinGW"
)
- FIND_LIBRARY(SSL_EAY
+ find_library(SSL_EAY
NAMES
- ssleay32
+ ${SSL_EAY_NAMES}
${_OPENSSL_ROOT_HINTS_AND_PATHS}
PATH_SUFFIXES
"lib"
"lib/MinGW"
)
- MARK_AS_ADVANCED(SSL_EAY LIB_EAY)
+ mark_as_advanced(SSL_EAY LIB_EAY)
set( OPENSSL_LIBRARIES ${SSL_EAY} ${LIB_EAY} )
- ELSE(MSVC)
+ unset(LIB_EAY_NAMES)
+ unset(SSL_EAY_NAMES)
+ else()
# Not sure what to pick for -say- intel, let's use the toplevel ones and hope someone report issues:
- FIND_LIBRARY(LIB_EAY
+ find_library(LIB_EAY
NAMES
libeay32
HINTS
@@ -166,7 +181,7 @@ IF(WIN32 AND NOT CYGWIN)
lib
)
- FIND_LIBRARY(SSL_EAY
+ find_library(SSL_EAY
NAMES
ssleay32
HINTS
@@ -176,12 +191,12 @@ IF(WIN32 AND NOT CYGWIN)
lib
)
- MARK_AS_ADVANCED(SSL_EAY LIB_EAY)
+ mark_as_advanced(SSL_EAY LIB_EAY)
set( OPENSSL_LIBRARIES ${SSL_EAY} ${LIB_EAY} )
- ENDIF(MSVC)
-ELSE(WIN32 AND NOT CYGWIN)
+ endif()
+else()
- FIND_LIBRARY(OPENSSL_SSL_LIBRARY
+ find_library(OPENSSL_SSL_LIBRARY
NAMES
ssl
ssleay32
@@ -193,7 +208,7 @@ ELSE(WIN32 AND NOT CYGWIN)
lib
)
- FIND_LIBRARY(OPENSSL_CRYPTO_LIBRARY
+ find_library(OPENSSL_CRYPTO_LIBRARY
NAMES
crypto
HINTS
@@ -203,15 +218,15 @@ ELSE(WIN32 AND NOT CYGWIN)
lib
)
- MARK_AS_ADVANCED(OPENSSL_CRYPTO_LIBRARY OPENSSL_SSL_LIBRARY)
+ mark_as_advanced(OPENSSL_CRYPTO_LIBRARY OPENSSL_SSL_LIBRARY)
# compat defines
- SET(OPENSSL_SSL_LIBRARIES ${OPENSSL_SSL_LIBRARY})
- SET(OPENSSL_CRYPTO_LIBRARIES ${OPENSSL_CRYPTO_LIBRARY})
+ set(OPENSSL_SSL_LIBRARIES ${OPENSSL_SSL_LIBRARY})
+ set(OPENSSL_CRYPTO_LIBRARIES ${OPENSSL_CRYPTO_LIBRARY})
- SET(OPENSSL_LIBRARIES ${OPENSSL_SSL_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY})
+ set(OPENSSL_LIBRARIES ${OPENSSL_SSL_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY})
-ENDIF(WIN32 AND NOT CYGWIN)
+endif()
function(from_hex HEX DEC)
string(TOUPPER "${HEX}" HEX)
@@ -242,7 +257,7 @@ function(from_hex HEX DEC)
endwhile()
set(${DEC} ${_res} PARENT_SCOPE)
-endfunction(from_hex)
+endfunction()
if (OPENSSL_INCLUDE_DIR)
if (_OPENSSL_VERSION)
@@ -276,11 +291,11 @@ if (OPENSSL_INCLUDE_DIR)
# this should be updated to handle that, too. This has not happened yet
# so it is simply ignored here for now.
string(ASCII "${OPENSSL_VERSION_PATCH_ASCII}" OPENSSL_VERSION_PATCH_STRING)
- endif (NOT OPENSSL_VERSION_PATCH STREQUAL "00")
+ endif ()
set(OPENSSL_VERSION "${OPENSSL_VERSION_MAJOR}.${OPENSSL_VERSION_MINOR}.${OPENSSL_VERSION_FIX}${OPENSSL_VERSION_PATCH_STRING}")
- endif (_OPENSSL_VERSION)
-endif (OPENSSL_INCLUDE_DIR)
+ endif ()
+endif ()
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
@@ -294,11 +309,11 @@ if (OPENSSL_VERSION)
FAIL_MESSAGE
"Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR"
)
-else (OPENSSL_VERSION)
+else ()
find_package_handle_standard_args(OpenSSL "Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR"
OPENSSL_LIBRARIES
OPENSSL_INCLUDE_DIR
)
-endif (OPENSSL_VERSION)
+endif ()
-MARK_AS_ADVANCED(OPENSSL_INCLUDE_DIR OPENSSL_LIBRARIES)
+mark_as_advanced(OPENSSL_INCLUDE_DIR OPENSSL_LIBRARIES)
diff --git a/Modules/FindOpenSceneGraph.cmake b/Modules/FindOpenSceneGraph.cmake
index 52f931689..4a5aaba41 100644
--- a/Modules/FindOpenSceneGraph.cmake
+++ b/Modules/FindOpenSceneGraph.cmake
@@ -14,7 +14,7 @@
#
# OpenSceneGraph_DEBUG - Enable debugging output
#
-# OpenSceneGraph_MARK_AS_ADVANCED - Mark cache variables as advanced
+# OpenSceneGraph_MARK_AS_ADVANCED - Mark cache variables as advanced
# automatically
#
# The following environment variables are also respected for finding the OSG
@@ -26,6 +26,10 @@
# OSGDIR
# OSG_ROOT
#
+# [CMake 2.8.10]:
+# The CMake variable OSG_DIR can now be used as well to influence detection, instead of needing
+# to specify an environment variable.
+#
# This module defines the following output variables:
#
# OPENSCENEGRAPH_FOUND - Was the OSG and all of the specified components found?
@@ -49,7 +53,7 @@
#=============================================================================
# Copyright 2009 Kitware, Inc.
-# Copyright 2009 Philip Lowman <philip@yhbt.com>
+# Copyright 2009-2012 Philip Lowman <philip@yhbt.com>
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
@@ -96,14 +100,15 @@ if(OSG_INCLUDE_DIR)
message(STATUS "[ FindOpenSceneGraph.cmake:${CMAKE_CURRENT_LIST_LINE} ] "
"Detected OSG_INCLUDE_DIR = ${OSG_INCLUDE_DIR}")
endif()
-
+
set(_osg_Version_file "${OSG_INCLUDE_DIR}/osg/Version")
if("${OSG_INCLUDE_DIR}" MATCHES "\\.framework$" AND NOT EXISTS "${_osg_Version_file}")
set(_osg_Version_file "${OSG_INCLUDE_DIR}/Headers/Version")
endif()
-
+
if(EXISTS "${_osg_Version_file}")
- file(READ "${_osg_Version_file}" _osg_Version_contents)
+ file(STRINGS "${_osg_Version_file}" _osg_Version_contents
+ REGEX "#define (OSG_VERSION_[A-Z]+|OPENSCENEGRAPH_[A-Z]+_VERSION)[ \t]+[0-9]+")
else()
set(_osg_Version_contents "unknown")
endif()
@@ -130,6 +135,7 @@ if(OSG_INCLUDE_DIR)
message(WARNING "[ FindOpenSceneGraph.cmake:${CMAKE_CURRENT_LIST_LINE} ] "
"Failed to parse version number, please report this as a bug")
endif()
+ unset(_osg_Version_contents)
set(OPENSCENEGRAPH_VERSION "${_osg_VERSION_MAJOR}.${_osg_VERSION_MINOR}.${_osg_VERSION_PATCH}"
CACHE INTERNAL "The version of OSG which was detected")
@@ -139,29 +145,12 @@ if(OSG_INCLUDE_DIR)
endif()
endif()
-#
-# Version checking
-#
-if(OpenSceneGraph_FIND_VERSION AND OPENSCENEGRAPH_VERSION)
- if(OpenSceneGraph_FIND_VERSION_EXACT)
- if(NOT OPENSCENEGRAPH_VERSION VERSION_EQUAL ${OpenSceneGraph_FIND_VERSION})
- set(_osg_version_not_exact TRUE)
- endif()
- else()
- # version is too low
- if(NOT OPENSCENEGRAPH_VERSION VERSION_EQUAL ${OpenSceneGraph_FIND_VERSION} AND
- NOT OPENSCENEGRAPH_VERSION VERSION_GREATER ${OpenSceneGraph_FIND_VERSION})
- set(_osg_version_not_high_enough TRUE)
- endif()
- endif()
-endif()
-
set(_osg_quiet)
if(OpenSceneGraph_FIND_QUIETLY)
set(_osg_quiet "QUIET")
endif()
#
-# Here we call FIND_PACKAGE() on all of the components
+# Here we call find_package() on all of the components
#
foreach(_osg_module ${_osg_modules_to_process})
if(OpenSceneGraph_DEBUG)
@@ -182,65 +171,24 @@ endforeach()
if(OPENSCENEGRAPH_INCLUDE_DIR)
list(REMOVE_DUPLICATES OPENSCENEGRAPH_INCLUDE_DIR)
endif()
-
+
#
-# Inform the users with an error message based on
-# what version they have vs. what version was
-# required.
+# Check each module to see if it's found
#
+set(_osg_component_founds)
if(OpenSceneGraph_FIND_REQUIRED)
- set(_osg_version_output_type FATAL_ERROR)
-else()
- set(_osg_version_output_type STATUS)
+ foreach(_osg_module ${_osg_modules_to_process})
+ string(TOUPPER ${_osg_module} _osg_module_UC)
+ list(APPEND _osg_component_founds ${_osg_module_UC}_FOUND)
+ endforeach()
endif()
-if(_osg_version_not_high_enough)
- set(_osg_EPIC_FAIL TRUE)
- if(NOT OpenSceneGraph_FIND_QUIETLY)
- message(${_osg_version_output_type}
- "ERROR: Version ${OpenSceneGraph_FIND_VERSION} or higher of the OSG "
- "is required. Version ${OPENSCENEGRAPH_VERSION} was found.")
- endif()
-elseif(_osg_version_not_exact)
- set(_osg_EPIC_FAIL TRUE)
- if(NOT OpenSceneGraph_FIND_QUIETLY)
- message(${_osg_version_output_type}
- "ERROR: Version ${OpenSceneGraph_FIND_VERSION} of the OSG is required "
- "(exactly), version ${OPENSCENEGRAPH_VERSION} was found.")
- endif()
-else()
-
- #
- # Check each module to see if it's found
- #
- if(OpenSceneGraph_FIND_REQUIRED)
- set(_osg_missing_message)
- foreach(_osg_module ${_osg_modules_to_process})
- string(TOUPPER ${_osg_module} _osg_module_UC)
- if(NOT ${_osg_module_UC}_FOUND)
- set(_osg_missing_nodekit_fail true)
- set(_osg_missing_message "${_osg_missing_message} ${_osg_module}")
- endif()
- endforeach()
-
- if(_osg_missing_nodekit_fail)
- message(FATAL_ERROR "ERROR: Missing the following osg "
- "libraries: ${_osg_missing_message}.\n"
- "Consider using CMAKE_PREFIX_PATH or the OSG_DIR "
- "environment variable. See the "
- "${CMAKE_CURRENT_LIST_FILE} for more details.")
- endif()
- endif()
- include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
- FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenSceneGraph DEFAULT_MSG OPENSCENEGRAPH_LIBRARIES OPENSCENEGRAPH_INCLUDE_DIR)
-endif()
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenSceneGraph
+ REQUIRED_VARS OPENSCENEGRAPH_LIBRARIES OPENSCENEGRAPH_INCLUDE_DIR ${_osg_component_founds}
+ VERSION_VAR OPENSCENEGRAPH_VERSION)
-if(_osg_EPIC_FAIL)
- # Zero out everything, we didn't meet version requirements
- set(OPENSCENEGRAPH_FOUND FALSE)
- set(OPENSCENEGRAPH_LIBRARIES)
- set(OPENSCENEGRAPH_INCLUDE_DIR)
-endif()
+unset(_osg_component_founds)
set(OPENSCENEGRAPH_INCLUDE_DIRS ${OPENSCENEGRAPH_INCLUDE_DIR})
diff --git a/Modules/FindOpenThreads.cmake b/Modules/FindOpenThreads.cmake
index 6b81fbe3a..e0599604a 100644
--- a/Modules/FindOpenThreads.cmake
+++ b/Modules/FindOpenThreads.cmake
@@ -1,10 +1,10 @@
-# OpenThreads is a C++ based threading library. Its largest userbase
+# OpenThreads is a C++ based threading library. Its largest userbase
# seems to OpenSceneGraph so you might notice I accept OSGDIR as an
# environment path.
-# I consider this part of the Findosg* suite used to find OpenSceneGraph
+# I consider this part of the Findosg* suite used to find OpenSceneGraph
# components.
# Each component is separate and you must opt in to each module.
-#
+#
# Locate OpenThreads
# This module defines
# OPENTHREADS_LIBRARY
@@ -15,10 +15,15 @@
# correspond to the ./configure --prefix=$OPENTHREADS_DIR
# used in building osg.
#
+# [CMake 2.8.10]:
+# The CMake variables OPENTHREADS_DIR or OSG_DIR can now be used as well to influence
+# detection, instead of needing to specify an environment variable.
+#
# Created by Eric Wing.
#=============================================================================
# Copyright 2007-2009 Kitware, Inc.
+# Copyright 2012 Philip Lowman <philip@yhbt.com>
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
@@ -34,8 +39,8 @@
# #include <OpenThreads/Thread>
# To make it easier for one-step automated configuration/builds,
-# we leverage environmental paths. This is preferable
-# to the -DVAR=value switches because it insulates the
+# we leverage environmental paths. This is preferable
+# to the -DVAR=value switches because it insulates the
# users from changes we may make in this script.
# It also offers a little more flexibility than setting
# the CMAKE_*_PATH since we can target specific components.
@@ -53,14 +58,15 @@
find_path(OPENTHREADS_INCLUDE_DIR OpenThreads/Thread
HINTS
- # enough environment variables?
- $ENV{OPENTHREADS_INCLUDE_DIR}
- $ENV{OPENTHREADS_DIR}
- $ENV{OSG_INCLUDE_DIR}
- $ENV{OSG_DIR}
- $ENV{OSGDIR}
- $ENV{OpenThreads_ROOT}
- $ENV{OSG_ROOT}
+ ENV OPENTHREADS_INCLUDE_DIR
+ ENV OPENTHREADS_DIR
+ ENV OSG_INCLUDE_DIR
+ ENV OSG_DIR
+ ENV OSGDIR
+ ENV OpenThreads_ROOT
+ ENV OSG_ROOT
+ ${OPENTHREADS_DIR}
+ ${OSG_DIR}
PATHS
/sw # Fink
/opt/local # DarwinPorts
@@ -71,43 +77,47 @@ find_path(OPENTHREADS_INCLUDE_DIR OpenThreads/Thread
)
-find_library(OPENTHREADS_LIBRARY
- NAMES OpenThreads OpenThreadsWin32
+find_library(OPENTHREADS_LIBRARY
+ NAMES OpenThreads OpenThreadsWin32
HINTS
- $ENV{OPENTHREADS_LIBRARY_DIR}
- $ENV{OPENTHREADS_DIR}
- $ENV{OSG_LIBRARY_DIR}
- $ENV{OSG_DIR}
- $ENV{OSGDIR}
- $ENV{OpenThreads_ROOT}
- $ENV{OSG_ROOT}
+ ENV OPENTHREADS_LIBRARY_DIR
+ ENV OPENTHREADS_DIR
+ ENV OSG_LIBRARY_DIR
+ ENV OSG_DIR
+ ENV OSGDIR
+ ENV OpenThreads_ROOT
+ ENV OSG_ROOT
+ ${OPENTHREADS_DIR}
+ ${OSG_DIR}
PATHS
/sw
/opt/local
/opt/csw
/opt
/usr/freeware
- PATH_SUFFIXES lib64 lib
+ PATH_SUFFIXES lib
)
-find_library(OPENTHREADS_LIBRARY_DEBUG
+find_library(OPENTHREADS_LIBRARY_DEBUG
NAMES OpenThreadsd OpenThreadsWin32d
HINTS
- $ENV{OPENTHREADS_DEBUG_LIBRARY_DIR}
- $ENV{OPENTHREADS_LIBRARY_DIR}
- $ENV{OPENTHREADS_DIR}
- $ENV{OSG_LIBRARY_DIR}
- $ENV{OSG_DIR}
- $ENV{OSGDIR}
- $ENV{OpenThreads_ROOT}
- $ENV{OSG_ROOT}
+ ENV OPENTHREADS_DEBUG_LIBRARY_DIR
+ ENV OPENTHREADS_LIBRARY_DIR
+ ENV OPENTHREADS_DIR
+ ENV OSG_LIBRARY_DIR
+ ENV OSG_DIR
+ ENV OSGDIR
+ ENV OpenThreads_ROOT
+ ENV OSG_ROOT
+ ${OPENTHREADS_DIR}
+ ${OSG_DIR}
PATHS
/sw
/opt/local
/opt/csw
/opt
/usr/freeware
- PATH_SUFFIXES lib64 lib
+ PATH_SUFFIXES lib
)
if(OPENTHREADS_LIBRARY_DEBUG)
diff --git a/Modules/FindPHP4.cmake b/Modules/FindPHP4.cmake
index 6c2965a7a..4267ac155 100644
--- a/Modules/FindPHP4.cmake
+++ b/Modules/FindPHP4.cmake
@@ -20,7 +20,7 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-SET(PHP4_POSSIBLE_INCLUDE_PATHS
+set(PHP4_POSSIBLE_INCLUDE_PATHS
/usr/include/php4
/usr/local/include/php4
/usr/include/php
@@ -28,33 +28,33 @@ SET(PHP4_POSSIBLE_INCLUDE_PATHS
/usr/local/apache/php
)
-SET(PHP4_POSSIBLE_LIB_PATHS
+set(PHP4_POSSIBLE_LIB_PATHS
/usr/lib
)
-FIND_PATH(PHP4_FOUND_INCLUDE_PATH main/php.h
+find_path(PHP4_FOUND_INCLUDE_PATH main/php.h
${PHP4_POSSIBLE_INCLUDE_PATHS})
-IF(PHP4_FOUND_INCLUDE_PATH)
- SET(php4_paths "${PHP4_POSSIBLE_INCLUDE_PATHS}")
- FOREACH(php4_path Zend main TSRM)
- SET(php4_paths ${php4_paths} "${PHP4_FOUND_INCLUDE_PATH}/${php4_path}")
- ENDFOREACH(php4_path Zend main TSRM)
- SET(PHP4_INCLUDE_PATH "${php4_paths}" INTERNAL "PHP4 include paths")
-ENDIF(PHP4_FOUND_INCLUDE_PATH)
+if(PHP4_FOUND_INCLUDE_PATH)
+ set(php4_paths "${PHP4_POSSIBLE_INCLUDE_PATHS}")
+ foreach(php4_path Zend main TSRM)
+ set(php4_paths ${php4_paths} "${PHP4_FOUND_INCLUDE_PATH}/${php4_path}")
+ endforeach()
+ set(PHP4_INCLUDE_PATH "${php4_paths}" INTERNAL "PHP4 include paths")
+endif()
-FIND_PROGRAM(PHP4_EXECUTABLE NAMES php4 php )
+find_program(PHP4_EXECUTABLE NAMES php4 php )
-MARK_AS_ADVANCED(
+mark_as_advanced(
PHP4_EXECUTABLE
PHP4_FOUND_INCLUDE_PATH
)
-IF(APPLE)
+if(APPLE)
# this is a hack for now
- SET(CMAKE_SHARED_MODULE_CREATE_C_FLAGS
+ set(CMAKE_SHARED_MODULE_CREATE_C_FLAGS
"${CMAKE_SHARED_MODULE_CREATE_C_FLAGS} -Wl,-flat_namespace")
- FOREACH(symbol
+ foreach(symbol
__efree
__emalloc
__estrdup
@@ -76,10 +76,10 @@ IF(APPLE)
_zend_wrong_param_count
_zval_used_for_init
)
- SET(CMAKE_SHARED_MODULE_CREATE_C_FLAGS
+ set(CMAKE_SHARED_MODULE_CREATE_C_FLAGS
"${CMAKE_SHARED_MODULE_CREATE_C_FLAGS},-U,${symbol}")
- ENDFOREACH(symbol)
-ENDIF(APPLE)
+ endforeach()
+endif()
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PHP4 DEFAULT_MSG PHP4_EXECUTABLE PHP4_INCLUDE_PATH)
diff --git a/Modules/FindPNG.cmake b/Modules/FindPNG.cmake
index a6c181cb1..d96d2ccf9 100644
--- a/Modules/FindPNG.cmake
+++ b/Modules/FindPNG.cmake
@@ -30,7 +30,7 @@
if(PNG_FIND_QUIETLY)
set(_FIND_ZLIB_ARG QUIET)
-endif(PNG_FIND_QUIETLY)
+endif()
find_package(ZLIB ${_FIND_ZLIB_ARG})
if(ZLIB_FOUND)
@@ -43,27 +43,27 @@ if(ZLIB_FOUND)
if (PNG_LIBRARY AND PNG_PNG_INCLUDE_DIR)
# png.h includes zlib.h. Sigh.
- SET(PNG_INCLUDE_DIRS ${PNG_PNG_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR} )
- SET(PNG_INCLUDE_DIR ${PNG_INCLUDE_DIRS} ) # for backward compatiblity
- SET(PNG_LIBRARIES ${PNG_LIBRARY} ${ZLIB_LIBRARY})
+ set(PNG_INCLUDE_DIRS ${PNG_PNG_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR} )
+ set(PNG_INCLUDE_DIR ${PNG_INCLUDE_DIRS} ) # for backward compatiblity
+ set(PNG_LIBRARIES ${PNG_LIBRARY} ${ZLIB_LIBRARY})
if (CYGWIN)
if(BUILD_SHARED_LIBS)
# No need to define PNG_USE_DLL here, because it's default for Cygwin.
- else(BUILD_SHARED_LIBS)
- SET (PNG_DEFINITIONS -DPNG_STATIC)
- endif(BUILD_SHARED_LIBS)
- endif (CYGWIN)
+ else()
+ set (PNG_DEFINITIONS -DPNG_STATIC)
+ endif()
+ endif ()
- endif (PNG_LIBRARY AND PNG_PNG_INCLUDE_DIR)
+ endif ()
if (PNG_PNG_INCLUDE_DIR AND EXISTS "${PNG_PNG_INCLUDE_DIR}/png.h")
file(STRINGS "${PNG_PNG_INCLUDE_DIR}/png.h" png_version_str REGEX "^#define[ \t]+PNG_LIBPNG_VER_STRING[ \t]+\".+\"")
string(REGEX REPLACE "^#define[ \t]+PNG_LIBPNG_VER_STRING[ \t]+\"([^\"]+)\".*" "\\1" PNG_VERSION_STRING "${png_version_str}")
unset(png_version_str)
- endif (PNG_PNG_INCLUDE_DIR AND EXISTS "${PNG_PNG_INCLUDE_DIR}/png.h")
-endif(ZLIB_FOUND)
+ endif ()
+endif()
# handle the QUIETLY and REQUIRED arguments and set PNG_FOUND to TRUE if
# all listed variables are TRUE
diff --git a/Modules/FindPackageHandleStandardArgs.cmake b/Modules/FindPackageHandleStandardArgs.cmake
index cdcf9ca7c..25d8df39f 100644
--- a/Modules/FindPackageHandleStandardArgs.cmake
+++ b/Modules/FindPackageHandleStandardArgs.cmake
@@ -1,7 +1,7 @@
# FIND_PACKAGE_HANDLE_STANDARD_ARGS(<name> ... )
#
# This function is intended to be used in FindXXX.cmake modules files.
-# It handles the REQUIRED, QUIET and version-related arguments to FIND_PACKAGE().
+# It handles the REQUIRED, QUIET and version-related arguments to find_package().
# It also sets the <UPPERCASED_NAME>_FOUND variable.
# The package is considered found if all variables <var1>... listed contain
# valid results, e.g. valid filepaths.
@@ -68,9 +68,9 @@
#
# Another example for mode 2:
#
-# FIND_PACKAGE(Automoc4 QUIET NO_MODULE HINTS /opt/automoc4)
+# find_package(Automoc4 QUIET NO_MODULE HINTS /opt/automoc4)
# FIND_PACKAGE_HANDLE_STANDARD_ARGS(Automoc4 CONFIG_MODE)
-# In this case, FindAutmoc4.cmake wraps a call to FIND_PACKAGE(Automoc4 NO_MODULE)
+# In this case, FindAutmoc4.cmake wraps a call to find_package(Automoc4 NO_MODULE)
# and adds an additional search directory for automoc4.
# The following FIND_PACKAGE_HANDLE_STANDARD_ARGS() call produces a proper
# success/error message.
@@ -88,209 +88,212 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE(FindPackageMessage)
-INCLUDE(CMakeParseArguments)
+include(FindPackageMessage)
+include(CMakeParseArguments)
# internal helper macro
-MACRO(_FPHSA_FAILURE_MESSAGE _msg)
- IF (${_NAME}_FIND_REQUIRED)
- MESSAGE(FATAL_ERROR "${_msg}")
- ELSE (${_NAME}_FIND_REQUIRED)
- IF (NOT ${_NAME}_FIND_QUIETLY)
- MESSAGE(STATUS "${_msg}")
- ENDIF (NOT ${_NAME}_FIND_QUIETLY)
- ENDIF (${_NAME}_FIND_REQUIRED)
-ENDMACRO(_FPHSA_FAILURE_MESSAGE _msg)
+macro(_FPHSA_FAILURE_MESSAGE _msg)
+ if (${_NAME}_FIND_REQUIRED)
+ message(FATAL_ERROR "${_msg}")
+ else ()
+ if (NOT ${_NAME}_FIND_QUIETLY)
+ message(STATUS "${_msg}")
+ endif ()
+ endif ()
+endmacro()
# internal helper macro to generate the failure message when used in CONFIG_MODE:
-MACRO(_FPHSA_HANDLE_FAILURE_CONFIG_MODE)
+macro(_FPHSA_HANDLE_FAILURE_CONFIG_MODE)
# <name>_CONFIG is set, but FOUND is false, this means that some other of the REQUIRED_VARS was not found:
- IF(${_NAME}_CONFIG)
+ if(${_NAME}_CONFIG)
_FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: missing: ${MISSING_VARS} (found ${${_NAME}_CONFIG} ${VERSION_MSG})")
- ELSE(${_NAME}_CONFIG)
+ else()
# If _CONSIDERED_CONFIGS is set, the config-file has been found, but no suitable version.
# List them all in the error message:
- IF(${_NAME}_CONSIDERED_CONFIGS)
- SET(configsText "")
- LIST(LENGTH ${_NAME}_CONSIDERED_CONFIGS configsCount)
- MATH(EXPR configsCount "${configsCount} - 1")
- FOREACH(currentConfigIndex RANGE ${configsCount})
- LIST(GET ${_NAME}_CONSIDERED_CONFIGS ${currentConfigIndex} filename)
- LIST(GET ${_NAME}_CONSIDERED_VERSIONS ${currentConfigIndex} version)
- SET(configsText "${configsText} ${filename} (version ${version})\n")
- ENDFOREACH(currentConfigIndex)
+ if(${_NAME}_CONSIDERED_CONFIGS)
+ set(configsText "")
+ list(LENGTH ${_NAME}_CONSIDERED_CONFIGS configsCount)
+ math(EXPR configsCount "${configsCount} - 1")
+ foreach(currentConfigIndex RANGE ${configsCount})
+ list(GET ${_NAME}_CONSIDERED_CONFIGS ${currentConfigIndex} filename)
+ list(GET ${_NAME}_CONSIDERED_VERSIONS ${currentConfigIndex} version)
+ set(configsText "${configsText} ${filename} (version ${version})\n")
+ endforeach()
+ if (${_NAME}_NOT_FOUND_MESSAGE)
+ set(configsText "${configsText} Reason given by package: ${${_NAME}_NOT_FOUND_MESSAGE}\n")
+ endif()
_FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} ${VERSION_MSG}, checked the following files:\n${configsText}")
- ELSE(${_NAME}_CONSIDERED_CONFIGS)
+ else()
# Simple case: No Config-file was found at all:
_FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: found neither ${_NAME}Config.cmake nor ${_NAME_LOWER}-config.cmake ${VERSION_MSG}")
- ENDIF(${_NAME}_CONSIDERED_CONFIGS)
- ENDIF(${_NAME}_CONFIG)
-ENDMACRO(_FPHSA_HANDLE_FAILURE_CONFIG_MODE)
+ endif()
+ endif()
+endmacro()
-FUNCTION(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FIRST_ARG)
+function(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FIRST_ARG)
# set up the arguments for CMAKE_PARSE_ARGUMENTS and check whether we are in
# new extended or in the "old" mode:
- SET(options CONFIG_MODE HANDLE_COMPONENTS)
- SET(oneValueArgs FAIL_MESSAGE VERSION_VAR)
- SET(multiValueArgs REQUIRED_VARS)
- SET(_KEYWORDS_FOR_EXTENDED_MODE ${options} ${oneValueArgs} ${multiValueArgs} )
- LIST(FIND _KEYWORDS_FOR_EXTENDED_MODE "${_FIRST_ARG}" INDEX)
-
- IF(${INDEX} EQUAL -1)
- SET(FPHSA_FAIL_MESSAGE ${_FIRST_ARG})
- SET(FPHSA_REQUIRED_VARS ${ARGN})
- SET(FPHSA_VERSION_VAR)
- ELSE(${INDEX} EQUAL -1)
+ set(options CONFIG_MODE HANDLE_COMPONENTS)
+ set(oneValueArgs FAIL_MESSAGE VERSION_VAR)
+ set(multiValueArgs REQUIRED_VARS)
+ set(_KEYWORDS_FOR_EXTENDED_MODE ${options} ${oneValueArgs} ${multiValueArgs} )
+ list(FIND _KEYWORDS_FOR_EXTENDED_MODE "${_FIRST_ARG}" INDEX)
+
+ if(${INDEX} EQUAL -1)
+ set(FPHSA_FAIL_MESSAGE ${_FIRST_ARG})
+ set(FPHSA_REQUIRED_VARS ${ARGN})
+ set(FPHSA_VERSION_VAR)
+ else()
CMAKE_PARSE_ARGUMENTS(FPHSA "${options}" "${oneValueArgs}" "${multiValueArgs}" ${_FIRST_ARG} ${ARGN})
- IF(FPHSA_UNPARSED_ARGUMENTS)
- MESSAGE(FATAL_ERROR "Unknown keywords given to FIND_PACKAGE_HANDLE_STANDARD_ARGS(): \"${FPHSA_UNPARSED_ARGUMENTS}\"")
- ENDIF(FPHSA_UNPARSED_ARGUMENTS)
+ if(FPHSA_UNPARSED_ARGUMENTS)
+ message(FATAL_ERROR "Unknown keywords given to FIND_PACKAGE_HANDLE_STANDARD_ARGS(): \"${FPHSA_UNPARSED_ARGUMENTS}\"")
+ endif()
- IF(NOT FPHSA_FAIL_MESSAGE)
- SET(FPHSA_FAIL_MESSAGE "DEFAULT_MSG")
- ENDIF(NOT FPHSA_FAIL_MESSAGE)
- ENDIF(${INDEX} EQUAL -1)
+ if(NOT FPHSA_FAIL_MESSAGE)
+ set(FPHSA_FAIL_MESSAGE "DEFAULT_MSG")
+ endif()
+ endif()
# now that we collected all arguments, process them
- IF("${FPHSA_FAIL_MESSAGE}" STREQUAL "DEFAULT_MSG")
- SET(FPHSA_FAIL_MESSAGE "Could NOT find ${_NAME}")
- ENDIF("${FPHSA_FAIL_MESSAGE}" STREQUAL "DEFAULT_MSG")
+ if("${FPHSA_FAIL_MESSAGE}" STREQUAL "DEFAULT_MSG")
+ set(FPHSA_FAIL_MESSAGE "Could NOT find ${_NAME}")
+ endif()
# In config-mode, we rely on the variable <package>_CONFIG, which is set by find_package()
# when it successfully found the config-file, including version checking:
- IF(FPHSA_CONFIG_MODE)
- LIST(INSERT FPHSA_REQUIRED_VARS 0 ${_NAME}_CONFIG)
- LIST(REMOVE_DUPLICATES FPHSA_REQUIRED_VARS)
- SET(FPHSA_VERSION_VAR ${_NAME}_VERSION)
- ENDIF(FPHSA_CONFIG_MODE)
+ if(FPHSA_CONFIG_MODE)
+ list(INSERT FPHSA_REQUIRED_VARS 0 ${_NAME}_CONFIG)
+ list(REMOVE_DUPLICATES FPHSA_REQUIRED_VARS)
+ set(FPHSA_VERSION_VAR ${_NAME}_VERSION)
+ endif()
- IF(NOT FPHSA_REQUIRED_VARS)
- MESSAGE(FATAL_ERROR "No REQUIRED_VARS specified for FIND_PACKAGE_HANDLE_STANDARD_ARGS()")
- ENDIF(NOT FPHSA_REQUIRED_VARS)
+ if(NOT FPHSA_REQUIRED_VARS)
+ message(FATAL_ERROR "No REQUIRED_VARS specified for FIND_PACKAGE_HANDLE_STANDARD_ARGS()")
+ endif()
- LIST(GET FPHSA_REQUIRED_VARS 0 _FIRST_REQUIRED_VAR)
+ list(GET FPHSA_REQUIRED_VARS 0 _FIRST_REQUIRED_VAR)
- STRING(TOUPPER ${_NAME} _NAME_UPPER)
- STRING(TOLOWER ${_NAME} _NAME_LOWER)
+ string(TOUPPER ${_NAME} _NAME_UPPER)
+ string(TOLOWER ${_NAME} _NAME_LOWER)
# 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)
+ set(MISSING_VARS "")
+ set(DETAILS "")
+ set(${_NAME_UPPER}_FOUND TRUE)
# check if all passed variables are valid
- FOREACH(_CURRENT_VAR ${FPHSA_REQUIRED_VARS})
- 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})
- ENDFOREACH(_CURRENT_VAR)
+ foreach(_CURRENT_VAR ${FPHSA_REQUIRED_VARS})
+ if(NOT ${_CURRENT_VAR})
+ set(${_NAME_UPPER}_FOUND FALSE)
+ set(MISSING_VARS "${MISSING_VARS} ${_CURRENT_VAR}")
+ else()
+ set(DETAILS "${DETAILS}[${${_CURRENT_VAR}}]")
+ endif()
+ endforeach()
# component handling
- UNSET(FOUND_COMPONENTS_MSG)
- UNSET(MISSING_COMPONENTS_MSG)
+ unset(FOUND_COMPONENTS_MSG)
+ unset(MISSING_COMPONENTS_MSG)
- IF(FPHSA_HANDLE_COMPONENTS)
- FOREACH(comp ${${_NAME}_FIND_COMPONENTS})
- IF(${_NAME}_${comp}_FOUND)
+ if(FPHSA_HANDLE_COMPONENTS)
+ foreach(comp ${${_NAME}_FIND_COMPONENTS})
+ if(${_NAME}_${comp}_FOUND)
- IF(NOT DEFINED FOUND_COMPONENTS_MSG)
- SET(FOUND_COMPONENTS_MSG "found components: ")
- ENDIF()
- SET(FOUND_COMPONENTS_MSG "${FOUND_COMPONENTS_MSG} ${comp}")
+ if(NOT DEFINED FOUND_COMPONENTS_MSG)
+ set(FOUND_COMPONENTS_MSG "found components: ")
+ endif()
+ set(FOUND_COMPONENTS_MSG "${FOUND_COMPONENTS_MSG} ${comp}")
- ELSE()
+ else()
- IF(NOT DEFINED MISSING_COMPONENTS_MSG)
- SET(MISSING_COMPONENTS_MSG "missing components: ")
- ENDIF()
- SET(MISSING_COMPONENTS_MSG "${MISSING_COMPONENTS_MSG} ${comp}")
+ if(NOT DEFINED MISSING_COMPONENTS_MSG)
+ set(MISSING_COMPONENTS_MSG "missing components: ")
+ endif()
+ set(MISSING_COMPONENTS_MSG "${MISSING_COMPONENTS_MSG} ${comp}")
- IF(${_NAME}_FIND_REQUIRED_${comp})
- SET(${_NAME_UPPER}_FOUND FALSE)
- SET(MISSING_VARS "${MISSING_VARS} ${comp}")
- ENDIF()
+ if(${_NAME}_FIND_REQUIRED_${comp})
+ set(${_NAME_UPPER}_FOUND FALSE)
+ set(MISSING_VARS "${MISSING_VARS} ${comp}")
+ endif()
- ENDIF()
- ENDFOREACH(comp)
- SET(COMPONENT_MSG "${FOUND_COMPONENTS_MSG} ${MISSING_COMPONENTS_MSG}")
- SET(DETAILS "${DETAILS}[c${COMPONENT_MSG}]")
- ENDIF(FPHSA_HANDLE_COMPONENTS)
+ endif()
+ endforeach()
+ set(COMPONENT_MSG "${FOUND_COMPONENTS_MSG} ${MISSING_COMPONENTS_MSG}")
+ set(DETAILS "${DETAILS}[c${COMPONENT_MSG}]")
+ endif()
# version handling:
- SET(VERSION_MSG "")
- SET(VERSION_OK TRUE)
- SET(VERSION ${${FPHSA_VERSION_VAR}} )
- IF (${_NAME}_FIND_VERSION)
-
- IF(VERSION)
-
- IF(${_NAME}_FIND_VERSION_EXACT) # exact version required
- IF (NOT "${${_NAME}_FIND_VERSION}" VERSION_EQUAL "${VERSION}")
- SET(VERSION_MSG "Found unsuitable version \"${VERSION}\", but required is exact version \"${${_NAME}_FIND_VERSION}\"")
- SET(VERSION_OK FALSE)
- ELSE (NOT "${${_NAME}_FIND_VERSION}" VERSION_EQUAL "${VERSION}")
- SET(VERSION_MSG "(found suitable exact version \"${VERSION}\")")
- ENDIF (NOT "${${_NAME}_FIND_VERSION}" VERSION_EQUAL "${VERSION}")
-
- ELSE(${_NAME}_FIND_VERSION_EXACT) # minimum version specified:
- IF ("${${_NAME}_FIND_VERSION}" VERSION_GREATER "${VERSION}")
- SET(VERSION_MSG "Found unsuitable version \"${VERSION}\", but required is at least \"${${_NAME}_FIND_VERSION}\"")
- SET(VERSION_OK FALSE)
- ELSE ("${${_NAME}_FIND_VERSION}" VERSION_GREATER "${VERSION}")
- SET(VERSION_MSG "(found suitable version \"${VERSION}\", required is \"${${_NAME}_FIND_VERSION}\")")
- ENDIF ("${${_NAME}_FIND_VERSION}" VERSION_GREATER "${VERSION}")
- ENDIF(${_NAME}_FIND_VERSION_EXACT)
-
- ELSE(VERSION)
+ set(VERSION_MSG "")
+ set(VERSION_OK TRUE)
+ set(VERSION ${${FPHSA_VERSION_VAR}} )
+ if (${_NAME}_FIND_VERSION)
+
+ if(VERSION)
+
+ if(${_NAME}_FIND_VERSION_EXACT) # exact version required
+ if (NOT "${${_NAME}_FIND_VERSION}" VERSION_EQUAL "${VERSION}")
+ set(VERSION_MSG "Found unsuitable version \"${VERSION}\", but required is exact version \"${${_NAME}_FIND_VERSION}\"")
+ set(VERSION_OK FALSE)
+ else ()
+ set(VERSION_MSG "(found suitable exact version \"${VERSION}\")")
+ endif ()
+
+ else() # minimum version specified:
+ if ("${${_NAME}_FIND_VERSION}" VERSION_GREATER "${VERSION}")
+ set(VERSION_MSG "Found unsuitable version \"${VERSION}\", but required is at least \"${${_NAME}_FIND_VERSION}\"")
+ set(VERSION_OK FALSE)
+ else ()
+ set(VERSION_MSG "(found suitable version \"${VERSION}\", minimum required is \"${${_NAME}_FIND_VERSION}\")")
+ endif ()
+ endif()
+
+ else()
# if the package was not found, but a version was given, add that to the output:
- IF(${_NAME}_FIND_VERSION_EXACT)
- SET(VERSION_MSG "(Required is exact version \"${${_NAME}_FIND_VERSION}\")")
- ELSE(${_NAME}_FIND_VERSION_EXACT)
- SET(VERSION_MSG "(Required is at least version \"${${_NAME}_FIND_VERSION}\")")
- ENDIF(${_NAME}_FIND_VERSION_EXACT)
-
- ENDIF(VERSION)
- ELSE (${_NAME}_FIND_VERSION)
- IF(VERSION)
- SET(VERSION_MSG "(found version \"${VERSION}\")")
- ENDIF(VERSION)
- ENDIF (${_NAME}_FIND_VERSION)
-
- IF(VERSION_OK)
- SET(DETAILS "${DETAILS}[v${VERSION}(${${_NAME}_FIND_VERSION})]")
- ELSE(VERSION_OK)
- SET(${_NAME_UPPER}_FOUND FALSE)
- ENDIF(VERSION_OK)
+ if(${_NAME}_FIND_VERSION_EXACT)
+ set(VERSION_MSG "(Required is exact version \"${${_NAME}_FIND_VERSION}\")")
+ else()
+ set(VERSION_MSG "(Required is at least version \"${${_NAME}_FIND_VERSION}\")")
+ endif()
+
+ endif()
+ else ()
+ if(VERSION)
+ set(VERSION_MSG "(found version \"${VERSION}\")")
+ endif()
+ endif ()
+
+ if(VERSION_OK)
+ set(DETAILS "${DETAILS}[v${VERSION}(${${_NAME}_FIND_VERSION})]")
+ else()
+ set(${_NAME_UPPER}_FOUND FALSE)
+ endif()
# print the result:
- IF (${_NAME_UPPER}_FOUND)
+ if (${_NAME_UPPER}_FOUND)
FIND_PACKAGE_MESSAGE(${_NAME} "Found ${_NAME}: ${${_FIRST_REQUIRED_VAR}} ${VERSION_MSG} ${COMPONENT_MSG}" "${DETAILS}")
- ELSE (${_NAME_UPPER}_FOUND)
+ else ()
- IF(FPHSA_CONFIG_MODE)
+ if(FPHSA_CONFIG_MODE)
_FPHSA_HANDLE_FAILURE_CONFIG_MODE()
- ELSE(FPHSA_CONFIG_MODE)
- IF(NOT VERSION_OK)
+ else()
+ if(NOT VERSION_OK)
_FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: ${VERSION_MSG} (found ${${_FIRST_REQUIRED_VAR}})")
- ELSE(NOT VERSION_OK)
+ else()
_FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} (missing: ${MISSING_VARS}) ${VERSION_MSG}")
- ENDIF(NOT VERSION_OK)
- ENDIF(FPHSA_CONFIG_MODE)
+ endif()
+ endif()
- ENDIF (${_NAME_UPPER}_FOUND)
+ endif ()
- SET(${_NAME_UPPER}_FOUND ${${_NAME_UPPER}_FOUND} PARENT_SCOPE)
+ set(${_NAME_UPPER}_FOUND ${${_NAME_UPPER}_FOUND} PARENT_SCOPE)
-ENDFUNCTION(FIND_PACKAGE_HANDLE_STANDARD_ARGS _FIRST_ARG)
+endfunction()
diff --git a/Modules/FindPackageMessage.cmake b/Modules/FindPackageMessage.cmake
index 48d3472b5..5cea43e35 100644
--- a/Modules/FindPackageMessage.cmake
+++ b/Modules/FindPackageMessage.cmake
@@ -11,12 +11,12 @@
#
# Example:
#
-# IF(X11_FOUND)
+# if(X11_FOUND)
# FIND_PACKAGE_MESSAGE(X11 "Found X11: ${X11_X11_LIB}"
# "[${X11_X11_LIB}][${X11_INCLUDE_DIR}]")
-# ELSE(X11_FOUND)
+# else()
# ...
-# ENDIF(X11_FOUND)
+# endif()
#=============================================================================
# Copyright 2008-2009 Kitware, Inc.
@@ -31,19 +31,19 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FUNCTION(FIND_PACKAGE_MESSAGE pkg msg details)
+function(FIND_PACKAGE_MESSAGE pkg msg details)
# Avoid printing a message repeatedly for the same find result.
- IF(NOT ${pkg}_FIND_QUIETLY)
- STRING(REGEX REPLACE "[\n]" "" details "${details}")
- SET(DETAILS_VAR FIND_PACKAGE_MESSAGE_DETAILS_${pkg})
- IF(NOT "${details}" STREQUAL "${${DETAILS_VAR}}")
+ if(NOT ${pkg}_FIND_QUIETLY)
+ string(REGEX REPLACE "[\n]" "" details "${details}")
+ set(DETAILS_VAR FIND_PACKAGE_MESSAGE_DETAILS_${pkg})
+ if(NOT "${details}" STREQUAL "${${DETAILS_VAR}}")
# The message has not yet been printed.
- MESSAGE(STATUS "${msg}")
+ message(STATUS "${msg}")
# Save the find details in the cache to avoid printing the same
# message again.
- SET("${DETAILS_VAR}" "${details}"
+ set("${DETAILS_VAR}" "${details}"
CACHE INTERNAL "Details about finding ${pkg}")
- ENDIF(NOT "${details}" STREQUAL "${${DETAILS_VAR}}")
- ENDIF(NOT ${pkg}_FIND_QUIETLY)
-ENDFUNCTION(FIND_PACKAGE_MESSAGE)
+ endif()
+ endif()
+endfunction()
diff --git a/Modules/FindPerl.cmake b/Modules/FindPerl.cmake
index ae686df75..e908a6556 100644
--- a/Modules/FindPerl.cmake
+++ b/Modules/FindPerl.cmake
@@ -18,31 +18,31 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE(FindCygwin)
+include(FindCygwin)
-SET(PERL_POSSIBLE_BIN_PATHS
+set(PERL_POSSIBLE_BIN_PATHS
${CYGWIN_INSTALL_PATH}/bin
)
-IF(WIN32)
- GET_FILENAME_COMPONENT(
- ActivePerl_CurrentVersion
- "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActivePerl;CurrentVersion]"
+if(WIN32)
+ get_filename_component(
+ ActivePerl_CurrentVersion
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActivePerl;CurrentVersion]"
NAME)
- SET(PERL_POSSIBLE_BIN_PATHS ${PERL_POSSIBLE_BIN_PATHS}
- "C:/Perl/bin"
+ set(PERL_POSSIBLE_BIN_PATHS ${PERL_POSSIBLE_BIN_PATHS}
+ "C:/Perl/bin"
[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActivePerl\\${ActivePerl_CurrentVersion}]/bin
)
-ENDIF(WIN32)
+endif()
-FIND_PROGRAM(PERL_EXECUTABLE
+find_program(PERL_EXECUTABLE
NAMES perl
PATHS ${PERL_POSSIBLE_BIN_PATHS}
)
-IF(PERL_EXECUTABLE)
+if(PERL_EXECUTABLE)
### PERL_VERSION
- EXECUTE_PROCESS(
+ execute_process(
COMMAND
${PERL_EXECUTABLE} -V:version
OUTPUT_VARIABLE
@@ -52,32 +52,32 @@ IF(PERL_EXECUTABLE)
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE
)
- IF(NOT PERL_VERSION_RESULT_VARIABLE AND NOT PERL_VERSION_OUTPUT_VARIABLE MATCHES "^version='UNKNOWN'")
- STRING(REGEX REPLACE "version='([^']+)'.*" "\\1" PERL_VERSION_STRING ${PERL_VERSION_OUTPUT_VARIABLE})
- ELSE()
- EXECUTE_PROCESS(
+ if(NOT PERL_VERSION_RESULT_VARIABLE AND NOT PERL_VERSION_OUTPUT_VARIABLE MATCHES "^version='UNKNOWN'")
+ string(REGEX REPLACE "version='([^']+)'.*" "\\1" PERL_VERSION_STRING ${PERL_VERSION_OUTPUT_VARIABLE})
+ else()
+ execute_process(
COMMAND ${PERL_EXECUTABLE} -v
OUTPUT_VARIABLE PERL_VERSION_OUTPUT_VARIABLE
RESULT_VARIABLE PERL_VERSION_RESULT_VARIABLE
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE
)
- IF(NOT PERL_VERSION_RESULT_VARIABLE AND PERL_VERSION_OUTPUT_VARIABLE MATCHES "This is perl.*[ \\(]v([0-9\\._]+)[ \\)]")
- STRING(REGEX REPLACE ".*This is perl.*[ \\(]v([0-9\\._]+)[ \\)].*" "\\1" PERL_VERSION_STRING ${PERL_VERSION_OUTPUT_VARIABLE})
- ELSEIF(NOT PERL_VERSION_RESULT_VARIABLE AND PERL_VERSION_OUTPUT_VARIABLE MATCHES "This is perl, version ([0-9\\._]+) +")
- STRING(REGEX REPLACE ".*This is perl, version ([0-9\\._]+) +.*" "\\1" PERL_VERSION_STRING ${PERL_VERSION_OUTPUT_VARIABLE})
- ENDIF()
- ENDIF()
-ENDIF(PERL_EXECUTABLE)
+ if(NOT PERL_VERSION_RESULT_VARIABLE AND PERL_VERSION_OUTPUT_VARIABLE MATCHES "This is perl.*[ \\(]v([0-9\\._]+)[ \\)]")
+ string(REGEX REPLACE ".*This is perl.*[ \\(]v([0-9\\._]+)[ \\)].*" "\\1" PERL_VERSION_STRING ${PERL_VERSION_OUTPUT_VARIABLE})
+ elseif(NOT PERL_VERSION_RESULT_VARIABLE AND PERL_VERSION_OUTPUT_VARIABLE MATCHES "This is perl, version ([0-9\\._]+) +")
+ string(REGEX REPLACE ".*This is perl, version ([0-9\\._]+) +.*" "\\1" PERL_VERSION_STRING ${PERL_VERSION_OUTPUT_VARIABLE})
+ endif()
+ endif()
+endif()
# Deprecated settings for compatibility with CMake1.4
-SET(PERL ${PERL_EXECUTABLE})
+set(PERL ${PERL_EXECUTABLE})
-# handle the QUIETLY and REQUIRED arguments and set PERL_FOUND to TRUE if
+# handle the QUIETLY and REQUIRED arguments and set PERL_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Perl
REQUIRED_VARS PERL_EXECUTABLE
VERSION_VAR PERL_VERSION_STRING)
-MARK_AS_ADVANCED(PERL_EXECUTABLE)
+mark_as_advanced(PERL_EXECUTABLE)
diff --git a/Modules/FindPerlLibs.cmake b/Modules/FindPerlLibs.cmake
index b2ffd3cf6..e9313adc9 100644
--- a/Modules/FindPerlLibs.cmake
+++ b/Modules/FindPerlLibs.cmake
@@ -9,7 +9,7 @@
# PERL_EXECUTABLE = full path to the perl binary
#
# The minimum required version of Perl can be specified using the
-# standard syntax, e.g. FIND_PACKAGE(PerlLibs 6.0)
+# standard syntax, e.g. find_package(PerlLibs 6.0)
#
# The following variables are also available if needed
# (introduced after CMake 2.6.4)
@@ -53,7 +53,7 @@ if (PERL_EXECUTABLE)
if (NOT PERL_PREFIX_RESULT_VARIABLE)
string(REGEX REPLACE "prefix='([^']+)'.*" "\\1" PERL_PREFIX ${PERL_PREFIX_OUTPUT_VARIABLE})
- endif (NOT PERL_PREFIX_RESULT_VARIABLE)
+ endif ()
### PERL_ARCHNAME
execute_process(
@@ -66,7 +66,7 @@ if (PERL_EXECUTABLE)
)
if (NOT PERL_ARCHNAME_RESULT_VARIABLE)
string(REGEX REPLACE "archname='([^']+)'.*" "\\1" PERL_ARCHNAME ${PERL_ARCHNAME_OUTPUT_VARIABLE})
- endif (NOT PERL_ARCHNAME_RESULT_VARIABLE)
+ endif ()
@@ -81,7 +81,7 @@ if (PERL_EXECUTABLE)
)
if (NOT PERL_CPPFLAGS_RESULT_VARIABLE)
string(REGEX REPLACE "cppflags='([^']+)'.*" "\\1" PERL_EXTRA_C_FLAGS ${PERL_CPPFLAGS_OUTPUT_VARIABLE})
- endif (NOT PERL_CPPFLAGS_RESULT_VARIABLE)
+ endif ()
### PERL_SITESEARCH
execute_process(
@@ -95,7 +95,7 @@ if (PERL_EXECUTABLE)
if (NOT PERL_SITESEARCH_RESULT_VARIABLE)
string(REGEX REPLACE "install[a-z]+='([^']+)'.*" "\\1" PERL_SITESEARCH ${PERL_SITESEARCH_OUTPUT_VARIABLE})
file(TO_CMAKE_PATH "${PERL_SITESEARCH}" PERL_SITESEARCH)
- endif (NOT PERL_SITESEARCH_RESULT_VARIABLE)
+ endif ()
### PERL_SITELIB
execute_process(
@@ -109,7 +109,7 @@ if (PERL_EXECUTABLE)
if (NOT PERL_SITELIB_RESULT_VARIABLE)
string(REGEX REPLACE "install[a-z]+='([^']+)'.*" "\\1" PERL_SITELIB ${PERL_SITELIB_OUTPUT_VARIABLE})
file(TO_CMAKE_PATH "${PERL_SITELIB}" PERL_SITELIB)
- endif (NOT PERL_SITELIB_RESULT_VARIABLE)
+ endif ()
### PERL_VENDORARCH
execute_process(
@@ -123,7 +123,7 @@ if (PERL_EXECUTABLE)
if (NOT PERL_VENDORARCH_RESULT_VARIABLE)
string(REGEX REPLACE "install[a-z]+='([^']+)'.*" "\\1" PERL_VENDORARCH ${PERL_VENDORARCH_OUTPUT_VARIABLE})
file(TO_CMAKE_PATH "${PERL_VENDORARCH}" PERL_VENDORARCH)
- endif (NOT PERL_VENDORARCH_RESULT_VARIABLE)
+ endif ()
### PERL_VENDORLIB
execute_process(
@@ -137,7 +137,7 @@ if (PERL_EXECUTABLE)
if (NOT PERL_VENDORLIB_RESULT_VARIABLE)
string(REGEX REPLACE "install[a-z]+='([^']+)'.*" "\\1" PERL_VENDORLIB ${PERL_VENDORLIB_OUTPUT_VARIABLE})
file(TO_CMAKE_PATH "${PERL_VENDORLIB}" PERL_VENDORLIB)
- endif (NOT PERL_VENDORLIB_RESULT_VARIABLE)
+ endif ()
macro(perl_adjust_darwin_lib_variable varname)
string( TOUPPER PERL_${varname} FINDPERL_VARNAME )
@@ -160,9 +160,9 @@ if (PERL_EXECUTABLE)
if (PERL_NEEDS_ADJUSTMENT)
string(REGEX REPLACE "(.*)/Updates/" "/System/\\1/" ${FINDPERL_VARNAME} ${${FINDPERL_VARNAME}})
- endif (PERL_NEEDS_ADJUSTMENT)
+ endif ()
- endif (NOT PERL_MINUSV_RESULT_VARIABLE)
+ endif ()
endmacro()
### PERL_ARCHLIB
@@ -178,7 +178,7 @@ if (PERL_EXECUTABLE)
string(REGEX REPLACE "install[a-z]+='([^']+)'.*" "\\1" PERL_ARCHLIB ${PERL_ARCHLIB_OUTPUT_VARIABLE})
perl_adjust_darwin_lib_variable( ARCHLIB )
file(TO_CMAKE_PATH "${PERL_ARCHLIB}" PERL_ARCHLIB)
- endif (NOT PERL_ARCHLIB_RESULT_VARIABLE)
+ endif ()
### PERL_PRIVLIB
execute_process(
@@ -193,7 +193,7 @@ if (PERL_EXECUTABLE)
string(REGEX REPLACE "install[a-z]+='([^']+)'.*" "\\1" PERL_PRIVLIB ${PERL_PRIVLIB_OUTPUT_VARIABLE})
perl_adjust_darwin_lib_variable( PRIVLIB )
file(TO_CMAKE_PATH "${PERL_PRIVLIB}" PERL_PRIVLIB)
- endif (NOT PERL_PRIVLIB_RESULT_VARIABLE)
+ endif ()
### PERL_POSSIBLE_LIBRARY_NAMES
execute_process(
@@ -206,9 +206,9 @@ if (PERL_EXECUTABLE)
)
if (NOT PERL_LIBRARY_RESULT_VARIABLE)
string(REGEX REPLACE "libperl='([^']+)'.*" "\\1" PERL_POSSIBLE_LIBRARY_NAMES ${PERL_LIBRARY_OUTPUT_VARIABLE})
- else (NOT PERL_LIBRARY_RESULT_VARIABLE)
+ else ()
set(PERL_POSSIBLE_LIBRARY_NAMES perl${PERL_VERSION_STRING} perl)
- endif (NOT PERL_LIBRARY_RESULT_VARIABLE)
+ endif ()
### PERL_INCLUDE_PATH
find_path(PERL_INCLUDE_PATH
@@ -234,9 +234,9 @@ if (PERL_EXECUTABLE)
/usr/lib/perl/${PERL_VERSION_STRING}/CORE
)
-endif (PERL_EXECUTABLE)
+endif ()
-# handle the QUIETLY and REQUIRED arguments and set PERLLIBS_FOUND to TRUE if
+# handle the QUIETLY and REQUIRED arguments and set PERLLIBS_FOUND to TRUE if
# all listed variables are TRUE
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
find_package_handle_standard_args(PerlLibs REQUIRED_VARS PERL_LIBRARY PERL_INCLUDE_PATH
diff --git a/Modules/FindPhysFS.cmake b/Modules/FindPhysFS.cmake
index 2e3ac1400..a2d6abf9b 100644
--- a/Modules/FindPhysFS.cmake
+++ b/Modules/FindPhysFS.cmake
@@ -8,7 +8,7 @@
# correspond to the ./configure --prefix=$PHYSFSDIR
# used in building PHYSFS.
#
-# Created by Eric Wing.
+# Created by Eric Wing.
#=============================================================================
# Copyright 2005-2009 Kitware, Inc.
@@ -23,9 +23,9 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PATH(PHYSFS_INCLUDE_DIR physfs.h
+find_path(PHYSFS_INCLUDE_DIR physfs.h
HINTS
- $ENV{PHYSFSDIR}
+ ENV PHYSFSDIR
PATH_SUFFIXES include/physfs include
PATHS
~/Library/Frameworks
@@ -36,11 +36,11 @@ FIND_PATH(PHYSFS_INCLUDE_DIR physfs.h
/opt
)
-FIND_LIBRARY(PHYSFS_LIBRARY
+find_library(PHYSFS_LIBRARY
NAMES physfs
HINTS
- $ENV{PHYSFSDIR}
- PATH_SUFFIXES lib64 lib
+ ENV PHYSFSDIR
+ PATH_SUFFIXES lib
PATHS
~/Library/Frameworks
/Library/Frameworks
@@ -52,6 +52,6 @@ FIND_LIBRARY(PHYSFS_LIBRARY
# handle the QUIETLY and REQUIRED arguments and set PHYSFS_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PhysFS DEFAULT_MSG PHYSFS_LIBRARY PHYSFS_INCLUDE_DIR)
diff --git a/Modules/FindPike.cmake b/Modules/FindPike.cmake
index 125e42832..5b48ab4e7 100644
--- a/Modules/FindPike.cmake
+++ b/Modules/FindPike.cmake
@@ -20,18 +20,18 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FILE(GLOB PIKE_POSSIBLE_INCLUDE_PATHS
+file(GLOB PIKE_POSSIBLE_INCLUDE_PATHS
/usr/include/pike/*
/usr/local/include/pike/*)
-FIND_PATH(PIKE_INCLUDE_PATH program.h
+find_path(PIKE_INCLUDE_PATH program.h
${PIKE_POSSIBLE_INCLUDE_PATHS})
-FIND_PROGRAM(PIKE_EXECUTABLE
+find_program(PIKE_EXECUTABLE
NAMES pike7.4
)
-MARK_AS_ADVANCED(
+mark_as_advanced(
PIKE_EXECUTABLE
PIKE_INCLUDE_PATH
)
diff --git a/Modules/FindPkgConfig.cmake b/Modules/FindPkgConfig.cmake
index 39d3a76ab..2766f9780 100644
--- a/Modules/FindPkgConfig.cmake
+++ b/Modules/FindPkgConfig.cmake
@@ -96,7 +96,7 @@ if (PKG_CONFIG_EXECUTABLE)
OUTPUT_VARIABLE PKG_CONFIG_VERSION_STRING
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
-endif (PKG_CONFIG_EXECUTABLE)
+endif ()
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
find_package_handle_standard_args(PkgConfig
@@ -111,11 +111,11 @@ set(PKG_CONFIG_FOUND "${PKGCONFIG_FOUND}")
# Unsets the given variables
macro(_pkgconfig_unset var)
set(${var} "" CACHE INTERNAL "")
-endmacro(_pkgconfig_unset)
+endmacro()
macro(_pkgconfig_set var value)
set(${var} ${value} CACHE INTERNAL "")
-endmacro(_pkgconfig_set)
+endmacro()
# Invokes pkgconfig, cleans up the result and sets variables
macro(_pkgconfig_invoke _pkglist _prefix _varname _regexp)
@@ -129,47 +129,47 @@ macro(_pkgconfig_invoke _pkglist _prefix _varname _regexp)
if (_pkgconfig_failed)
set(_pkgconfig_${_varname} "")
_pkgconfig_unset(${_prefix}_${_varname})
- else(_pkgconfig_failed)
+ else()
string(REGEX REPLACE "[\r\n]" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
string(REGEX REPLACE " +$" "" _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
if (NOT ${_regexp} STREQUAL "")
string(REGEX REPLACE "${_regexp}" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
- endif(NOT ${_regexp} STREQUAL "")
+ endif()
separate_arguments(_pkgconfig_invoke_result)
#message(STATUS " ${_varname} ... ${_pkgconfig_invoke_result}")
set(_pkgconfig_${_varname} ${_pkgconfig_invoke_result})
_pkgconfig_set(${_prefix}_${_varname} "${_pkgconfig_invoke_result}")
- endif(_pkgconfig_failed)
-endmacro(_pkgconfig_invoke)
+ endif()
+endmacro()
# Invokes pkgconfig two times; once without '--static' and once with
# '--static'
macro(_pkgconfig_invoke_dyn _pkglist _prefix _varname cleanup_regexp)
_pkgconfig_invoke("${_pkglist}" ${_prefix} ${_varname} "${cleanup_regexp}" ${ARGN})
_pkgconfig_invoke("${_pkglist}" ${_prefix} STATIC_${_varname} "${cleanup_regexp}" --static ${ARGN})
-endmacro(_pkgconfig_invoke_dyn)
+endmacro()
# Splits given arguments into options and a package list
macro(_pkgconfig_parse_options _result _is_req _is_silent)
set(${_is_req} 0)
set(${_is_silent} 0)
-
+
foreach(_pkg ${ARGN})
if (_pkg STREQUAL "REQUIRED")
set(${_is_req} 1)
- endif (_pkg STREQUAL "REQUIRED")
+ endif ()
if (_pkg STREQUAL "QUIET")
set(${_is_silent} 1)
- endif (_pkg STREQUAL "QUIET")
- endforeach(_pkg ${ARGN})
+ endif ()
+ endforeach()
set(${_result} ${ARGN})
list(REMOVE_ITEM ${_result} "REQUIRED")
list(REMOVE_ITEM ${_result} "QUIET")
-endmacro(_pkgconfig_parse_options)
+endmacro()
###
macro(_pkg_check_modules_internal _is_required _is_silent _prefix)
@@ -203,11 +203,11 @@ macro(_pkg_check_modules_internal _is_required _is_silent _prefix)
if (NOT ${_is_silent})
if (_pkg_check_modules_cnt EQUAL 1)
message(STATUS "checking for module '${_pkg_check_modules_list}'")
- else(_pkg_check_modules_cnt EQUAL 1)
+ else()
message(STATUS "checking for modules '${_pkg_check_modules_list}'")
- endif(_pkg_check_modules_cnt EQUAL 1)
- endif(NOT ${_is_silent})
-
+ endif()
+ endif()
+
set(_pkg_check_modules_packages)
set(_pkg_check_modules_failed)
@@ -220,35 +220,35 @@ macro(_pkg_check_modules_internal _is_required _is_silent _prefix)
string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\1" _pkg_check_modules_pkg_name "${_pkg_check_modules_pkg}")
string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\2" _pkg_check_modules_pkg_op "${_pkg_check_modules_pkg}")
string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\3" _pkg_check_modules_pkg_ver "${_pkg_check_modules_pkg}")
- else(_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*")
+ else()
set(_pkg_check_modules_pkg_name "${_pkg_check_modules_pkg}")
set(_pkg_check_modules_pkg_op)
set(_pkg_check_modules_pkg_ver)
- endif(_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*")
+ endif()
# handle the operands
if (_pkg_check_modules_pkg_op STREQUAL ">=")
list(APPEND _pkg_check_modules_exist_query --atleast-version)
- endif(_pkg_check_modules_pkg_op STREQUAL ">=")
+ endif()
if (_pkg_check_modules_pkg_op STREQUAL "=")
list(APPEND _pkg_check_modules_exist_query --exact-version)
- endif(_pkg_check_modules_pkg_op STREQUAL "=")
-
+ endif()
+
if (_pkg_check_modules_pkg_op STREQUAL "<=")
list(APPEND _pkg_check_modules_exist_query --max-version)
- endif(_pkg_check_modules_pkg_op STREQUAL "<=")
+ endif()
# create the final query which is of the format:
# * --atleast-version <version> <pkg-name>
- # * --exact-version <version> <pkg-name>
+ # * --exact-version <version> <pkg-name>
# * --max-version <version> <pkg-name>
# * --exists <pkg-name>
if (_pkg_check_modules_pkg_op)
list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_ver}")
- else(_pkg_check_modules_pkg_op)
+ else()
list(APPEND _pkg_check_modules_exist_query --exists)
- endif(_pkg_check_modules_pkg_op)
+ endif()
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_VERSION)
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_PREFIX)
@@ -267,21 +267,21 @@ macro(_pkg_check_modules_internal _is_required _is_silent _prefix)
if (_pkgconfig_retval)
if(NOT ${_is_silent})
message(STATUS " package '${_pkg_check_modules_pkg}' not found")
- endif(NOT ${_is_silent})
+ endif()
set(_pkg_check_modules_failed 1)
- endif(_pkgconfig_retval)
- endforeach(_pkg_check_modules_pkg)
+ endif()
+ endforeach()
if(_pkg_check_modules_failed)
# fail when requested
if (${_is_required})
message(SEND_ERROR "A required package was not found")
- endif (${_is_required})
- else(_pkg_check_modules_failed)
+ endif ()
+ else()
# when we are here, we checked whether requested modules
# exist. Now, go through them and set variables
-
+
_pkgconfig_set(${_prefix}_FOUND 1)
list(LENGTH _pkg_check_modules_packages pkg_count)
@@ -290,10 +290,10 @@ macro(_pkg_check_modules_internal _is_required _is_silent _prefix)
# handle case when there is only one package required
if (pkg_count EQUAL 1)
set(_pkg_check_prefix "${_prefix}")
- else(pkg_count EQUAL 1)
+ else()
set(_pkg_check_prefix "${_prefix}_${_pkg_check_modules_pkg}")
- endif(pkg_count EQUAL 1)
-
+ endif()
+
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" VERSION "" --modversion )
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" PREFIX "" --variable=prefix )
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" INCLUDEDIR "" --variable=includedir )
@@ -301,8 +301,8 @@ macro(_pkg_check_modules_internal _is_required _is_silent _prefix)
if (NOT ${_is_silent})
message(STATUS " found ${_pkg_check_modules_pkg}, version ${_pkgconfig_VERSION}")
- endif (NOT ${_is_silent})
- endforeach(_pkg_check_modules_pkg)
+ endif ()
+ endforeach()
# set variables which are combined for multiple modules
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARIES "(^| )-l" --libs-only-l )
@@ -313,13 +313,13 @@ macro(_pkg_check_modules_internal _is_required _is_silent _prefix)
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" INCLUDE_DIRS "(^| )-I" --cflags-only-I )
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS "" --cflags )
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS_OTHER "" --cflags-only-other )
- endif(_pkg_check_modules_failed)
- else(PKG_CONFIG_EXECUTABLE)
+ endif()
+ else()
if (${_is_required})
message(SEND_ERROR "pkg-config tool not found")
- endif (${_is_required})
- endif(PKG_CONFIG_EXECUTABLE)
-endmacro(_pkg_check_modules_internal)
+ endif ()
+ endif()
+endmacro()
###
### User visible macros start here
@@ -333,8 +333,8 @@ macro(pkg_check_modules _prefix _module0)
_pkg_check_modules_internal("${_pkg_is_required}" "${_pkg_is_silent}" "${_prefix}" ${_pkg_modules})
_pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION})
- endif(NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND)
-endmacro(pkg_check_modules)
+ endif()
+endmacro()
###
macro(pkg_search_module _prefix _module0)
@@ -345,28 +345,28 @@ macro(pkg_search_module _prefix _module0)
if (NOT ${_pkg_is_silent})
message(STATUS "checking for one of the modules '${_pkg_modules_alt}'")
- endif (NOT ${_pkg_is_silent})
+ endif ()
# iterate through all modules and stop at the first working one.
foreach(_pkg_alt ${_pkg_modules_alt})
if(NOT _pkg_modules_found)
_pkg_check_modules_internal(0 1 "${_prefix}" "${_pkg_alt}")
- endif(NOT _pkg_modules_found)
+ endif()
if (${_prefix}_FOUND)
set(_pkg_modules_found 1)
- endif(${_prefix}_FOUND)
- endforeach(_pkg_alt)
+ endif()
+ endforeach()
if (NOT ${_prefix}_FOUND)
if(${_pkg_is_required})
message(SEND_ERROR "None of the required '${_pkg_modules_alt}' found")
- endif(${_pkg_is_required})
- endif(NOT ${_prefix}_FOUND)
-
+ endif()
+ endif()
+
_pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION})
- endif(NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND)
-endmacro(pkg_search_module)
+ endif()
+endmacro()
### Local Variables:
### mode: cmake
diff --git a/Modules/FindPostgreSQL.cmake b/Modules/FindPostgreSQL.cmake
index 94e5676fe..e3c898b98 100644
--- a/Modules/FindPostgreSQL.cmake
+++ b/Modules/FindPostgreSQL.cmake
@@ -35,7 +35,7 @@
#
# To use this variable just do something like this:
# set(PostgreSQL_ADDITIONAL_VERSIONS "9.2" "8.4.4")
-# before calling FIND_PACKAGE(PostgreSQL) in your CMakeLists.txt file.
+# before calling find_package(PostgreSQL) in your CMakeLists.txt file.
# This will mean that the versions you set here will be found first in the order
# specified before the default ones are searched.
#
@@ -61,7 +61,7 @@
# PostgreSQL_LIBRARY_DIR to wherever the library pq (or libpq in windows) is
# 2) Use CMAKE_INCLUDE_PATH to set a path to <Your Path>/PostgreSQL<-version>. This will allow find_path()
# to locate PostgreSQL_INCLUDE_DIR by utilizing the PATH_SUFFIXES option. e.g. In your CMakeLists.txt file
-# SET(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "<Your Path>/include")
+# set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "<Your Path>/include")
# 3) Set an environment variable called ${PostgreSQL_ROOT} that points to the root of where you have
# installed PostgreSQL, e.g. <Your Path>.
#
@@ -74,11 +74,6 @@ set(PostgreSQL_LIBRARY_DIR_MESSAGE "Set the PostgreSQL_LIBRARY_DIR cmake cache e
set(PostgreSQL_ROOT_DIR_MESSAGE "Set the PostgreSQL_ROOT system variable to where PostgreSQL is found on the machine E.g C:/Program Files/PostgreSQL/8.4")
-set(PostgreSQL_ROOT_DIRECTORIES $ENV{PostgreSQL_ROOT})
-if(PostgreSQL_ROOT_DIRECTORIES)
- file(TO_CMAKE_PATH ${PostgreSQL_ROOT_DIRECTORIES} PostgreSQL_ROOT_DIRECTORIES)
-endif(PostgreSQL_ROOT_DIRECTORIES)
-
set(PostgreSQL_KNOWN_VERSIONS ${PostgreSQL_ADDITIONAL_VERSIONS}
"9.1" "9.0" "8.4" "8.3" "8.2" "8.1" "8.0")
@@ -86,10 +81,10 @@ set(PostgreSQL_KNOWN_VERSIONS ${PostgreSQL_ADDITIONAL_VERSIONS}
if ( WIN32 )
foreach (suffix ${PostgreSQL_KNOWN_VERSIONS} )
set(PostgreSQL_ADDITIONAL_SEARCH_PATHS ${PostgreSQL_ADDITIONAL_SEARCH_PATHS} "C:/Program Files/PostgreSQL/${suffix}" )
- endforeach(suffix)
-endif( WIN32 )
+ endforeach()
+endif()
set( PostgreSQL_ROOT_DIRECTORIES
- ${PostgreSQL_ROOT_DIRECTORIES}
+ ENV PostgreSQL_ROOT
${PostgreSQL_ROOT}
${PostgreSQL_ADDITIONAL_SEARCH_PATHS}
)
@@ -116,6 +111,7 @@ find_path(PostgreSQL_TYPE_INCLUDE_DIR
# Look in other places.
${PostgreSQL_ROOT_DIRECTORIES}
PATH_SUFFIXES
+ postgresql
pgsql/server
postgresql/server
include/server
@@ -151,7 +147,7 @@ if (PostgreSQL_INCLUDE_DIR AND EXISTS "${PostgreSQL_INCLUDE_DIR}/pg_config.h")
endif()
# Did we find anything?
-include(FindPackageHandleStandardArgs)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
find_package_handle_standard_args(PostgreSQL
REQUIRED_VARS PostgreSQL_LIBRARY PostgreSQL_INCLUDE_DIR PostgreSQL_TYPE_INCLUDE_DIR
VERSION_VAR PostgreSQL_VERSION_STRING)
@@ -167,6 +163,6 @@ if(PostgreSQL_FOUND)
#message("Final PostgreSQL include dir: ${PostgreSQL_INCLUDE_DIRS}")
#message("Final PostgreSQL library dir: ${PostgreSQL_LIBRARY_DIRS}")
#message("Final PostgreSQL libraries: ${PostgreSQL_LIBRARIES}")
-endif(PostgreSQL_FOUND)
+endif()
mark_as_advanced(PostgreSQL_INCLUDE_DIR PostgreSQL_TYPE_INCLUDE_DIR PostgreSQL_LIBRARY )
diff --git a/Modules/FindProducer.cmake b/Modules/FindProducer.cmake
index 26c804ac1..30990629b 100644
--- a/Modules/FindProducer.cmake
+++ b/Modules/FindProducer.cmake
@@ -1,18 +1,18 @@
# Though Producer isn't directly part of OpenSceneGraph, its primary user
-# is OSG so I consider this part of the Findosg* suite used to find
+# is OSG so I consider this part of the Findosg* suite used to find
# OpenSceneGraph components. You'll notice that I accept OSGDIR as an
# environment path.
-#
-# Each component is separate and you must opt in to each module. You must
-# also opt into OpenGL (and OpenThreads?) as these
-# modules won't do it for you. This is to allow you control over your own
+#
+# Each component is separate and you must opt in to each module. You must
+# also opt into OpenGL (and OpenThreads?) as these
+# modules won't do it for you. This is to allow you control over your own
# system piece by piece in case you need to opt out of certain components
# or change the Find behavior for a particular module (perhaps because the
# default FindOpenGL.cmake module doesn't work with your system as an
# example).
# If you want to use a more convenient module that includes everything,
# use the FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
+#
# Locate Producer
# This module defines
# PRODUCER_LIBRARY
@@ -42,11 +42,11 @@
# #include <Producer/CameraGroup>
# Try the user's environment request before anything else.
-FIND_PATH(PRODUCER_INCLUDE_DIR Producer/CameraGroup
+find_path(PRODUCER_INCLUDE_DIR Producer/CameraGroup
HINTS
- $ENV{PRODUCER_DIR}
- $ENV{OSG_DIR}
- $ENV{OSGDIR}
+ ENV PRODUCER_DIR
+ ENV OSG_DIR
+ ENV OSGDIR
PATH_SUFFIXES include
PATHS
~/Library/Frameworks
@@ -59,13 +59,13 @@ FIND_PATH(PRODUCER_INCLUDE_DIR Producer/CameraGroup
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/include
)
-FIND_LIBRARY(PRODUCER_LIBRARY
+find_library(PRODUCER_LIBRARY
NAMES Producer
HINTS
- $ENV{PRODUCER_DIR}
- $ENV{OSG_DIR}
- $ENV{OSGDIR}
- PATH_SUFFIXES lib64 lib
+ ENV PRODUCER_DIR
+ ENV OSG_DIR
+ ENV OSGDIR
+ PATH_SUFFIXES lib
PATHS
/sw
/opt/local
diff --git a/Modules/FindProtobuf.cmake b/Modules/FindProtobuf.cmake
index 1e1e49301..af0c2ddf0 100644
--- a/Modules/FindProtobuf.cmake
+++ b/Modules/FindProtobuf.cmake
@@ -78,7 +78,7 @@ function(PROTOBUF_GENERATE_CPP SRCS HDRS)
if(NOT ARGN)
message(SEND_ERROR "Error: PROTOBUF_GENERATE_CPP() called without any proto files")
return()
- endif(NOT ARGN)
+ endif()
if(PROTOBUF_GENERATE_CPP_APPEND_PATH)
# Create an include path for each file specified
@@ -109,7 +109,7 @@ function(PROTOBUF_GENERATE_CPP SRCS HDRS)
foreach(FIL ${ARGN})
get_filename_component(ABS_FIL ${FIL} ABSOLUTE)
get_filename_component(FIL_WE ${FIL} NAME_WE)
-
+
list(APPEND ${SRCS} "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.cc")
list(APPEND ${HDRS} "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.h")
diff --git a/Modules/FindPythonInterp.cmake b/Modules/FindPythonInterp.cmake
index a131c5fde..7fb65b869 100644
--- a/Modules/FindPythonInterp.cmake
+++ b/Modules/FindPythonInterp.cmake
@@ -47,16 +47,16 @@ if(PythonInterp_FIND_VERSION)
list(APPEND _PYTHON_FIND_OTHER_VERSIONS ${_PYTHON_V})
endif()
endforeach()
- endif(NOT PythonInterp_FIND_VERSION_EXACT)
+ endif()
unset(_PYTHON_FIND_MAJ_MIN)
unset(_PYTHON_FIND_MAJ)
- else(PythonInterp_FIND_VERSION MATCHES "^[0-9]+\\.[0-9]+(\\.[0-9]+.*)?$")
+ else()
list(APPEND _Python_NAMES python${PythonInterp_FIND_VERSION})
set(_PYTHON_FIND_OTHER_VERSIONS ${_PYTHON${PythonInterp_FIND_VERSION}_VERSIONS})
- endif(PythonInterp_FIND_VERSION MATCHES "^[0-9]+\\.[0-9]+(\\.[0-9]+.*)?$")
-else(PythonInterp_FIND_VERSION)
+ endif()
+else()
set(_PYTHON_FIND_OTHER_VERSIONS ${_PYTHON3_VERSIONS} ${_PYTHON2_VERSIONS} ${_PYTHON1_VERSIONS})
-endif(PythonInterp_FIND_VERSION)
+endif()
list(APPEND _Python_NAMES python)
@@ -131,7 +131,7 @@ if(PYTHON_EXECUTABLE)
endif()
unset(_PYTHON_VERSION_RESULT)
unset(_VERSION)
-endif(PYTHON_EXECUTABLE)
+endif()
# handle the QUIETLY and REQUIRED arguments and set PYTHONINTERP_FOUND to TRUE if
# all listed variables are TRUE
diff --git a/Modules/FindPythonLibs.cmake b/Modules/FindPythonLibs.cmake
index 11ff19623..0a9a99080 100644
--- a/Modules/FindPythonLibs.cmake
+++ b/Modules/FindPythonLibs.cmake
@@ -32,57 +32,57 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE(CMakeFindFrameworks)
+include(CMakeFindFrameworks)
# Search for the python framework on Apple.
CMAKE_FIND_FRAMEWORKS(Python)
-SET(_PYTHON1_VERSIONS 1.6 1.5)
-SET(_PYTHON2_VERSIONS 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0)
-SET(_PYTHON3_VERSIONS 3.3 3.2 3.1 3.0)
-
-IF(PythonLibs_FIND_VERSION)
- IF(PythonLibs_FIND_VERSION MATCHES "^[0-9]+\\.[0-9]+(\\.[0-9]+.*)?$")
- STRING(REGEX REPLACE "^([0-9]+\\.[0-9]+).*" "\\1" _PYTHON_FIND_MAJ_MIN "${PythonLibs_FIND_VERSION}")
- STRING(REGEX REPLACE "^([0-9]+).*" "\\1" _PYTHON_FIND_MAJ "${_PYTHON_FIND_MAJ_MIN}")
- UNSET(_PYTHON_FIND_OTHER_VERSIONS)
- IF(PythonLibs_FIND_VERSION_EXACT)
- IF(_PYTHON_FIND_MAJ_MIN STREQUAL PythonLibs_FIND_VERSION)
- SET(_PYTHON_FIND_OTHER_VERSIONS "${PythonLibs_FIND_VERSION}")
- ELSE(_PYTHON_FIND_MAJ_MIN STREQUAL PythonLibs_FIND_VERSION)
- SET(_PYTHON_FIND_OTHER_VERSIONS "${PythonLibs_FIND_VERSION}" "${_PYTHON_FIND_MAJ_MIN}")
- ENDIF(_PYTHON_FIND_MAJ_MIN STREQUAL PythonLibs_FIND_VERSION)
- ELSE(PythonLibs_FIND_VERSION_EXACT)
- FOREACH(_PYTHON_V ${_PYTHON${_PYTHON_FIND_MAJ}_VERSIONS})
- IF(NOT _PYTHON_V VERSION_LESS _PYTHON_FIND_MAJ_MIN)
- LIST(APPEND _PYTHON_FIND_OTHER_VERSIONS ${_PYTHON_V})
- ENDIF()
- ENDFOREACH()
- ENDIF(PythonLibs_FIND_VERSION_EXACT)
- UNSET(_PYTHON_FIND_MAJ_MIN)
- UNSET(_PYTHON_FIND_MAJ)
- ELSE(PythonLibs_FIND_VERSION MATCHES "^[0-9]+\\.[0-9]+(\\.[0-9]+.*)?$")
- SET(_PYTHON_FIND_OTHER_VERSIONS ${_PYTHON${PythonLibs_FIND_VERSION}_VERSIONS})
- ENDIF(PythonLibs_FIND_VERSION MATCHES "^[0-9]+\\.[0-9]+(\\.[0-9]+.*)?$")
-ELSE(PythonLibs_FIND_VERSION)
- SET(_PYTHON_FIND_OTHER_VERSIONS ${_PYTHON3_VERSIONS} ${_PYTHON2_VERSIONS} ${_PYTHON1_VERSIONS})
-ENDIF(PythonLibs_FIND_VERSION)
+set(_PYTHON1_VERSIONS 1.6 1.5)
+set(_PYTHON2_VERSIONS 2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0)
+set(_PYTHON3_VERSIONS 3.3 3.2 3.1 3.0)
+
+if(PythonLibs_FIND_VERSION)
+ if(PythonLibs_FIND_VERSION MATCHES "^[0-9]+\\.[0-9]+(\\.[0-9]+.*)?$")
+ string(REGEX REPLACE "^([0-9]+\\.[0-9]+).*" "\\1" _PYTHON_FIND_MAJ_MIN "${PythonLibs_FIND_VERSION}")
+ string(REGEX REPLACE "^([0-9]+).*" "\\1" _PYTHON_FIND_MAJ "${_PYTHON_FIND_MAJ_MIN}")
+ unset(_PYTHON_FIND_OTHER_VERSIONS)
+ if(PythonLibs_FIND_VERSION_EXACT)
+ if(_PYTHON_FIND_MAJ_MIN STREQUAL PythonLibs_FIND_VERSION)
+ set(_PYTHON_FIND_OTHER_VERSIONS "${PythonLibs_FIND_VERSION}")
+ else()
+ set(_PYTHON_FIND_OTHER_VERSIONS "${PythonLibs_FIND_VERSION}" "${_PYTHON_FIND_MAJ_MIN}")
+ endif()
+ else()
+ foreach(_PYTHON_V ${_PYTHON${_PYTHON_FIND_MAJ}_VERSIONS})
+ if(NOT _PYTHON_V VERSION_LESS _PYTHON_FIND_MAJ_MIN)
+ list(APPEND _PYTHON_FIND_OTHER_VERSIONS ${_PYTHON_V})
+ endif()
+ endforeach()
+ endif()
+ unset(_PYTHON_FIND_MAJ_MIN)
+ unset(_PYTHON_FIND_MAJ)
+ else()
+ set(_PYTHON_FIND_OTHER_VERSIONS ${_PYTHON${PythonLibs_FIND_VERSION}_VERSIONS})
+ endif()
+else()
+ set(_PYTHON_FIND_OTHER_VERSIONS ${_PYTHON3_VERSIONS} ${_PYTHON2_VERSIONS} ${_PYTHON1_VERSIONS})
+endif()
# Set up the versions we know about, in the order we will search. Always add
# the user supplied additional versions to the front.
-SET(_Python_VERSIONS
+set(_Python_VERSIONS
${Python_ADDITIONAL_VERSIONS}
${_PYTHON_FIND_OTHER_VERSIONS}
)
-UNSET(_PYTHON_FIND_OTHER_VERSIONS)
-UNSET(_PYTHON1_VERSIONS)
-UNSET(_PYTHON2_VERSIONS)
-UNSET(_PYTHON3_VERSIONS)
+unset(_PYTHON_FIND_OTHER_VERSIONS)
+unset(_PYTHON1_VERSIONS)
+unset(_PYTHON2_VERSIONS)
+unset(_PYTHON3_VERSIONS)
-FOREACH(_CURRENT_VERSION ${_Python_VERSIONS})
- STRING(REPLACE "." "" _CURRENT_VERSION_NO_DOTS ${_CURRENT_VERSION})
- IF(WIN32)
- FIND_LIBRARY(PYTHON_DEBUG_LIBRARY
+foreach(_CURRENT_VERSION ${_Python_VERSIONS})
+ string(REPLACE "." "" _CURRENT_VERSION_NO_DOTS ${_CURRENT_VERSION})
+ if(WIN32)
+ find_library(PYTHON_DEBUG_LIBRARY
NAMES python${_CURRENT_VERSION_NO_DOTS}_d python
PATHS
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs/Debug
@@ -90,9 +90,9 @@ FOREACH(_CURRENT_VERSION ${_Python_VERSIONS})
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs
[HKEY_CURRENT_USER\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs
)
- ENDIF(WIN32)
+ endif()
- FIND_LIBRARY(PYTHON_LIBRARY
+ find_library(PYTHON_LIBRARY
NAMES
python${_CURRENT_VERSION_NO_DOTS}
python${_CURRENT_VERSION}mu
@@ -106,7 +106,7 @@ FOREACH(_CURRENT_VERSION ${_Python_VERSIONS})
NO_SYSTEM_ENVIRONMENT_PATH
)
# Look for the static library in the Python config directory
- FIND_LIBRARY(PYTHON_LIBRARY
+ find_library(PYTHON_LIBRARY
NAMES python${_CURRENT_VERSION_NO_DOTS} python${_CURRENT_VERSION}
# Avoid finding the .dll in the PATH. We want the .lib.
NO_SYSTEM_ENVIRONMENT_PATH
@@ -116,20 +116,20 @@ FOREACH(_CURRENT_VERSION ${_Python_VERSIONS})
# For backward compatibility, honour value of PYTHON_INCLUDE_PATH, if
# PYTHON_INCLUDE_DIR is not set.
- IF(DEFINED PYTHON_INCLUDE_PATH AND NOT DEFINED PYTHON_INCLUDE_DIR)
- SET(PYTHON_INCLUDE_DIR "${PYTHON_INCLUDE_PATH}" CACHE PATH
+ if(DEFINED PYTHON_INCLUDE_PATH AND NOT DEFINED PYTHON_INCLUDE_DIR)
+ set(PYTHON_INCLUDE_DIR "${PYTHON_INCLUDE_PATH}" CACHE PATH
"Path to where Python.h is found" FORCE)
- ENDIF(DEFINED PYTHON_INCLUDE_PATH AND NOT DEFINED PYTHON_INCLUDE_DIR)
+ endif()
- SET(PYTHON_FRAMEWORK_INCLUDES)
- IF(Python_FRAMEWORKS AND NOT PYTHON_INCLUDE_DIR)
- FOREACH(dir ${Python_FRAMEWORKS})
- SET(PYTHON_FRAMEWORK_INCLUDES ${PYTHON_FRAMEWORK_INCLUDES}
+ set(PYTHON_FRAMEWORK_INCLUDES)
+ if(Python_FRAMEWORKS AND NOT PYTHON_INCLUDE_DIR)
+ foreach(dir ${Python_FRAMEWORKS})
+ set(PYTHON_FRAMEWORK_INCLUDES ${PYTHON_FRAMEWORK_INCLUDES}
${dir}/Versions/${_CURRENT_VERSION}/include/python${_CURRENT_VERSION})
- ENDFOREACH(dir)
- ENDIF(Python_FRAMEWORKS AND NOT PYTHON_INCLUDE_DIR)
+ endforeach()
+ endif()
- FIND_PATH(PYTHON_INCLUDE_DIR
+ find_path(PYTHON_INCLUDE_DIR
NAMES Python.h
PATHS
${PYTHON_FRAMEWORK_INCLUDES}
@@ -143,22 +143,22 @@ FOREACH(_CURRENT_VERSION ${_Python_VERSIONS})
)
# For backward compatibility, set PYTHON_INCLUDE_PATH.
- SET(PYTHON_INCLUDE_PATH "${PYTHON_INCLUDE_DIR}")
+ set(PYTHON_INCLUDE_PATH "${PYTHON_INCLUDE_DIR}")
- IF(PYTHON_INCLUDE_DIR AND EXISTS "${PYTHON_INCLUDE_DIR}/patchlevel.h")
- FILE(STRINGS "${PYTHON_INCLUDE_DIR}/patchlevel.h" python_version_str
+ if(PYTHON_INCLUDE_DIR AND EXISTS "${PYTHON_INCLUDE_DIR}/patchlevel.h")
+ file(STRINGS "${PYTHON_INCLUDE_DIR}/patchlevel.h" python_version_str
REGEX "^#define[ \t]+PY_VERSION[ \t]+\"[^\"]+\"")
- STRING(REGEX REPLACE "^#define[ \t]+PY_VERSION[ \t]+\"([^\"]+)\".*" "\\1"
+ string(REGEX REPLACE "^#define[ \t]+PY_VERSION[ \t]+\"([^\"]+)\".*" "\\1"
PYTHONLIBS_VERSION_STRING "${python_version_str}")
- UNSET(python_version_str)
- ENDIF(PYTHON_INCLUDE_DIR AND EXISTS "${PYTHON_INCLUDE_DIR}/patchlevel.h")
+ unset(python_version_str)
+ endif()
- IF(PYTHON_LIBRARY AND PYTHON_INCLUDE_DIR)
- BREAK()
- ENDIF(PYTHON_LIBRARY AND PYTHON_INCLUDE_DIR)
-ENDFOREACH(_CURRENT_VERSION)
+ if(PYTHON_LIBRARY AND PYTHON_INCLUDE_DIR)
+ break()
+ endif()
+endforeach()
-MARK_AS_ADVANCED(
+mark_as_advanced(
PYTHON_DEBUG_LIBRARY
PYTHON_LIBRARY
PYTHON_INCLUDE_DIR
@@ -168,21 +168,21 @@ MARK_AS_ADVANCED(
# cache entries because they are meant to specify the location of a single
# library. We now set the variables listed by the documentation for this
# module.
-SET(PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_DIR}")
-SET(PYTHON_DEBUG_LIBRARIES "${PYTHON_DEBUG_LIBRARY}")
+set(PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_DIR}")
+set(PYTHON_DEBUG_LIBRARIES "${PYTHON_DEBUG_LIBRARY}")
# These variables have been historically named in this module different from
# what SELECT_LIBRARY_CONFIGURATIONS() expects.
-SET(PYTHON_LIBRARY_DEBUG "${PYTHON_DEBUG_LIBRARY}")
-SET(PYTHON_LIBRARY_RELEASE "${PYTHON_LIBRARY}")
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
+set(PYTHON_LIBRARY_DEBUG "${PYTHON_DEBUG_LIBRARY}")
+set(PYTHON_LIBRARY_RELEASE "${PYTHON_LIBRARY}")
+include(${CMAKE_CURRENT_LIST_DIR}/SelectLibraryConfigurations.cmake)
SELECT_LIBRARY_CONFIGURATIONS(PYTHON)
# SELECT_LIBRARY_CONFIGURATIONS() sets ${PREFIX}_FOUND if it has a library.
# Unset this, this prefix doesn't match the module prefix, they are different
# for historical reasons.
-UNSET(PYTHON_FOUND)
+unset(PYTHON_FOUND)
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PythonLibs
REQUIRED_VARS PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS
VERSION_VAR PYTHONLIBS_VERSION_STRING)
@@ -190,51 +190,51 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(PythonLibs
# PYTHON_ADD_MODULE(<name> src1 src2 ... srcN) is used to build modules for python.
# PYTHON_WRITE_MODULES_HEADER(<filename>) writes a header file you can include
# in your sources to initialize the static python modules
-FUNCTION(PYTHON_ADD_MODULE _NAME )
- GET_PROPERTY(_TARGET_SUPPORTS_SHARED_LIBS
+function(PYTHON_ADD_MODULE _NAME )
+ get_property(_TARGET_SUPPORTS_SHARED_LIBS
GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS)
- OPTION(PYTHON_ENABLE_MODULE_${_NAME} "Add module ${_NAME}" TRUE)
- OPTION(PYTHON_MODULE_${_NAME}_BUILD_SHARED
+ option(PYTHON_ENABLE_MODULE_${_NAME} "Add module ${_NAME}" TRUE)
+ option(PYTHON_MODULE_${_NAME}_BUILD_SHARED
"Add module ${_NAME} shared" ${_TARGET_SUPPORTS_SHARED_LIBS})
# Mark these options as advanced
- MARK_AS_ADVANCED(PYTHON_ENABLE_MODULE_${_NAME}
+ mark_as_advanced(PYTHON_ENABLE_MODULE_${_NAME}
PYTHON_MODULE_${_NAME}_BUILD_SHARED)
- IF(PYTHON_ENABLE_MODULE_${_NAME})
- IF(PYTHON_MODULE_${_NAME}_BUILD_SHARED)
- SET(PY_MODULE_TYPE MODULE)
- ELSE(PYTHON_MODULE_${_NAME}_BUILD_SHARED)
- SET(PY_MODULE_TYPE STATIC)
- SET_PROPERTY(GLOBAL APPEND PROPERTY PY_STATIC_MODULES_LIST ${_NAME})
- ENDIF(PYTHON_MODULE_${_NAME}_BUILD_SHARED)
+ if(PYTHON_ENABLE_MODULE_${_NAME})
+ if(PYTHON_MODULE_${_NAME}_BUILD_SHARED)
+ set(PY_MODULE_TYPE MODULE)
+ else()
+ set(PY_MODULE_TYPE STATIC)
+ set_property(GLOBAL APPEND PROPERTY PY_STATIC_MODULES_LIST ${_NAME})
+ endif()
- SET_PROPERTY(GLOBAL APPEND PROPERTY PY_MODULES_LIST ${_NAME})
- ADD_LIBRARY(${_NAME} ${PY_MODULE_TYPE} ${ARGN})
-# TARGET_LINK_LIBRARIES(${_NAME} ${PYTHON_LIBRARIES})
+ set_property(GLOBAL APPEND PROPERTY PY_MODULES_LIST ${_NAME})
+ add_library(${_NAME} ${PY_MODULE_TYPE} ${ARGN})
+# target_link_libraries(${_NAME} ${PYTHON_LIBRARIES})
- IF(PYTHON_MODULE_${_NAME}_BUILD_SHARED)
- SET_TARGET_PROPERTIES(${_NAME} PROPERTIES PREFIX "${PYTHON_MODULE_PREFIX}")
- IF(WIN32 AND NOT CYGWIN)
- SET_TARGET_PROPERTIES(${_NAME} PROPERTIES SUFFIX ".pyd")
- ENDIF(WIN32 AND NOT CYGWIN)
- ENDIF(PYTHON_MODULE_${_NAME}_BUILD_SHARED)
+ if(PYTHON_MODULE_${_NAME}_BUILD_SHARED)
+ set_target_properties(${_NAME} PROPERTIES PREFIX "${PYTHON_MODULE_PREFIX}")
+ if(WIN32 AND NOT CYGWIN)
+ set_target_properties(${_NAME} PROPERTIES SUFFIX ".pyd")
+ endif()
+ endif()
- ENDIF(PYTHON_ENABLE_MODULE_${_NAME})
-ENDFUNCTION(PYTHON_ADD_MODULE)
+ endif()
+endfunction()
-FUNCTION(PYTHON_WRITE_MODULES_HEADER _filename)
+function(PYTHON_WRITE_MODULES_HEADER _filename)
- GET_PROPERTY(PY_STATIC_MODULES_LIST GLOBAL PROPERTY PY_STATIC_MODULES_LIST)
+ get_property(PY_STATIC_MODULES_LIST GLOBAL PROPERTY PY_STATIC_MODULES_LIST)
- GET_FILENAME_COMPONENT(_name "${_filename}" NAME)
- STRING(REPLACE "." "_" _name "${_name}")
- STRING(TOUPPER ${_name} _nameUpper)
- SET(_filename ${CMAKE_CURRENT_BINARY_DIR}/${_filename})
+ get_filename_component(_name "${_filename}" NAME)
+ string(REPLACE "." "_" _name "${_name}")
+ string(TOUPPER ${_name} _nameUpper)
+ set(_filename ${CMAKE_CURRENT_BINARY_DIR}/${_filename})
- SET(_filenameTmp "${_filename}.in")
- FILE(WRITE ${_filenameTmp} "/*Created by cmake, do not edit, changes will be lost*/\n")
- FILE(APPEND ${_filenameTmp}
+ set(_filenameTmp "${_filename}.in")
+ file(WRITE ${_filenameTmp} "/*Created by cmake, do not edit, changes will be lost*/\n")
+ file(APPEND ${_filenameTmp}
"#ifndef ${_nameUpper}
#define ${_nameUpper}
@@ -246,11 +246,11 @@ extern \"C\" {
")
- FOREACH(_currentModule ${PY_STATIC_MODULES_LIST})
- FILE(APPEND ${_filenameTmp} "extern void init${PYTHON_MODULE_PREFIX}${_currentModule}(void);\n\n")
- ENDFOREACH(_currentModule ${PY_STATIC_MODULES_LIST})
+ foreach(_currentModule ${PY_STATIC_MODULES_LIST})
+ file(APPEND ${_filenameTmp} "extern void init${PYTHON_MODULE_PREFIX}${_currentModule}(void);\n\n")
+ endforeach()
- FILE(APPEND ${_filenameTmp}
+ file(APPEND ${_filenameTmp}
"#ifdef __cplusplus
}
#endif /* __cplusplus */
@@ -258,18 +258,18 @@ extern \"C\" {
")
- FOREACH(_currentModule ${PY_STATIC_MODULES_LIST})
- FILE(APPEND ${_filenameTmp} "int ${_name}_${_currentModule}(void) \n{\n static char name[]=\"${PYTHON_MODULE_PREFIX}${_currentModule}\"; return PyImport_AppendInittab(name, init${PYTHON_MODULE_PREFIX}${_currentModule});\n}\n\n")
- ENDFOREACH(_currentModule ${PY_STATIC_MODULES_LIST})
+ foreach(_currentModule ${PY_STATIC_MODULES_LIST})
+ file(APPEND ${_filenameTmp} "int ${_name}_${_currentModule}(void) \n{\n static char name[]=\"${PYTHON_MODULE_PREFIX}${_currentModule}\"; return PyImport_AppendInittab(name, init${PYTHON_MODULE_PREFIX}${_currentModule});\n}\n\n")
+ endforeach()
- FILE(APPEND ${_filenameTmp} "void ${_name}_LoadAllPythonModules(void)\n{\n")
- FOREACH(_currentModule ${PY_STATIC_MODULES_LIST})
- FILE(APPEND ${_filenameTmp} " ${_name}_${_currentModule}();\n")
- ENDFOREACH(_currentModule ${PY_STATIC_MODULES_LIST})
- FILE(APPEND ${_filenameTmp} "}\n\n")
- FILE(APPEND ${_filenameTmp} "#ifndef EXCLUDE_LOAD_ALL_FUNCTION\nvoid CMakeLoadAllPythonModules(void)\n{\n ${_name}_LoadAllPythonModules();\n}\n#endif\n\n#endif\n")
+ file(APPEND ${_filenameTmp} "void ${_name}_LoadAllPythonModules(void)\n{\n")
+ foreach(_currentModule ${PY_STATIC_MODULES_LIST})
+ file(APPEND ${_filenameTmp} " ${_name}_${_currentModule}();\n")
+ endforeach()
+ file(APPEND ${_filenameTmp} "}\n\n")
+ file(APPEND ${_filenameTmp} "#ifndef EXCLUDE_LOAD_ALL_FUNCTION\nvoid CMakeLoadAllPythonModules(void)\n{\n ${_name}_LoadAllPythonModules();\n}\n#endif\n\n#endif\n")
-# with CONFIGURE_FILE() cmake complains that you may not use a file created using FILE(WRITE) as input file for CONFIGURE_FILE()
- EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${_filenameTmp}" "${_filename}" OUTPUT_QUIET ERROR_QUIET)
+# with configure_file() cmake complains that you may not use a file created using file(WRITE) as input file for configure_file()
+ execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${_filenameTmp}" "${_filename}" OUTPUT_QUIET ERROR_QUIET)
-ENDFUNCTION(PYTHON_WRITE_MODULES_HEADER)
+endfunction()
diff --git a/Modules/FindQt.cmake b/Modules/FindQt.cmake
index 2b8dfd7fb..13f18fe7a 100644
--- a/Modules/FindQt.cmake
+++ b/Modules/FindQt.cmake
@@ -1,16 +1,16 @@
-# - Searches for all installed versions of QT.
+# - Searches for all installed versions of Qt.
# This should only be used if your project can work with multiple
-# versions of QT. If not, you should just directly use FindQt4 or FindQt3.
-# If multiple versions of QT are found on the machine, then
+# versions of Qt. If not, you should just directly use FindQt4 or FindQt3.
+# If multiple versions of Qt are found on the machine, then
# The user must set the option DESIRED_QT_VERSION to the version
# they want to use. If only one version of qt is found on the machine,
-# then the DESIRED_QT_VERSION is set to that version and the
+# then the DESIRED_QT_VERSION is set to that version and the
# matching FindQt3 or FindQt4 module is included.
# Once the user sets DESIRED_QT_VERSION, then the FindQt3 or FindQt4 module
# is included.
#
-# QT_REQUIRED if this is set to TRUE then if CMake can
-# not find QT4 or QT3 an error is raised
+# QT_REQUIRED if this is set to TRUE then if CMake can
+# not find Qt4 or Qt3 an error is raised
# and a message is sent to the user.
#
# DESIRED_QT_VERSION OPTION is created
@@ -31,52 +31,52 @@
# License text for the above reference.)
# look for signs of qt3 installations
-FILE(GLOB GLOB_TEMP_VAR /usr/lib/qt-3*/bin/qmake)
-IF(GLOB_TEMP_VAR)
- SET(QT3_INSTALLED TRUE)
-ENDIF(GLOB_TEMP_VAR)
-SET(GLOB_TEMP_VAR)
+file(GLOB GLOB_TEMP_VAR /usr/lib/qt-3*/bin/qmake)
+if(GLOB_TEMP_VAR)
+ set(QT3_INSTALLED TRUE)
+endif()
+set(GLOB_TEMP_VAR)
-FILE(GLOB GLOB_TEMP_VAR /usr/local/qt-x11-commercial-3*/bin/qmake)
-IF(GLOB_TEMP_VAR)
- SET(QT3_INSTALLED TRUE)
-ENDIF(GLOB_TEMP_VAR)
-SET(GLOB_TEMP_VAR)
+file(GLOB GLOB_TEMP_VAR /usr/local/qt-x11-commercial-3*/bin/qmake)
+if(GLOB_TEMP_VAR)
+ set(QT3_INSTALLED TRUE)
+endif()
+set(GLOB_TEMP_VAR)
# look for qt4 installations
-FILE(GLOB GLOB_TEMP_VAR /usr/local/qt-x11-commercial-4*/bin/qmake)
-IF(GLOB_TEMP_VAR)
- SET(QT4_INSTALLED TRUE)
-ENDIF(GLOB_TEMP_VAR)
-SET(GLOB_TEMP_VAR)
+file(GLOB GLOB_TEMP_VAR /usr/local/qt-x11-commercial-4*/bin/qmake)
+if(GLOB_TEMP_VAR)
+ set(QT4_INSTALLED TRUE)
+endif()
+set(GLOB_TEMP_VAR)
-FILE(GLOB GLOB_TEMP_VAR /usr/local/Trolltech/Qt-4*/bin/qmake)
-IF(GLOB_TEMP_VAR)
- SET(QT4_INSTALLED TRUE)
-ENDIF(GLOB_TEMP_VAR)
-SET(GLOB_TEMP_VAR)
+file(GLOB GLOB_TEMP_VAR /usr/local/Trolltech/Qt-4*/bin/qmake)
+if(GLOB_TEMP_VAR)
+ set(QT4_INSTALLED TRUE)
+endif()
+set(GLOB_TEMP_VAR)
# now find qmake
-FIND_PROGRAM(QT_QMAKE_EXECUTABLE_FINDQT NAMES qmake PATHS "${QT_SEARCH_PATH}/bin" "$ENV{QTDIR}/bin")
-IF(QT_QMAKE_EXECUTABLE_FINDQT)
- EXEC_PROGRAM(${QT_QMAKE_EXECUTABLE_FINDQT} ARGS "-query QT_VERSION"
+find_program(QT_QMAKE_EXECUTABLE_FINDQT NAMES qmake PATHS "${QT_SEARCH_PATH}/bin" "$ENV{QTDIR}/bin")
+if(QT_QMAKE_EXECUTABLE_FINDQT)
+ exec_program(${QT_QMAKE_EXECUTABLE_FINDQT} ARGS "-query QT_VERSION"
OUTPUT_VARIABLE QTVERSION)
- IF(QTVERSION MATCHES "4.*")
- SET(QT_QMAKE_EXECUTABLE ${QT_QMAKE_EXECUTABLE_FINDQT} CACHE PATH "QT4 qmake program.")
- SET(QT4_INSTALLED TRUE)
- ENDIF(QTVERSION MATCHES "4.*")
- IF(QTVERSION MATCHES "Unknown")
- SET(QT3_INSTALLED TRUE)
- ENDIF(QTVERSION MATCHES "Unknown")
-ENDIF(QT_QMAKE_EXECUTABLE_FINDQT)
+ if(QTVERSION MATCHES "4.*")
+ set(QT_QMAKE_EXECUTABLE ${QT_QMAKE_EXECUTABLE_FINDQT} CACHE PATH "Qt4 qmake program.")
+ set(QT4_INSTALLED TRUE)
+ endif()
+ if(QTVERSION MATCHES "Unknown")
+ set(QT3_INSTALLED TRUE)
+ endif()
+endif()
-IF(QT_QMAKE_EXECUTABLE_FINDQT)
- EXEC_PROGRAM( ${QT_QMAKE_EXECUTABLE_FINDQT}
- ARGS "-query QT_INSTALL_HEADERS"
+if(QT_QMAKE_EXECUTABLE_FINDQT)
+ exec_program( ${QT_QMAKE_EXECUTABLE_FINDQT}
+ ARGS "-query QT_INSTALL_HEADERS"
OUTPUT_VARIABLE qt_headers )
-ENDIF(QT_QMAKE_EXECUTABLE_FINDQT)
+endif()
-FIND_FILE( QT4_QGLOBAL_H_FILE qglobal.h
+find_file( QT4_QGLOBAL_H_FILE qglobal.h
"${QT_SEARCH_PATH}/Qt/include"
"[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\4.0.0;InstallDir]/include/Qt"
"[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\4.0.0;InstallDir]/include/Qt"
@@ -89,12 +89,12 @@ FIND_FILE( QT4_QGLOBAL_H_FILE qglobal.h
/usr/share/qt4/include/Qt
C:/Progra~1/qt/include/Qt )
-IF(QT4_QGLOBAL_H_FILE)
- SET(QT4_INSTALLED TRUE)
-ENDIF(QT4_QGLOBAL_H_FILE)
+if(QT4_QGLOBAL_H_FILE)
+ set(QT4_INSTALLED TRUE)
+endif()
-FIND_FILE( QT3_QGLOBAL_H_FILE qglobal.h
- "${QT_SEARCH_PATH}/Qt/include"
+find_file( QT3_QGLOBAL_H_FILE qglobal.h
+ "${QT_SEARCH_PATH}/Qt/include"
"[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"
@@ -109,52 +109,52 @@ FIND_FILE( QT3_QGLOBAL_H_FILE qglobal.h
C:/Progra~1/qt/include
/usr/include/qt3 )
-IF(QT3_QGLOBAL_H_FILE)
- SET(QT3_INSTALLED TRUE)
-ENDIF(QT3_QGLOBAL_H_FILE)
+if(QT3_QGLOBAL_H_FILE)
+ set(QT3_INSTALLED TRUE)
+endif()
-IF(QT3_INSTALLED AND QT4_INSTALLED )
+if(QT3_INSTALLED AND QT4_INSTALLED )
# force user to pick if we have both
- SET(DESIRED_QT_VERSION 0 CACHE STRING "Pick a version of QT to use: 3 or 4")
-ELSE(QT3_INSTALLED AND QT4_INSTALLED )
+ set(DESIRED_QT_VERSION 0 CACHE STRING "Pick a version of Qt to use: 3 or 4")
+else()
# if only one found then pick that one
- IF(QT3_INSTALLED)
- SET(DESIRED_QT_VERSION 3 CACHE STRING "Pick a version of QT to use: 3 or 4")
- ENDIF(QT3_INSTALLED)
- IF(QT4_INSTALLED)
- SET(DESIRED_QT_VERSION 4 CACHE STRING "Pick a version of QT to use: 3 or 4")
- ENDIF(QT4_INSTALLED)
-ENDIF(QT3_INSTALLED AND QT4_INSTALLED )
+ if(QT3_INSTALLED)
+ set(DESIRED_QT_VERSION 3 CACHE STRING "Pick a version of Qt to use: 3 or 4")
+ endif()
+ if(QT4_INSTALLED)
+ set(DESIRED_QT_VERSION 4 CACHE STRING "Pick a version of Qt to use: 3 or 4")
+ endif()
+endif()
-IF(DESIRED_QT_VERSION MATCHES 3)
- SET(Qt3_FIND_REQUIRED ${Qt_FIND_REQUIRED})
- SET(Qt3_FIND_QUIETLY ${Qt_FIND_QUIETLY})
- INCLUDE(FindQt3)
-ENDIF(DESIRED_QT_VERSION MATCHES 3)
-IF(DESIRED_QT_VERSION MATCHES 4)
- SET(Qt4_FIND_REQUIRED ${Qt_FIND_REQUIRED})
- SET(Qt4_FIND_QUIETLY ${Qt_FIND_QUIETLY})
- INCLUDE(FindQt4)
-ENDIF(DESIRED_QT_VERSION MATCHES 4)
+if(DESIRED_QT_VERSION MATCHES 3)
+ set(Qt3_FIND_REQUIRED ${Qt_FIND_REQUIRED})
+ set(Qt3_FIND_QUIETLY ${Qt_FIND_QUIETLY})
+ include(FindQt3)
+endif()
+if(DESIRED_QT_VERSION MATCHES 4)
+ set(Qt4_FIND_REQUIRED ${Qt_FIND_REQUIRED})
+ set(Qt4_FIND_QUIETLY ${Qt_FIND_QUIETLY})
+ include(FindQt4)
+endif()
-IF(NOT QT3_INSTALLED AND NOT QT4_INSTALLED)
- IF(QT_REQUIRED)
- MESSAGE(SEND_ERROR "CMake was unable to find any QT versions, put qmake in your path, or set QT_QMAKE_EXECUTABLE.")
- ENDIF(QT_REQUIRED)
-ELSE(NOT QT3_INSTALLED AND NOT QT4_INSTALLED)
- IF(NOT QT_FOUND AND NOT DESIRED_QT_VERSION)
- IF(QT_REQUIRED)
- MESSAGE(SEND_ERROR "Multiple versions of QT found please set DESIRED_QT_VERSION")
- ELSE(QT_REQUIRED)
- MESSAGE("Multiple versions of QT found please set DESIRED_QT_VERSION")
- ENDIF(QT_REQUIRED)
- ENDIF(NOT QT_FOUND AND NOT DESIRED_QT_VERSION)
- IF(NOT QT_FOUND AND DESIRED_QT_VERSION)
- IF(QT_REQUIRED)
- MESSAGE(FATAL_ERROR "CMake was unable to find QT version: ${DESIRED_QT_VERSION}. Set advanced values QT_QMAKE_EXECUTABLE and QT${DESIRED_QT_VERSION}_QGLOBAL_FILE, if those are set then QT_QT_LIBRARY or QT_LIBRARY_DIR.")
- ELSE(QT_REQUIRED)
- MESSAGE( "CMake was unable to find desired QT version: ${DESIRED_QT_VERSION}. Set advanced values QT_QMAKE_EXECUTABLE and QT${DESIRED_QT_VERSION}_QGLOBAL_FILE.")
- ENDIF(QT_REQUIRED)
- ENDIF(NOT QT_FOUND AND DESIRED_QT_VERSION)
-ENDIF(NOT QT3_INSTALLED AND NOT QT4_INSTALLED)
-MARK_AS_ADVANCED(QT3_QGLOBAL_H_FILE QT4_QGLOBAL_H_FILE QT_QMAKE_EXECUTABLE_FINDQT)
+if(NOT QT3_INSTALLED AND NOT QT4_INSTALLED)
+ if(QT_REQUIRED)
+ message(SEND_ERROR "CMake was unable to find any Qt versions, put qmake in your path, or set QT_QMAKE_EXECUTABLE.")
+ endif()
+else()
+ if(NOT QT_FOUND AND NOT DESIRED_QT_VERSION)
+ if(QT_REQUIRED)
+ message(SEND_ERROR "Multiple versions of Qt found please set DESIRED_QT_VERSION")
+ else()
+ message("Multiple versions of Qt found please set DESIRED_QT_VERSION")
+ endif()
+ endif()
+ if(NOT QT_FOUND AND DESIRED_QT_VERSION)
+ if(QT_REQUIRED)
+ message(FATAL_ERROR "CMake was unable to find Qt version: ${DESIRED_QT_VERSION}. Set advanced values QT_QMAKE_EXECUTABLE and QT${DESIRED_QT_VERSION}_QGLOBAL_FILE, if those are set then QT_QT_LIBRARY or QT_LIBRARY_DIR.")
+ else()
+ message( "CMake was unable to find desired Qt version: ${DESIRED_QT_VERSION}. Set advanced values QT_QMAKE_EXECUTABLE and QT${DESIRED_QT_VERSION}_QGLOBAL_FILE.")
+ endif()
+ endif()
+endif()
+mark_as_advanced(QT3_QGLOBAL_H_FILE QT4_QGLOBAL_H_FILE QT_QMAKE_EXECUTABLE_FINDQT)
diff --git a/Modules/FindQt3.cmake b/Modules/FindQt3.cmake
index 2d8dbde22..07b6fef34 100644
--- a/Modules/FindQt3.cmake
+++ b/Modules/FindQt3.cmake
@@ -35,23 +35,23 @@
# License text for the above reference.)
# 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)
+if(QT4_FOUND)
+ if(Qt3_FIND_REQUIRED)
+ message( FATAL_ERROR "Qt3 and Qt4 cannot be used together in one project.")
+ else()
+ if(NOT Qt3_FIND_QUIETLY)
+ message( STATUS "Qt3 and Qt4 cannot be used together in one project.")
+ endif()
+ return()
+ endif()
+endif()
-FILE(GLOB GLOB_PATHS /usr/lib/qt-3*)
-FOREACH(GLOB_PATH ${GLOB_PATHS})
- LIST(APPEND GLOB_PATHS_BIN "${GLOB_PATH}/bin")
-ENDFOREACH(GLOB_PATH)
-FIND_PATH(QT_INCLUDE_DIR qt.h
+file(GLOB GLOB_PATHS /usr/lib/qt-3*)
+foreach(GLOB_PATH ${GLOB_PATHS})
+ list(APPEND GLOB_PATHS_BIN "${GLOB_PATH}/bin")
+endforeach()
+find_path(QT_INCLUDE_DIR qt.h
"[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"
@@ -68,229 +68,237 @@ FIND_PATH(QT_INCLUDE_DIR qt.h
# 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)
-ENDIF(NOT EXISTS ${QT_INCLUDE_DIR}/qglobal.h)
+if(NOT EXISTS ${QT_INCLUDE_DIR}/qglobal.h)
+ set(QT_INCLUDE_DIR QT_INCLUDE_DIR-NOTFOUND CACHE PATH "path to Qt3 include directory" FORCE)
+endif()
-IF(QT_INCLUDE_DIR)
+if(QT_INCLUDE_DIR)
#extract the version string from qglobal.h
- FILE(READ ${QT_INCLUDE_DIR}/qglobal.h QGLOBAL_H)
- STRING(REGEX MATCH "#define[\t ]+QT_VERSION_STR[\t ]+\"[0-9]+.[0-9]+.[0-9]+[a-z]*\"" QGLOBAL_H "${QGLOBAL_H}")
- STRING(REGEX REPLACE ".*\"([0-9]+.[0-9]+.[0-9]+[a-z]*)\".*" "\\1" qt_version_str "${QGLOBAL_H}")
+ file(STRINGS ${QT_INCLUDE_DIR}/qglobal.h QGLOBAL_H REGEX "#define[\t ]+QT_VERSION_STR[\t ]+\"[0-9]+.[0-9]+.[0-9]+[a-z]*\"")
+ string(REGEX REPLACE ".*\"([0-9]+.[0-9]+.[0-9]+[a-z]*)\".*" "\\1" qt_version_str "${QGLOBAL_H}")
+ unset(QGLOBAL_H)
# 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}")
- SET(QT_VERSION_STRING "${qt_version_str}")
-ENDIF(QT_INCLUDE_DIR)
+ string(REGEX REPLACE "\\." "" qt_version_str_lib "${qt_version_str}")
+ set(QT_VERSION_STRING "${qt_version_str}")
+endif()
-FILE(GLOB GLOB_PATHS_LIB /usr/lib/qt-3*/lib/)
-IF (QT_MT_REQUIRED)
- FIND_LIBRARY(QT_QT_LIBRARY
+file(GLOB GLOB_PATHS_LIB /usr/lib/qt-3*/lib/)
+if (QT_MT_REQUIRED)
+ find_library(QT_QT_LIBRARY
NAMES
qt-mt qt-mt${qt_version_str_lib} qt-mtnc${qt_version_str_lib}
qt-mtedu${qt_version_str_lib} qt-mt230nc qt-mtnc321 qt-mt3
PATHS
- "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]/lib"
- "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]/lib"
- "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/lib"
- $ENV{QTDIR}/lib
- ${GLOB_PATHS_LIB}
- /usr/local/qt/lib
- /usr/lib/qt/lib
- /usr/lib/qt3/lib
- /usr/lib/qt3/lib64
- /usr/share/qt3/lib
- C:/Progra~1/qt/lib
+ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]"
+ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]"
+ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]"
+ ENV QTDIR
+ ${GLOB_PATHS_LIB}
+ /usr/local/qt
+ /usr/lib/qt
+ /usr/lib/qt3
+ /usr/share/qt3
+ C:/Progra~1/qt
+ PATH_SUFFIXES
+ lib
)
-ELSE (QT_MT_REQUIRED)
- FIND_LIBRARY(QT_QT_LIBRARY
+else ()
+ find_library(QT_QT_LIBRARY
NAMES
qt qt-${qt_version_str_lib} qt-edu${qt_version_str_lib}
qt-mt qt-mt${qt_version_str_lib} qt-mtnc${qt_version_str_lib}
qt-mtedu${qt_version_str_lib} qt-mt230nc qt-mtnc321 qt-mt3
PATHS
- "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]/lib"
- "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]/lib"
- "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/lib"
- $ENV{QTDIR}/lib
- ${GLOB_PATHS_LIB}
- /usr/local/qt/lib
- /usr/lib/qt/lib
- /usr/lib/qt3/lib
- /usr/lib/qt3/lib64
- /usr/share/qt3/lib
- C:/Progra~1/qt/lib
+ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]"
+ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]"
+ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]"
+ ENV QTDIR
+ ${GLOB_PATHS_LIB}
+ /usr/local/qt
+ /usr/lib/qt
+ /usr/lib/qt3
+ /usr/share/qt3
+ C:/Progra~1/qt/lib
+ PATH_SUFFIXES
+ lib
)
-ENDIF (QT_MT_REQUIRED)
+endif ()
-FIND_LIBRARY(QT_QASSISTANTCLIENT_LIBRARY
+find_library(QT_QASSISTANTCLIENT_LIBRARY
NAMES qassistantclient
PATHS
- "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]/lib"
- "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]/lib"
- "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/lib"
- $ENV{QTDIR}/lib
- ${GLOB_PATHS_LIB}
- /usr/local/qt/lib
- /usr/lib/qt3/lib
- /usr/lib/qt3/lib64
- /usr/share/qt3/lib
- C:/Progra~1/qt/lib
+ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]"
+ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]"
+ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]"
+ ENV QTDIR
+ ${GLOB_PATHS_LIB}
+ /usr/local/qt
+ /usr/lib/qt3
+ /usr/share/qt3
+ C:/Progra~1/qt
+ PATH_SUFFIXES
+ lib
)
-# qt 3 should prefer QTDIR over the PATH
-FIND_PROGRAM(QT_MOC_EXECUTABLE
+# Qt 3 should prefer QTDIR over the PATH
+find_program(QT_MOC_EXECUTABLE
NAMES moc-qt3 moc
HINTS
- $ENV{QTDIR}/bin
+ ENV QTDIR
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
- /usr/lib/qt3/bin
- /usr/share/qt3/bin
- C:/Progra~1/qt/bin
- /usr/X11R6/bin
+ /usr/local/qt
+ /usr/lib/qt
+ /usr/lib/qt3
+ /usr/share/qt3
+ C:/Progra~1/qt
+ /usr/X11R6
+ PATH_SUFFIXES
+ bin
)
-IF(QT_MOC_EXECUTABLE)
- SET ( QT_WRAP_CPP "YES")
-ENDIF(QT_MOC_EXECUTABLE)
+if(QT_MOC_EXECUTABLE)
+ set ( QT_WRAP_CPP "YES")
+endif()
-# qt 3 should prefer QTDIR over the PATH
-FIND_PROGRAM(QT_UIC_EXECUTABLE
+# Qt 3 should prefer QTDIR over the PATH
+find_program(QT_UIC_EXECUTABLE
NAMES uic-qt3 uic
HINTS
- $ENV{QTDIR}/bin
+ ENV QTDIR
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"
${GLOB_PATHS_BIN}
- /usr/local/qt/bin
- /usr/lib/qt/bin
- /usr/lib/qt3/bin
- /usr/share/qt3/bin
- C:/Progra~1/qt/bin
- /usr/X11R6/bin
+ /usr/local/qt
+ /usr/lib/qt
+ /usr/lib/qt3
+ /usr/share/qt3
+ C:/Progra~1/qt
+ /usr/X11R6
+ PATH_SUFFIXES
+ bin
)
-IF(QT_UIC_EXECUTABLE)
- SET ( QT_WRAP_UI "YES")
-ENDIF(QT_UIC_EXECUTABLE)
+if(QT_UIC_EXECUTABLE)
+ set ( QT_WRAP_UI "YES")
+endif()
-IF (WIN32)
- FIND_LIBRARY(QT_QTMAIN_LIBRARY qtmain
+if (WIN32)
+ find_library(QT_QTMAIN_LIBRARY qtmain
HINTS
- $ENV{QTDIR}/lib
- "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]/lib"
- "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]/lib"
- "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]/lib"
+ ENV QTDIR
+ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]"
+ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]"
+ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.1.0;InstallDir]"
PATHS
- "$ENV{ProgramFiles}/qt/lib"
- "C:/Program Files/qt/lib"
+ "$ENV{ProgramFiles}/qt"
+ "C:/Program Files/qt"
+ PATH_SUFFIXES
+ lib
DOC "This Library is only needed by and included with Qt3 on MSWindows. It should be NOTFOUND, undefined or IGNORE otherwise."
)
-ENDIF (WIN32)
+endif ()
#support old QT_MIN_VERSION if set, but not if version is supplied by find_package()
-IF(NOT Qt3_FIND_VERSION AND QT_MIN_VERSION)
- SET(Qt3_FIND_VERSION ${QT_MIN_VERSION})
-ENDIF(NOT Qt3_FIND_VERSION AND QT_MIN_VERSION)
+if(NOT Qt3_FIND_VERSION AND QT_MIN_VERSION)
+ set(Qt3_FIND_VERSION ${QT_MIN_VERSION})
+endif()
# if the include a library are found then we have it
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Qt3
REQUIRED_VARS QT_QT_LIBRARY QT_INCLUDE_DIR QT_MOC_EXECUTABLE
VERSION_VAR QT_VERSION_STRING)
-SET(QT_FOUND ${QT3_FOUND} )
+set(QT_FOUND ${QT3_FOUND} )
-IF(QT_FOUND)
- SET( QT_LIBRARIES ${QT_LIBRARIES} ${QT_QT_LIBRARY} )
- SET( QT_DEFINITIONS "")
+if(QT_FOUND)
+ set( QT_LIBRARIES ${QT_LIBRARIES} ${QT_QT_LIBRARY} )
+ set( QT_DEFINITIONS "")
- IF (WIN32 AND NOT CYGWIN)
- IF (QT_QTMAIN_LIBRARY)
+ if (WIN32 AND NOT CYGWIN)
+ if (QT_QTMAIN_LIBRARY)
# for version 3
- SET (QT_DEFINITIONS -DQT_DLL -DQT_THREAD_SUPPORT -DNO_DEBUG)
- SET (QT_LIBRARIES imm32.lib ${QT_QT_LIBRARY} ${QT_QTMAIN_LIBRARY} )
- SET (QT_LIBRARIES ${QT_LIBRARIES} winmm wsock32)
- ELSE (QT_QTMAIN_LIBRARY)
+ set (QT_DEFINITIONS -DQT_DLL -DQT_THREAD_SUPPORT -DNO_DEBUG)
+ set (QT_LIBRARIES imm32.lib ${QT_QT_LIBRARY} ${QT_QTMAIN_LIBRARY} )
+ set (QT_LIBRARIES ${QT_LIBRARIES} winmm wsock32)
+ else ()
# for version 2
- SET (QT_LIBRARIES imm32.lib ws2_32.lib ${QT_QT_LIBRARY} )
- ENDIF (QT_QTMAIN_LIBRARY)
- ELSE (WIN32 AND NOT CYGWIN)
- SET (QT_LIBRARIES ${QT_QT_LIBRARY} )
+ set (QT_LIBRARIES imm32.lib ws2_32.lib ${QT_QT_LIBRARY} )
+ endif ()
+ else ()
+ set (QT_LIBRARIES ${QT_QT_LIBRARY} )
- SET (QT_DEFINITIONS -DQT_SHARED -DQT_NO_DEBUG)
- IF(QT_QT_LIBRARY MATCHES "qt-mt")
- SET (QT_DEFINITIONS ${QT_DEFINITIONS} -DQT_THREAD_SUPPORT -D_REENTRANT)
- ENDIF(QT_QT_LIBRARY MATCHES "qt-mt")
+ set (QT_DEFINITIONS -DQT_SHARED -DQT_NO_DEBUG)
+ if(QT_QT_LIBRARY MATCHES "qt-mt")
+ set (QT_DEFINITIONS ${QT_DEFINITIONS} -DQT_THREAD_SUPPORT -D_REENTRANT)
+ endif()
- ENDIF (WIN32 AND NOT CYGWIN)
+ endif ()
- IF (QT_QASSISTANTCLIENT_LIBRARY)
- SET (QT_LIBRARIES ${QT_QASSISTANTCLIENT_LIBRARY} ${QT_LIBRARIES})
- ENDIF (QT_QASSISTANTCLIENT_LIBRARY)
+ if (QT_QASSISTANTCLIENT_LIBRARY)
+ set (QT_LIBRARIES ${QT_QASSISTANTCLIENT_LIBRARY} ${QT_LIBRARIES})
+ endif ()
# Backwards compatibility for CMake1.4 and 1.2
- SET (QT_MOC_EXE ${QT_MOC_EXECUTABLE} )
- SET (QT_UIC_EXE ${QT_UIC_EXECUTABLE} )
+ set (QT_MOC_EXE ${QT_MOC_EXECUTABLE} )
+ set (QT_UIC_EXE ${QT_UIC_EXECUTABLE} )
# for unix add X11 stuff
- IF(UNIX)
- FIND_PACKAGE(X11)
- IF (X11_FOUND)
- SET (QT_LIBRARIES ${QT_LIBRARIES} ${X11_LIBRARIES})
- ENDIF (X11_FOUND)
- IF (CMAKE_DL_LIBS)
- SET (QT_LIBRARIES ${QT_LIBRARIES} ${CMAKE_DL_LIBS})
- ENDIF (CMAKE_DL_LIBS)
- ENDIF(UNIX)
- IF(QT_QT_LIBRARY MATCHES "qt-mt")
- FIND_PACKAGE(Threads)
- SET(QT_LIBRARIES ${QT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
- ENDIF(QT_QT_LIBRARY MATCHES "qt-mt")
-ENDIF(QT_FOUND)
+ if(UNIX)
+ find_package(X11)
+ if (X11_FOUND)
+ set (QT_LIBRARIES ${QT_LIBRARIES} ${X11_LIBRARIES})
+ endif ()
+ if (CMAKE_DL_LIBS)
+ set (QT_LIBRARIES ${QT_LIBRARIES} ${CMAKE_DL_LIBS})
+ endif ()
+ endif()
+ if(QT_QT_LIBRARY MATCHES "qt-mt")
+ find_package(Threads)
+ set(QT_LIBRARIES ${QT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
+ endif()
+endif()
-IF(QT_MOC_EXECUTABLE)
- EXECUTE_PROCESS(COMMAND ${QT_MOC_EXECUTABLE} "-v"
+if(QT_MOC_EXECUTABLE)
+ execute_process(COMMAND ${QT_MOC_EXECUTABLE} "-v"
OUTPUT_VARIABLE QTVERSION_MOC
ERROR_QUIET)
-ENDIF(QT_MOC_EXECUTABLE)
-IF(QT_UIC_EXECUTABLE)
- EXECUTE_PROCESS(COMMAND ${QT_UIC_EXECUTABLE} "-version"
+endif()
+if(QT_UIC_EXECUTABLE)
+ execute_process(COMMAND ${QT_UIC_EXECUTABLE} "-version"
OUTPUT_VARIABLE QTVERSION_UIC
ERROR_QUIET)
-ENDIF(QT_UIC_EXECUTABLE)
+endif()
-SET(_QT_UIC_VERSION_3 FALSE)
-IF("${QTVERSION_UIC}" MATCHES ".* 3..*")
- SET(_QT_UIC_VERSION_3 TRUE)
-ENDIF("${QTVERSION_UIC}" MATCHES ".* 3..*")
+set(_QT_UIC_VERSION_3 FALSE)
+if("${QTVERSION_UIC}" MATCHES ".* 3..*")
+ set(_QT_UIC_VERSION_3 TRUE)
+endif()
-SET(_QT_MOC_VERSION_3 FALSE)
-IF("${QTVERSION_MOC}" MATCHES ".* 3..*")
- SET(_QT_MOC_VERSION_3 TRUE)
-ENDIF("${QTVERSION_MOC}" MATCHES ".* 3..*")
+set(_QT_MOC_VERSION_3 FALSE)
+if("${QTVERSION_MOC}" MATCHES ".* 3..*")
+ set(_QT_MOC_VERSION_3 TRUE)
+endif()
-SET(QT_WRAP_CPP FALSE)
-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_CPP FALSE)
+if (QT_MOC_EXECUTABLE AND _QT_MOC_VERSION_3)
+ set ( QT_WRAP_CPP TRUE)
+endif ()
-SET(QT_WRAP_UI FALSE)
-IF (QT_UIC_EXECUTABLE AND _QT_UIC_VERSION_3)
- SET ( QT_WRAP_UI TRUE)
-ENDIF (QT_UIC_EXECUTABLE AND _QT_UIC_VERSION_3)
+set(QT_WRAP_UI FALSE)
+if (QT_UIC_EXECUTABLE AND _QT_UIC_VERSION_3)
+ set ( QT_WRAP_UI TRUE)
+endif ()
-MARK_AS_ADVANCED(
+mark_as_advanced(
QT_INCLUDE_DIR
QT_QT_LIBRARY
QT_QTMAIN_LIBRARY
diff --git a/Modules/FindQt4.cmake b/Modules/FindQt4.cmake
index 2f1708d70..a84074b53 100644
--- a/Modules/FindQt4.cmake
+++ b/Modules/FindQt4.cmake
@@ -1,9 +1,9 @@
-# - Find QT 4
+# - Find Qt 4
# This module can be used to find Qt4.
# The most important issue is that the Qt4 qmake is available via the system path.
# This qmake is then used to detect basically everything else.
-# This module defines a number of key variables and macros.
-# The variable QT_USE_FILE is set which is the path to a CMake file that can be included
+# This module defines a number of key variables and macros.
+# The variable QT_USE_FILE is set which is the path to a CMake file that can be included
# to compile Qt 4 applications and libraries. It sets up the compilation
# environment for include directories, preprocessor defines and populates a
# QT_LIBRARIES variable.
@@ -15,10 +15,10 @@
# target_link_libraries(myexe ${QT_LIBRARIES})
#
# The minimum required version can be specified using the standard find_package()-syntax
-# (see example above).
+# (see example above).
# For compatibility with older versions of FindQt4.cmake it is also possible to
-# set the variable QT_MIN_VERSION to the minimum required version of Qt4 before the
-# find_package(Qt4) command.
+# set the variable QT_MIN_VERSION to the minimum required version of Qt4 before the
+# find_package(Qt4) command.
# If both are used, the version used in the find_package() command overrides the
# one from QT_MIN_VERSION.
#
@@ -53,26 +53,26 @@
# QT_USE_QTSCRIPTTOOLS
# QT_USE_QTDECLARATIVE
#
-# QT_USE_IMPORTED_TARGETS
+# QT_USE_IMPORTED_TARGETS
# If this variable is set to TRUE, FindQt4.cmake will create imported
-# library targets for the various Qt libraries and set the
+# library targets for the various Qt libraries and set the
# library variables like QT_QTCORE_LIBRARY to point at these imported
-# targets instead of the library file on disk. This provides much better
-# handling of the release and debug versions of the Qt libraries and is
+# targets instead of the library file on disk. This provides much better
+# handling of the release and debug versions of the Qt libraries and is
# also always backwards compatible, except for the case that dependencies
-# of libraries are exported, these will then also list the names of the
+# of libraries are exported, these will then also list the names of the
# imported targets as dependency and not the file location on disk. This
# is much more flexible, but requires that FindQt4.cmake is executed before
# such an exported dependency file is processed.
#
# There are also some files that need processing by some Qt tools such as moc
# and uic. Listed below are macros that may be used to process those files.
-#
+#
# macro QT4_WRAP_CPP(outfiles inputfile ... OPTIONS ...)
# create moc code from a list of files containing Qt class with
-# the Q_OBJECT declaration. Per-direcotry preprocessor definitions
+# the Q_OBJECT declaration. Per-directory preprocessor definitions
# are also added. Options may be given to moc, such as those found
-# when executing "moc -help".
+# when executing "moc -help".
#
# macro QT4_WRAP_UI(outfiles inputfile ... OPTIONS ...)
# create code from a list of Qt designer ui files.
@@ -92,13 +92,13 @@
# macro QT4_AUTOMOC(sourcefile1 sourcefile2 ... )
# This macro is still experimental.
# It can be used to have moc automatically handled.
-# So if you have the files foo.h and foo.cpp, and in foo.h a
+# So if you have the files foo.h and foo.cpp, and in foo.h a
# a class uses the Q_OBJECT macro, moc has to run on it. If you don't
# want to use QT4_WRAP_CPP() (which is reliable and mature), you can insert
# #include "foo.moc"
# in foo.cpp and then give foo.cpp as argument to QT4_AUTOMOC(). This will the
# scan all listed files at cmake-time for such included moc files and if it finds
-# them cause a rule to be generated to run moc at build time on the
+# them cause a rule to be generated to run moc at build time on the
# accompanying header file foo.h.
# If a source file has the SKIP_AUTOMOC property set it will be ignored by this macro.
#
@@ -106,7 +106,7 @@
#
# macro QT4_ADD_DBUS_INTERFACE(outfiles interface basename)
# Create a the interface header and implementation files with the
-# given basename from the given interface xml file and add it to
+# given basename from the given interface xml file and add it to
# the list of sources.
#
# You can pass additional parameters to the qdbusxml2cpp call by setting
@@ -136,19 +136,19 @@
#
# macro QT4_GENERATE_DBUS_INTERFACE( header [interfacename] OPTIONS ...)
# generate the xml interface file from the given header.
-# If the optional argument interfacename is omitted, the name of the
+# If the optional argument interfacename is omitted, the name of the
# interface file is constructed from the basename of the header with
# the suffix .xml appended.
# Options may be given to qdbuscpp2xml, such as those found when executing "qdbuscpp2xml --help"
#
-# macro QT4_CREATE_TRANSLATION( qm_files directories ... sources ...
+# macro QT4_CREATE_TRANSLATION( qm_files directories ... sources ...
# ts_files ... OPTIONS ...)
# out: qm_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 directories and/or 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
@@ -163,6 +163,17 @@
# filenames can be found in qm_files. The ts_files
# must exists and are not updated in any way.
#
+# function QT4_USE_MODULES( target [link_type] modules...)
+# Make <target> use the <modules> from Qt. Using a Qt module means
+# to link to the library, add the relevant include directories for the module,
+# and add the relevant compiler defines for using the module.
+# Modules are roughly equivalent to components of Qt4, so usage would be
+# something like:
+# qt4_use_modules(myexe Core Gui Declarative)
+# to use QtCore, QtGui and QtDeclarative. The optional <link_type> argument can
+# be specified as either LINK_PUBLIC or LINK_PRIVATE to specify the same argument
+# to the target_link_libraries call.
+#
#
# Below is a detailed list of variables that FindQt4.cmake sets.
# QT_FOUND If false, don't try to use Qt.
@@ -211,41 +222,41 @@
# The QT_USE_FILE will also define QT_DEBUG and QT_NO_DEBUG
# to fit your current build type. Those are not contained
# in QT_DEFINITIONS.
-#
-# QT_INCLUDES List of paths to all include directories of
+#
+# QT_INCLUDES List of paths to all include directories of
# Qt4 QT_INCLUDE_DIR and QT_QTCORE_INCLUDE_DIR are
# always in this variable even if NOTFOUND,
# all other INCLUDE_DIRS are
# only added if they are found.
# You do not need to use this if you include QT_USE_FILE.
-#
+#
#
# Include directories for the Qt modules are listed here.
# You do not need to use these variables if you include QT_USE_FILE.
#
# QT_INCLUDE_DIR Path to "include" of Qt4
-# QT_QT3SUPPORT_INCLUDE_DIR Path to "include/Qt3Support"
-# QT_QTASSISTANT_INCLUDE_DIR Path to "include/QtAssistant"
+# QT_QT3SUPPORT_INCLUDE_DIR Path to "include/Qt3Support"
+# QT_QTASSISTANT_INCLUDE_DIR Path to "include/QtAssistant"
# QT_QTASSISTANTCLIENT_INCLUDE_DIR Path to "include/QtAssistant"
# QT_QAXCONTAINER_INCLUDE_DIR Path to "include/ActiveQt" (Windows only)
# QT_QAXSERVER_INCLUDE_DIR Path to "include/ActiveQt" (Windows only)
-# QT_QTCORE_INCLUDE_DIR Path to "include/QtCore"
+# QT_QTCORE_INCLUDE_DIR Path to "include/QtCore"
# QT_QTDBUS_INCLUDE_DIR Path to "include/QtDBus"
-# QT_QTDESIGNER_INCLUDE_DIR Path to "include/QtDesigner"
+# QT_QTDESIGNER_INCLUDE_DIR Path to "include/QtDesigner"
# QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR Path to "include/QtDesigner"
-# QT_QTGUI_INCLUDE_DIR Path to "include/QtGui"
+# QT_QTGUI_INCLUDE_DIR Path to "include/QtGui"
# QT_QTHELP_INCLUDE_DIR Path to "include/QtHelp"
-# QT_QTMOTIF_INCLUDE_DIR Path to "include/QtMotif"
-# QT_QTMULTIMEDIA_INCLUDE_DIR Path to "include/QtMultimedia"
-# QT_QTNETWORK_INCLUDE_DIR Path to "include/QtNetwork"
-# QT_QTNSPLUGIN_INCLUDE_DIR Path to "include/QtNsPlugin"
-# QT_QTOPENGL_INCLUDE_DIR Path to "include/QtOpenGL"
+# QT_QTMOTIF_INCLUDE_DIR Path to "include/QtMotif"
+# QT_QTMULTIMEDIA_INCLUDE_DIR Path to "include/QtMultimedia"
+# QT_QTNETWORK_INCLUDE_DIR Path to "include/QtNetwork"
+# QT_QTNSPLUGIN_INCLUDE_DIR Path to "include/QtNsPlugin"
+# QT_QTOPENGL_INCLUDE_DIR Path to "include/QtOpenGL"
# QT_QTSCRIPT_INCLUDE_DIR Path to "include/QtScript"
-# QT_QTSQL_INCLUDE_DIR Path to "include/QtSql"
+# QT_QTSQL_INCLUDE_DIR Path to "include/QtSql"
# QT_QTSVG_INCLUDE_DIR Path to "include/QtSvg"
# QT_QTTEST_INCLUDE_DIR Path to "include/QtTest"
# QT_QTWEBKIT_INCLUDE_DIR Path to "include/QtWebKit"
-# QT_QTXML_INCLUDE_DIR Path to "include/QtXml"
+# QT_QTXML_INCLUDE_DIR Path to "include/QtXml"
# QT_QTXMLPATTERNS_INCLUDE_DIR Path to "include/QtXmlPatterns"
# QT_PHONON_INCLUDE_DIR Path to "include/phonon"
# QT_QTSCRIPTTOOLS_INCLUDE_DIR Path to "include/QtScriptTools"
@@ -292,7 +303,7 @@
# QT_QTMAIN_LIBRARY The qtmain library for Windows
# QT_PHONON_LIBRARY The phonon library
# QT_QTSCRIPTTOOLS_LIBRARY The QtScriptTools library
-#
+#
# The QtDeclarative library: QT_QTDECLARATIVE_LIBRARY
#
# also defined, but NOT for general use are
@@ -307,17 +318,17 @@
# QT_QCOLLECTIONGENERATOR_EXECUTABLE Where to find the qcollectiongenerator tool.
# QT_DESIGNER_EXECUTABLE Where to find the Qt designer tool.
# QT_LINGUIST_EXECUTABLE Where to find the Qt linguist tool.
-#
#
-# These are around for backwards compatibility
+#
+# These are around for backwards compatibility
# they will be set
# QT_WRAP_CPP Set true if QT_MOC_EXECUTABLE is found
# QT_WRAP_UI Set true if QT_UIC_EXECUTABLE is found
-#
+#
# These variables do _NOT_ have any effect anymore (compared to FindQt.cmake)
# QT_MT_REQUIRED Qt4 is now always multithreaded
-#
-# These variables are set to "" Because Qt structure changed
+#
+# These variables are set to "" Because Qt structure changed
# (They make no sense in Qt4)
# QT_QT_LIBRARY Qt-Library is now split
@@ -334,385 +345,385 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-# Use FIND_PACKAGE( Qt4 COMPONENTS ... ) to enable modules
-IF( Qt4_FIND_COMPONENTS )
- FOREACH( component ${Qt4_FIND_COMPONENTS} )
- STRING( TOUPPER ${component} _COMPONENT )
- SET( QT_USE_${_COMPONENT} 1 )
- ENDFOREACH( component )
-
+# Use find_package( Qt4 COMPONENTS ... ) to enable modules
+if( Qt4_FIND_COMPONENTS )
+ foreach( component ${Qt4_FIND_COMPONENTS} )
+ string( TOUPPER ${component} _COMPONENT )
+ set( QT_USE_${_COMPONENT} 1 )
+ endforeach()
+
# To make sure we don't use QtCore or QtGui when not in COMPONENTS
- IF(NOT QT_USE_QTCORE)
- SET( QT_DONT_USE_QTCORE 1 )
- ENDIF(NOT QT_USE_QTCORE)
-
- IF(NOT QT_USE_QTGUI)
- SET( QT_DONT_USE_QTGUI 1 )
- ENDIF(NOT QT_USE_QTGUI)
+ if(NOT QT_USE_QTCORE)
+ set( QT_DONT_USE_QTCORE 1 )
+ endif()
-ENDIF( Qt4_FIND_COMPONENTS )
+ if(NOT QT_USE_QTGUI)
+ set( QT_DONT_USE_QTGUI 1 )
+ endif()
+
+endif()
# 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. If switching to Qt4, the CMakeCache.txt needs to be cleaned.")
- ELSE(Qt4_FIND_REQUIRED)
- IF(NOT Qt4_FIND_QUIETLY)
- MESSAGE( STATUS "Qt3 and Qt4 cannot be used together in one project. If switching to Qt4, the CMakeCache.txt needs to be cleaned.")
- ENDIF(NOT Qt4_FIND_QUIETLY)
- RETURN()
- ENDIF(Qt4_FIND_REQUIRED)
-ENDIF(QT_QT_LIBRARY)
+if(QT_QT_LIBRARY)
+ if(Qt4_FIND_REQUIRED)
+ message( FATAL_ERROR "Qt3 and Qt4 cannot be used together in one project. If switching to Qt4, the CMakeCache.txt needs to be cleaned.")
+ else()
+ if(NOT Qt4_FIND_QUIETLY)
+ message( STATUS "Qt3 and Qt4 cannot be used together in one project. If switching to Qt4, the CMakeCache.txt needs to be cleaned.")
+ endif()
+ return()
+ endif()
+endif()
-INCLUDE(CheckCXXSymbolExists)
-INCLUDE(MacroAddFileDependencies)
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(CheckCXXSymbolExists)
+include(MacroAddFileDependencies)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-SET(QT_USE_FILE ${CMAKE_ROOT}/Modules/UseQt4.cmake)
+set(QT_USE_FILE ${CMAKE_ROOT}/Modules/UseQt4.cmake)
-SET( QT_DEFINITIONS "")
+set( QT_DEFINITIONS "")
# convenience macro for dealing with debug/release library names
-MACRO (_QT4_ADJUST_LIB_VARS _camelCaseBasename)
+macro (_QT4_ADJUST_LIB_VARS _camelCaseBasename)
- STRING(TOUPPER "${_camelCaseBasename}" basename)
+ string(TOUPPER "${_camelCaseBasename}" basename)
# The name of the imported targets, i.e. the prefix "Qt4::" must not change,
# since it is stored in EXPORT-files as name of a required library. If the name would change
# here, this would lead to the imported Qt4-library targets not being resolved by cmake anymore.
- IF (QT_${basename}_LIBRARY_RELEASE OR QT_${basename}_LIBRARY_DEBUG)
+ if (QT_${basename}_LIBRARY_RELEASE OR QT_${basename}_LIBRARY_DEBUG)
- IF(NOT TARGET Qt4::${_camelCaseBasename})
- ADD_LIBRARY(Qt4::${_camelCaseBasename} UNKNOWN IMPORTED )
+ if(NOT TARGET Qt4::${_camelCaseBasename})
+ add_library(Qt4::${_camelCaseBasename} UNKNOWN IMPORTED )
- IF (QT_${basename}_LIBRARY_RELEASE)
- SET_PROPERTY(TARGET Qt4::${_camelCaseBasename} APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
+ if (QT_${basename}_LIBRARY_RELEASE)
+ set_property(TARGET Qt4::${_camelCaseBasename} APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
if(QT_USE_FRAMEWORKS)
- SET_PROPERTY(TARGET Qt4::${_camelCaseBasename} PROPERTY IMPORTED_LOCATION_RELEASE "${QT_${basename}_LIBRARY_RELEASE}/${_camelCaseBasename}" )
+ set_property(TARGET Qt4::${_camelCaseBasename} PROPERTY IMPORTED_LOCATION_RELEASE "${QT_${basename}_LIBRARY_RELEASE}/${_camelCaseBasename}" )
else()
- SET_PROPERTY(TARGET Qt4::${_camelCaseBasename} PROPERTY IMPORTED_LOCATION_RELEASE "${QT_${basename}_LIBRARY_RELEASE}" )
+ set_property(TARGET Qt4::${_camelCaseBasename} PROPERTY IMPORTED_LOCATION_RELEASE "${QT_${basename}_LIBRARY_RELEASE}" )
endif()
- ENDIF (QT_${basename}_LIBRARY_RELEASE)
+ endif ()
- IF (QT_${basename}_LIBRARY_DEBUG)
- SET_PROPERTY(TARGET Qt4::${_camelCaseBasename} APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+ if (QT_${basename}_LIBRARY_DEBUG)
+ set_property(TARGET Qt4::${_camelCaseBasename} APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
if(QT_USE_FRAMEWORKS)
- SET_PROPERTY(TARGET Qt4::${_camelCaseBasename} PROPERTY IMPORTED_LOCATION_DEBUG "${QT_${basename}_LIBRARY_DEBUG}/${_camelCaseBasename}" )
+ set_property(TARGET Qt4::${_camelCaseBasename} PROPERTY IMPORTED_LOCATION_DEBUG "${QT_${basename}_LIBRARY_DEBUG}/${_camelCaseBasename}" )
else()
- SET_PROPERTY(TARGET Qt4::${_camelCaseBasename} PROPERTY IMPORTED_LOCATION_DEBUG "${QT_${basename}_LIBRARY_DEBUG}" )
+ set_property(TARGET Qt4::${_camelCaseBasename} PROPERTY IMPORTED_LOCATION_DEBUG "${QT_${basename}_LIBRARY_DEBUG}" )
endif()
- ENDIF (QT_${basename}_LIBRARY_DEBUG)
- ENDIF(NOT TARGET Qt4::${_camelCaseBasename})
+ endif ()
+ endif()
# If QT_USE_IMPORTED_TARGETS is enabled, the QT_QTFOO_LIBRARY variables are set to point at these
# imported targets. This works better in general, and is also in almost all cases fully
# backward compatible. The only issue is when a project A which had this enabled then exports its
- # libraries via export or EXPORT_LIBRARY_DEPENDENCIES(). In this case the libraries from project
+ # libraries via export or export_library_dependencies(). In this case the libraries from project
# A will depend on the imported Qt targets, and the names of these imported targets will be stored
# in the dependency files on disk. This means when a project B then uses project A, these imported
# targets must be created again, otherwise e.g. "Qt4__QtCore" will be interpreted as name of a
# library file on disk, and not as a target, and linking will fail:
- IF(QT_USE_IMPORTED_TARGETS)
- SET(QT_${basename}_LIBRARY Qt4::${_camelCaseBasename} )
- SET(QT_${basename}_LIBRARIES Qt4::${_camelCaseBasename} )
- ELSE(QT_USE_IMPORTED_TARGETS)
+ if(QT_USE_IMPORTED_TARGETS)
+ set(QT_${basename}_LIBRARY Qt4::${_camelCaseBasename} )
+ set(QT_${basename}_LIBRARIES Qt4::${_camelCaseBasename} )
+ else()
# if the release- as well as the debug-version of the library have been found:
- IF (QT_${basename}_LIBRARY_DEBUG AND QT_${basename}_LIBRARY_RELEASE)
+ if (QT_${basename}_LIBRARY_DEBUG AND QT_${basename}_LIBRARY_RELEASE)
# if the generator supports configuration types then set
# optimized and debug libraries, or if the CMAKE_BUILD_TYPE has a value
- IF (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
- SET(QT_${basename}_LIBRARY optimized ${QT_${basename}_LIBRARY_RELEASE} debug ${QT_${basename}_LIBRARY_DEBUG})
- ELSE(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
+ if (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
+ set(QT_${basename}_LIBRARY optimized ${QT_${basename}_LIBRARY_RELEASE} debug ${QT_${basename}_LIBRARY_DEBUG})
+ else()
# if there are no configuration types and CMAKE_BUILD_TYPE has no value
# then just use the release libraries
- SET(QT_${basename}_LIBRARY ${QT_${basename}_LIBRARY_RELEASE} )
- ENDIF(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
- SET(QT_${basename}_LIBRARIES optimized ${QT_${basename}_LIBRARY_RELEASE} debug ${QT_${basename}_LIBRARY_DEBUG})
- ENDIF (QT_${basename}_LIBRARY_DEBUG AND QT_${basename}_LIBRARY_RELEASE)
+ set(QT_${basename}_LIBRARY ${QT_${basename}_LIBRARY_RELEASE} )
+ endif()
+ set(QT_${basename}_LIBRARIES optimized ${QT_${basename}_LIBRARY_RELEASE} debug ${QT_${basename}_LIBRARY_DEBUG})
+ endif ()
# if only the release version was found, set the debug variable also to the release version
- IF (QT_${basename}_LIBRARY_RELEASE AND NOT QT_${basename}_LIBRARY_DEBUG)
- SET(QT_${basename}_LIBRARY_DEBUG ${QT_${basename}_LIBRARY_RELEASE})
- SET(QT_${basename}_LIBRARY ${QT_${basename}_LIBRARY_RELEASE})
- SET(QT_${basename}_LIBRARIES ${QT_${basename}_LIBRARY_RELEASE})
- ENDIF (QT_${basename}_LIBRARY_RELEASE AND NOT QT_${basename}_LIBRARY_DEBUG)
+ if (QT_${basename}_LIBRARY_RELEASE AND NOT QT_${basename}_LIBRARY_DEBUG)
+ set(QT_${basename}_LIBRARY_DEBUG ${QT_${basename}_LIBRARY_RELEASE})
+ set(QT_${basename}_LIBRARY ${QT_${basename}_LIBRARY_RELEASE})
+ set(QT_${basename}_LIBRARIES ${QT_${basename}_LIBRARY_RELEASE})
+ endif ()
# if only the debug version was found, set the release variable also to the debug version
- IF (QT_${basename}_LIBRARY_DEBUG AND NOT QT_${basename}_LIBRARY_RELEASE)
- SET(QT_${basename}_LIBRARY_RELEASE ${QT_${basename}_LIBRARY_DEBUG})
- SET(QT_${basename}_LIBRARY ${QT_${basename}_LIBRARY_DEBUG})
- SET(QT_${basename}_LIBRARIES ${QT_${basename}_LIBRARY_DEBUG})
- ENDIF (QT_${basename}_LIBRARY_DEBUG AND NOT QT_${basename}_LIBRARY_RELEASE)
+ if (QT_${basename}_LIBRARY_DEBUG AND NOT QT_${basename}_LIBRARY_RELEASE)
+ set(QT_${basename}_LIBRARY_RELEASE ${QT_${basename}_LIBRARY_DEBUG})
+ set(QT_${basename}_LIBRARY ${QT_${basename}_LIBRARY_DEBUG})
+ set(QT_${basename}_LIBRARIES ${QT_${basename}_LIBRARY_DEBUG})
+ endif ()
# put the value in the cache:
- SET(QT_${basename}_LIBRARY ${QT_${basename}_LIBRARY} CACHE STRING "The Qt ${basename} library" FORCE)
+ set(QT_${basename}_LIBRARY ${QT_${basename}_LIBRARY} CACHE STRING "The Qt ${basename} library" FORCE)
- ENDIF(QT_USE_IMPORTED_TARGETS)
+ endif()
- SET(QT_${basename}_FOUND 1)
+ set(QT_${basename}_FOUND 1)
- ELSE (QT_${basename}_LIBRARY_RELEASE OR QT_${basename}_LIBRARY_DEBUG)
+ else ()
- SET(QT_${basename}_LIBRARY "" CACHE STRING "The Qt ${basename} library" FORCE)
+ set(QT_${basename}_LIBRARY "" CACHE STRING "The Qt ${basename} library" FORCE)
- ENDIF (QT_${basename}_LIBRARY_RELEASE OR QT_${basename}_LIBRARY_DEBUG)
+ endif ()
- IF (QT_${basename}_INCLUDE_DIR)
+ if (QT_${basename}_INCLUDE_DIR)
#add the include directory to QT_INCLUDES
- SET(QT_INCLUDES "${QT_${basename}_INCLUDE_DIR}" ${QT_INCLUDES})
- ENDIF (QT_${basename}_INCLUDE_DIR)
+ set(QT_INCLUDES "${QT_${basename}_INCLUDE_DIR}" ${QT_INCLUDES})
+ endif ()
# Make variables changeble to the advanced user
- MARK_AS_ADVANCED(QT_${basename}_LIBRARY QT_${basename}_LIBRARY_RELEASE QT_${basename}_LIBRARY_DEBUG QT_${basename}_INCLUDE_DIR)
-ENDMACRO (_QT4_ADJUST_LIB_VARS)
+ mark_as_advanced(QT_${basename}_LIBRARY QT_${basename}_LIBRARY_RELEASE QT_${basename}_LIBRARY_DEBUG QT_${basename}_INCLUDE_DIR)
+endmacro ()
function(_QT4_QUERY_QMAKE VAR RESULT)
execute_process(COMMAND "${QT_QMAKE_EXECUTABLE}" -query ${VAR}
RESULT_VARIABLE return_code
- OUTPUT_VARIABLE output ERROR_VARIABLE output
+ OUTPUT_VARIABLE output
OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_STRIP_TRAILING_WHITESPACE)
if(NOT return_code)
file(TO_CMAKE_PATH "${output}" output)
set(${RESULT} ${output} PARENT_SCOPE)
- endif(NOT return_code)
-endfunction(_QT4_QUERY_QMAKE)
+ endif()
+endfunction()
-SET(QT4_INSTALLED_VERSION_TOO_OLD FALSE)
+set(QT4_INSTALLED_VERSION_TOO_OLD FALSE)
-GET_FILENAME_COMPONENT(qt_install_version "[HKEY_CURRENT_USER\\Software\\trolltech\\Versions;DefaultQtVersion]" NAME)
+get_filename_component(qt_install_version "[HKEY_CURRENT_USER\\Software\\trolltech\\Versions;DefaultQtVersion]" NAME)
# check for qmake
# Debian uses qmake-qt4
# macports' Qt uses qmake-mac
-FIND_PROGRAM(QT_QMAKE_EXECUTABLE NAMES qmake qmake4 qmake-qt4 qmake-mac PATHS
- "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\4.0.0;InstallDir]/bin"
- "[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\4.0.0;InstallDir]/bin"
- "[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\${qt_install_version};InstallDir]/bin"
- $ENV{QTDIR}/bin
+find_program(QT_QMAKE_EXECUTABLE NAMES qmake qmake4 qmake-qt4 qmake-mac
+ PATHS
+ ENV QTDIR
+ "[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\${qt_install_version};InstallDir]"
+ PATH_SUFFIXES bin
DOC "The qmake executable for the Qt installation to use"
)
# double check that it was a Qt4 qmake, if not, re-find with different names
-IF (QT_QMAKE_EXECUTABLE)
+if (QT_QMAKE_EXECUTABLE)
- IF(QT_QMAKE_EXECUTABLE_LAST)
- STRING(COMPARE NOTEQUAL "${QT_QMAKE_EXECUTABLE_LAST}" "${QT_QMAKE_EXECUTABLE}" QT_QMAKE_CHANGED)
- ENDIF(QT_QMAKE_EXECUTABLE_LAST)
+ if(QT_QMAKE_EXECUTABLE_LAST)
+ string(COMPARE NOTEQUAL "${QT_QMAKE_EXECUTABLE_LAST}" "${QT_QMAKE_EXECUTABLE}" QT_QMAKE_CHANGED)
+ endif()
- SET(QT_QMAKE_EXECUTABLE_LAST "${QT_QMAKE_EXECUTABLE}" CACHE INTERNAL "" FORCE)
+ set(QT_QMAKE_EXECUTABLE_LAST "${QT_QMAKE_EXECUTABLE}" CACHE INTERNAL "" FORCE)
_qt4_query_qmake(QT_VERSION QTVERSION)
# check for qt3 qmake and then try and find qmake4 or qmake-qt4 in the path
- IF(NOT QTVERSION)
- SET(QT_QMAKE_EXECUTABLE NOTFOUND CACHE FILEPATH "" FORCE)
- FIND_PROGRAM(QT_QMAKE_EXECUTABLE NAMES qmake4 qmake-qt4 PATHS
+ if(NOT QTVERSION)
+ set(QT_QMAKE_EXECUTABLE NOTFOUND CACHE FILEPATH "" FORCE)
+ find_program(QT_QMAKE_EXECUTABLE NAMES qmake4 qmake-qt4 PATHS
"[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\4.0.0;InstallDir]/bin"
"[HKEY_CURRENT_USER\\Software\\Trolltech\\Versions\\4.0.0;InstallDir]/bin"
$ENV{QTDIR}/bin
DOC "The qmake executable for the Qt installation to use"
)
- IF(QT_QMAKE_EXECUTABLE)
+ if(QT_QMAKE_EXECUTABLE)
_qt4_query_qmake(QT_VERSION QTVERSION)
- ENDIF(QT_QMAKE_EXECUTABLE)
- ENDIF(NOT QTVERSION)
+ endif()
+ endif()
-ENDIF (QT_QMAKE_EXECUTABLE)
+endif ()
-IF (QT_QMAKE_EXECUTABLE AND QTVERSION)
+if (QT_QMAKE_EXECUTABLE AND QTVERSION)
# ask qmake for the mkspecs directory
# we do this first because QT_LIBINFIX might be set
- IF (NOT QT_MKSPECS_DIR OR QT_QMAKE_CHANGED)
+ if (NOT QT_MKSPECS_DIR OR QT_QMAKE_CHANGED)
_qt4_query_qmake(QMAKE_MKSPECS qt_mkspecs_dirs)
# do not replace : on windows as it might be a drive letter
# and windows should already use ; as a separator
- IF(NOT WIN32)
- STRING(REPLACE ":" ";" qt_mkspecs_dirs "${qt_mkspecs_dirs}")
- ENDIF(NOT WIN32)
+ if(NOT WIN32)
+ string(REPLACE ":" ";" qt_mkspecs_dirs "${qt_mkspecs_dirs}")
+ endif()
set(qt_cross_paths)
foreach(qt_cross_path ${CMAKE_FIND_ROOT_PATH})
set(qt_cross_paths ${qt_cross_paths} "${qt_cross_path}/mkspecs")
- endforeach(qt_cross_path)
- SET(QT_MKSPECS_DIR NOTFOUND)
- FIND_PATH(QT_MKSPECS_DIR NAMES qconfig.pri
+ endforeach()
+ set(QT_MKSPECS_DIR NOTFOUND)
+ find_path(QT_MKSPECS_DIR NAMES qconfig.pri
HINTS ${qt_cross_paths} ${qt_mkspecs_dirs}
DOC "The location of the Qt mkspecs containing qconfig.pri")
- ENDIF()
-
- 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_LIBINFIX[^\n]+" _qconfig_qt_libinfix "${_qconfig_FILE_contents}")
- STRING(REGEX REPLACE "QT_LIBINFIX *= *([^\n]*)" "\\1" QT_LIBINFIX "${_qconfig_qt_libinfix}")
- ENDIF(EXISTS "${QT_MKSPECS_DIR}/qconfig.pri")
- IF("${QT_EDITION}" MATCHES "DesktopLight")
- SET(QT_EDITION_DESKTOPLIGHT 1)
- ENDIF("${QT_EDITION}" MATCHES "DesktopLight")
+ endif()
+
+ 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_LIBINFIX[^\n]+" _qconfig_qt_libinfix "${_qconfig_FILE_contents}")
+ string(REGEX REPLACE "QT_LIBINFIX *= *([^\n]*)" "\\1" QT_LIBINFIX "${_qconfig_qt_libinfix}")
+ endif()
+ if("${QT_EDITION}" MATCHES "DesktopLight")
+ set(QT_EDITION_DESKTOPLIGHT 1)
+ endif()
# ask qmake for the library dir as a hint, then search for QtCore library and use that as a reference for finding the
# others and for setting QT_LIBRARY_DIR
- IF (NOT (QT_QTCORE_LIBRARY_RELEASE OR QT_QTCORE_LIBRARY_DEBUG) OR QT_QMAKE_CHANGED)
+ if (NOT (QT_QTCORE_LIBRARY_RELEASE OR QT_QTCORE_LIBRARY_DEBUG) OR QT_QMAKE_CHANGED)
_qt4_query_qmake(QT_INSTALL_LIBS QT_LIBRARY_DIR_TMP)
- SET(QT_QTCORE_LIBRARY_RELEASE NOTFOUND)
- SET(QT_QTCORE_LIBRARY_DEBUG NOTFOUND)
- FIND_LIBRARY(QT_QTCORE_LIBRARY_RELEASE
+ set(QT_QTCORE_LIBRARY_RELEASE NOTFOUND)
+ set(QT_QTCORE_LIBRARY_DEBUG NOTFOUND)
+ find_library(QT_QTCORE_LIBRARY_RELEASE
NAMES QtCore${QT_LIBINFIX} QtCore${QT_LIBINFIX}4
HINTS ${QT_LIBRARY_DIR_TMP}
NO_DEFAULT_PATH
)
- FIND_LIBRARY(QT_QTCORE_LIBRARY_DEBUG
+ find_library(QT_QTCORE_LIBRARY_DEBUG
NAMES QtCore${QT_LIBINFIX}_debug QtCore${QT_LIBINFIX}d QtCore${QT_LIBINFIX}d4
HINTS ${QT_LIBRARY_DIR_TMP}
NO_DEFAULT_PATH
)
- IF(NOT QT_QTCORE_LIBRARY_RELEASE AND NOT QT_QTCORE_LIBRARY_DEBUG)
- FIND_LIBRARY(QT_QTCORE_LIBRARY_RELEASE
+ if(NOT QT_QTCORE_LIBRARY_RELEASE AND NOT QT_QTCORE_LIBRARY_DEBUG)
+ find_library(QT_QTCORE_LIBRARY_RELEASE
NAMES QtCore${QT_LIBINFIX} QtCore${QT_LIBINFIX}4
HINTS ${QT_LIBRARY_DIR_TMP}
)
- FIND_LIBRARY(QT_QTCORE_LIBRARY_DEBUG
+ find_library(QT_QTCORE_LIBRARY_DEBUG
NAMES QtCore${QT_LIBINFIX}_debug QtCore${QT_LIBINFIX}d QtCore${QT_LIBINFIX}d4
HINTS ${QT_LIBRARY_DIR_TMP}
)
- ENDIF(NOT QT_QTCORE_LIBRARY_RELEASE AND NOT QT_QTCORE_LIBRARY_DEBUG)
+ endif()
# try dropping a hint if trying to use Visual Studio with Qt built by mingw
- IF(NOT QT_QTCORE_LIBRARY_RELEASE AND MSVC)
- IF(EXISTS ${QT_LIBRARY_DIR_TMP}/libqtmain.a)
- MESSAGE( FATAL_ERROR "It appears you're trying to use Visual Studio with Qt built by mingw. Those compilers do not produce code compatible with each other.")
- ENDIF(EXISTS ${QT_LIBRARY_DIR_TMP}/libqtmain.a)
- ENDIF(NOT QT_QTCORE_LIBRARY_RELEASE AND MSVC)
+ if(NOT QT_QTCORE_LIBRARY_RELEASE AND MSVC)
+ if(EXISTS ${QT_LIBRARY_DIR_TMP}/libqtmain.a)
+ message( FATAL_ERROR "It appears you're trying to use Visual Studio with Qt built by mingw. Those compilers do not produce code compatible with each other.")
+ endif()
+ endif()
- ENDIF ()
+ endif ()
# set QT_LIBRARY_DIR based on location of QtCore found.
- IF(QT_QTCORE_LIBRARY_RELEASE)
- GET_FILENAME_COMPONENT(QT_LIBRARY_DIR_TMP "${QT_QTCORE_LIBRARY_RELEASE}" PATH)
- SET(QT_LIBRARY_DIR ${QT_LIBRARY_DIR_TMP} CACHE INTERNAL "Qt library dir" FORCE)
- SET(QT_QTCORE_FOUND 1)
- ELSEIF(QT_QTCORE_LIBRARY_DEBUG)
- GET_FILENAME_COMPONENT(QT_LIBRARY_DIR_TMP "${QT_QTCORE_LIBRARY_DEBUG}" PATH)
- SET(QT_LIBRARY_DIR ${QT_LIBRARY_DIR_TMP} CACHE INTERNAL "Qt library dir" FORCE)
- SET(QT_QTCORE_FOUND 1)
- ELSE()
- MESSAGE(WARNING "${QT_QMAKE_EXECUTABLE} reported QT_INSTALL_LIBS as \"${QT_LIBRARY_DIR_TMP}\" "
+ if(QT_QTCORE_LIBRARY_RELEASE)
+ get_filename_component(QT_LIBRARY_DIR_TMP "${QT_QTCORE_LIBRARY_RELEASE}" PATH)
+ set(QT_LIBRARY_DIR ${QT_LIBRARY_DIR_TMP} CACHE INTERNAL "Qt library dir" FORCE)
+ set(QT_QTCORE_FOUND 1)
+ elseif(QT_QTCORE_LIBRARY_DEBUG)
+ get_filename_component(QT_LIBRARY_DIR_TMP "${QT_QTCORE_LIBRARY_DEBUG}" PATH)
+ set(QT_LIBRARY_DIR ${QT_LIBRARY_DIR_TMP} CACHE INTERNAL "Qt library dir" FORCE)
+ set(QT_QTCORE_FOUND 1)
+ else()
+ message(WARNING "${QT_QMAKE_EXECUTABLE} reported QT_INSTALL_LIBS as \"${QT_LIBRARY_DIR_TMP}\" "
"but QtCore could not be found there. "
"Qt is NOT installed correctly for the target build environment.")
- IF(Qt4_FIND_REQUIRED)
- MESSAGE( FATAL_ERROR "Could NOT find QtCore. Check ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log for more details.")
- ENDIF(Qt4_FIND_REQUIRED)
- ENDIF()
+ if(Qt4_FIND_REQUIRED)
+ message( FATAL_ERROR "Could NOT find QtCore. Check ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log for more details.")
+ endif()
+ endif()
# ask qmake for the binary dir
- IF (NOT QT_BINARY_DIR OR QT_QMAKE_CHANGED)
+ if (NOT QT_BINARY_DIR OR QT_QMAKE_CHANGED)
_qt4_query_qmake(QT_INSTALL_BINS qt_bins)
- SET(QT_BINARY_DIR ${qt_bins} CACHE INTERNAL "" FORCE)
- ENDIF (NOT QT_BINARY_DIR OR QT_QMAKE_CHANGED)
-
- IF (APPLE)
- SET(CMAKE_FIND_FRAMEWORK_OLD ${CMAKE_FIND_FRAMEWORK})
- IF (EXISTS ${QT_LIBRARY_DIR}/QtCore.framework)
- SET(QT_USE_FRAMEWORKS ON CACHE INTERNAL "" FORCE)
- SET(CMAKE_FIND_FRAMEWORK FIRST)
- ELSE (EXISTS ${QT_LIBRARY_DIR}/QtCore.framework)
- SET(QT_USE_FRAMEWORKS OFF CACHE INTERNAL "" FORCE)
- SET(CMAKE_FIND_FRAMEWORK LAST)
- ENDIF (EXISTS ${QT_LIBRARY_DIR}/QtCore.framework)
- ENDIF (APPLE)
+ set(QT_BINARY_DIR ${qt_bins} CACHE INTERNAL "" FORCE)
+ endif ()
+
+ if (APPLE)
+ set(CMAKE_FIND_FRAMEWORK_OLD ${CMAKE_FIND_FRAMEWORK})
+ if (EXISTS ${QT_LIBRARY_DIR}/QtCore.framework)
+ set(QT_USE_FRAMEWORKS ON CACHE INTERNAL "" FORCE)
+ set(CMAKE_FIND_FRAMEWORK FIRST)
+ else ()
+ set(QT_USE_FRAMEWORKS OFF CACHE INTERNAL "" FORCE)
+ set(CMAKE_FIND_FRAMEWORK LAST)
+ endif ()
+ endif ()
# ask qmake for the include dir
- IF (QT_LIBRARY_DIR AND (NOT QT_QTCORE_INCLUDE_DIR OR NOT QT_HEADERS_DIR OR QT_QMAKE_CHANGED))
+ if (QT_LIBRARY_DIR AND (NOT QT_QTCORE_INCLUDE_DIR OR NOT QT_HEADERS_DIR OR QT_QMAKE_CHANGED))
_qt4_query_qmake(QT_INSTALL_HEADERS qt_headers)
- SET(QT_QTCORE_INCLUDE_DIR NOTFOUND)
- FIND_PATH(QT_QTCORE_INCLUDE_DIR QtCore
+ set(QT_QTCORE_INCLUDE_DIR NOTFOUND)
+ find_path(QT_QTCORE_INCLUDE_DIR QtCore
HINTS ${qt_headers} ${QT_LIBRARY_DIR}
PATH_SUFFIXES QtCore qt4/QtCore
)
# Set QT_HEADERS_DIR based on finding QtCore header
- IF(QT_QTCORE_INCLUDE_DIR)
- IF(QT_USE_FRAMEWORKS)
- SET(QT_HEADERS_DIR "${qt_headers}" CACHE INTERNAL "" FORCE)
- ELSE(QT_USE_FRAMEWORKS)
- GET_FILENAME_COMPONENT(qt_headers "${QT_QTCORE_INCLUDE_DIR}/../" ABSOLUTE)
- SET(QT_HEADERS_DIR "${qt_headers}" CACHE INTERNAL "" FORCE)
- ENDIF(QT_USE_FRAMEWORKS)
- ELSEIF()
- MESSAGE("Warning: QT_QMAKE_EXECUTABLE reported QT_INSTALL_HEADERS as ${qt_headers}")
- MESSAGE("Warning: But QtCore couldn't be found. Qt must NOT be installed correctly.")
- ENDIF()
- ENDIF()
-
- IF(APPLE)
- SET(CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK_OLD})
- ENDIF(APPLE)
+ if(QT_QTCORE_INCLUDE_DIR)
+ if(QT_USE_FRAMEWORKS)
+ set(QT_HEADERS_DIR "${qt_headers}" CACHE INTERNAL "" FORCE)
+ else()
+ get_filename_component(qt_headers "${QT_QTCORE_INCLUDE_DIR}/../" ABSOLUTE)
+ set(QT_HEADERS_DIR "${qt_headers}" CACHE INTERNAL "" FORCE)
+ endif()
+ elseif()
+ message("Warning: QT_QMAKE_EXECUTABLE reported QT_INSTALL_HEADERS as ${qt_headers}")
+ message("Warning: But QtCore couldn't be found. Qt must NOT be installed correctly.")
+ endif()
+ endif()
+
+ if(APPLE)
+ set(CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK_OLD})
+ endif()
# Set QT_INCLUDE_DIR based on QT_HEADERS_DIR
- IF(QT_HEADERS_DIR)
- IF(QT_USE_FRAMEWORKS)
+ if(QT_HEADERS_DIR)
+ if(QT_USE_FRAMEWORKS)
# Qt/Mac frameworks has two include dirs.
# One is the framework include for which CMake will add a -F flag
# and the other is an include dir for non-framework Qt modules
- SET(QT_INCLUDE_DIR ${QT_HEADERS_DIR} ${QT_QTCORE_LIBRARY_RELEASE} )
- ELSE(QT_USE_FRAMEWORKS)
- SET(QT_INCLUDE_DIR ${QT_HEADERS_DIR})
- ENDIF(QT_USE_FRAMEWORKS)
- ENDIF(QT_HEADERS_DIR)
+ set(QT_INCLUDE_DIR ${QT_HEADERS_DIR} ${QT_QTCORE_LIBRARY_RELEASE} )
+ else()
+ set(QT_INCLUDE_DIR ${QT_HEADERS_DIR})
+ endif()
+ endif()
# Set QT_INCLUDES
- SET( QT_INCLUDES ${QT_MKSPECS_DIR}/default ${QT_INCLUDE_DIR} ${QT_QTCORE_INCLUDE_DIR})
+ set( QT_INCLUDES ${QT_MKSPECS_DIR}/default ${QT_INCLUDE_DIR} ${QT_QTCORE_INCLUDE_DIR})
# ask qmake for the documentation directory
- IF (QT_LIBRARY_DIR AND NOT QT_DOC_DIR OR QT_QMAKE_CHANGED)
+ if (QT_LIBRARY_DIR AND NOT QT_DOC_DIR OR QT_QMAKE_CHANGED)
_qt4_query_qmake(QT_INSTALL_DOCS qt_doc_dir)
- SET(QT_DOC_DIR ${qt_doc_dir} CACHE PATH "The location of the Qt docs" FORCE)
- ENDIF (QT_LIBRARY_DIR AND NOT QT_DOC_DIR OR QT_QMAKE_CHANGED)
+ set(QT_DOC_DIR ${qt_doc_dir} CACHE PATH "The location of the Qt docs" FORCE)
+ endif ()
# ask qmake for the plugins directory
- IF (QT_LIBRARY_DIR AND NOT QT_PLUGINS_DIR OR QT_QMAKE_CHANGED)
+ if (QT_LIBRARY_DIR AND NOT QT_PLUGINS_DIR OR QT_QMAKE_CHANGED)
_qt4_query_qmake(QT_INSTALL_PLUGINS qt_plugins_dir)
- SET(QT_PLUGINS_DIR NOTFOUND)
+ set(QT_PLUGINS_DIR NOTFOUND)
foreach(qt_cross_path ${CMAKE_FIND_ROOT_PATH})
set(qt_cross_paths ${qt_cross_paths} "${qt_cross_path}/plugins")
- endforeach(qt_cross_path)
- FIND_PATH(QT_PLUGINS_DIR NAMES accessible imageformats sqldrivers codecs designer
+ endforeach()
+ find_path(QT_PLUGINS_DIR NAMES accessible imageformats sqldrivers codecs designer
HINTS ${qt_cross_paths} ${qt_plugins_dir}
DOC "The location of the Qt plugins")
- ENDIF (QT_LIBRARY_DIR AND NOT QT_PLUGINS_DIR OR QT_QMAKE_CHANGED)
+ endif ()
# ask qmake for the translations directory
- IF (QT_LIBRARY_DIR AND NOT QT_TRANSLATIONS_DIR OR QT_QMAKE_CHANGED)
+ if (QT_LIBRARY_DIR AND NOT QT_TRANSLATIONS_DIR OR QT_QMAKE_CHANGED)
_qt4_query_qmake(QT_INSTALL_TRANSLATIONS qt_translations_dir)
- SET(QT_TRANSLATIONS_DIR ${qt_translations_dir} CACHE PATH "The location of the Qt translations" FORCE)
- ENDIF (QT_LIBRARY_DIR AND NOT QT_TRANSLATIONS_DIR OR QT_QMAKE_CHANGED)
+ set(QT_TRANSLATIONS_DIR ${qt_translations_dir} CACHE PATH "The location of the Qt translations" FORCE)
+ endif ()
# ask qmake for the imports directory
- IF (QT_LIBRARY_DIR AND NOT QT_IMPORTS_DIR OR QT_QMAKE_CHANGED)
+ if (QT_LIBRARY_DIR AND NOT QT_IMPORTS_DIR OR QT_QMAKE_CHANGED)
_qt4_query_qmake(QT_INSTALL_IMPORTS qt_imports_dir)
if(qt_imports_dir)
- SET(QT_IMPORTS_DIR NOTFOUND)
+ set(QT_IMPORTS_DIR NOTFOUND)
foreach(qt_cross_path ${CMAKE_FIND_ROOT_PATH})
set(qt_cross_paths ${qt_cross_paths} "${qt_cross_path}/imports")
- endforeach(qt_cross_path)
- FIND_PATH(QT_IMPORTS_DIR NAMES Qt
+ endforeach()
+ find_path(QT_IMPORTS_DIR NAMES Qt
HINTS ${qt_cross_paths} ${qt_imports_dir}
DOC "The location of the Qt imports"
NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH
NO_CMAKE_SYSTEM_PATH)
mark_as_advanced(QT_IMPORTS_DIR)
- endif(qt_imports_dir)
- ENDIF (QT_LIBRARY_DIR AND NOT QT_IMPORTS_DIR OR QT_QMAKE_CHANGED)
+ endif()
+ endif ()
# Make variables changeble to the advanced user
- MARK_AS_ADVANCED( QT_LIBRARY_DIR QT_DOC_DIR QT_MKSPECS_DIR
+ mark_as_advanced( QT_LIBRARY_DIR QT_DOC_DIR QT_MKSPECS_DIR
QT_PLUGINS_DIR QT_TRANSLATIONS_DIR)
@@ -724,32 +735,32 @@ IF (QT_QMAKE_EXECUTABLE AND QTVERSION)
#
#############################################
# Save required variable
- SET(CMAKE_REQUIRED_INCLUDES_SAVE ${CMAKE_REQUIRED_INCLUDES})
- SET(CMAKE_REQUIRED_FLAGS_SAVE ${CMAKE_REQUIRED_FLAGS})
+ set(CMAKE_REQUIRED_INCLUDES_SAVE ${CMAKE_REQUIRED_INCLUDES})
+ set(CMAKE_REQUIRED_FLAGS_SAVE ${CMAKE_REQUIRED_FLAGS})
# Add QT_INCLUDE_DIR to CMAKE_REQUIRED_INCLUDES
- SET(CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES};${QT_INCLUDE_DIR}")
+ set(CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES};${QT_INCLUDE_DIR}")
# Check for Window system symbols (note: only one should end up being set)
CHECK_CXX_SYMBOL_EXISTS(Q_WS_X11 "QtCore/qglobal.h" Q_WS_X11)
CHECK_CXX_SYMBOL_EXISTS(Q_WS_WIN "QtCore/qglobal.h" Q_WS_WIN)
CHECK_CXX_SYMBOL_EXISTS(Q_WS_QWS "QtCore/qglobal.h" Q_WS_QWS)
CHECK_CXX_SYMBOL_EXISTS(Q_WS_MAC "QtCore/qglobal.h" Q_WS_MAC)
- IF(Q_WS_MAC)
- IF(QT_QMAKE_CHANGED)
- UNSET(QT_MAC_USE_COCOA CACHE)
- ENDIF(QT_QMAKE_CHANGED)
+ if(Q_WS_MAC)
+ if(QT_QMAKE_CHANGED)
+ unset(QT_MAC_USE_COCOA CACHE)
+ endif()
CHECK_CXX_SYMBOL_EXISTS(QT_MAC_USE_COCOA "QtCore/qconfig.h" QT_MAC_USE_COCOA)
- ENDIF(Q_WS_MAC)
+ endif()
- IF (QT_QTCOPY_REQUIRED)
+ if (QT_QTCOPY_REQUIRED)
CHECK_CXX_SYMBOL_EXISTS(QT_IS_QTCOPY "QtCore/qglobal.h" QT_KDE_QT_COPY)
- IF (NOT QT_IS_QTCOPY)
- MESSAGE(FATAL_ERROR "qt-copy is required, but hasn't been found")
- ENDIF (NOT QT_IS_QTCOPY)
- ENDIF (QT_QTCOPY_REQUIRED)
+ if (NOT QT_IS_QTCOPY)
+ message(FATAL_ERROR "qt-copy is required, but hasn't been found")
+ endif ()
+ endif ()
# Restore CMAKE_REQUIRED_INCLUDES and CMAKE_REQUIRED_FLAGS variables
- SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_SAVE})
- SET(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS_SAVE})
+ set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_SAVE})
+ set(CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS_SAVE})
#
#############################################
@@ -761,48 +772,48 @@ IF (QT_QMAKE_EXECUTABLE AND QTVERSION)
#
########################################
- SET(QT_MODULES QtGui Qt3Support QtSvg QtScript QtTest QtUiTools
+ set(QT_MODULES QtGui Qt3Support QtSvg QtScript QtTest QtUiTools
QtHelp QtWebKit QtXmlPatterns phonon QtNetwork QtMultimedia
QtNsPlugin QtOpenGL QtSql QtXml QtDesigner QtDBus QtScriptTools
QtDeclarative)
-
- IF(Q_WS_X11)
- SET(QT_MODULES ${QT_MODULES} QtMotif)
- ENDIF(Q_WS_X11)
-
- IF(QT_QMAKE_CHANGED)
- FOREACH(QT_MODULE ${QT_MODULES})
- STRING(TOUPPER ${QT_MODULE} _upper_qt_module)
- SET(QT_${_upper_qt_module}_INCLUDE_DIR NOTFOUND)
- SET(QT_${_upper_qt_module}_LIBRARY_RELEASE NOTFOUND)
- SET(QT_${_upper_qt_module}_LIBRARY_DEBUG NOTFOUND)
- ENDFOREACH(QT_MODULE)
- SET(QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR NOTFOUND)
- SET(QT_QTDESIGNERCOMPONENTS_LIBRARY_RELEASE NOTFOUND)
- SET(QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG NOTFOUND)
- SET(QT_QTASSISTANTCLIENT_INCLUDE_DIR NOTFOUND)
- SET(QT_QTASSISTANTCLIENT_LIBRARY_RELEASE NOTFOUND)
- SET(QT_QTASSISTANTCLIENT_LIBRARY_DEBUG NOTFOUND)
- SET(QT_QTASSISTANT_INCLUDE_DIR NOTFOUND)
- SET(QT_QTASSISTANT_LIBRARY_RELEASE NOTFOUND)
- SET(QT_QTASSISTANT_LIBRARY_DEBUG NOTFOUND)
- SET(QT_QTCLUCENE_LIBRARY_RELEASE NOTFOUND)
- SET(QT_QTCLUCENE_LIBRARY_DEBUG NOTFOUND)
- SET(QT_QAXCONTAINER_INCLUDE_DIR NOTFOUND)
- SET(QT_QAXCONTAINER_LIBRARY_RELEASE NOTFOUND)
- SET(QT_QAXCONTAINER_LIBRARY_DEBUG NOTFOUND)
- SET(QT_QAXSERVER_INCLUDE_DIR NOTFOUND)
- SET(QT_QAXSERVER_LIBRARY_RELEASE NOTFOUND)
- SET(QT_QAXSERVER_LIBRARY_DEBUG NOTFOUND)
- IF(Q_WS_WIN)
- SET(QT_QTMAIN_LIBRARY_DEBUG NOTFOUND)
- SET(QT_QTMAIN_LIBRARY_RELEASE NOTFOUND)
- ENDIF(Q_WS_WIN)
- ENDIF(QT_QMAKE_CHANGED)
-
- FOREACH(QT_MODULE ${QT_MODULES})
- STRING(TOUPPER ${QT_MODULE} _upper_qt_module)
- FIND_PATH(QT_${_upper_qt_module}_INCLUDE_DIR ${QT_MODULE}
+
+ if(Q_WS_X11)
+ set(QT_MODULES ${QT_MODULES} QtMotif)
+ endif()
+
+ if(QT_QMAKE_CHANGED)
+ foreach(QT_MODULE ${QT_MODULES})
+ string(TOUPPER ${QT_MODULE} _upper_qt_module)
+ set(QT_${_upper_qt_module}_INCLUDE_DIR NOTFOUND)
+ set(QT_${_upper_qt_module}_LIBRARY_RELEASE NOTFOUND)
+ set(QT_${_upper_qt_module}_LIBRARY_DEBUG NOTFOUND)
+ endforeach()
+ set(QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR NOTFOUND)
+ set(QT_QTDESIGNERCOMPONENTS_LIBRARY_RELEASE NOTFOUND)
+ set(QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG NOTFOUND)
+ set(QT_QTASSISTANTCLIENT_INCLUDE_DIR NOTFOUND)
+ set(QT_QTASSISTANTCLIENT_LIBRARY_RELEASE NOTFOUND)
+ set(QT_QTASSISTANTCLIENT_LIBRARY_DEBUG NOTFOUND)
+ set(QT_QTASSISTANT_INCLUDE_DIR NOTFOUND)
+ set(QT_QTASSISTANT_LIBRARY_RELEASE NOTFOUND)
+ set(QT_QTASSISTANT_LIBRARY_DEBUG NOTFOUND)
+ set(QT_QTCLUCENE_LIBRARY_RELEASE NOTFOUND)
+ set(QT_QTCLUCENE_LIBRARY_DEBUG NOTFOUND)
+ set(QT_QAXCONTAINER_INCLUDE_DIR NOTFOUND)
+ set(QT_QAXCONTAINER_LIBRARY_RELEASE NOTFOUND)
+ set(QT_QAXCONTAINER_LIBRARY_DEBUG NOTFOUND)
+ set(QT_QAXSERVER_INCLUDE_DIR NOTFOUND)
+ set(QT_QAXSERVER_LIBRARY_RELEASE NOTFOUND)
+ set(QT_QAXSERVER_LIBRARY_DEBUG NOTFOUND)
+ if(Q_WS_WIN)
+ set(QT_QTMAIN_LIBRARY_DEBUG NOTFOUND)
+ set(QT_QTMAIN_LIBRARY_RELEASE NOTFOUND)
+ endif()
+ endif()
+
+ foreach(QT_MODULE ${QT_MODULES})
+ string(TOUPPER ${QT_MODULE} _upper_qt_module)
+ find_path(QT_${_upper_qt_module}_INCLUDE_DIR ${QT_MODULE}
PATHS
${QT_HEADERS_DIR}/${QT_MODULE}
${QT_LIBRARY_DIR}/${QT_MODULE}.framework/Headers
@@ -810,47 +821,47 @@ IF (QT_QMAKE_EXECUTABLE AND QTVERSION)
)
# phonon doesn't seem consistent, let's try phonondefs.h for some
# installations
- IF(${QT_MODULE} STREQUAL "phonon")
- FIND_PATH(QT_${_upper_qt_module}_INCLUDE_DIR phonondefs.h
+ if(${QT_MODULE} STREQUAL "phonon")
+ find_path(QT_${_upper_qt_module}_INCLUDE_DIR phonondefs.h
PATHS
${QT_HEADERS_DIR}/${QT_MODULE}
${QT_LIBRARY_DIR}/${QT_MODULE}.framework/Headers
NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
)
- ENDIF(${QT_MODULE} STREQUAL "phonon")
- ENDFOREACH(QT_MODULE)
+ endif()
+ endforeach()
- IF(Q_WS_WIN)
- SET(QT_MODULES ${QT_MODULES} QAxContainer QAxServer)
+ if(Q_WS_WIN)
+ set(QT_MODULES ${QT_MODULES} QAxContainer QAxServer)
# Set QT_AXCONTAINER_INCLUDE_DIR and QT_AXSERVER_INCLUDE_DIR
- FIND_PATH(QT_QAXCONTAINER_INCLUDE_DIR ActiveQt
+ find_path(QT_QAXCONTAINER_INCLUDE_DIR ActiveQt
PATHS ${QT_HEADERS_DIR}/ActiveQt
NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
)
- FIND_PATH(QT_QAXSERVER_INCLUDE_DIR ActiveQt
+ find_path(QT_QAXSERVER_INCLUDE_DIR ActiveQt
PATHS ${QT_HEADERS_DIR}/ActiveQt
NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
)
- ENDIF(Q_WS_WIN)
+ endif()
# Set QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR
- FIND_PATH(QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR QDesignerComponents
+ find_path(QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR QDesignerComponents
PATHS
${QT_HEADERS_DIR}/QtDesigner
${QT_LIBRARY_DIR}/QtDesigner.framework/Headers
NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
)
-
+
# Set QT_QTASSISTANT_INCLUDE_DIR
- FIND_PATH(QT_QTASSISTANT_INCLUDE_DIR QtAssistant
+ find_path(QT_QTASSISTANT_INCLUDE_DIR QtAssistant
PATHS
${QT_HEADERS_DIR}/QtAssistant
${QT_LIBRARY_DIR}/QtAssistant.framework/Headers
NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
)
-
+
# Set QT_QTASSISTANTCLIENT_INCLUDE_DIR
- FIND_PATH(QT_QTASSISTANTCLIENT_INCLUDE_DIR QAssistantClient
+ find_path(QT_QTASSISTANTCLIENT_INCLUDE_DIR QAssistantClient
PATHS
${QT_HEADERS_DIR}/QtAssistant
${QT_LIBRARY_DIR}/QtAssistant.framework/Headers
@@ -864,48 +875,60 @@ IF (QT_QMAKE_EXECUTABLE AND QTVERSION)
########################################
# find the libraries
- FOREACH(QT_MODULE ${QT_MODULES})
- STRING(TOUPPER ${QT_MODULE} _upper_qt_module)
- FIND_LIBRARY(QT_${_upper_qt_module}_LIBRARY_RELEASE
+ foreach(QT_MODULE ${QT_MODULES})
+ string(TOUPPER ${QT_MODULE} _upper_qt_module)
+ find_library(QT_${_upper_qt_module}_LIBRARY_RELEASE
NAMES ${QT_MODULE}${QT_LIBINFIX} ${QT_MODULE}${QT_LIBINFIX}4
PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
)
- FIND_LIBRARY(QT_${_upper_qt_module}_LIBRARY_DEBUG
+ find_library(QT_${_upper_qt_module}_LIBRARY_DEBUG
NAMES ${QT_MODULE}${QT_LIBINFIX}_debug ${QT_MODULE}${QT_LIBINFIX}d ${QT_MODULE}${QT_LIBINFIX}d4
PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
)
- ENDFOREACH(QT_MODULE)
+ if(QT_${_upper_qt_module}_LIBRARY_RELEASE MATCHES "/${QT_MODULE}\\.framework$")
+ if(NOT EXISTS "${QT_${_upper_qt_module}_LIBRARY_RELEASE}/${QT_MODULE}")
+ # Release framework library file does not exist... Force to NOTFOUND:
+ set(QT_${_upper_qt_module}_LIBRARY_RELEASE "QT_${_upper_qt_module}_LIBRARY_RELEASE-NOTFOUND" CACHE FILEPATH "Path to a library." FORCE)
+ endif()
+ endif()
+ if(QT_${_upper_qt_module}_LIBRARY_DEBUG MATCHES "/${QT_MODULE}\\.framework$")
+ if(NOT EXISTS "${QT_${_upper_qt_module}_LIBRARY_DEBUG}/${QT_MODULE}")
+ # Debug framework library file does not exist... Force to NOTFOUND:
+ set(QT_${_upper_qt_module}_LIBRARY_DEBUG "QT_${_upper_qt_module}_LIBRARY_DEBUG-NOTFOUND" CACHE FILEPATH "Path to a library." FORCE)
+ endif()
+ endif()
+ endforeach()
# QtUiTools is sometimes not in the same directory as the other found libraries
# e.g. on Mac, its never a framework like the others are
- IF(QT_QTCORE_LIBRARY_RELEASE AND NOT QT_QTUITOOLS_LIBRARY_RELEASE)
- FIND_LIBRARY(QT_QTUITOOLS_LIBRARY_RELEASE NAMES QtUiTools${QT_LIBINFIX} PATHS ${QT_LIBRARY_DIR})
- ENDIF(QT_QTCORE_LIBRARY_RELEASE AND NOT QT_QTUITOOLS_LIBRARY_RELEASE)
+ if(QT_QTCORE_LIBRARY_RELEASE AND NOT QT_QTUITOOLS_LIBRARY_RELEASE)
+ find_library(QT_QTUITOOLS_LIBRARY_RELEASE NAMES QtUiTools${QT_LIBINFIX} PATHS ${QT_LIBRARY_DIR})
+ endif()
# Set QT_QTDESIGNERCOMPONENTS_LIBRARY
- FIND_LIBRARY(QT_QTDESIGNERCOMPONENTS_LIBRARY_RELEASE NAMES QtDesignerComponents${QT_LIBINFIX} QtDesignerComponents${QT_LIBINFIX}4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
- FIND_LIBRARY(QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG NAMES QtDesignerComponents${QT_LIBINFIX}_debug QtDesignerComponents${QT_LIBINFIX}d QtDesignerComponents${QT_LIBINFIX}d4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+ find_library(QT_QTDESIGNERCOMPONENTS_LIBRARY_RELEASE NAMES QtDesignerComponents${QT_LIBINFIX} QtDesignerComponents${QT_LIBINFIX}4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+ find_library(QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG NAMES QtDesignerComponents${QT_LIBINFIX}_debug QtDesignerComponents${QT_LIBINFIX}d QtDesignerComponents${QT_LIBINFIX}d4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
# Set QT_QTMAIN_LIBRARY
- IF(Q_WS_WIN)
- FIND_LIBRARY(QT_QTMAIN_LIBRARY_RELEASE NAMES qtmain${QT_LIBINFIX} PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
- FIND_LIBRARY(QT_QTMAIN_LIBRARY_DEBUG NAMES qtmain${QT_LIBINFIX}d PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
- ENDIF(Q_WS_WIN)
-
+ if(Q_WS_WIN)
+ find_library(QT_QTMAIN_LIBRARY_RELEASE NAMES qtmain${QT_LIBINFIX} PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+ find_library(QT_QTMAIN_LIBRARY_DEBUG NAMES qtmain${QT_LIBINFIX}d PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+ endif()
+
# Set QT_QTASSISTANTCLIENT_LIBRARY
- FIND_LIBRARY(QT_QTASSISTANTCLIENT_LIBRARY_RELEASE NAMES QtAssistantClient${QT_LIBINFIX} QtAssistantClient${QT_LIBINFIX}4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
- FIND_LIBRARY(QT_QTASSISTANTCLIENT_LIBRARY_DEBUG NAMES QtAssistantClient${QT_LIBINFIX}_debug QtAssistantClient${QT_LIBINFIX}d QtAssistantClient${QT_LIBINFIX}d4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
-
+ find_library(QT_QTASSISTANTCLIENT_LIBRARY_RELEASE NAMES QtAssistantClient${QT_LIBINFIX} QtAssistantClient${QT_LIBINFIX}4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+ find_library(QT_QTASSISTANTCLIENT_LIBRARY_DEBUG NAMES QtAssistantClient${QT_LIBINFIX}_debug QtAssistantClient${QT_LIBINFIX}d QtAssistantClient${QT_LIBINFIX}d4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+
# Set QT_QTASSISTANT_LIBRARY
- FIND_LIBRARY(QT_QTASSISTANT_LIBRARY_RELEASE NAMES QtAssistantClient${QT_LIBINFIX} QtAssistantClient${QT_LIBINFIX}4 QtAssistant${QT_LIBINFIX} QtAssistant${QT_LIBINFIX}4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
- FIND_LIBRARY(QT_QTASSISTANT_LIBRARY_DEBUG NAMES QtAssistantClient${QT_LIBINFIX}_debug QtAssistantClient${QT_LIBINFIX}d QtAssistantClient${QT_LIBINFIX}d4 QtAssistant${QT_LIBINFIX}_debug QtAssistant${QT_LIBINFIX}d4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+ find_library(QT_QTASSISTANT_LIBRARY_RELEASE NAMES QtAssistantClient${QT_LIBINFIX} QtAssistantClient${QT_LIBINFIX}4 QtAssistant${QT_LIBINFIX} QtAssistant${QT_LIBINFIX}4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+ find_library(QT_QTASSISTANT_LIBRARY_DEBUG NAMES QtAssistantClient${QT_LIBINFIX}_debug QtAssistantClient${QT_LIBINFIX}d QtAssistantClient${QT_LIBINFIX}d4 QtAssistant${QT_LIBINFIX}_debug QtAssistant${QT_LIBINFIX}d4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
# Set QT_QTHELP_LIBRARY
- FIND_LIBRARY(QT_QTCLUCENE_LIBRARY_RELEASE NAMES QtCLucene${QT_LIBINFIX} QtCLucene${QT_LIBINFIX}4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
- FIND_LIBRARY(QT_QTCLUCENE_LIBRARY_DEBUG NAMES QtCLucene${QT_LIBINFIX}_debug QtCLucene${QT_LIBINFIX}d QtCLucene${QT_LIBINFIX}d4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
- IF(Q_WS_MAC AND QT_QTCORE_LIBRARY_RELEASE AND NOT QT_QTCLUCENE_LIBRARY_RELEASE)
- FIND_LIBRARY(QT_QTCLUCENE_LIBRARY_RELEASE NAMES QtCLucene${QT_LIBINFIX} PATHS ${QT_LIBRARY_DIR})
- ENDIF(Q_WS_MAC AND QT_QTCORE_LIBRARY_RELEASE AND NOT QT_QTCLUCENE_LIBRARY_RELEASE)
+ find_library(QT_QTCLUCENE_LIBRARY_RELEASE NAMES QtCLucene${QT_LIBINFIX} QtCLucene${QT_LIBINFIX}4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+ find_library(QT_QTCLUCENE_LIBRARY_DEBUG NAMES QtCLucene${QT_LIBINFIX}_debug QtCLucene${QT_LIBINFIX}d QtCLucene${QT_LIBINFIX}d4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+ if(Q_WS_MAC AND QT_QTCORE_LIBRARY_RELEASE AND NOT QT_QTCLUCENE_LIBRARY_RELEASE)
+ find_library(QT_QTCLUCENE_LIBRARY_RELEASE NAMES QtCLucene${QT_LIBINFIX} PATHS ${QT_LIBRARY_DIR})
+ endif()
############################################
@@ -915,13 +938,13 @@ IF (QT_QMAKE_EXECUTABLE AND QTVERSION)
############################################
- # Set QT_xyz_LIBRARY variable and add
+ # Set QT_xyz_LIBRARY variable and add
# library include path to QT_INCLUDES
_QT4_ADJUST_LIB_VARS(QtCore)
- FOREACH(QT_MODULE ${QT_MODULES})
+ foreach(QT_MODULE ${QT_MODULES})
_QT4_ADJUST_LIB_VARS(${QT_MODULE})
- ENDFOREACH(QT_MODULE)
+ endforeach()
_QT4_ADJUST_LIB_VARS(QtAssistant)
_QT4_ADJUST_LIB_VARS(QtAssistantClient)
@@ -929,128 +952,128 @@ IF (QT_QMAKE_EXECUTABLE AND QTVERSION)
_QT4_ADJUST_LIB_VARS(QtDesignerComponents)
# platform dependent libraries
- IF(Q_WS_WIN)
+ if(Q_WS_WIN)
_QT4_ADJUST_LIB_VARS(qtmain)
_QT4_ADJUST_LIB_VARS(QAxServer)
_QT4_ADJUST_LIB_VARS(QAxContainer)
- ENDIF(Q_WS_WIN)
+ endif()
#######################################
#
- # Check the executables of Qt
+ # Check the executables of Qt
# ( moc, uic, rcc )
#
#######################################
- IF(QT_QMAKE_CHANGED)
- SET(QT_UIC_EXECUTABLE NOTFOUND)
- SET(QT_MOC_EXECUTABLE NOTFOUND)
- SET(QT_UIC3_EXECUTABLE NOTFOUND)
- SET(QT_RCC_EXECUTABLE NOTFOUND)
- SET(QT_DBUSCPP2XML_EXECUTABLE NOTFOUND)
- SET(QT_DBUSXML2CPP_EXECUTABLE NOTFOUND)
- SET(QT_LUPDATE_EXECUTABLE NOTFOUND)
- SET(QT_LRELEASE_EXECUTABLE NOTFOUND)
- SET(QT_QCOLLECTIONGENERATOR_EXECUTABLE NOTFOUND)
- SET(QT_DESIGNER_EXECUTABLE NOTFOUND)
- SET(QT_LINGUIST_EXECUTABLE NOTFOUND)
- ENDIF(QT_QMAKE_CHANGED)
-
- FIND_PROGRAM(QT_MOC_EXECUTABLE
+ if(QT_QMAKE_CHANGED)
+ set(QT_UIC_EXECUTABLE NOTFOUND)
+ set(QT_MOC_EXECUTABLE NOTFOUND)
+ set(QT_UIC3_EXECUTABLE NOTFOUND)
+ set(QT_RCC_EXECUTABLE NOTFOUND)
+ set(QT_DBUSCPP2XML_EXECUTABLE NOTFOUND)
+ set(QT_DBUSXML2CPP_EXECUTABLE NOTFOUND)
+ set(QT_LUPDATE_EXECUTABLE NOTFOUND)
+ set(QT_LRELEASE_EXECUTABLE NOTFOUND)
+ set(QT_QCOLLECTIONGENERATOR_EXECUTABLE NOTFOUND)
+ set(QT_DESIGNER_EXECUTABLE NOTFOUND)
+ set(QT_LINGUIST_EXECUTABLE NOTFOUND)
+ endif()
+
+ find_program(QT_MOC_EXECUTABLE
NAMES moc-qt4 moc
PATHS ${QT_BINARY_DIR}
NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
)
- FIND_PROGRAM(QT_UIC_EXECUTABLE
+ find_program(QT_UIC_EXECUTABLE
NAMES uic-qt4 uic
PATHS ${QT_BINARY_DIR}
NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
)
- FIND_PROGRAM(QT_UIC3_EXECUTABLE
+ find_program(QT_UIC3_EXECUTABLE
NAMES uic3
PATHS ${QT_BINARY_DIR}
NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
)
- FIND_PROGRAM(QT_RCC_EXECUTABLE
+ find_program(QT_RCC_EXECUTABLE
NAMES rcc
PATHS ${QT_BINARY_DIR}
NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
)
- FIND_PROGRAM(QT_DBUSCPP2XML_EXECUTABLE
+ find_program(QT_DBUSCPP2XML_EXECUTABLE
NAMES qdbuscpp2xml
PATHS ${QT_BINARY_DIR}
NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
)
- FIND_PROGRAM(QT_DBUSXML2CPP_EXECUTABLE
+ find_program(QT_DBUSXML2CPP_EXECUTABLE
NAMES qdbusxml2cpp
PATHS ${QT_BINARY_DIR}
NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
)
- FIND_PROGRAM(QT_LUPDATE_EXECUTABLE
+ find_program(QT_LUPDATE_EXECUTABLE
NAMES lupdate-qt4 lupdate
PATHS ${QT_BINARY_DIR}
NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
)
- FIND_PROGRAM(QT_LRELEASE_EXECUTABLE
+ find_program(QT_LRELEASE_EXECUTABLE
NAMES lrelease-qt4 lrelease
PATHS ${QT_BINARY_DIR}
NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
)
- FIND_PROGRAM(QT_QCOLLECTIONGENERATOR_EXECUTABLE
+ find_program(QT_QCOLLECTIONGENERATOR_EXECUTABLE
NAMES qcollectiongenerator-qt4 qcollectiongenerator
PATHS ${QT_BINARY_DIR}
NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
)
- FIND_PROGRAM(QT_DESIGNER_EXECUTABLE
+ find_program(QT_DESIGNER_EXECUTABLE
NAMES designer-qt4 designer
PATHS ${QT_BINARY_DIR}
NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
)
- FIND_PROGRAM(QT_LINGUIST_EXECUTABLE
+ find_program(QT_LINGUIST_EXECUTABLE
NAMES linguist-qt4 linguist
PATHS ${QT_BINARY_DIR}
NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
)
- IF (QT_MOC_EXECUTABLE)
- SET(QT_WRAP_CPP "YES")
- ENDIF (QT_MOC_EXECUTABLE)
+ if (QT_MOC_EXECUTABLE)
+ set(QT_WRAP_CPP "YES")
+ endif ()
- IF (QT_UIC_EXECUTABLE)
- SET(QT_WRAP_UI "YES")
- ENDIF (QT_UIC_EXECUTABLE)
+ if (QT_UIC_EXECUTABLE)
+ set(QT_WRAP_UI "YES")
+ endif ()
- MARK_AS_ADVANCED( QT_UIC_EXECUTABLE QT_UIC3_EXECUTABLE QT_MOC_EXECUTABLE
+ mark_as_advanced( QT_UIC_EXECUTABLE QT_UIC3_EXECUTABLE QT_MOC_EXECUTABLE
QT_RCC_EXECUTABLE QT_DBUSXML2CPP_EXECUTABLE QT_DBUSCPP2XML_EXECUTABLE
QT_LUPDATE_EXECUTABLE QT_LRELEASE_EXECUTABLE QT_QCOLLECTIONGENERATOR_EXECUTABLE
QT_DESIGNER_EXECUTABLE QT_LINGUIST_EXECUTABLE)
# get the directory of the current file, used later on in the file
- GET_FILENAME_COMPONENT( _qt4_current_dir "${CMAKE_CURRENT_LIST_FILE}" PATH)
+ get_filename_component( _qt4_current_dir "${CMAKE_CURRENT_LIST_FILE}" PATH)
+
-
###############################################
#
- # configuration/system dependent settings
+ # configuration/system dependent settings
#
###############################################
- INCLUDE("${_qt4_current_dir}/Qt4ConfigDependentSettings.cmake")
+ include("${_qt4_current_dir}/Qt4ConfigDependentSettings.cmake")
#######################################
@@ -1059,84 +1082,84 @@ IF (QT_QMAKE_EXECUTABLE AND QTVERSION)
#
#######################################
- SET( QT_PLUGIN_TYPES accessible bearer codecs decorations designer gfxdrivers graphicssystems iconengines imageformats inputmethods mousedrivers phonon_backend script sqldrivers )
-
- SET( QT_ACCESSIBLE_PLUGINS qtaccessiblecompatwidgets qtaccessiblewidgets )
- SET( QT_BEARER_PLUGINS qcorewlanbearer qgenericbearer )
- SET( QT_CODECS_PLUGINS qcncodecs qjpcodecs qkrcodecs qtwcodecs )
- SET( QT_DECORATIONS_PLUGINS qdecorationdefault qdecorationwindows )
- SET( QT_DESIGNER_PLUGINS arthurplugin containerextension customwidgetplugin phononwidgets qdeclarativeview qt3supportwidgets qwebview taskmenuextension worldtimeclockplugin )
- SET( QT_GRAPHICSDRIVERS_PLUGINS qgfxtransformed qgfxvnc qscreenvfb )
- SET( QT_GRAPHICSSYSTEMS_PLUGINS qglgraphicssystem qtracegraphicssystem )
- SET( QT_ICONENGINES_PLUGINS qsvgicon )
- SET( QT_IMAGEFORMATS_PLUGINS qgif qjpeg qmng qico qsvg qtiff )
- SET( QT_INPUTMETHODS_PLUGINS qimsw_multi )
- SET( QT_MOUSEDRIVERS_PLUGINS qwstslibmousehandler )
- IF(APPLE)
- SET( QT_PHONON_BACKEND_PLUGINS phonon_qt7 )
- ELSEIF(WIN32)
- SET( QT_PHONON_BACKEND_PLUGINS phonon_ds9 )
- ENDIF()
- SET( QT_SCRIPT_PLUGINS qtscriptdbus )
- SET( QT_SQLDRIVERS_PLUGINS qsqldb2 qsqlibase qsqlite qsqlite2 qsqlmysql qsqloci qsqlodbc qsqlpsql qsqltds )
-
- SET( QT_PHONON_PLUGINS ${QT_PHONON_BACKEND_PLUGINS} )
- SET( QT_QT3SUPPORT_PLUGINS qtaccessiblecompatwidgets )
- SET( QT_QTCORE_PLUGINS ${QT_BEARER_PLUGINS} ${QT_CODECS_PLUGINS} )
- SET( QT_QTGUI_PLUGINS qtaccessiblewidgets qgif qjpeg qmng qico qtiff ${QT_DECORATIONS_PLUGINS} ${QT_GRAPHICSDRIVERS_PLUGINS} ${QT_GRAPHICSSYSTEMS_PLUGINS} ${QT_INPUTMETHODS_PLUGINS} ${QT_MOUSEDRIVERS_PLUGINS} )
- SET( QT_QTSCRIPT_PLUGINS ${QT_SCRIPT_PLUGINS} )
- SET( QT_QTSQL_PLUGINS ${QT_SQLDRIVERS_PLUGINS} )
- SET( QT_QTSVG_PLUGINS qsvg qsvgicon )
-
- IF(QT_QMAKE_CHANGED)
- FOREACH(QT_PLUGIN_TYPE ${QT_PLUGIN_TYPES})
- STRING(TOUPPER ${QT_PLUGIN_TYPE} _upper_qt_plugin_type)
- SET(QT_${_upper_qt_plugin_type}_PLUGINS_DIR ${QT_PLUGINS_DIR}/${QT_PLUGIN_TYPE})
- FOREACH(QT_PLUGIN ${QT_${_upper_qt_plugin_type}_PLUGINS})
- STRING(TOUPPER ${QT_PLUGIN} _upper_qt_plugin)
- UNSET(QT_${_upper_qt_plugin}_LIBRARY_RELEASE CACHE)
- UNSET(QT_${_upper_qt_plugin}_LIBRARY_DEBUG CACHE)
- UNSET(QT_${_upper_qt_plugin}_LIBRARY CACHE)
- UNSET(QT_${_upper_qt_plugin}_PLUGIN_RELEASE CACHE)
- UNSET(QT_${_upper_qt_plugin}_PLUGIN_DEBUG CACHE)
- UNSET(QT_${_upper_qt_plugin}_PLUGIN CACHE)
- ENDFOREACH(QT_PLUGIN)
- ENDFOREACH(QT_PLUGIN_TYPE)
- ENDIF(QT_QMAKE_CHANGED)
+ set( QT_PLUGIN_TYPES accessible bearer codecs decorations designer gfxdrivers graphicssystems iconengines imageformats inputmethods mousedrivers phonon_backend script sqldrivers )
+
+ set( QT_ACCESSIBLE_PLUGINS qtaccessiblecompatwidgets qtaccessiblewidgets )
+ set( QT_BEARER_PLUGINS qcorewlanbearer qgenericbearer )
+ set( QT_CODECS_PLUGINS qcncodecs qjpcodecs qkrcodecs qtwcodecs )
+ set( QT_DECORATIONS_PLUGINS qdecorationdefault qdecorationwindows )
+ set( QT_DESIGNER_PLUGINS arthurplugin containerextension customwidgetplugin phononwidgets qdeclarativeview qt3supportwidgets qwebview taskmenuextension worldtimeclockplugin )
+ set( QT_GRAPHICSDRIVERS_PLUGINS qgfxtransformed qgfxvnc qscreenvfb )
+ set( QT_GRAPHICSSYSTEMS_PLUGINS qglgraphicssystem qtracegraphicssystem )
+ set( QT_ICONENGINES_PLUGINS qsvgicon )
+ set( QT_IMAGEFORMATS_PLUGINS qgif qjpeg qmng qico qsvg qtiff )
+ set( QT_INPUTMETHODS_PLUGINS qimsw_multi )
+ set( QT_MOUSEDRIVERS_PLUGINS qwstslibmousehandler )
+ if(APPLE)
+ set( QT_PHONON_BACKEND_PLUGINS phonon_qt7 )
+ elseif(WIN32)
+ set( QT_PHONON_BACKEND_PLUGINS phonon_ds9 )
+ endif()
+ set( QT_SCRIPT_PLUGINS qtscriptdbus )
+ set( QT_SQLDRIVERS_PLUGINS qsqldb2 qsqlibase qsqlite qsqlite2 qsqlmysql qsqloci qsqlodbc qsqlpsql qsqltds )
+
+ set( QT_PHONON_PLUGINS ${QT_PHONON_BACKEND_PLUGINS} )
+ set( QT_QT3SUPPORT_PLUGINS qtaccessiblecompatwidgets )
+ set( QT_QTCORE_PLUGINS ${QT_BEARER_PLUGINS} ${QT_CODECS_PLUGINS} )
+ set( QT_QTGUI_PLUGINS qtaccessiblewidgets qgif qjpeg qmng qico qtiff ${QT_DECORATIONS_PLUGINS} ${QT_GRAPHICSDRIVERS_PLUGINS} ${QT_GRAPHICSSYSTEMS_PLUGINS} ${QT_INPUTMETHODS_PLUGINS} ${QT_MOUSEDRIVERS_PLUGINS} )
+ set( QT_QTSCRIPT_PLUGINS ${QT_SCRIPT_PLUGINS} )
+ set( QT_QTSQL_PLUGINS ${QT_SQLDRIVERS_PLUGINS} )
+ set( QT_QTSVG_PLUGINS qsvg qsvgicon )
+
+ if(QT_QMAKE_CHANGED)
+ foreach(QT_PLUGIN_TYPE ${QT_PLUGIN_TYPES})
+ string(TOUPPER ${QT_PLUGIN_TYPE} _upper_qt_plugin_type)
+ set(QT_${_upper_qt_plugin_type}_PLUGINS_DIR ${QT_PLUGINS_DIR}/${QT_PLUGIN_TYPE})
+ foreach(QT_PLUGIN ${QT_${_upper_qt_plugin_type}_PLUGINS})
+ string(TOUPPER ${QT_PLUGIN} _upper_qt_plugin)
+ unset(QT_${_upper_qt_plugin}_LIBRARY_RELEASE CACHE)
+ unset(QT_${_upper_qt_plugin}_LIBRARY_DEBUG CACHE)
+ unset(QT_${_upper_qt_plugin}_LIBRARY CACHE)
+ unset(QT_${_upper_qt_plugin}_PLUGIN_RELEASE CACHE)
+ unset(QT_${_upper_qt_plugin}_PLUGIN_DEBUG CACHE)
+ unset(QT_${_upper_qt_plugin}_PLUGIN CACHE)
+ endforeach()
+ endforeach()
+ endif()
# find_library works better than find_file but we need to set prefixes to only match plugins
- FOREACH(QT_PLUGIN_TYPE ${QT_PLUGIN_TYPES})
- STRING(TOUPPER ${QT_PLUGIN_TYPE} _upper_qt_plugin_type)
- SET(QT_${_upper_qt_plugin_type}_PLUGINS_DIR ${QT_PLUGINS_DIR}/${QT_PLUGIN_TYPE})
- FOREACH(QT_PLUGIN ${QT_${_upper_qt_plugin_type}_PLUGINS})
- STRING(TOUPPER ${QT_PLUGIN} _upper_qt_plugin)
- IF(QT_IS_STATIC)
- FIND_LIBRARY(QT_${_upper_qt_plugin}_LIBRARY_RELEASE
+ foreach(QT_PLUGIN_TYPE ${QT_PLUGIN_TYPES})
+ string(TOUPPER ${QT_PLUGIN_TYPE} _upper_qt_plugin_type)
+ set(QT_${_upper_qt_plugin_type}_PLUGINS_DIR ${QT_PLUGINS_DIR}/${QT_PLUGIN_TYPE})
+ foreach(QT_PLUGIN ${QT_${_upper_qt_plugin_type}_PLUGINS})
+ string(TOUPPER ${QT_PLUGIN} _upper_qt_plugin)
+ if(QT_IS_STATIC)
+ find_library(QT_${_upper_qt_plugin}_LIBRARY_RELEASE
NAMES ${QT_PLUGIN}${QT_LIBINFIX} ${QT_PLUGIN}${QT_LIBINFIX}4
PATHS ${QT_${_upper_qt_plugin_type}_PLUGINS_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
)
- FIND_LIBRARY(QT_${_upper_qt_plugin}_LIBRARY_DEBUG
+ find_library(QT_${_upper_qt_plugin}_LIBRARY_DEBUG
NAMES ${QT_PLUGIN}${QT_LIBINFIX}_debug ${QT_PLUGIN}${QT_LIBINFIX}d ${QT_PLUGIN}${QT_LIBINFIX}d4
PATHS ${QT_${_upper_qt_plugin_type}_PLUGINS_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
)
_QT4_ADJUST_LIB_VARS(${QT_PLUGIN})
- ELSE(QT_IS_STATIC)
+ else()
# find_library works easier/better than find_file but we need to set suffixes to only match plugins
- SET(CMAKE_FIND_LIBRARY_SUFFIXES_DEFAULT ${CMAKE_FIND_LIBRARY_SUFFIXES})
- SET(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_SHARED_MODULE_SUFFIX} ${CMAKE_SHARED_LIBRARY_SUFFIX})
- FIND_LIBRARY(QT_${_upper_qt_plugin}_PLUGIN_RELEASE
+ set(CMAKE_FIND_LIBRARY_SUFFIXES_DEFAULT ${CMAKE_FIND_LIBRARY_SUFFIXES})
+ set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_SHARED_MODULE_SUFFIX} ${CMAKE_SHARED_LIBRARY_SUFFIX})
+ find_library(QT_${_upper_qt_plugin}_PLUGIN_RELEASE
NAMES ${QT_PLUGIN}${QT_LIBINFIX} ${QT_PLUGIN}${QT_LIBINFIX}4
PATHS ${QT_${_upper_qt_plugin_type}_PLUGINS_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
)
- FIND_LIBRARY(QT_${_upper_qt_plugin}_PLUGIN_DEBUG
+ find_library(QT_${_upper_qt_plugin}_PLUGIN_DEBUG
NAMES ${QT_PLUGIN}${QT_LIBINFIX}_debug ${QT_PLUGIN}${QT_LIBINFIX}d ${QT_PLUGIN}${QT_LIBINFIX}d4
PATHS ${QT_${_upper_qt_plugin_type}_PLUGINS_DIR} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
)
- MARK_AS_ADVANCED(QT_${_upper_qt_plugin}_PLUGIN_RELEASE QT_${_upper_qt_plugin}_PLUGIN_DEBUG)
- SET(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_DEFAULT})
- ENDIF(QT_IS_STATIC)
- ENDFOREACH(QT_PLUGIN)
- ENDFOREACH(QT_PLUGIN_TYPE)
+ mark_as_advanced(QT_${_upper_qt_plugin}_PLUGIN_RELEASE QT_${_upper_qt_plugin}_PLUGIN_DEBUG)
+ set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_DEFAULT})
+ endif()
+ endforeach()
+ endforeach()
######################################
@@ -1145,57 +1168,57 @@ IF (QT_QMAKE_EXECUTABLE AND QTVERSION)
#
######################################
- INCLUDE("${_qt4_current_dir}/Qt4Macros.cmake")
+ include("${_qt4_current_dir}/Qt4Macros.cmake")
# set version variables
- STRING(REGEX REPLACE "^([0-9]+)\\.[0-9]+\\.[0-9]+.*" "\\1" QT_VERSION_MAJOR "${QTVERSION}")
- STRING(REGEX REPLACE "^[0-9]+\\.([0-9])+\\.[0-9]+.*" "\\1" QT_VERSION_MINOR "${QTVERSION}")
- STRING(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" QT_VERSION_PATCH "${QTVERSION}")
+ string(REGEX REPLACE "^([0-9]+)\\.[0-9]+\\.[0-9]+.*" "\\1" QT_VERSION_MAJOR "${QTVERSION}")
+ string(REGEX REPLACE "^[0-9]+\\.([0-9]+)\\.[0-9]+.*" "\\1" QT_VERSION_MINOR "${QTVERSION}")
+ string(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" QT_VERSION_PATCH "${QTVERSION}")
-ENDIF(QT_QMAKE_EXECUTABLE AND QTVERSION)
+endif()
#support old QT_MIN_VERSION if set, but not if version is supplied by find_package()
-IF(NOT Qt4_FIND_VERSION AND QT_MIN_VERSION)
- SET(Qt4_FIND_VERSION ${QT_MIN_VERSION})
-ENDIF(NOT Qt4_FIND_VERSION AND QT_MIN_VERSION)
+if(NOT Qt4_FIND_VERSION AND QT_MIN_VERSION)
+ set(Qt4_FIND_VERSION ${QT_MIN_VERSION})
+endif()
-IF( Qt4_FIND_COMPONENTS )
+if( Qt4_FIND_COMPONENTS )
# if components specified in find_package(), make sure each of those pieces were found
- SET(_QT4_FOUND_REQUIRED_VARS QT_QMAKE_EXECUTABLE QT_MOC_EXECUTABLE QT_RCC_EXECUTABLE QT_INCLUDE_DIR QT_LIBRARY_DIR)
- FOREACH( component ${Qt4_FIND_COMPONENTS} )
- STRING( TOUPPER ${component} _COMPONENT )
+ set(_QT4_FOUND_REQUIRED_VARS QT_QMAKE_EXECUTABLE QT_MOC_EXECUTABLE QT_RCC_EXECUTABLE QT_INCLUDE_DIR QT_LIBRARY_DIR)
+ foreach( component ${Qt4_FIND_COMPONENTS} )
+ string( TOUPPER ${component} _COMPONENT )
if(${_COMPONENT} STREQUAL "QTMAIN")
- IF(Q_WS_WIN)
- SET(_QT4_FOUND_REQUIRED_VARS ${_QT4_FOUND_REQUIRED_VARS} QT_${_COMPONENT}_LIBRARY)
- ENDIF(Q_WS_WIN)
- else(${_COMPONENT} STREQUAL "QTMAIN")
- SET(_QT4_FOUND_REQUIRED_VARS ${_QT4_FOUND_REQUIRED_VARS} QT_${_COMPONENT}_INCLUDE_DIR QT_${_COMPONENT}_LIBRARY)
- endif(${_COMPONENT} STREQUAL "QTMAIN")
- ENDFOREACH( component )
+ if(Q_WS_WIN)
+ set(_QT4_FOUND_REQUIRED_VARS ${_QT4_FOUND_REQUIRED_VARS} QT_${_COMPONENT}_LIBRARY)
+ endif()
+ else()
+ set(_QT4_FOUND_REQUIRED_VARS ${_QT4_FOUND_REQUIRED_VARS} QT_${_COMPONENT}_INCLUDE_DIR QT_${_COMPONENT}_LIBRARY)
+ endif()
+ endforeach()
if(Qt4_FIND_COMPONENTS MATCHES QtGui)
- SET(_QT4_FOUND_REQUIRED_VARS ${_QT4_FOUND_REQUIRED_VARS} QT_UIC_EXECUTABLE)
- endif(Qt4_FIND_COMPONENTS MATCHES QtGui)
+ set(_QT4_FOUND_REQUIRED_VARS ${_QT4_FOUND_REQUIRED_VARS} QT_UIC_EXECUTABLE)
+ endif()
-ELSE( Qt4_FIND_COMPONENTS )
+else()
# if no components specified, we'll make a default set of required variables to say Qt is found
- SET(_QT4_FOUND_REQUIRED_VARS QT_QMAKE_EXECUTABLE QT_MOC_EXECUTABLE QT_RCC_EXECUTABLE QT_UIC_EXECUTABLE QT_INCLUDE_DIR
+ set(_QT4_FOUND_REQUIRED_VARS QT_QMAKE_EXECUTABLE QT_MOC_EXECUTABLE QT_RCC_EXECUTABLE QT_UIC_EXECUTABLE QT_INCLUDE_DIR
QT_LIBRARY_DIR QT_QTCORE_LIBRARY)
-ENDIF( Qt4_FIND_COMPONENTS )
+endif()
if (QT_VERSION_MAJOR GREATER 4)
- SET(VERSION_MSG "Found unsuitable Qt version \"${QTVERSION}\" from ${QT_QMAKE_EXECUTABLE}")
- SET(QT4_FOUND FALSE)
- IF(Qt4_FIND_REQUIRED)
- MESSAGE( FATAL_ERROR "${VERSION_MSG}, this code requires Qt 4.x")
- ELSE(Qt4_FIND_REQUIRED)
- IF(NOT Qt4_FIND_QUIETLY)
- MESSAGE( STATUS "${VERSION_MSG}")
- ENDIF(NOT Qt4_FIND_QUIETLY)
- ENDIF(Qt4_FIND_REQUIRED)
+ set(VERSION_MSG "Found unsuitable Qt version \"${QTVERSION}\" from ${QT_QMAKE_EXECUTABLE}")
+ set(QT4_FOUND FALSE)
+ if(Qt4_FIND_REQUIRED)
+ message( FATAL_ERROR "${VERSION_MSG}, this code requires Qt 4.x")
+ else()
+ if(NOT Qt4_FIND_QUIETLY)
+ message( STATUS "${VERSION_MSG}")
+ endif()
+ endif()
else()
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Qt4
REQUIRED_VARS ${_QT4_FOUND_REQUIRED_VARS}
@@ -1209,8 +1232,8 @@ endif()
#
#######################################
# Backwards compatibility for CMake1.4 and 1.2
-SET (QT_MOC_EXE ${QT_MOC_EXECUTABLE} )
-SET (QT_UIC_EXE ${QT_UIC_EXECUTABLE} )
-SET( QT_QT_LIBRARY "")
-SET(QT_FOUND ${QT4_FOUND})
+set (QT_MOC_EXE ${QT_MOC_EXECUTABLE} )
+set (QT_UIC_EXE ${QT_UIC_EXECUTABLE} )
+set( QT_QT_LIBRARY "")
+set(QT_FOUND ${QT4_FOUND})
diff --git a/Modules/FindQuickTime.cmake b/Modules/FindQuickTime.cmake
index 038c2dd65..42a0dce77 100644
--- a/Modules/FindQuickTime.cmake
+++ b/Modules/FindQuickTime.cmake
@@ -1,13 +1,13 @@
# Locate QuickTime
# This module defines
# QUICKTIME_LIBRARY
-# QUICKTIME_FOUND, if false, do not try to link to gdal
+# QUICKTIME_FOUND, if false, do not try to link to gdal
# QUICKTIME_INCLUDE_DIR, where to find the headers
#
# $QUICKTIME_DIR is an environment variable that would
# correspond to the ./configure --prefix=$QUICKTIME_DIR
#
-# Created by Eric Wing.
+# Created by Eric Wing.
#=============================================================================
# Copyright 2007-2009 Kitware, Inc.
@@ -22,26 +22,20 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-# QuickTime on OS X looks different than QuickTime for Windows,
-# so I am going to case the two.
-
-IF(APPLE)
- FIND_PATH(QUICKTIME_INCLUDE_DIR QuickTime/QuickTime.h)
- FIND_LIBRARY(QUICKTIME_LIBRARY QuickTime)
-ELSE(APPLE)
- FIND_PATH(QUICKTIME_INCLUDE_DIR QuickTime.h
- HINTS
- $ENV{QUICKTIME_DIR}/include
- $ENV{QUICKTIME_DIR}
- )
- FIND_LIBRARY(QUICKTIME_LIBRARY QuickTime
- HINTS
- $ENV{QUICKTIME_DIR}/lib
- $ENV{QUICKTIME_DIR}
- )
-ENDIF(APPLE)
+find_path(QUICKTIME_INCLUDE_DIR QuickTime/QuickTime.h QuickTime.h
+ HINTS
+ ENV QUICKTIME_DIR
+ PATH_SUFFIXES
+ include
+)
+find_library(QUICKTIME_LIBRARY QuickTime
+ HINTS
+ ENV QUICKTIME_DIR
+ PATH_SUFFIXES
+ lib
+)
# handle the QUIETLY and REQUIRED arguments and set QUICKTIME_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(QuickTime DEFAULT_MSG QUICKTIME_LIBRARY QUICKTIME_INCLUDE_DIR)
diff --git a/Modules/FindRTI.cmake b/Modules/FindRTI.cmake
index 031c13854..60990b767 100644
--- a/Modules/FindRTI.cmake
+++ b/Modules/FindRTI.cmake
@@ -29,73 +29,68 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-MACRO(RTI_MESSAGE_QUIETLY QUIET TYPE MSG)
- IF(NOT ${QUIET})
- MESSAGE(${TYPE} "${MSG}")
- ENDIF(NOT ${QUIET})
-ENDMACRO(RTI_MESSAGE_QUIETLY QUIET TYPE MSG)
+macro(RTI_MESSAGE_QUIETLY QUIET TYPE MSG)
+ if(NOT ${QUIET})
+ message(${TYPE} "${MSG}")
+ endif()
+endmacro()
-# Detect the CERTI installation, http://www.cert.fr/CERTI
-IF ("$ENV{CERTI_HOME}" STRGREATER "")
- FILE(TO_CMAKE_PATH "$ENV{CERTI_HOME}" CERTI_HOME)
- RTI_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "Using environment defined CERTI_HOME: ${CERTI_HOME}")
-ENDIF ("$ENV{CERTI_HOME}" STRGREATER "")
-
-SET(RTI_DEFINITIONS "-DRTI_USES_STD_FSTREAM")
+set(RTI_DEFINITIONS "-DRTI_USES_STD_FSTREAM")
+# Detect the CERTI installation, http://www.cert.fr/CERTI
# Detect the MAK Technologies RTI installation, http://www.mak.com/products/rti.php
# note: the following list is ordered to find the most recent version first
-SET(RTI_POSSIBLE_DIRS
- ${CERTI_HOME}
+set(RTI_POSSIBLE_DIRS
+ ENV CERTI_HOME
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MAK Technologies\\MAK RTI 3.2 MSVC++ 8.0;Location]"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MAK RTI 3.2-win32-msvc++8.0;InstallLocation]"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MAK Technologies\\MAK RTI 2.2;Location]"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MAK RTI 2.2;InstallLocation]")
-SET(RTI_OLD_FIND_LIBRARY_PREFIXES "${CMAKE_FIND_LIBRARY_PREFIXES}")
+set(RTI_OLD_FIND_LIBRARY_PREFIXES "${CMAKE_FIND_LIBRARY_PREFIXES}")
# The MAK RTI has the "lib" prefix even on Windows.
-SET(CMAKE_FIND_LIBRARY_PREFIXES "lib" "")
+set(CMAKE_FIND_LIBRARY_PREFIXES "lib" "")
-FIND_LIBRARY(RTI_LIBRARY
+find_library(RTI_LIBRARY
NAMES RTI RTI-NG
PATHS ${RTI_POSSIBLE_DIRS}
PATH_SUFFIXES lib
DOC "The RTI Library")
-IF (RTI_LIBRARY)
- SET(RTI_LIBRARIES ${RTI_LIBRARY})
+if (RTI_LIBRARY)
+ set(RTI_LIBRARIES ${RTI_LIBRARY})
RTI_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "RTI library found: ${RTI_LIBRARY}")
-ELSE (RTI_LIBRARY)
+else ()
RTI_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "RTI library NOT found")
-ENDIF (RTI_LIBRARY)
+endif ()
-FIND_LIBRARY(RTI_FEDTIME_LIBRARY
+find_library(RTI_FEDTIME_LIBRARY
NAMES FedTime
PATHS ${RTI_POSSIBLE_DIRS}
PATH_SUFFIXES lib
DOC "The FedTime Library")
-IF (RTI_FEDTIME_LIBRARY)
- SET(RTI_LIBRARIES ${RTI_LIBRARIES} ${RTI_FEDTIME_LIBRARY})
+if (RTI_FEDTIME_LIBRARY)
+ set(RTI_LIBRARIES ${RTI_LIBRARIES} ${RTI_FEDTIME_LIBRARY})
RTI_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "RTI FedTime found: ${RTI_FEDTIME_LIBRARY}")
-ENDIF (RTI_FEDTIME_LIBRARY)
+endif ()
-FIND_PATH(RTI_INCLUDE_DIR
+find_path(RTI_INCLUDE_DIR
NAMES RTI.hh
PATHS ${RTI_POSSIBLE_DIRS}
PATH_SUFFIXES include
DOC "The RTI Include Files")
-IF (RTI_INCLUDE_DIR)
+if (RTI_INCLUDE_DIR)
RTI_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "RTI headers found: ${RTI_INCLUDE_DIR}")
-ELSE (RTI_INCLUDE_DIR)
+else ()
RTI_MESSAGE_QUIETLY(RTI_FIND_QUIETLY STATUS "RTI headers NOT found")
-ENDIF (RTI_INCLUDE_DIR)
+endif ()
# Set the modified system variables back to the original value.
-SET(CMAKE_FIND_LIBRARY_PREFIXES "${RTI_OLD_FIND_LIBRARY_PREFIXES}")
+set(CMAKE_FIND_LIBRARY_PREFIXES "${RTI_OLD_FIND_LIBRARY_PREFIXES}")
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(RTI DEFAULT_MSG
RTI_LIBRARY RTI_INCLUDE_DIR)
diff --git a/Modules/FindRuby.cmake b/Modules/FindRuby.cmake
index 5e973e485..119cb63dd 100644
--- a/Modules/FindRuby.cmake
+++ b/Modules/FindRuby.cmake
@@ -3,7 +3,7 @@
# and libraries are. Ruby 1.8 and 1.9 are supported.
#
# The minimum required version of Ruby can be specified using the
-# standard syntax, e.g. FIND_PACKAGE(Ruby 1.8)
+# standard syntax, e.g. find_package(Ruby 1.8)
#
# It also determines what the name of the library is. This
# code sets the following variables:
@@ -37,43 +37,43 @@
# RUBY_LIBRUBYARG=`$RUBY -r rbconfig -e 'printf("%s",Config::CONFIG@<:@"LIBRUBYARG_SHARED"@:>@)'`
# uncomment the following line to get debug output for this file
-# SET(_RUBY_DEBUG_OUTPUT TRUE)
+# set(_RUBY_DEBUG_OUTPUT TRUE)
# Determine the list of possible names of the ruby executable depending
# on which version of ruby is required
-SET(_RUBY_POSSIBLE_EXECUTABLE_NAMES ruby)
+set(_RUBY_POSSIBLE_EXECUTABLE_NAMES ruby)
# if 1.9 is required, don't look for ruby18 and ruby1.8, default to version 1.8
-IF(Ruby_FIND_VERSION_MAJOR AND Ruby_FIND_VERSION_MINOR)
- SET(Ruby_FIND_VERSION_SHORT_NODOT "${Ruby_FIND_VERSION_MAJOR}${RUBY_FIND_VERSION_MINOR}")
-ELSE(Ruby_FIND_VERSION_MAJOR AND Ruby_FIND_VERSION_MINOR)
- SET(Ruby_FIND_VERSION_SHORT_NODOT "18")
-ENDIF(Ruby_FIND_VERSION_MAJOR AND Ruby_FIND_VERSION_MINOR)
+if(Ruby_FIND_VERSION_MAJOR AND Ruby_FIND_VERSION_MINOR)
+ set(Ruby_FIND_VERSION_SHORT_NODOT "${Ruby_FIND_VERSION_MAJOR}${RUBY_FIND_VERSION_MINOR}")
+else()
+ set(Ruby_FIND_VERSION_SHORT_NODOT "18")
+endif()
-SET(_RUBY_POSSIBLE_EXECUTABLE_NAMES ${_RUBY_POSSIBLE_EXECUTABLE_NAMES} ruby1.9 ruby19)
+set(_RUBY_POSSIBLE_EXECUTABLE_NAMES ${_RUBY_POSSIBLE_EXECUTABLE_NAMES} ruby1.9 ruby19)
# if we want a version below 1.9, also look for ruby 1.8
-IF("${Ruby_FIND_VERSION_SHORT_NODOT}" VERSION_LESS "19")
- SET(_RUBY_POSSIBLE_EXECUTABLE_NAMES ${_RUBY_POSSIBLE_EXECUTABLE_NAMES} ruby1.8 ruby18)
-ENDIF("${Ruby_FIND_VERSION_SHORT_NODOT}" VERSION_LESS "19")
+if("${Ruby_FIND_VERSION_SHORT_NODOT}" VERSION_LESS "19")
+ set(_RUBY_POSSIBLE_EXECUTABLE_NAMES ${_RUBY_POSSIBLE_EXECUTABLE_NAMES} ruby1.8 ruby18)
+endif()
-FIND_PROGRAM(RUBY_EXECUTABLE NAMES ${_RUBY_POSSIBLE_EXECUTABLE_NAMES})
+find_program(RUBY_EXECUTABLE NAMES ${_RUBY_POSSIBLE_EXECUTABLE_NAMES})
-IF(RUBY_EXECUTABLE AND NOT RUBY_VERSION_MAJOR)
- FUNCTION(_RUBY_CONFIG_VAR RBVAR OUTVAR)
- EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['${RBVAR}']"
+if(RUBY_EXECUTABLE AND NOT RUBY_VERSION_MAJOR)
+ function(_RUBY_CONFIG_VAR RBVAR OUTVAR)
+ execute_process(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['${RBVAR}']"
RESULT_VARIABLE _RUBY_SUCCESS
OUTPUT_VARIABLE _RUBY_OUTPUT
ERROR_QUIET)
- IF(_RUBY_SUCCESS OR NOT _RUBY_OUTPUT)
- EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print Config::CONFIG['${RBVAR}']"
+ if(_RUBY_SUCCESS OR NOT _RUBY_OUTPUT)
+ execute_process(COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print Config::CONFIG['${RBVAR}']"
RESULT_VARIABLE _RUBY_SUCCESS
OUTPUT_VARIABLE _RUBY_OUTPUT
ERROR_QUIET)
- ENDIF(_RUBY_SUCCESS OR NOT _RUBY_OUTPUT)
- SET(${OUTVAR} "${_RUBY_OUTPUT}" PARENT_SCOPE)
- ENDFUNCTION(_RUBY_CONFIG_VAR)
+ endif()
+ set(${OUTVAR} "${_RUBY_OUTPUT}" PARENT_SCOPE)
+ endfunction()
# query the ruby version
@@ -93,29 +93,29 @@ IF(RUBY_EXECUTABLE AND NOT RUBY_VERSION_MAJOR)
_RUBY_CONFIG_VAR("sitelibdir" RUBY_SITELIB_DIR)
# vendor_ruby available ?
- EXECUTE_PROCESS(COMMAND ${RUBY_EXECUTABLE} -r vendor-specific -e "print 'true'"
+ execute_process(COMMAND ${RUBY_EXECUTABLE} -r vendor-specific -e "print 'true'"
OUTPUT_VARIABLE RUBY_HAS_VENDOR_RUBY ERROR_QUIET)
- IF(RUBY_HAS_VENDOR_RUBY)
+ if(RUBY_HAS_VENDOR_RUBY)
_RUBY_CONFIG_VAR("vendorlibdir" RUBY_VENDORLIB_DIR)
_RUBY_CONFIG_VAR("vendorarchdir" RUBY_VENDORARCH_DIR)
- ENDIF(RUBY_HAS_VENDOR_RUBY)
+ endif()
# save the results in the cache so we don't have to run ruby the next time again
- SET(RUBY_VERSION_MAJOR ${RUBY_VERSION_MAJOR} CACHE PATH "The Ruby major version" FORCE)
- SET(RUBY_VERSION_MINOR ${RUBY_VERSION_MINOR} CACHE PATH "The Ruby minor version" FORCE)
- SET(RUBY_VERSION_PATCH ${RUBY_VERSION_PATCH} CACHE PATH "The Ruby patch version" FORCE)
- SET(RUBY_ARCH_DIR ${RUBY_ARCH_DIR} CACHE PATH "The Ruby arch dir" FORCE)
- SET(RUBY_HDR_DIR ${RUBY_HDR_DIR} CACHE PATH "The Ruby header dir (1.9)" FORCE)
- SET(RUBY_POSSIBLE_LIB_DIR ${RUBY_POSSIBLE_LIB_DIR} CACHE PATH "The Ruby lib dir" FORCE)
- SET(RUBY_RUBY_LIB_DIR ${RUBY_RUBY_LIB_DIR} CACHE PATH "The Ruby ruby-lib dir" FORCE)
- SET(RUBY_SITEARCH_DIR ${RUBY_SITEARCH_DIR} CACHE PATH "The Ruby site arch dir" FORCE)
- SET(RUBY_SITELIB_DIR ${RUBY_SITELIB_DIR} CACHE PATH "The Ruby site lib dir" FORCE)
- SET(RUBY_HAS_VENDOR_RUBY ${RUBY_HAS_VENDOR_RUBY} CACHE BOOL "Vendor Ruby is available" FORCE)
- SET(RUBY_VENDORARCH_DIR ${RUBY_VENDORARCH_DIR} CACHE PATH "The Ruby vendor arch dir" FORCE)
- SET(RUBY_VENDORLIB_DIR ${RUBY_VENDORLIB_DIR} CACHE PATH "The Ruby vendor lib dir" FORCE)
-
- MARK_AS_ADVANCED(
+ set(RUBY_VERSION_MAJOR ${RUBY_VERSION_MAJOR} CACHE PATH "The Ruby major version" FORCE)
+ set(RUBY_VERSION_MINOR ${RUBY_VERSION_MINOR} CACHE PATH "The Ruby minor version" FORCE)
+ set(RUBY_VERSION_PATCH ${RUBY_VERSION_PATCH} CACHE PATH "The Ruby patch version" FORCE)
+ set(RUBY_ARCH_DIR ${RUBY_ARCH_DIR} CACHE PATH "The Ruby arch dir" FORCE)
+ set(RUBY_HDR_DIR ${RUBY_HDR_DIR} CACHE PATH "The Ruby header dir (1.9)" FORCE)
+ set(RUBY_POSSIBLE_LIB_DIR ${RUBY_POSSIBLE_LIB_DIR} CACHE PATH "The Ruby lib dir" FORCE)
+ set(RUBY_RUBY_LIB_DIR ${RUBY_RUBY_LIB_DIR} CACHE PATH "The Ruby ruby-lib dir" FORCE)
+ set(RUBY_SITEARCH_DIR ${RUBY_SITEARCH_DIR} CACHE PATH "The Ruby site arch dir" FORCE)
+ set(RUBY_SITELIB_DIR ${RUBY_SITELIB_DIR} CACHE PATH "The Ruby site lib dir" FORCE)
+ set(RUBY_HAS_VENDOR_RUBY ${RUBY_HAS_VENDOR_RUBY} CACHE BOOL "Vendor Ruby is available" FORCE)
+ set(RUBY_VENDORARCH_DIR ${RUBY_VENDORARCH_DIR} CACHE PATH "The Ruby vendor arch dir" FORCE)
+ set(RUBY_VENDORLIB_DIR ${RUBY_VENDORLIB_DIR} CACHE PATH "The Ruby vendor lib dir" FORCE)
+
+ mark_as_advanced(
RUBY_ARCH_DIR
RUBY_ARCH
RUBY_HDR_DIR
@@ -130,107 +130,107 @@ IF(RUBY_EXECUTABLE AND NOT RUBY_VERSION_MAJOR)
RUBY_VERSION_MINOR
RUBY_VERSION_PATCH
)
-ENDIF(RUBY_EXECUTABLE AND NOT RUBY_VERSION_MAJOR)
+endif()
# In case RUBY_EXECUTABLE could not be executed (e.g. cross compiling)
# try to detect which version we found. This is not too good.
-IF(RUBY_EXECUTABLE AND NOT RUBY_VERSION_MAJOR)
+if(RUBY_EXECUTABLE AND NOT RUBY_VERSION_MAJOR)
# by default assume 1.8.0
- SET(RUBY_VERSION_MAJOR 1)
- SET(RUBY_VERSION_MINOR 8)
- SET(RUBY_VERSION_PATCH 0)
+ set(RUBY_VERSION_MAJOR 1)
+ set(RUBY_VERSION_MINOR 8)
+ set(RUBY_VERSION_PATCH 0)
# check whether we found 1.9.x
- IF(${RUBY_EXECUTABLE} MATCHES "ruby1.?9" OR RUBY_HDR_DIR)
- SET(RUBY_VERSION_MAJOR 1)
- SET(RUBY_VERSION_MINOR 9)
- ENDIF(${RUBY_EXECUTABLE} MATCHES "ruby1.?9" OR RUBY_HDR_DIR)
-ENDIF(RUBY_EXECUTABLE AND NOT RUBY_VERSION_MAJOR)
-
-IF(RUBY_VERSION_MAJOR)
- SET(RUBY_VERSION "${RUBY_VERSION_MAJOR}.${RUBY_VERSION_MINOR}.${RUBY_VERSION_PATCH}")
- SET(_RUBY_VERSION_SHORT "${RUBY_VERSION_MAJOR}.${RUBY_VERSION_MINOR}")
- SET(_RUBY_VERSION_SHORT_NODOT "${RUBY_VERSION_MAJOR}${RUBY_VERSION_MINOR}")
- SET(_RUBY_NODOT_VERSION "${RUBY_VERSION_MAJOR}${RUBY_VERSION_MINOR}${RUBY_VERSION_PATCH}")
-ENDIF(RUBY_VERSION_MAJOR)
-
-FIND_PATH(RUBY_INCLUDE_DIR
+ if(${RUBY_EXECUTABLE} MATCHES "ruby1.?9" OR RUBY_HDR_DIR)
+ set(RUBY_VERSION_MAJOR 1)
+ set(RUBY_VERSION_MINOR 9)
+ endif()
+endif()
+
+if(RUBY_VERSION_MAJOR)
+ set(RUBY_VERSION "${RUBY_VERSION_MAJOR}.${RUBY_VERSION_MINOR}.${RUBY_VERSION_PATCH}")
+ set(_RUBY_VERSION_SHORT "${RUBY_VERSION_MAJOR}.${RUBY_VERSION_MINOR}")
+ set(_RUBY_VERSION_SHORT_NODOT "${RUBY_VERSION_MAJOR}${RUBY_VERSION_MINOR}")
+ set(_RUBY_NODOT_VERSION "${RUBY_VERSION_MAJOR}${RUBY_VERSION_MINOR}${RUBY_VERSION_PATCH}")
+endif()
+
+find_path(RUBY_INCLUDE_DIR
NAMES ruby.h
HINTS
${RUBY_HDR_DIR}
${RUBY_ARCH_DIR}
/usr/lib/ruby/${_RUBY_VERSION_SHORT}/i586-linux-gnu/ )
-SET(RUBY_INCLUDE_DIRS ${RUBY_INCLUDE_DIR} )
+set(RUBY_INCLUDE_DIRS ${RUBY_INCLUDE_DIR} )
# if ruby > 1.8 is required or if ruby > 1.8 was found, search for the config.h dir
-IF( "${Ruby_FIND_VERSION_SHORT_NODOT}" GREATER 18 OR "${_RUBY_VERSION_SHORT_NODOT}" GREATER 18 OR RUBY_HDR_DIR)
- FIND_PATH(RUBY_CONFIG_INCLUDE_DIR
+if( "${Ruby_FIND_VERSION_SHORT_NODOT}" GREATER 18 OR "${_RUBY_VERSION_SHORT_NODOT}" GREATER 18 OR RUBY_HDR_DIR)
+ find_path(RUBY_CONFIG_INCLUDE_DIR
NAMES ruby/config.h config.h
HINTS
${RUBY_HDR_DIR}/${RUBY_ARCH}
${RUBY_ARCH_DIR}
)
- SET(RUBY_INCLUDE_DIRS ${RUBY_INCLUDE_DIRS} ${RUBY_CONFIG_INCLUDE_DIR} )
-ENDIF( "${Ruby_FIND_VERSION_SHORT_NODOT}" GREATER 18 OR "${_RUBY_VERSION_SHORT_NODOT}" GREATER 18 OR RUBY_HDR_DIR)
+ set(RUBY_INCLUDE_DIRS ${RUBY_INCLUDE_DIRS} ${RUBY_CONFIG_INCLUDE_DIR} )
+endif()
# Determine the list of possible names for the ruby library
-SET(_RUBY_POSSIBLE_LIB_NAMES ruby ruby-static ruby${_RUBY_VERSION_SHORT} ruby${_RUBY_VERSION_SHORT_NODOT} ruby-${_RUBY_VERSION_SHORT} ruby-${RUBY_VERSION})
-
-IF(WIN32)
- SET( _RUBY_MSVC_RUNTIME "" )
- IF( MSVC60 )
- SET( _RUBY_MSVC_RUNTIME "60" )
- ENDIF( MSVC60 )
- IF( MSVC70 )
- SET( _RUBY_MSVC_RUNTIME "70" )
- ENDIF( MSVC70 )
- IF( MSVC71 )
- SET( _RUBY_MSVC_RUNTIME "71" )
- ENDIF( MSVC71 )
- IF( MSVC80 )
- SET( _RUBY_MSVC_RUNTIME "80" )
- ENDIF( MSVC80 )
- IF( MSVC90 )
- SET( _RUBY_MSVC_RUNTIME "90" )
- ENDIF( MSVC90 )
-
- LIST(APPEND _RUBY_POSSIBLE_LIB_NAMES
+set(_RUBY_POSSIBLE_LIB_NAMES ruby ruby-static ruby${_RUBY_VERSION_SHORT} ruby${_RUBY_VERSION_SHORT_NODOT} ruby-${_RUBY_VERSION_SHORT} ruby-${RUBY_VERSION})
+
+if(WIN32)
+ set( _RUBY_MSVC_RUNTIME "" )
+ if( MSVC60 )
+ set( _RUBY_MSVC_RUNTIME "60" )
+ endif()
+ if( MSVC70 )
+ set( _RUBY_MSVC_RUNTIME "70" )
+ endif()
+ if( MSVC71 )
+ set( _RUBY_MSVC_RUNTIME "71" )
+ endif()
+ if( MSVC80 )
+ set( _RUBY_MSVC_RUNTIME "80" )
+ endif()
+ if( MSVC90 )
+ set( _RUBY_MSVC_RUNTIME "90" )
+ endif()
+
+ list(APPEND _RUBY_POSSIBLE_LIB_NAMES
"msvcr${_RUBY_MSVC_RUNTIME}-ruby${_RUBY_NODOT_VERSION}"
"msvcr${_RUBY_MSVC_RUNTIME}-ruby${_RUBY_NODOT_VERSION}-static"
"msvcrt-ruby${_RUBY_NODOT_VERSION}"
"msvcrt-ruby${_RUBY_NODOT_VERSION}-static" )
-ENDIF(WIN32)
-
-FIND_LIBRARY(RUBY_LIBRARY NAMES ${_RUBY_POSSIBLE_LIB_NAMES} HINTS ${RUBY_POSSIBLE_LIB_DIR} )
-
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-SET(_RUBY_REQUIRED_VARS RUBY_EXECUTABLE RUBY_INCLUDE_DIR RUBY_LIBRARY)
-IF(_RUBY_VERSION_SHORT_NODOT GREATER 18)
- LIST(APPEND _RUBY_REQUIRED_VARS RUBY_CONFIG_INCLUDE_DIR)
-ENDIF(_RUBY_VERSION_SHORT_NODOT GREATER 18)
-
-IF(_RUBY_DEBUG_OUTPUT)
- MESSAGE(STATUS "--------FindRuby.cmake debug------------")
- MESSAGE(STATUS "_RUBY_POSSIBLE_EXECUTABLE_NAMES: ${_RUBY_POSSIBLE_EXECUTABLE_NAMES}")
- MESSAGE(STATUS "_RUBY_POSSIBLE_LIB_NAMES: ${_RUBY_POSSIBLE_LIB_NAMES}")
- MESSAGE(STATUS "RUBY_ARCH_DIR: ${RUBY_ARCH_DIR}")
- MESSAGE(STATUS "RUBY_HDR_DIR: ${RUBY_HDR_DIR}")
- MESSAGE(STATUS "RUBY_POSSIBLE_LIB_DIR: ${RUBY_POSSIBLE_LIB_DIR}")
- MESSAGE(STATUS "Found RUBY_VERSION: \"${RUBY_VERSION}\" , short: \"${_RUBY_VERSION_SHORT}\", nodot: \"${_RUBY_VERSION_SHORT_NODOT}\"")
- MESSAGE(STATUS "_RUBY_REQUIRED_VARS: ${_RUBY_REQUIRED_VARS}")
- MESSAGE(STATUS "RUBY_EXECUTABLE: ${RUBY_EXECUTABLE}")
- MESSAGE(STATUS "RUBY_LIBRARY: ${RUBY_LIBRARY}")
- MESSAGE(STATUS "RUBY_INCLUDE_DIR: ${RUBY_INCLUDE_DIR}")
- MESSAGE(STATUS "RUBY_CONFIG_INCLUDE_DIR: ${RUBY_CONFIG_INCLUDE_DIR}")
- MESSAGE(STATUS "--------------------")
-ENDIF(_RUBY_DEBUG_OUTPUT)
+endif()
+
+find_library(RUBY_LIBRARY NAMES ${_RUBY_POSSIBLE_LIB_NAMES} HINTS ${RUBY_POSSIBLE_LIB_DIR} )
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+set(_RUBY_REQUIRED_VARS RUBY_EXECUTABLE RUBY_INCLUDE_DIR RUBY_LIBRARY)
+if(_RUBY_VERSION_SHORT_NODOT GREATER 18)
+ list(APPEND _RUBY_REQUIRED_VARS RUBY_CONFIG_INCLUDE_DIR)
+endif()
+
+if(_RUBY_DEBUG_OUTPUT)
+ message(STATUS "--------FindRuby.cmake debug------------")
+ message(STATUS "_RUBY_POSSIBLE_EXECUTABLE_NAMES: ${_RUBY_POSSIBLE_EXECUTABLE_NAMES}")
+ message(STATUS "_RUBY_POSSIBLE_LIB_NAMES: ${_RUBY_POSSIBLE_LIB_NAMES}")
+ message(STATUS "RUBY_ARCH_DIR: ${RUBY_ARCH_DIR}")
+ message(STATUS "RUBY_HDR_DIR: ${RUBY_HDR_DIR}")
+ message(STATUS "RUBY_POSSIBLE_LIB_DIR: ${RUBY_POSSIBLE_LIB_DIR}")
+ message(STATUS "Found RUBY_VERSION: \"${RUBY_VERSION}\" , short: \"${_RUBY_VERSION_SHORT}\", nodot: \"${_RUBY_VERSION_SHORT_NODOT}\"")
+ message(STATUS "_RUBY_REQUIRED_VARS: ${_RUBY_REQUIRED_VARS}")
+ message(STATUS "RUBY_EXECUTABLE: ${RUBY_EXECUTABLE}")
+ message(STATUS "RUBY_LIBRARY: ${RUBY_LIBRARY}")
+ message(STATUS "RUBY_INCLUDE_DIR: ${RUBY_INCLUDE_DIR}")
+ message(STATUS "RUBY_CONFIG_INCLUDE_DIR: ${RUBY_CONFIG_INCLUDE_DIR}")
+ message(STATUS "--------------------")
+endif()
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Ruby REQUIRED_VARS ${_RUBY_REQUIRED_VARS}
VERSION_VAR RUBY_VERSION )
-MARK_AS_ADVANCED(
+mark_as_advanced(
RUBY_EXECUTABLE
RUBY_LIBRARY
RUBY_INCLUDE_DIR
@@ -238,6 +238,6 @@ MARK_AS_ADVANCED(
)
# Set some variables for compatibility with previous version of this file
-SET(RUBY_POSSIBLE_LIB_PATH ${RUBY_POSSIBLE_LIB_DIR})
-SET(RUBY_RUBY_LIB_PATH ${RUBY_RUBY_LIB_DIR})
-SET(RUBY_INCLUDE_PATH ${RUBY_INCLUDE_DIRS})
+set(RUBY_POSSIBLE_LIB_PATH ${RUBY_POSSIBLE_LIB_DIR})
+set(RUBY_RUBY_LIB_PATH ${RUBY_RUBY_LIB_DIR})
+set(RUBY_INCLUDE_PATH ${RUBY_INCLUDE_DIRS})
diff --git a/Modules/FindSDL.cmake b/Modules/FindSDL.cmake
index 1c04726ea..f2e9f25f5 100644
--- a/Modules/FindSDL.cmake
+++ b/Modules/FindSDL.cmake
@@ -1,27 +1,28 @@
-# Locate SDL library
+# - Locate SDL library
# This module defines
-# SDL_LIBRARY, the name of the library to link against
-# SDL_FOUND, if false, do not try to link to SDL
-# SDL_INCLUDE_DIR, where to find SDL.h
+# SDL_LIBRARY, the name of the library to link against
+# SDL_FOUND, if false, do not try to link to SDL
+# SDL_INCLUDE_DIR, where to find SDL.h
+# SDL_VERSION_STRING, human-readable string containing the version of SDL
#
# This module responds to the the flag:
-# SDL_BUILDING_LIBRARY
-# If this is defined, then no SDL_main will be linked in because
-# only applications need main().
-# Otherwise, it is assumed you are building an application and this
-# module will attempt to locate and set the the proper link flags
-# as part of the returned SDL_LIBRARY variable.
+# SDL_BUILDING_LIBRARY
+# If this is defined, then no SDL_main will be linked in because
+# only applications need main().
+# Otherwise, it is assumed you are building an application and this
+# module will attempt to locate and set the the proper link flags
+# as part of the returned SDL_LIBRARY variable.
#
-# Don't forget to include SDLmain.h and SDLmain.m your project for the
+# Don't forget to include SDLmain.h and SDLmain.m your project for the
# OS X framework based version. (Other versions link to -lSDLmain which
-# this module will try to find on your behalf.) Also for OS X, this
+# this module will try to find on your behalf.) Also for OS X, this
# module will automatically add the -framework Cocoa on your behalf.
#
#
# Additional Note: If you see an empty SDL_LIBRARY_TEMP in your configuration
-# and no SDL_LIBRARY, it means CMake did not find your SDL library
-# (SDL.dll, libsdl.so, SDL.framework, etc).
-# Set SDL_LIBRARY_TEMP to point to your SDL library, and configure again.
+# and no SDL_LIBRARY, it means CMake did not find your SDL library
+# (SDL.dll, libsdl.so, SDL.framework, etc).
+# Set SDL_LIBRARY_TEMP to point to your SDL library, and configure again.
# Similarly, if you see an empty SDLMAIN_LIBRARY, you should set this value
# as appropriate. These values are used to generate the final SDL_LIBRARY
# variable, but when these values are unset, SDL_LIBRARY does not get created.
@@ -32,18 +33,18 @@
# used in building SDL.
# l.e.galup 9-20-02
#
-# Modified by Eric Wing.
+# Modified by Eric Wing.
# Added code to assist with automated building by using environmental variables
# and providing a more controlled/consistent search behavior.
-# Added new modifications to recognize OS X frameworks and
-# additional Unix paths (FreeBSD, etc).
+# Added new modifications to recognize OS X frameworks and
+# additional Unix paths (FreeBSD, etc).
# Also corrected the header search path to follow "proper" SDL guidelines.
# Added a search for SDLmain which is needed by some platforms.
# Added a search for threads which is needed by some platforms.
# Added needed compile switches for MinGW.
#
# On OSX, this will prefer the Framework version (if found) over others.
-# People will have to manually change the cache values of
+# People will have to manually change the cache values of
# SDL_LIBRARY to override this selection or set the CMake environment
# CMAKE_INCLUDE_PATH to modify the search paths.
#
@@ -54,6 +55,7 @@
#=============================================================================
# Copyright 2003-2009 Kitware, Inc.
+# Copyright 2012 Benjamin Eikel
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
@@ -65,109 +67,112 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PATH(SDL_INCLUDE_DIR SDL.h
+find_path(SDL_INCLUDE_DIR SDL.h
HINTS
- $ENV{SDLDIR}
- PATH_SUFFIXES include/SDL include
- PATHS
- ~/Library/Frameworks
- /Library/Frameworks
- /usr/local/include/SDL12
- /usr/local/include/SDL11 # FreeBSD ports
- /usr/include/SDL12
- /usr/include/SDL11
- /sw # Fink
- /opt/local # DarwinPorts
- /opt/csw # Blastwave
- /opt
+ ENV SDLDIR
+ PATH_SUFFIXES include/SDL include/SDL12 include/SDL11 include
)
# SDL-1.1 is the name used by FreeBSD ports...
# don't confuse it for the version number.
-FIND_LIBRARY(SDL_LIBRARY_TEMP
+find_library(SDL_LIBRARY_TEMP
NAMES SDL SDL-1.1
HINTS
- $ENV{SDLDIR}
- PATH_SUFFIXES lib64 lib
- PATHS
- /sw
- /opt/local
- /opt/csw
- /opt
+ ENV SDLDIR
+ PATH_SUFFIXES lib
)
-IF(NOT SDL_BUILDING_LIBRARY)
- IF(NOT ${SDL_INCLUDE_DIR} MATCHES ".framework")
- # Non-OS X framework versions expect you to also dynamically link to
- # SDLmain. This is mainly for Windows and OS X. Other (Unix) platforms
+if(NOT SDL_BUILDING_LIBRARY)
+ if(NOT ${SDL_INCLUDE_DIR} MATCHES ".framework")
+ # Non-OS X framework versions expect you to also dynamically link to
+ # SDLmain. This is mainly for Windows and OS X. Other (Unix) platforms
# seem to provide SDLmain for compatibility even though they don't
# necessarily need it.
- FIND_LIBRARY(SDLMAIN_LIBRARY
+ find_library(SDLMAIN_LIBRARY
NAMES SDLmain SDLmain-1.1
HINTS
- $ENV{SDLDIR}
- PATH_SUFFIXES lib64 lib
+ ENV SDLDIR
+ PATH_SUFFIXES lib
PATHS
/sw
/opt/local
/opt/csw
/opt
)
- ENDIF(NOT ${SDL_INCLUDE_DIR} MATCHES ".framework")
-ENDIF(NOT SDL_BUILDING_LIBRARY)
+ endif()
+endif()
# SDL may require threads on your system.
-# The Apple build may not need an explicit flag because one of the
-# frameworks may already provide it.
+# The Apple build may not need an explicit flag because one of the
+# frameworks may already provide it.
# But for non-OSX systems, I will use the CMake Threads package.
-IF(NOT APPLE)
- FIND_PACKAGE(Threads)
-ENDIF(NOT APPLE)
+if(NOT APPLE)
+ find_package(Threads)
+endif()
# MinGW needs an additional library, mwindows
# It's total link flags should look like -lmingw32 -lSDLmain -lSDL -lmwindows
# (Actually on second look, I think it only needs one of the m* libraries.)
-IF(MINGW)
- SET(MINGW32_LIBRARY mingw32 CACHE STRING "mwindows for MinGW")
-ENDIF(MINGW)
+if(MINGW)
+ set(MINGW32_LIBRARY mingw32 CACHE STRING "mwindows for MinGW")
+endif()
-IF(SDL_LIBRARY_TEMP)
+if(SDL_LIBRARY_TEMP)
# For SDLmain
- IF(NOT SDL_BUILDING_LIBRARY)
- IF(SDLMAIN_LIBRARY)
- SET(SDL_LIBRARY_TEMP ${SDLMAIN_LIBRARY} ${SDL_LIBRARY_TEMP})
- ENDIF(SDLMAIN_LIBRARY)
- ENDIF(NOT SDL_BUILDING_LIBRARY)
+ if(SDLMAIN_LIBRARY AND NOT SDL_BUILDING_LIBRARY)
+ list(FIND SDL_LIBRARY_TEMP "${SDLMAIN_LIBRARY}" _SDL_MAIN_INDEX)
+ if(_SDL_MAIN_INDEX EQUAL -1)
+ list(APPEND SDL_LIBRARY_TEMP "${SDLMAIN_LIBRARY}")
+ endif()
+ unset(_SDL_MAIN_INDEX)
+ endif()
# For OS X, SDL uses Cocoa as a backend so it must link to Cocoa.
- # CMake doesn't display the -framework Cocoa string in the UI even
+ # CMake doesn't display the -framework Cocoa string in the UI even
# though it actually is there if I modify a pre-used variable.
# I think it has something to do with the CACHE STRING.
- # So I use a temporary variable until the end so I can set the
+ # So I use a temporary variable until the end so I can set the
# "real" variable in one-shot.
- IF(APPLE)
- SET(SDL_LIBRARY_TEMP ${SDL_LIBRARY_TEMP} "-framework Cocoa")
- ENDIF(APPLE)
-
+ if(APPLE)
+ set(SDL_LIBRARY_TEMP ${SDL_LIBRARY_TEMP} "-framework Cocoa")
+ endif()
+
# For threads, as mentioned Apple doesn't need this.
# In fact, there seems to be a problem if I used the Threads package
# and try using this line, so I'm just skipping it entirely for OS X.
- IF(NOT APPLE)
- SET(SDL_LIBRARY_TEMP ${SDL_LIBRARY_TEMP} ${CMAKE_THREAD_LIBS_INIT})
- ENDIF(NOT APPLE)
+ if(NOT APPLE)
+ set(SDL_LIBRARY_TEMP ${SDL_LIBRARY_TEMP} ${CMAKE_THREAD_LIBS_INIT})
+ endif()
# For MinGW library
- IF(MINGW)
- SET(SDL_LIBRARY_TEMP ${MINGW32_LIBRARY} ${SDL_LIBRARY_TEMP})
- ENDIF(MINGW)
+ if(MINGW)
+ set(SDL_LIBRARY_TEMP ${MINGW32_LIBRARY} ${SDL_LIBRARY_TEMP})
+ endif()
# Set the final string here so the GUI reflects the final state.
- SET(SDL_LIBRARY ${SDL_LIBRARY_TEMP} CACHE STRING "Where the SDL Library can be found")
+ set(SDL_LIBRARY ${SDL_LIBRARY_TEMP} CACHE STRING "Where the SDL Library can be found")
# Set the temp variable to INTERNAL so it is not seen in the CMake GUI
- SET(SDL_LIBRARY_TEMP "${SDL_LIBRARY_TEMP}" CACHE INTERNAL "")
-ENDIF(SDL_LIBRARY_TEMP)
+ set(SDL_LIBRARY_TEMP "${SDL_LIBRARY_TEMP}" CACHE INTERNAL "")
+endif()
+
+if(SDL_INCLUDE_DIR AND EXISTS "${SDL_INCLUDE_DIR}/SDL_version.h")
+ file(STRINGS "${SDL_INCLUDE_DIR}/SDL_version.h" SDL_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL_MAJOR_VERSION[ \t]+[0-9]+$")
+ file(STRINGS "${SDL_INCLUDE_DIR}/SDL_version.h" SDL_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL_MINOR_VERSION[ \t]+[0-9]+$")
+ file(STRINGS "${SDL_INCLUDE_DIR}/SDL_version.h" SDL_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL_PATCHLEVEL[ \t]+[0-9]+$")
+ string(REGEX REPLACE "^#define[ \t]+SDL_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_VERSION_MAJOR "${SDL_VERSION_MAJOR_LINE}")
+ string(REGEX REPLACE "^#define[ \t]+SDL_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_VERSION_MINOR "${SDL_VERSION_MINOR_LINE}")
+ string(REGEX REPLACE "^#define[ \t]+SDL_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL_VERSION_PATCH "${SDL_VERSION_PATCH_LINE}")
+ set(SDL_VERSION_STRING ${SDL_VERSION_MAJOR}.${SDL_VERSION_MINOR}.${SDL_VERSION_PATCH})
+ unset(SDL_VERSION_MAJOR_LINE)
+ unset(SDL_VERSION_MINOR_LINE)
+ unset(SDL_VERSION_PATCH_LINE)
+ unset(SDL_VERSION_MAJOR)
+ unset(SDL_VERSION_MINOR)
+ unset(SDL_VERSION_PATCH)
+endif()
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL
- REQUIRED_VARS SDL_LIBRARY SDL_INCLUDE_DIR)
+ REQUIRED_VARS SDL_LIBRARY SDL_INCLUDE_DIR
+ VERSION_VAR SDL_VERSION_STRING)
diff --git a/Modules/FindSDL_image.cmake b/Modules/FindSDL_image.cmake
index f215bda47..4cae03274 100644
--- a/Modules/FindSDL_image.cmake
+++ b/Modules/FindSDL_image.cmake
@@ -1,19 +1,26 @@
-# Locate SDL_image library
-# This module defines
-# SDLIMAGE_LIBRARY, the name of the library to link against
-# SDLIMAGE_FOUND, if false, do not try to link to SDL
-# SDLIMAGE_INCLUDE_DIR, where to find SDL/SDL.h
+# - Locate SDL_image library
+# This module defines:
+# SDL_IMAGE_LIBRARIES, the name of the library to link against
+# SDL_IMAGE_INCLUDE_DIRS, where to find the headers
+# SDL_IMAGE_FOUND, if false, do not try to link against
+# SDL_IMAGE_VERSION_STRING - human-readable string containing the version of SDL_image
+#
+# For backward compatiblity the following variables are also set:
+# SDLIMAGE_LIBRARY (same value as SDL_IMAGE_LIBRARIES)
+# SDLIMAGE_INCLUDE_DIR (same value as SDL_IMAGE_INCLUDE_DIRS)
+# SDLIMAGE_FOUND (same value as SDL_IMAGE_FOUND)
#
# $SDLDIR is an environment variable that would
# correspond to the ./configure --prefix=$SDLDIR
# used in building SDL.
#
-# Created by Eric Wing. This was influenced by the FindSDL.cmake
-# module, but with modifications to recognize OS X frameworks and
+# Created by Eric Wing. This was influenced by the FindSDL.cmake
+# module, but with modifications to recognize OS X frameworks and
# additional Unix paths (FreeBSD, etc).
#=============================================================================
# Copyright 2005-2009 Kitware, Inc.
+# Copyright 2012 Benjamin Eikel
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
@@ -25,46 +32,56 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PATH(SDLIMAGE_INCLUDE_DIR SDL_image.h
+if(NOT SDL_IMAGE_INCLUDE_DIR AND SDLIMAGE_INCLUDE_DIR)
+ set(SDL_IMAGE_INCLUDE_DIR ${SDLIMAGE_INCLUDE_DIR} CACHE PATH "directory cache
+entry initialized from old variable name")
+endif()
+find_path(SDL_IMAGE_INCLUDE_DIR SDL_image.h
HINTS
- $ENV{SDLIMAGEDIR}
- $ENV{SDLDIR}
- PATH_SUFFIXES include
- PATHS
- ~/Library/Frameworks
- /Library/Frameworks
- /usr/local/include/SDL
- /usr/include/SDL
- /usr/local/include/SDL12
- /usr/local/include/SDL11 # FreeBSD ports
- /usr/include/SDL12
- /usr/include/SDL11
- /sw/include/SDL # Fink
- /sw/include
- /opt/local/include/SDL # DarwinPorts
- /opt/local/include
- /opt/csw/include/SDL # Blastwave
- /opt/csw/include
- /opt/include/SDL
- /opt/include
+ ENV SDLIMAGEDIR
+ ENV SDLDIR
+ PATH_SUFFIXES SDL SDL12 SDL11
)
-FIND_LIBRARY(SDLIMAGE_LIBRARY
+if(NOT SDL_IMAGE_LIBRARY AND SDLIMAGE_LIBRARY)
+ set(SDL_IMAGE_LIBRARY ${SDLIMAGE_LIBRARY} CACHE FILEPATH "file cache entry
+initialized from old variable name")
+endif()
+find_library(SDL_IMAGE_LIBRARY
NAMES SDL_image
HINTS
- $ENV{SDLIMAGEDIR}
- $ENV{SDLDIR}
- PATH_SUFFIXES lib64 lib
- PATHS
- ~/Library/Frameworks
- /Library/Frameworks
- /sw
- /opt/local
- /opt/csw
- /opt
+ ENV SDLIMAGEDIR
+ ENV SDLDIR
)
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+if(SDL_IMAGE_INCLUDE_DIR AND EXISTS "${SDL_IMAGE_INCLUDE_DIR}/SDL_image.h")
+ file(STRINGS "${SDL_IMAGE_INCLUDE_DIR}/SDL_image.h" SDL_IMAGE_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL_IMAGE_MAJOR_VERSION[ \t]+[0-9]+$")
+ file(STRINGS "${SDL_IMAGE_INCLUDE_DIR}/SDL_image.h" SDL_IMAGE_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL_IMAGE_MINOR_VERSION[ \t]+[0-9]+$")
+ file(STRINGS "${SDL_IMAGE_INCLUDE_DIR}/SDL_image.h" SDL_IMAGE_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL_IMAGE_PATCHLEVEL[ \t]+[0-9]+$")
+ string(REGEX REPLACE "^#define[ \t]+SDL_IMAGE_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_IMAGE_VERSION_MAJOR "${SDL_IMAGE_VERSION_MAJOR_LINE}")
+ string(REGEX REPLACE "^#define[ \t]+SDL_IMAGE_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_IMAGE_VERSION_MINOR "${SDL_IMAGE_VERSION_MINOR_LINE}")
+ string(REGEX REPLACE "^#define[ \t]+SDL_IMAGE_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL_IMAGE_VERSION_PATCH "${SDL_IMAGE_VERSION_PATCH_LINE}")
+ set(SDL_IMAGE_VERSION_STRING ${SDL_IMAGE_VERSION_MAJOR}.${SDL_IMAGE_VERSION_MINOR}.${SDL_IMAGE_VERSION_PATCH})
+ unset(SDL_IMAGE_VERSION_MAJOR_LINE)
+ unset(SDL_IMAGE_VERSION_MINOR_LINE)
+ unset(SDL_IMAGE_VERSION_PATCH_LINE)
+ unset(SDL_IMAGE_VERSION_MAJOR)
+ unset(SDL_IMAGE_VERSION_MINOR)
+ unset(SDL_IMAGE_VERSION_PATCH)
+endif()
+
+set(SDL_IMAGE_LIBRARIES ${SDL_IMAGE_LIBRARY})
+set(SDL_IMAGE_INCLUDE_DIRS ${SDL_IMAGE_INCLUDE_DIR})
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL_image
+ REQUIRED_VARS SDL_IMAGE_LIBRARIES SDL_IMAGE_INCLUDE_DIRS
+ VERSION_VAR SDL_IMAGE_VERSION_STRING)
+
+# for backward compatiblity
+set(SDLIMAGE_LIBRARY ${SDL_IMAGE_LIBRARIES})
+set(SDLIMAGE_INCLUDE_DIR ${SDL_IMAGE_INCLUDE_DIRS})
+set(SDLIMAGE_FOUND ${SDL_IMAGE_FOUND})
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDLIMAGE
- REQUIRED_VARS SDLIMAGE_LIBRARY SDLIMAGE_INCLUDE_DIR)
+mark_as_advanced(SDL_IMAGE_LIBRARY SDL_IMAGE_INCLUDE_DIR)
diff --git a/Modules/FindSDL_mixer.cmake b/Modules/FindSDL_mixer.cmake
index 7cc1a6b09..666fc6e0f 100644
--- a/Modules/FindSDL_mixer.cmake
+++ b/Modules/FindSDL_mixer.cmake
@@ -1,19 +1,26 @@
-# Locate SDL_mixer library
-# This module defines
-# SDLMIXER_LIBRARY, the name of the library to link against
-# SDLMIXER_FOUND, if false, do not try to link to SDL
-# SDLMIXER_INCLUDE_DIR, where to find SDL/SDL.h
+# - Locate SDL_mixer library
+# This module defines:
+# SDL_MIXER_LIBRARIES, the name of the library to link against
+# SDL_MIXER_INCLUDE_DIRS, where to find the headers
+# SDL_MIXER_FOUND, if false, do not try to link against
+# SDL_MIXER_VERSION_STRING - human-readable string containing the version of SDL_mixer
+#
+# For backward compatiblity the following variables are also set:
+# SDLMIXER_LIBRARY (same value as SDL_MIXER_LIBRARIES)
+# SDLMIXER_INCLUDE_DIR (same value as SDL_MIXER_INCLUDE_DIRS)
+# SDLMIXER_FOUND (same value as SDL_MIXER_FOUND)
#
# $SDLDIR is an environment variable that would
# correspond to the ./configure --prefix=$SDLDIR
# used in building SDL.
#
-# Created by Eric Wing. This was influenced by the FindSDL.cmake
-# module, but with modifications to recognize OS X frameworks and
+# Created by Eric Wing. This was influenced by the FindSDL.cmake
+# module, but with modifications to recognize OS X frameworks and
# additional Unix paths (FreeBSD, etc).
#=============================================================================
# Copyright 2005-2009 Kitware, Inc.
+# Copyright 2012 Benjamin Eikel
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
@@ -25,46 +32,56 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PATH(SDLMIXER_INCLUDE_DIR SDL_mixer.h
+if(NOT SDL_MIXER_INCLUDE_DIR AND SDLMIXER_INCLUDE_DIR)
+ set(SDL_MIXER_INCLUDE_DIR ${SDLMIXER_INCLUDE_DIR} CACHE PATH "directory cache
+entry initialized from old variable name")
+endif()
+find_path(SDL_MIXER_INCLUDE_DIR SDL_mixer.h
HINTS
- $ENV{SDLMIXERDIR}
- $ENV{SDLDIR}
- PATH_SUFFIXES include
- PATHS
- ~/Library/Frameworks
- /Library/Frameworks
- /usr/local/include/SDL
- /usr/include/SDL
- /usr/local/include/SDL12
- /usr/local/include/SDL11 # FreeBSD ports
- /usr/include/SDL12
- /usr/include/SDL11
- /sw/include/SDL # Fink
- /sw/include
- /opt/local/include/SDL # DarwinPorts
- /opt/local/include
- /opt/csw/include/SDL # Blastwave
- /opt/csw/include
- /opt/include/SDL
- /opt/include
+ ENV SDLMIXERDIR
+ ENV SDLDIR
+ PATH_SUFFIXES SDL SDL12 SDL11
)
-FIND_LIBRARY(SDLMIXER_LIBRARY
+if(NOT SDL_MIXER_LIBRARY AND SDLMIXER_LIBRARY)
+ set(SDL_MIXER_LIBRARY ${SDLMIXER_LIBRARY} CACHE FILEPATH "file cache entry
+initialized from old variable name")
+endif()
+find_library(SDL_MIXER_LIBRARY
NAMES SDL_mixer
HINTS
- $ENV{SDLMIXERDIR}
- $ENV{SDLDIR}
- PATH_SUFFIXES lib64 lib
- PATHS
- ~/Library/Frameworks
- /Library/Frameworks
- /sw
- /opt/local
- /opt/csw
- /opt
+ ENV SDLMIXERDIR
+ ENV SDLDIR
)
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+if(SDL_MIXER_INCLUDE_DIR AND EXISTS "${SDL_MIXER_INCLUDE_DIR}/SDL_mixer.h")
+ file(STRINGS "${SDL_MIXER_INCLUDE_DIR}/SDL_mixer.h" SDL_MIXER_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL_MIXER_MAJOR_VERSION[ \t]+[0-9]+$")
+ file(STRINGS "${SDL_MIXER_INCLUDE_DIR}/SDL_mixer.h" SDL_MIXER_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL_MIXER_MINOR_VERSION[ \t]+[0-9]+$")
+ file(STRINGS "${SDL_MIXER_INCLUDE_DIR}/SDL_mixer.h" SDL_MIXER_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL_MIXER_PATCHLEVEL[ \t]+[0-9]+$")
+ string(REGEX REPLACE "^#define[ \t]+SDL_MIXER_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_MIXER_VERSION_MAJOR "${SDL_MIXER_VERSION_MAJOR_LINE}")
+ string(REGEX REPLACE "^#define[ \t]+SDL_MIXER_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_MIXER_VERSION_MINOR "${SDL_MIXER_VERSION_MINOR_LINE}")
+ string(REGEX REPLACE "^#define[ \t]+SDL_MIXER_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL_MIXER_VERSION_PATCH "${SDL_MIXER_VERSION_PATCH_LINE}")
+ set(SDL_MIXER_VERSION_STRING ${SDL_MIXER_VERSION_MAJOR}.${SDL_MIXER_VERSION_MINOR}.${SDL_MIXER_VERSION_PATCH})
+ unset(SDL_MIXER_VERSION_MAJOR_LINE)
+ unset(SDL_MIXER_VERSION_MINOR_LINE)
+ unset(SDL_MIXER_VERSION_PATCH_LINE)
+ unset(SDL_MIXER_VERSION_MAJOR)
+ unset(SDL_MIXER_VERSION_MINOR)
+ unset(SDL_MIXER_VERSION_PATCH)
+endif()
+
+set(SDL_MIXER_LIBRARIES ${SDL_MIXER_LIBRARY})
+set(SDL_MIXER_INCLUDE_DIRS ${SDL_MIXER_INCLUDE_DIR})
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL_mixer
+ REQUIRED_VARS SDL_MIXER_LIBRARIES SDL_MIXER_INCLUDE_DIRS
+ VERSION_VAR SDL_MIXER_VERSION_STRING)
+
+# for backward compatiblity
+set(SDLMIXER_LIBRARY ${SDL_MIXER_LIBRARIES})
+set(SDLMIXER_INCLUDE_DIR ${SDL_MIXER_INCLUDE_DIRS})
+set(SDLMIXER_FOUND ${SDL_MIXER_FOUND})
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDLMIXER
- REQUIRED_VARS SDLMIXER_LIBRARY SDLMIXER_INCLUDE_DIR)
+mark_as_advanced(SDL_MIXER_LIBRARY SDL_MIXER_INCLUDE_DIR)
diff --git a/Modules/FindSDL_net.cmake b/Modules/FindSDL_net.cmake
index ca1de7977..d8f479f5b 100644
--- a/Modules/FindSDL_net.cmake
+++ b/Modules/FindSDL_net.cmake
@@ -1,19 +1,26 @@
-# Locate SDL_net library
-# This module defines
-# SDLNET_LIBRARY, the name of the library to link against
-# SDLNET_FOUND, if false, do not try to link against
-# SDLNET_INCLUDE_DIR, where to find the headers
+# - Locate SDL_net library
+# This module defines:
+# SDL_NET_LIBRARIES, the name of the library to link against
+# SDL_NET_INCLUDE_DIRS, where to find the headers
+# SDL_NET_FOUND, if false, do not try to link against
+# SDL_NET_VERSION_STRING - human-readable string containing the version of SDL_net
+#
+# For backward compatiblity the following variables are also set:
+# SDLNET_LIBRARY (same value as SDL_NET_LIBRARIES)
+# SDLNET_INCLUDE_DIR (same value as SDL_NET_INCLUDE_DIRS)
+# SDLNET_FOUND (same value as SDL_NET_FOUND)
#
# $SDLDIR is an environment variable that would
# correspond to the ./configure --prefix=$SDLDIR
# used in building SDL.
#
-# Created by Eric Wing. This was influenced by the FindSDL.cmake
-# module, but with modifications to recognize OS X frameworks and
+# Created by Eric Wing. This was influenced by the FindSDL.cmake
+# module, but with modifications to recognize OS X frameworks and
# additional Unix paths (FreeBSD, etc).
#=============================================================================
# Copyright 2005-2009 Kitware, Inc.
+# Copyright 2012 Benjamin Eikel
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
@@ -25,45 +32,56 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PATH(SDLNET_INCLUDE_DIR SDL_net.h
+if(NOT SDL_NET_INCLUDE_DIR AND SDLNET_INCLUDE_DIR)
+ set(SDL_NET_INCLUDE_DIR ${SDLNET_INCLUDE_DIR} CACHE PATH "directory cache
+entry initialized from old variable name")
+endif()
+find_path(SDL_NET_INCLUDE_DIR SDL_net.h
HINTS
- $ENV{SDLNETDIR}
- $ENV{SDLDIR}
- PATH_SUFFIXES include
- PATHS
- ~/Library/Frameworks
- /Library/Frameworks
- /usr/local/include/SDL
- /usr/include/SDL
- /usr/local/include/SDL12
- /usr/local/include/SDL11 # FreeBSD ports
- /usr/include/SDL12
- /usr/include/SDL11
- /sw/include/SDL # Fink
- /sw/include
- /opt/local/include/SDL # DarwinPorts
- /opt/local/include
- /opt/csw/include/SDL # Blastwave
- /opt/csw/include
- /opt/include/SDL
- /opt/include
+ ENV SDLNETDIR
+ ENV SDLDIR
+ PATH_SUFFIXES SDL SDL12 SDL11
)
-FIND_LIBRARY(SDLNET_LIBRARY
+
+if(NOT SDL_NET_LIBRARY AND SDLNET_LIBRARY)
+ set(SDL_NET_LIBRARY ${SDLNET_LIBRARY} CACHE FILEPATH "file cache entry
+initialized from old variable name")
+endif()
+find_library(SDL_NET_LIBRARY
NAMES SDL_net
HINTS
- $ENV{SDLNETDIR}
- $ENV{SDLDIR}
- PATH_SUFFIXES lib64 lib
- PATHS
- ~/Library/Frameworks
- /Library/Frameworks
- /sw
- /opt/local
- /opt/csw
- /opt
+ ENV SDLNETDIR
+ ENV SDLDIR
)
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+if(SDL_NET_INCLUDE_DIR AND EXISTS "${SDL_NET_INCLUDE_DIR}/SDL_net.h")
+ file(STRINGS "${SDL_NET_INCLUDE_DIR}/SDL_net.h" SDL_NET_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL_NET_MAJOR_VERSION[ \t]+[0-9]+$")
+ file(STRINGS "${SDL_NET_INCLUDE_DIR}/SDL_net.h" SDL_NET_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL_NET_MINOR_VERSION[ \t]+[0-9]+$")
+ file(STRINGS "${SDL_NET_INCLUDE_DIR}/SDL_net.h" SDL_NET_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL_NET_PATCHLEVEL[ \t]+[0-9]+$")
+ string(REGEX REPLACE "^#define[ \t]+SDL_NET_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_NET_VERSION_MAJOR "${SDL_NET_VERSION_MAJOR_LINE}")
+ string(REGEX REPLACE "^#define[ \t]+SDL_NET_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_NET_VERSION_MINOR "${SDL_NET_VERSION_MINOR_LINE}")
+ string(REGEX REPLACE "^#define[ \t]+SDL_NET_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL_NET_VERSION_PATCH "${SDL_NET_VERSION_PATCH_LINE}")
+ set(SDL_NET_VERSION_STRING ${SDL_NET_VERSION_MAJOR}.${SDL_NET_VERSION_MINOR}.${SDL_NET_VERSION_PATCH})
+ unset(SDL_NET_VERSION_MAJOR_LINE)
+ unset(SDL_NET_VERSION_MINOR_LINE)
+ unset(SDL_NET_VERSION_PATCH_LINE)
+ unset(SDL_NET_VERSION_MAJOR)
+ unset(SDL_NET_VERSION_MINOR)
+ unset(SDL_NET_VERSION_PATCH)
+endif()
+
+set(SDL_NET_LIBRARIES ${SDL_NET_LIBRARY})
+set(SDL_NET_INCLUDE_DIRS ${SDL_NET_INCLUDE_DIR})
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL_net
+ REQUIRED_VARS SDL_NET_LIBRARIES SDL_NET_INCLUDE_DIRS
+ VERSION_VAR SDL_NET_VERSION_STRING)
+
+# for backward compatiblity
+set(SDLNET_LIBRARY ${SDL_NET_LIBRARIES})
+set(SDLNET_INCLUDE_DIR ${SDL_NET_INCLUDE_DIRS})
+set(SDLNET_FOUND ${SDL_NET_FOUND})
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDLNET
- REQUIRED_VARS SDLNET_LIBRARY SDLNET_INCLUDE_DIR)
+mark_as_advanced(SDL_NET_LIBRARY SDL_NET_INCLUDE_DIR)
diff --git a/Modules/FindSDL_sound.cmake b/Modules/FindSDL_sound.cmake
index 35294a5e4..5ff50be64 100644
--- a/Modules/FindSDL_sound.cmake
+++ b/Modules/FindSDL_sound.cmake
@@ -1,63 +1,63 @@
-# Locates the SDL_sound library
-
-# This module depends on SDL being found and
+# - Locates the SDL_sound library
+#
+# This module depends on SDL being found and
# must be called AFTER FindSDL.cmake is called.
-
+#
# This module defines
-# SDL_SOUND_INCLUDE_DIR, where to find SDL_sound.h
-# SDL_SOUND_FOUND, if false, do not try to link to SDL
-# SDL_SOUND_LIBRARIES, this contains the list of libraries that you need
-# to link against. This is a read-only variable and is marked INTERNAL.
-# SDL_SOUND_EXTRAS, this is an optional variable for you to add your own
-# flags to SDL_SOUND_LIBRARIES. This is prepended to SDL_SOUND_LIBRARIES.
-# This is available mostly for cases this module failed to anticipate for
-# and you must add additional flags. This is marked as ADVANCED.
-
+# SDL_SOUND_INCLUDE_DIR, where to find SDL_sound.h
+# SDL_SOUND_FOUND, if false, do not try to link to SDL_sound
+# SDL_SOUND_LIBRARIES, this contains the list of libraries that you need
+# to link against. This is a read-only variable and is marked INTERNAL.
+# SDL_SOUND_EXTRAS, this is an optional variable for you to add your own
+# flags to SDL_SOUND_LIBRARIES. This is prepended to SDL_SOUND_LIBRARIES.
+# This is available mostly for cases this module failed to anticipate for
+# and you must add additional flags. This is marked as ADVANCED.
+# SDL_SOUND_VERSION_STRING, human-readable string containing the version of SDL_sound
#
# This module also defines (but you shouldn't need to use directly)
-# SDL_SOUND_LIBRARY, the name of just the SDL_sound library you would link
-# against. Use SDL_SOUND_LIBRARIES for you link instructions and not this one.
+# SDL_SOUND_LIBRARY, the name of just the SDL_sound library you would link
+# against. Use SDL_SOUND_LIBRARIES for you link instructions and not this one.
# And might define the following as needed
-# MIKMOD_LIBRARY
-# MODPLUG_LIBRARY
-# OGG_LIBRARY
-# VORBIS_LIBRARY
-# SMPEG_LIBRARY
-# FLAC_LIBRARY
-# SPEEX_LIBRARY
+# MIKMOD_LIBRARY
+# MODPLUG_LIBRARY
+# OGG_LIBRARY
+# VORBIS_LIBRARY
+# SMPEG_LIBRARY
+# FLAC_LIBRARY
+# SPEEX_LIBRARY
#
-# Typically, you should not use these variables directly, and you should use
-# SDL_SOUND_LIBRARIES which contains SDL_SOUND_LIBRARY and the other audio libraries
-# (if needed) to successfully compile on your system .
+# Typically, you should not use these variables directly, and you should use
+# SDL_SOUND_LIBRARIES which contains SDL_SOUND_LIBRARY and the other audio libraries
+# (if needed) to successfully compile on your system.
#
-# Created by Eric Wing.
+# Created by Eric Wing.
# This module is a bit more complicated than the other FindSDL* family modules.
# The reason is that SDL_sound can be compiled in a large variety of different ways
# which are independent of platform. SDL_sound may dynamically link against other 3rd
# party libraries to get additional codec support, such as Ogg Vorbis, SMPEG, ModPlug,
-# MikMod, FLAC, Speex, and potentially others.
-# Under some circumstances which I don't fully understand,
+# MikMod, FLAC, Speex, and potentially others.
+# Under some circumstances which I don't fully understand,
# there seems to be a requirement
-# that dependent libraries of libraries you use must also be explicitly
-# linked against in order to successfully compile. SDL_sound does not currently
+# that dependent libraries of libraries you use must also be explicitly
+# linked against in order to successfully compile. SDL_sound does not currently
# have any system in place to know how it was compiled.
-# So this CMake module does the hard work in trying to discover which 3rd party
+# So this CMake module does the hard work in trying to discover which 3rd party
# libraries are required for building (if any).
# This module uses a brute force approach to create a test program that uses SDL_sound,
-# and then tries to build it. If the build fails, it parses the error output for
+# and then tries to build it. If the build fails, it parses the error output for
# known symbol names to figure out which libraries are needed.
#
# Responds to the $SDLDIR and $SDLSOUNDDIR environmental variable that would
# correspond to the ./configure --prefix=$SDLDIR used in building SDL.
#
# On OSX, this will prefer the Framework version (if found) over others.
-# People will have to manually change the cache values of
+# People will have to manually change the cache values of
# SDL_LIBRARY to override this selectionor set the CMake environment
# CMAKE_INCLUDE_PATH to modify the search paths.
-#
#=============================================================================
# Copyright 2005-2009 Kitware, Inc.
+# Copyright 2012 Benjamin Eikel
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
@@ -69,68 +69,45 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-SET(SDL_SOUND_EXTRAS "" CACHE STRING "SDL_sound extra flags")
-MARK_AS_ADVANCED(SDL_SOUND_EXTRAS)
+set(SDL_SOUND_EXTRAS "" CACHE STRING "SDL_sound extra flags")
+mark_as_advanced(SDL_SOUND_EXTRAS)
# Find SDL_sound.h
-FIND_PATH(SDL_SOUND_INCLUDE_DIR SDL_sound.h
+find_path(SDL_SOUND_INCLUDE_DIR SDL_sound.h
HINTS
- $ENV{SDLSOUNDDIR}/include
- $ENV{SDLSOUNDDIR}
- $ENV{SDLDIR}/include
- $ENV{SDLDIR}
- PATHS
- /usr/local/include/SDL
- /usr/include/SDL
- /usr/local/include/SDL12
- /usr/local/include/SDL11 # FreeBSD ports
- /usr/include/SDL12
- /usr/include/SDL11
- /sw/include/SDL # Fink
- /sw/include
- /opt/local/include/SDL # DarwinPorts
- /opt/local/include
- /opt/csw/include/SDL # Blastwave
- /opt/csw/include
- /opt/include/SDL
- /opt/include
+ ENV SDLSOUNDDIR
+ ENV SDLDIR
+ PATH_SUFFIXES SDL SDL12 SDL11
)
-FIND_LIBRARY(SDL_SOUND_LIBRARY
+find_library(SDL_SOUND_LIBRARY
NAMES SDL_sound
HINTS
- $ENV{SDLSOUNDDIR}/lib
- $ENV{SDLSOUNDDIR}
- $ENV{SDLDIR}/lib
- $ENV{SDLDIR}
- PATHS
- /sw/lib
- /opt/local/lib
- /opt/csw/lib
- /opt/lib
+ ENV SDLSOUNDDIR
+ ENV SDLDIR
)
-IF(SDL_FOUND AND SDL_SOUND_INCLUDE_DIR AND SDL_SOUND_LIBRARY)
+if(SDL_FOUND AND SDL_SOUND_INCLUDE_DIR AND SDL_SOUND_LIBRARY)
# CMake is giving me problems using TRY_COMPILE with the CMAKE_FLAGS
# for the :STRING syntax if I have multiple values contained in a
# single variable. This is a problem for the SDL_LIBRARY variable
# because it does just that. When I feed this variable to the command,
- # only the first value gets the appropriate modifier (e.g. -I) and
+ # only the first value gets the appropriate modifier (e.g. -I) and
# the rest get dropped.
# To get multiple single variables to work, I must separate them with a "\;"
# I could go back and modify the FindSDL.cmake module, but that's kind of painful.
# The solution would be to try something like:
- # SET(SDL_TRY_COMPILE_LIBRARY_LIST "${SDL_TRY_COMPILE_LIBRARY_LIST}\;${CMAKE_THREAD_LIBS_INIT}")
+ # set(SDL_TRY_COMPILE_LIBRARY_LIST "${SDL_TRY_COMPILE_LIBRARY_LIST}\;${CMAKE_THREAD_LIBS_INIT}")
# Instead, it was suggested on the mailing list to write a temporary CMakeLists.txt
# with a temporary test project and invoke that with TRY_COMPILE.
# See message thread "Figuring out dependencies for a library in order to build"
- # 2005-07-16
- # TRY_COMPILE(
+ # 2005-07-16
+ # try_compile(
# MY_RESULT
# ${CMAKE_BINARY_DIR}
# ${PROJECT_SOURCE_DIR}/DetermineSoundLibs.c
- # CMAKE_FLAGS
+ # CMAKE_FLAGS
# -DINCLUDE_DIRECTORIES:STRING=${SDL_INCLUDE_DIR}\;${SDL_SOUND_INCLUDE_DIR}
# -DLINK_LIBRARIES:STRING=${SDL_SOUND_LIBRARY}\;${SDL_LIBRARY}
# OUTPUT_VARIABLE MY_OUTPUT
@@ -139,7 +116,7 @@ IF(SDL_FOUND AND SDL_SOUND_INCLUDE_DIR AND SDL_SOUND_LIBRARY)
# To minimize external dependencies, create a sdlsound test program
# which will be used to figure out if additional link dependencies are
# required for the link phase.
- FILE(WRITE ${PROJECT_BINARY_DIR}/CMakeTmp/DetermineSoundLibs.c
+ file(WRITE ${PROJECT_BINARY_DIR}/CMakeTmp/DetermineSoundLibs.c
"#include \"SDL_sound.h\"
#include \"SDL.h\"
int main(int argc, char* argv[])
@@ -149,253 +126,258 @@ IF(SDL_FOUND AND SDL_SOUND_INCLUDE_DIR AND SDL_SOUND_LIBRARY)
SDL_Init(0);
Sound_Init();
-
+
/* This doesn't actually have to work, but Init() is a no-op
* for some of the decoders, so this should force more symbols
* to be pulled in.
*/
sample = Sound_NewSampleFromFile(argv[1], &desired, 4096);
-
+
Sound_Quit();
SDL_Quit();
return 0;
}"
)
- # Calling
- # TARGET_LINK_LIBRARIES(DetermineSoundLibs "${SDL_SOUND_LIBRARY} ${SDL_LIBRARY})
+ # Calling
+ # target_link_libraries(DetermineSoundLibs "${SDL_SOUND_LIBRARY} ${SDL_LIBRARY})
# causes problems when SDL_LIBRARY looks like
# /Library/Frameworks/SDL.framework;-framework Cocoa
# The ;-framework Cocoa seems to be confusing CMake once the OS X
- # framework support was added. I was told that breaking up the list
+ # framework support was added. I was told that breaking up the list
# would fix the problem.
- SET(TMP_TRY_LIBS)
- FOREACH(lib ${SDL_SOUND_LIBRARY} ${SDL_LIBRARY})
- SET(TMP_TRY_LIBS "${TMP_TRY_LIBS} \"${lib}\"")
- ENDFOREACH(lib)
+ set(TMP_TRY_LIBS)
+ foreach(lib ${SDL_SOUND_LIBRARY} ${SDL_LIBRARY})
+ set(TMP_TRY_LIBS "${TMP_TRY_LIBS} \"${lib}\"")
+ endforeach()
+
+ # message("TMP_TRY_LIBS ${TMP_TRY_LIBS}")
- # MESSAGE("TMP_TRY_LIBS ${TMP_TRY_LIBS}")
-
# Write the CMakeLists.txt and test project
# Weird, this is still sketchy. If I don't quote the variables
- # in the TARGET_LINK_LIBRARIES, I seem to loose everything
+ # in the TARGET_LINK_LIBRARIES, I seem to loose everything
# in the SDL_LIBRARY string after the "-framework".
# But if I quote the stuff in INCLUDE_DIRECTORIES, it doesn't work.
- FILE(WRITE ${PROJECT_BINARY_DIR}/CMakeTmp/CMakeLists.txt
- "PROJECT(DetermineSoundLibs)
- INCLUDE_DIRECTORIES(${SDL_INCLUDE_DIR} ${SDL_SOUND_INCLUDE_DIR})
- ADD_EXECUTABLE(DetermineSoundLibs DetermineSoundLibs.c)
- TARGET_LINK_LIBRARIES(DetermineSoundLibs ${TMP_TRY_LIBS})"
+ file(WRITE ${PROJECT_BINARY_DIR}/CMakeTmp/CMakeLists.txt
+ "cmake_minimum_required(VERSION 2.8)
+ project(DetermineSoundLibs)
+ include_directories(${SDL_INCLUDE_DIR} ${SDL_SOUND_INCLUDE_DIR})
+ add_executable(DetermineSoundLibs DetermineSoundLibs.c)
+ target_link_libraries(DetermineSoundLibs ${TMP_TRY_LIBS})"
)
- TRY_COMPILE(
+ try_compile(
MY_RESULT
${PROJECT_BINARY_DIR}/CMakeTmp
${PROJECT_BINARY_DIR}/CMakeTmp
DetermineSoundLibs
OUTPUT_VARIABLE MY_OUTPUT
)
-
- # MESSAGE("${MY_RESULT}")
- # MESSAGE(${MY_OUTPUT})
-
- IF(NOT MY_RESULT)
-
+
+ # message("${MY_RESULT}")
+ # message(${MY_OUTPUT})
+
+ if(NOT MY_RESULT)
+
# I expect that MPGLIB, VOC, WAV, AIFF, and SHN are compiled in statically.
# I think Timidity is also compiled in statically.
# I've never had to explcitly link against Quicktime, so I'll skip that for now.
-
- SET(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARY})
-
+
+ set(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARY})
+
# Find MikMod
- IF("${MY_OUTPUT}" MATCHES "MikMod_")
- FIND_LIBRARY(MIKMOD_LIBRARY
+ if("${MY_OUTPUT}" MATCHES "MikMod_")
+ find_library(MIKMOD_LIBRARY
NAMES libmikmod-coreaudio mikmod
PATHS
- $ENV{MIKMODDIR}/lib
- $ENV{MIKMODDIR}
- $ENV{SDLSOUNDDIR}/lib
- $ENV{SDLSOUNDDIR}
- $ENV{SDLDIR}/lib
- $ENV{SDLDIR}
- /sw/lib
- /opt/local/lib
- /opt/csw/lib
- /opt/lib
- )
- IF(MIKMOD_LIBRARY)
- SET(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${MIKMOD_LIBRARY})
- ENDIF(MIKMOD_LIBRARY)
- ENDIF("${MY_OUTPUT}" MATCHES "MikMod_")
-
+ ENV MIKMODDIR
+ ENV SDLSOUNDDIR
+ ENV SDLDIR
+ /sw
+ /opt/local
+ /opt/csw
+ /opt
+ PATH_SUFFIXES
+ lib
+ )
+ if(MIKMOD_LIBRARY)
+ set(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${MIKMOD_LIBRARY})
+ endif(MIKMOD_LIBRARY)
+ endif("${MY_OUTPUT}" MATCHES "MikMod_")
+
# Find ModPlug
- IF("${MY_OUTPUT}" MATCHES "MODPLUG_")
- FIND_LIBRARY(MODPLUG_LIBRARY
+ if("${MY_OUTPUT}" MATCHES "MODPLUG_")
+ find_library(MODPLUG_LIBRARY
NAMES modplug
PATHS
- $ENV{MODPLUGDIR}/lib
- $ENV{MODPLUGDIR}
- $ENV{SDLSOUNDDIR}/lib
- $ENV{SDLSOUNDDIR}
- $ENV{SDLDIR}/lib
- $ENV{SDLDIR}
- /sw/lib
- /opt/local/lib
- /opt/csw/lib
- /opt/lib
+ ENV MODPLUGDIR
+ ENV SDLSOUNDDIR
+ ENV SDLDIR
+ /sw
+ /opt/local
+ /opt/csw
+ /opt
+ PATH_SUFFIXES
+ lib
)
- IF(MODPLUG_LIBRARY)
- SET(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${MODPLUG_LIBRARY})
- ENDIF(MODPLUG_LIBRARY)
- ENDIF("${MY_OUTPUT}" MATCHES "MODPLUG_")
+ if(MODPLUG_LIBRARY)
+ set(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${MODPLUG_LIBRARY})
+ endif()
+ endif()
+
-
# Find Ogg and Vorbis
- IF("${MY_OUTPUT}" MATCHES "ov_")
- FIND_LIBRARY(VORBIS_LIBRARY
+ if("${MY_OUTPUT}" MATCHES "ov_")
+ find_library(VORBIS_LIBRARY
NAMES vorbis Vorbis VORBIS
PATHS
- $ENV{VORBISDIR}/lib
- $ENV{VORBISDIR}
- $ENV{OGGDIR}/lib
- $ENV{OGGDIR}
- $ENV{SDLSOUNDDIR}/lib
- $ENV{SDLSOUNDDIR}
- $ENV{SDLDIR}/lib
- $ENV{SDLDIR}
- /sw/lib
- /opt/local/lib
- /opt/csw/lib
- /opt/lib
+ ENV VORBISDIR
+ ENV OGGDIR
+ ENV SDLSOUNDDIR
+ ENV SDLDIR
+ /sw
+ /opt/local
+ /opt/csw
+ /opt
+ PATH_SUFFIXES
+ lib
)
- IF(VORBIS_LIBRARY)
- SET(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${VORBIS_LIBRARY})
- ENDIF(VORBIS_LIBRARY)
-
- FIND_LIBRARY(OGG_LIBRARY
+ if(VORBIS_LIBRARY)
+ set(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${VORBIS_LIBRARY})
+ endif()
+
+ find_library(OGG_LIBRARY
NAMES ogg Ogg OGG
PATHS
- $ENV{OGGDIR}/lib
- $ENV{OGGDIR}
- $ENV{VORBISDIR}/lib
- $ENV{VORBISDIR}
- $ENV{SDLSOUNDDIR}/lib
- $ENV{SDLSOUNDDIR}
- $ENV{SDLDIR}/lib
- $ENV{SDLDIR}
- /sw/lib
- /opt/local/lib
- /opt/csw/lib
- /opt/lib
+ ENV OGGDIR
+ ENV VORBISDIR
+ ENV SDLSOUNDDIR
+ ENV SDLDIR
+ /sw
+ /opt/local
+ /opt/csw
+ /opt
+ PATH_SUFFIXES
+ lib
)
- IF(OGG_LIBRARY)
- SET(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${OGG_LIBRARY})
- ENDIF(OGG_LIBRARY)
- ENDIF("${MY_OUTPUT}" MATCHES "ov_")
-
-
+ if(OGG_LIBRARY)
+ set(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${OGG_LIBRARY})
+ endif()
+ endif()
+
+
# Find SMPEG
- IF("${MY_OUTPUT}" MATCHES "SMPEG_")
- FIND_LIBRARY(SMPEG_LIBRARY
+ if("${MY_OUTPUT}" MATCHES "SMPEG_")
+ find_library(SMPEG_LIBRARY
NAMES smpeg SMPEG Smpeg SMpeg
PATHS
- $ENV{SMPEGDIR}/lib
- $ENV{SMPEGDIR}
- $ENV{SDLSOUNDDIR}/lib
- $ENV{SDLSOUNDDIR}
- $ENV{SDLDIR}/lib
- $ENV{SDLDIR}
- /sw/lib
- /opt/local/lib
- /opt/csw/lib
- /opt/lib
+ ENV SMPEGDIR
+ ENV SDLSOUNDDIR
+ ENV SDLDIR
+ /sw
+ /opt/local
+ /opt/csw
+ /opt
+ PATH_SUFFIXES
+ lib
)
- IF(SMPEG_LIBRARY)
- SET(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${SMPEG_LIBRARY})
- ENDIF(SMPEG_LIBRARY)
- ENDIF("${MY_OUTPUT}" MATCHES "SMPEG_")
-
-
+ if(SMPEG_LIBRARY)
+ set(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${SMPEG_LIBRARY})
+ endif()
+ endif()
+
+
# Find FLAC
- IF("${MY_OUTPUT}" MATCHES "FLAC_")
- FIND_LIBRARY(FLAC_LIBRARY
+ if("${MY_OUTPUT}" MATCHES "FLAC_")
+ find_library(FLAC_LIBRARY
NAMES flac FLAC
PATHS
- $ENV{FLACDIR}/lib
- $ENV{FLACDIR}
- $ENV{SDLSOUNDDIR}/lib
- $ENV{SDLSOUNDDIR}
- $ENV{SDLDIR}/lib
- $ENV{SDLDIR}
- /sw/lib
- /opt/local/lib
- /opt/csw/lib
- /opt/lib
+ ENV FLACDIR
+ ENV SDLSOUNDDIR
+ ENV SDLDIR
+ /sw
+ /opt/local
+ /opt/csw
+ /opt
+ PATH_SUFFIXES
+ lib
)
- IF(FLAC_LIBRARY)
- SET(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${FLAC_LIBRARY})
- ENDIF(FLAC_LIBRARY)
- ENDIF("${MY_OUTPUT}" MATCHES "FLAC_")
-
-
+ if(FLAC_LIBRARY)
+ set(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${FLAC_LIBRARY})
+ endif()
+ endif()
+
+
# Hmmm...Speex seems to depend on Ogg. This might be a problem if
# the TRY_COMPILE attempt gets blocked at SPEEX before it can pull
# in the Ogg symbols. I'm not sure if I should duplicate the ogg stuff
# above for here or if two ogg entries will screw up things.
- IF("${MY_OUTPUT}" MATCHES "speex_")
- FIND_LIBRARY(SPEEX_LIBRARY
+ if("${MY_OUTPUT}" MATCHES "speex_")
+ find_library(SPEEX_LIBRARY
NAMES speex SPEEX
PATHS
- $ENV{SPEEXDIR}/lib
- $ENV{SPEEXDIR}
- $ENV{SDLSOUNDDIR}/lib
- $ENV{SDLSOUNDDIR}
- $ENV{SDLDIR}/lib
- $ENV{SDLDIR}
- /sw/lib
- /opt/local/lib
- /opt/csw/lib
- /opt/lib
+ ENV SPEEXDIR
+ ENV SDLSOUNDDIR
+ ENV SDLDIR
+ /sw
+ /opt/local
+ /opt/csw
+ /opt
+ PATH_SUFFIXES
+ lib
)
- IF(SPEEX_LIBRARY)
- SET(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${SPEEX_LIBRARY})
- ENDIF(SPEEX_LIBRARY)
-
+ if(SPEEX_LIBRARY)
+ set(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${SPEEX_LIBRARY})
+ endif()
+
# Find OGG (needed for Speex)
# We might have already found Ogg for Vorbis, so skip it if so.
- IF(NOT OGG_LIBRARY)
- FIND_LIBRARY(OGG_LIBRARY
+ if(NOT OGG_LIBRARY)
+ find_library(OGG_LIBRARY
NAMES ogg Ogg OGG
PATHS
- $ENV{OGGDIR}/lib
- $ENV{OGGDIR}
- $ENV{VORBISDIR}/lib
- $ENV{VORBISDIR}
- $ENV{SPEEXDIR}/lib
- $ENV{SPEEXDIR}
- $ENV{SDLSOUNDDIR}/lib
- $ENV{SDLSOUNDDIR}
- $ENV{SDLDIR}/lib
- $ENV{SDLDIR}
- /sw/lib
- /opt/local/lib
- /opt/csw/lib
- /opt/lib
+ ENV OGGDIR
+ ENV VORBISDIR
+ ENV SPEEXDIR
+ ENV SDLSOUNDDIR
+ ENV SDLDIR
+ /sw
+ /opt/local
+ /opt/csw
+ /opt
+ PATH_SUFFIXES lib
)
- IF(OGG_LIBRARY)
- SET(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${OGG_LIBRARY})
- ENDIF(OGG_LIBRARY)
- ENDIF(NOT OGG_LIBRARY)
- ENDIF("${MY_OUTPUT}" MATCHES "speex_")
-
- ELSE(NOT MY_RESULT)
- SET(SDL_SOUND_LIBRARIES "${SDL_SOUND_EXTRAS} ${SDL_SOUND_LIBRARY}" CACHE INTERNAL "SDL_sound and dependent libraries")
- ENDIF(NOT MY_RESULT)
-
- SET(SDL_SOUND_LIBRARIES "${SDL_SOUND_EXTRAS} ${SDL_SOUND_LIBRARIES_TMP}" CACHE INTERNAL "SDL_sound and dependent libraries")
- ENDIF(SDL_FOUND AND SDL_SOUND_INCLUDE_DIR AND SDL_SOUND_LIBRARY)
-
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL_SOUND
- REQUIRED_VARS SDL_SOUND_LIBRARIES SDL_SOUND_INCLUDE_DIR)
+ if(OGG_LIBRARY)
+ set(SDL_SOUND_LIBRARIES_TMP ${SDL_SOUND_LIBRARIES_TMP} ${OGG_LIBRARY})
+ endif()
+ endif()
+ endif()
+
+ else()
+ set(SDL_SOUND_LIBRARIES "${SDL_SOUND_EXTRAS} ${SDL_SOUND_LIBRARY}" CACHE INTERNAL "SDL_sound and dependent libraries")
+ endif()
+
+ set(SDL_SOUND_LIBRARIES "${SDL_SOUND_EXTRAS} ${SDL_SOUND_LIBRARIES_TMP}" CACHE INTERNAL "SDL_sound and dependent libraries")
+ endif()
+
+if(SDL_SOUND_INCLUDE_DIR AND EXISTS "${SDL_SOUND_INCLUDE_DIR}/SDL_sound.h")
+ file(STRINGS "${SDL_SOUND_INCLUDE_DIR}/SDL_sound.h" SDL_SOUND_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SOUND_VER_MAJOR[ \t]+[0-9]+$")
+ file(STRINGS "${SDL_SOUND_INCLUDE_DIR}/SDL_sound.h" SDL_SOUND_VERSION_MINOR_LINE REGEX "^#define[ \t]+SOUND_VER_MINOR[ \t]+[0-9]+$")
+ file(STRINGS "${SDL_SOUND_INCLUDE_DIR}/SDL_sound.h" SDL_SOUND_VERSION_PATCH_LINE REGEX "^#define[ \t]+SOUND_VER_PATCH[ \t]+[0-9]+$")
+ string(REGEX REPLACE "^#define[ \t]+SOUND_VER_MAJOR[ \t]+([0-9]+)$" "\\1" SDL_SOUND_VERSION_MAJOR "${SDL_SOUND_VERSION_MAJOR_LINE}")
+ string(REGEX REPLACE "^#define[ \t]+SOUND_VER_MINOR[ \t]+([0-9]+)$" "\\1" SDL_SOUND_VERSION_MINOR "${SDL_SOUND_VERSION_MINOR_LINE}")
+ string(REGEX REPLACE "^#define[ \t]+SOUND_VER_PATCH[ \t]+([0-9]+)$" "\\1" SDL_SOUND_VERSION_PATCH "${SDL_SOUND_VERSION_PATCH_LINE}")
+ set(SDL_SOUND_VERSION_STRING ${SDL_SOUND_VERSION_MAJOR}.${SDL_SOUND_VERSION_MINOR}.${SDL_SOUND_VERSION_PATCH})
+ unset(SDL_SOUND_VERSION_MAJOR_LINE)
+ unset(SDL_SOUND_VERSION_MINOR_LINE)
+ unset(SDL_SOUND_VERSION_PATCH_LINE)
+ unset(SDL_SOUND_VERSION_MAJOR)
+ unset(SDL_SOUND_VERSION_MINOR)
+ unset(SDL_SOUND_VERSION_PATCH)
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL_sound
+ REQUIRED_VARS SDL_SOUND_LIBRARY SDL_SOUND_INCLUDE_DIR
+ VERSION_VAR SDL_SOUND_VERSION_STRING)
diff --git a/Modules/FindSDL_ttf.cmake b/Modules/FindSDL_ttf.cmake
index 184b6c3f5..2cc5ee232 100644
--- a/Modules/FindSDL_ttf.cmake
+++ b/Modules/FindSDL_ttf.cmake
@@ -1,19 +1,26 @@
-# Locate SDL_ttf library
-# This module defines
-# SDLTTF_LIBRARY, the name of the library to link against
-# SDLTTF_FOUND, if false, do not try to link to SDL
-# SDLTTF_INCLUDE_DIR, where to find SDL/SDL.h
+# - Locate SDL_ttf library
+# This module defines:
+# SDL_TTF_LIBRARIES, the name of the library to link against
+# SDL_TTF_INCLUDE_DIRS, where to find the headers
+# SDL_TTF_FOUND, if false, do not try to link against
+# SDL_TTF_VERSION_STRING - human-readable string containing the version of SDL_ttf
+#
+# For backward compatiblity the following variables are also set:
+# SDLTTF_LIBRARY (same value as SDL_TTF_LIBRARIES)
+# SDLTTF_INCLUDE_DIR (same value as SDL_TTF_INCLUDE_DIRS)
+# SDLTTF_FOUND (same value as SDL_TTF_FOUND)
#
# $SDLDIR is an environment variable that would
# correspond to the ./configure --prefix=$SDLDIR
# used in building SDL.
#
-# Created by Eric Wing. This was influenced by the FindSDL.cmake
-# module, but with modifications to recognize OS X frameworks and
+# Created by Eric Wing. This was influenced by the FindSDL.cmake
+# module, but with modifications to recognize OS X frameworks and
# additional Unix paths (FreeBSD, etc).
#=============================================================================
# Copyright 2005-2009 Kitware, Inc.
+# Copyright 2012 Benjamin Eikel
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
@@ -25,46 +32,56 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PATH(SDLTTF_INCLUDE_DIR SDL_ttf.h
+if(NOT SDL_TTF_INCLUDE_DIR AND SDLTTF_INCLUDE_DIR)
+ set(SDL_TTF_INCLUDE_DIR ${SDLTTF_INCLUDE_DIR} CACHE PATH "directory cache
+entry initialized from old variable name")
+endif()
+find_path(SDL_TTF_INCLUDE_DIR SDL_ttf.h
HINTS
- $ENV{SDLTTFDIR}
- $ENV{SDLDIR}
- PATH_SUFFIXES include
- PATHS
- ~/Library/Frameworks
- /Library/Frameworks
- /usr/local/include/SDL
- /usr/include/SDL
- /usr/local/include/SDL12
- /usr/local/include/SDL11 # FreeBSD ports
- /usr/include/SDL12
- /usr/include/SDL11
- /sw/include/SDL # Fink
- /sw/include
- /opt/local/include/SDL # DarwinPorts
- /opt/local/include
- /opt/csw/include/SDL # Blastwave
- /opt/csw/include
- /opt/include/SDL
- /opt/include
+ ENV SDLTTFDIR
+ ENV SDLDIR
+ PATH_SUFFIXES SDL SDL12 SDL11
)
-FIND_LIBRARY(SDLTTF_LIBRARY
+if(NOT SDL_TTF_LIBRARY AND SDLTTF_LIBRARY)
+ set(SDL_TTF_LIBRARY ${SDLTTF_LIBRARY} CACHE FILEPATH "file cache entry
+initialized from old variable name")
+endif()
+find_library(SDL_TTF_LIBRARY
NAMES SDL_ttf
HINTS
- $ENV{SDLTTFDIR}
- $ENV{SDLDIR}
- PATHS
- ~/Library/Frameworks
- /Library/Frameworks
- /sw
- /opt/local
- /opt/csw
- /opt
- PATH_SUFFIXES lib64 lib
+ ENV SDLTTFDIR
+ ENV SDLDIR
)
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+if(SDL_TTF_INCLUDE_DIR AND EXISTS "${SDL_TTF_INCLUDE_DIR}/SDL_ttf.h")
+ file(STRINGS "${SDL_TTF_INCLUDE_DIR}/SDL_ttf.h" SDL_TTF_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL_TTF_MAJOR_VERSION[ \t]+[0-9]+$")
+ file(STRINGS "${SDL_TTF_INCLUDE_DIR}/SDL_ttf.h" SDL_TTF_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL_TTF_MINOR_VERSION[ \t]+[0-9]+$")
+ file(STRINGS "${SDL_TTF_INCLUDE_DIR}/SDL_ttf.h" SDL_TTF_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL_TTF_PATCHLEVEL[ \t]+[0-9]+$")
+ string(REGEX REPLACE "^#define[ \t]+SDL_TTF_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_TTF_VERSION_MAJOR "${SDL_TTF_VERSION_MAJOR_LINE}")
+ string(REGEX REPLACE "^#define[ \t]+SDL_TTF_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_TTF_VERSION_MINOR "${SDL_TTF_VERSION_MINOR_LINE}")
+ string(REGEX REPLACE "^#define[ \t]+SDL_TTF_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL_TTF_VERSION_PATCH "${SDL_TTF_VERSION_PATCH_LINE}")
+ set(SDL_TTF_VERSION_STRING ${SDL_TTF_VERSION_MAJOR}.${SDL_TTF_VERSION_MINOR}.${SDL_TTF_VERSION_PATCH})
+ unset(SDL_TTF_VERSION_MAJOR_LINE)
+ unset(SDL_TTF_VERSION_MINOR_LINE)
+ unset(SDL_TTF_VERSION_PATCH_LINE)
+ unset(SDL_TTF_VERSION_MAJOR)
+ unset(SDL_TTF_VERSION_MINOR)
+ unset(SDL_TTF_VERSION_PATCH)
+endif()
+
+set(SDL_TTF_LIBRARIES ${SDL_TTF_LIBRARY})
+set(SDL_TTF_INCLUDE_DIRS ${SDL_TTF_INCLUDE_DIR})
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL_ttf
+ REQUIRED_VARS SDL_TTF_LIBRARIES SDL_TTF_INCLUDE_DIRS
+ VERSION_VAR SDL_TTF_VERSION_STRING)
+
+# for backward compatiblity
+set(SDLTTF_LIBRARY ${SDL_TTF_LIBRARIES})
+set(SDLTTF_INCLUDE_DIR ${SDL_TTF_INCLUDE_DIRS})
+set(SDLTTF_FOUND ${SDL_TTF_FOUND})
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDLTTF
- REQUIRED_VARS SDLTTF_LIBRARY SDLTTF_INCLUDE_DIR)
+mark_as_advanced(SDL_TTF_LIBRARY SDL_TTF_INCLUDE_DIR)
diff --git a/Modules/FindSWIG.cmake b/Modules/FindSWIG.cmake
index 2e34eb1b4..db60b888c 100644
--- a/Modules/FindSWIG.cmake
+++ b/Modules/FindSWIG.cmake
@@ -6,7 +6,7 @@
# SWIG_VERSION - the version number of the swig executable
#
# The minimum required version of SWIG can be specified using the
-# standard syntax, e.g. FIND_PACKAGE(SWIG 1.1)
+# standard syntax, e.g. find_package(SWIG 1.1)
#
# All information is collected from the SWIG_EXECUTABLE so the
# version to be found can be changed from the command line by
@@ -27,42 +27,42 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PROGRAM(SWIG_EXECUTABLE NAMES swig2.0 swig)
+find_program(SWIG_EXECUTABLE NAMES swig2.0 swig)
-IF(SWIG_EXECUTABLE)
- EXECUTE_PROCESS(COMMAND ${SWIG_EXECUTABLE} -swiglib
+if(SWIG_EXECUTABLE)
+ execute_process(COMMAND ${SWIG_EXECUTABLE} -swiglib
OUTPUT_VARIABLE SWIG_swiglib_output
ERROR_VARIABLE SWIG_swiglib_error
RESULT_VARIABLE SWIG_swiglib_result)
- 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})
+ if(SWIG_swiglib_result)
+ if(SWIG_FIND_REQUIRED)
+ message(SEND_ERROR "Command \"${SWIG_EXECUTABLE} -swiglib\" failed with output:\n${SWIG_swiglib_error}")
+ else()
+ message(STATUS "Command \"${SWIG_EXECUTABLE} -swiglib\" failed with output:\n${SWIG_swiglib_error}")
+ endif()
+ else()
+ 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.
- SET(SWIG_DIR SWIG_DIR-NOTFOUND)
- FIND_PATH(SWIG_DIR swig.swg PATHS ${SWIG_swiglib_output})
- IF(SWIG_DIR)
- SET(SWIG_USE_FILE ${CMAKE_ROOT}/Modules/UseSWIG.cmake)
- EXECUTE_PROCESS(COMMAND ${SWIG_EXECUTABLE} -version
+ set(SWIG_DIR SWIG_DIR-NOTFOUND)
+ find_path(SWIG_DIR swig.swg PATHS ${SWIG_swiglib_output})
+ if(SWIG_DIR)
+ set(SWIG_USE_FILE ${CMAKE_ROOT}/Modules/UseSWIG.cmake)
+ execute_process(COMMAND ${SWIG_EXECUTABLE} -version
OUTPUT_VARIABLE SWIG_version_output
ERROR_VARIABLE SWIG_version_output
RESULT_VARIABLE SWIG_version_result)
- IF(SWIG_version_result)
- MESSAGE(SEND_ERROR "Command \"${SWIG_EXECUTABLE} -version\" failed with output:\n${SWIG_version_output}")
- ELSE(SWIG_version_result)
- STRING(REGEX REPLACE ".*SWIG Version[^0-9.]*\([0-9.]+\).*" "\\1"
+ if(SWIG_version_result)
+ message(SEND_ERROR "Command \"${SWIG_EXECUTABLE} -version\" failed with output:\n${SWIG_version_output}")
+ else()
+ string(REGEX REPLACE ".*SWIG Version[^0-9.]*\([0-9.]+\).*" "\\1"
SWIG_version_output "${SWIG_version_output}")
- SET(SWIG_VERSION ${SWIG_version_output} CACHE STRING "Swig version" FORCE)
- ENDIF(SWIG_version_result)
- ENDIF(SWIG_DIR)
- ENDIF(SWIG_swiglib_result)
-ENDIF(SWIG_EXECUTABLE)
+ set(SWIG_VERSION ${SWIG_version_output} CACHE STRING "Swig version" FORCE)
+ endif()
+ endif()
+ endif()
+endif()
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SWIG REQUIRED_VARS SWIG_EXECUTABLE SWIG_DIR
VERSION_VAR SWIG_VERSION )
diff --git a/Modules/FindSelfPackers.cmake b/Modules/FindSelfPackers.cmake
index ffca84200..7726dce41 100644
--- a/Modules/FindSelfPackers.cmake
+++ b/Modules/FindSelfPackers.cmake
@@ -1,5 +1,5 @@
# - Find upx
-# This module looks for some executable packers (i.e. softwares that
+# This module looks for some executable packers (i.e. software that
# compress executables or shared libs into on-the-fly self-extracting
# executables or shared libs.
# Examples:
@@ -18,27 +18,27 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE(FindCygwin)
+include(FindCygwin)
-FIND_PROGRAM(SELF_PACKER_FOR_EXECUTABLE
+find_program(SELF_PACKER_FOR_EXECUTABLE
upx
${CYGWIN_INSTALL_PATH}/bin
/bin
- /usr/bin
+ /usr/bin
/usr/local/bin
/sbin
)
-FIND_PROGRAM(SELF_PACKER_FOR_SHARED_LIB
+find_program(SELF_PACKER_FOR_SHARED_LIB
upx
${CYGWIN_INSTALL_PATH}/bin
/bin
- /usr/bin
+ /usr/bin
/usr/local/bin
/sbin
)
-MARK_AS_ADVANCED(
+mark_as_advanced(
SELF_PACKER_FOR_EXECUTABLE
SELF_PACKER_FOR_SHARED_LIB
)
@@ -46,23 +46,23 @@ MARK_AS_ADVANCED(
#
# Set flags
#
-IF (SELF_PACKER_FOR_EXECUTABLE MATCHES "upx")
- SET (SELF_PACKER_FOR_EXECUTABLE_FLAGS "-q" CACHE STRING
+if (SELF_PACKER_FOR_EXECUTABLE MATCHES "upx")
+ set (SELF_PACKER_FOR_EXECUTABLE_FLAGS "-q" CACHE STRING
"Flags for the executable self-packer.")
-ELSE (SELF_PACKER_FOR_EXECUTABLE MATCHES "upx")
- SET (SELF_PACKER_FOR_EXECUTABLE_FLAGS "" CACHE STRING
+else ()
+ set (SELF_PACKER_FOR_EXECUTABLE_FLAGS "" CACHE STRING
"Flags for the executable self-packer.")
-ENDIF (SELF_PACKER_FOR_EXECUTABLE MATCHES "upx")
+endif ()
-IF (SELF_PACKER_FOR_SHARED_LIB MATCHES "upx")
- SET (SELF_PACKER_FOR_SHARED_LIB_FLAGS "-q" CACHE STRING
+if (SELF_PACKER_FOR_SHARED_LIB MATCHES "upx")
+ set (SELF_PACKER_FOR_SHARED_LIB_FLAGS "-q" CACHE STRING
"Flags for the shared lib self-packer.")
-ELSE (SELF_PACKER_FOR_SHARED_LIB MATCHES "upx")
- SET (SELF_PACKER_FOR_SHARED_LIB_FLAGS "" CACHE STRING
+else ()
+ set (SELF_PACKER_FOR_SHARED_LIB_FLAGS "" CACHE STRING
"Flags for the shared lib self-packer.")
-ENDIF (SELF_PACKER_FOR_SHARED_LIB MATCHES "upx")
+endif ()
-MARK_AS_ADVANCED(
+mark_as_advanced(
SELF_PACKER_FOR_EXECUTABLE_FLAGS
SELF_PACKER_FOR_SHARED_LIB_FLAGS
)
diff --git a/Modules/FindSquish.cmake b/Modules/FindSquish.cmake
index 48d195a1e..a032496d0 100644
--- a/Modules/FindSquish.cmake
+++ b/Modules/FindSquish.cmake
@@ -16,11 +16,11 @@
# macro SQUISH_ADD_TEST(testName applicationUnderTest testSuite testCase)
#
# ---- Typical Use
-# ENABLE_TESTING()
-# FIND_PACKAGE(Squish)
-# IF (SQUISH_FOUND)
+# enable_testing()
+# find_package(Squish)
+# if (SQUISH_FOUND)
# SQUISH_ADD_TEST(myTestName myApplication testSuiteName testCaseName)
-# ENDIF (SQUISH_FOUND)
+# endif ()
#
#=============================================================================
@@ -36,26 +36,27 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-SET(SQUISH_INSTALL_DIR_STRING "Directory containing the bin, doc, and lib directories for Squish; this should be the root of the installation directory.")
-SET(SQUISH_SERVER_EXECUTABLE_STRING "The squishserver executable program.")
-SET(SQUISH_CLIENT_EXECUTABLE_STRING "The squishclient executable program.")
+set(SQUISH_INSTALL_DIR_STRING "Directory containing the bin, doc, and lib directories for Squish; this should be the root of the installation directory.")
+set(SQUISH_SERVER_EXECUTABLE_STRING "The squishserver executable program.")
+set(SQUISH_CLIENT_EXECUTABLE_STRING "The squishclient executable program.")
# Search only if the location is not already known.
-IF(NOT SQUISH_INSTALL_DIR)
+if(NOT SQUISH_INSTALL_DIR)
# Get the system search path as a list.
- FILE(TO_CMAKE_PATH "$ENV{PATH}" SQUISH_INSTALL_DIR_SEARCH2)
+ file(TO_CMAKE_PATH "$ENV{PATH}" SQUISH_INSTALL_DIR_SEARCH2)
# Construct a set of paths relative to the system search path.
- SET(SQUISH_INSTALL_DIR_SEARCH "")
- FOREACH(dir ${SQUISH_INSTALL_DIR_SEARCH2})
- SET(SQUISH_INSTALL_DIR_SEARCH ${SQUISH_INSTALL_DIR_SEARCH} "${dir}/../lib/fltk")
- ENDFOREACH(dir)
- STRING(REPLACE "//" "/" SQUISH_INSTALL_DIR_SEARCH "${SQUISH_INSTALL_DIR_SEARCH}")
+ set(SQUISH_INSTALL_DIR_SEARCH "")
+ foreach(dir ${SQUISH_INSTALL_DIR_SEARCH2})
+ set(SQUISH_INSTALL_DIR_SEARCH ${SQUISH_INSTALL_DIR_SEARCH} "${dir}/../lib/fltk")
+ endforeach()
+ string(REPLACE "//" "/" SQUISH_INSTALL_DIR_SEARCH "${SQUISH_INSTALL_DIR_SEARCH}")
# Look for an installation
- FIND_PATH(SQUISH_INSTALL_DIR bin/squishrunner
+ find_path(SQUISH_INSTALL_DIR bin/squishrunner
+ HINTS
# Look for an environment variable SQUISH_INSTALL_DIR.
- $ENV{SQUISH_INSTALL_DIR}
+ ENV SQUISH_INSTALL_DIR
# Look in places relative to the system executable search path.
${SQUISH_INSTALL_DIR_SEARCH}
@@ -65,49 +66,49 @@ IF(NOT SQUISH_INSTALL_DIR)
DOC "The ${SQUISH_INSTALL_DIR_STRING}"
)
-ENDIF(NOT SQUISH_INSTALL_DIR)
+endif()
# search for the executables
-IF(SQUISH_INSTALL_DIR)
- SET(SQUISH_INSTALL_DIR_FOUND 1)
+if(SQUISH_INSTALL_DIR)
+ set(SQUISH_INSTALL_DIR_FOUND 1)
# find the client program
- IF(NOT SQUISH_CLIENT_EXECUTABLE)
- FIND_PROGRAM(SQUISH_CLIENT_EXECUTABLE ${SQUISH_INSTALL_DIR}/bin/squishrunner DOC "The ${SQUISH_CLIENT_EXECUTABLE_STRING}")
- ENDIF(NOT SQUISH_CLIENT_EXECUTABLE)
+ if(NOT SQUISH_CLIENT_EXECUTABLE)
+ find_program(SQUISH_CLIENT_EXECUTABLE ${SQUISH_INSTALL_DIR}/bin/squishrunner DOC "The ${SQUISH_CLIENT_EXECUTABLE_STRING}")
+ endif()
# find the server program
- IF(NOT SQUISH_SERVER_EXECUTABLE)
- FIND_PROGRAM(SQUISH_SERVER_EXECUTABLE ${SQUISH_INSTALL_DIR}/bin/squishserver DOC "The ${SQUISH_SERVER_EXECUTABLE_STRING}")
- ENDIF(NOT SQUISH_SERVER_EXECUTABLE)
+ if(NOT SQUISH_SERVER_EXECUTABLE)
+ find_program(SQUISH_SERVER_EXECUTABLE ${SQUISH_INSTALL_DIR}/bin/squishserver DOC "The ${SQUISH_SERVER_EXECUTABLE_STRING}")
+ endif()
-ELSE(SQUISH_INSTALL_DIR)
- SET(SQUISH_INSTALL_DIR_FOUND 0)
-ENDIF(SQUISH_INSTALL_DIR)
+else()
+ set(SQUISH_INSTALL_DIR_FOUND 0)
+endif()
# record if executables are set
-IF(SQUISH_CLIENT_EXECUTABLE)
- SET(SQUISH_CLIENT_EXECUTABLE_FOUND 1)
-ELSE(SQUISH_CLIENT_EXECUTABLE)
- SET(SQUISH_CLIENT_EXECUTABLE_FOUND 0)
-ENDIF(SQUISH_CLIENT_EXECUTABLE)
-
-IF(SQUISH_SERVER_EXECUTABLE)
- SET(SQUISH_SERVER_EXECUTABLE_FOUND 1)
-ELSE(SQUISH_SERVER_EXECUTABLE)
- SET(SQUISH_SERVER_EXECUTABLE_FOUND 0)
-ENDIF(SQUISH_SERVER_EXECUTABLE)
+if(SQUISH_CLIENT_EXECUTABLE)
+ set(SQUISH_CLIENT_EXECUTABLE_FOUND 1)
+else()
+ set(SQUISH_CLIENT_EXECUTABLE_FOUND 0)
+endif()
+
+if(SQUISH_SERVER_EXECUTABLE)
+ set(SQUISH_SERVER_EXECUTABLE_FOUND 1)
+else()
+ set(SQUISH_SERVER_EXECUTABLE_FOUND 0)
+endif()
# record if Squish was found
-SET(SQUISH_FOUND 1)
-FOREACH(var SQUISH_INSTALL_DIR_FOUND SQUISH_CLIENT_EXECUTABLE_FOUND SQUISH_SERVER_EXECUTABLE_FOUND)
- IF(NOT ${var})
- SET(SQUISH_FOUND 0)
- ENDIF(NOT ${var})
-ENDFOREACH(var)
-
-MACRO(SQUISH_ADD_TEST testName testAUT testCase envVars testWraper)
- ADD_TEST(${testName}
+set(SQUISH_FOUND 1)
+foreach(var SQUISH_INSTALL_DIR_FOUND SQUISH_CLIENT_EXECUTABLE_FOUND SQUISH_SERVER_EXECUTABLE_FOUND)
+ if(NOT ${var})
+ set(SQUISH_FOUND 0)
+ endif()
+endforeach()
+
+macro(SQUISH_ADD_TEST testName testAUT testCase envVars testWraper)
+ add_test(${testName}
${CMAKE_COMMAND} -V -VV
"-Dsquish_aut:STRING=${testAUT}"
"-Dsquish_server_executable:STRING=${SQUISH_SERVER_EXECUTABLE}"
@@ -118,8 +119,8 @@ MACRO(SQUISH_ADD_TEST testName testAUT testCase envVars testWraper)
"-Dsquish_wrapper:STRING=${testWraper}"
-P "${CMAKE_ROOT}/Modules/SquishTestScript.cmake"
)
- SET_TESTS_PROPERTIES(${testName}
+ set_tests_properties(${testName}
PROPERTIES FAIL_REGULAR_EXPRESSION "FAILED;ERROR;FATAL"
)
-ENDMACRO(SQUISH_ADD_TEST)
-
+endmacro()
+
diff --git a/Modules/FindSubversion.cmake b/Modules/FindSubversion.cmake
index 4166d99ab..f1bfc75bc 100644
--- a/Modules/FindSubversion.cmake
+++ b/Modules/FindSubversion.cmake
@@ -6,7 +6,7 @@
# SUBVERSION_FOUND - same as Subversion_FOUND, set for compatiblity reasons
#
# The minimum required version of Subversion can be specified using the
-# standard syntax, e.g. FIND_PACKAGE(Subversion 1.4)
+# standard syntax, e.g. find_package(Subversion 1.4)
#
# If the command line client executable is found two macros are defined:
# Subversion_WC_INFO(<dir> <var-prefix>)
@@ -25,13 +25,13 @@
# variable:
# <var-prefix>_LAST_CHANGED_LOG - last log of base revision
# Example usage:
-# FIND_PACKAGE(Subversion)
-# IF(SUBVERSION_FOUND)
+# find_package(Subversion)
+# if(SUBVERSION_FOUND)
# Subversion_WC_INFO(${PROJECT_SOURCE_DIR} Project)
-# MESSAGE("Current revision is ${Project_WC_REVISION}")
+# 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)
+# message("Last changed log is ${Project_LAST_CHANGED_LOG}")
+# endif()
#=============================================================================
# Copyright 2006-2009 Kitware, Inc.
@@ -47,85 +47,85 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PROGRAM(Subversion_SVN_EXECUTABLE svn
+find_program(Subversion_SVN_EXECUTABLE svn
DOC "subversion command line client")
-MARK_AS_ADVANCED(Subversion_SVN_EXECUTABLE)
+mark_as_advanced(Subversion_SVN_EXECUTABLE)
-IF(Subversion_SVN_EXECUTABLE)
+if(Subversion_SVN_EXECUTABLE)
# 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)
+ set(_Subversion_SAVED_LC_ALL "$ENV{LC_ALL}")
+ set(ENV{LC_ALL} C)
- EXECUTE_PROCESS(COMMAND ${Subversion_SVN_EXECUTABLE} --version
+ execute_process(COMMAND ${Subversion_SVN_EXECUTABLE} --version
OUTPUT_VARIABLE Subversion_VERSION_SVN
OUTPUT_STRIP_TRAILING_WHITESPACE)
# restore the previous LC_ALL
- SET(ENV{LC_ALL} ${_Subversion_SAVED_LC_ALL})
+ set(ENV{LC_ALL} ${_Subversion_SAVED_LC_ALL})
- STRING(REGEX REPLACE "^(.*\n)?svn, version ([.0-9]+).*"
+ string(REGEX REPLACE "^(.*\n)?svn, version ([.0-9]+).*"
"\\2" Subversion_VERSION_SVN "${Subversion_VERSION_SVN}")
- MACRO(Subversion_WC_INFO dir prefix)
+ 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)
+ set(_Subversion_SAVED_LC_ALL "$ENV{LC_ALL}")
+ set(ENV{LC_ALL} C)
- EXECUTE_PROCESS(COMMAND ${Subversion_SVN_EXECUTABLE} info ${dir}
+ execute_process(COMMAND ${Subversion_SVN_EXECUTABLE} info ${dir}
OUTPUT_VARIABLE ${prefix}_WC_INFO
ERROR_VARIABLE Subversion_svn_info_error
RESULT_VARIABLE Subversion_svn_info_result
OUTPUT_STRIP_TRAILING_WHITESPACE)
- IF(NOT ${Subversion_svn_info_result} EQUAL 0)
- MESSAGE(SEND_ERROR "Command \"${Subversion_SVN_EXECUTABLE} info ${dir}\" failed with output:\n${Subversion_svn_info_error}")
- ELSE(NOT ${Subversion_svn_info_result} EQUAL 0)
+ if(NOT ${Subversion_svn_info_result} EQUAL 0)
+ message(SEND_ERROR "Command \"${Subversion_SVN_EXECUTABLE} info ${dir}\" failed with output:\n${Subversion_svn_info_error}")
+ else()
- STRING(REGEX REPLACE "^(.*\n)?URL: ([^\n]+).*"
+ string(REGEX REPLACE "^(.*\n)?URL: ([^\n]+).*"
"\\2" ${prefix}_WC_URL "${${prefix}_WC_INFO}")
- STRING(REGEX REPLACE "^(.*\n)?Repository Root: ([^\n]+).*"
+ string(REGEX REPLACE "^(.*\n)?Repository Root: ([^\n]+).*"
"\\2" ${prefix}_WC_ROOT "${${prefix}_WC_INFO}")
- STRING(REGEX REPLACE "^(.*\n)?Revision: ([^\n]+).*"
+ string(REGEX REPLACE "^(.*\n)?Revision: ([^\n]+).*"
"\\2" ${prefix}_WC_REVISION "${${prefix}_WC_INFO}")
- STRING(REGEX REPLACE "^(.*\n)?Last Changed Author: ([^\n]+).*"
+ string(REGEX REPLACE "^(.*\n)?Last Changed Author: ([^\n]+).*"
"\\2" ${prefix}_WC_LAST_CHANGED_AUTHOR "${${prefix}_WC_INFO}")
- STRING(REGEX REPLACE "^(.*\n)?Last Changed Rev: ([^\n]+).*"
+ string(REGEX REPLACE "^(.*\n)?Last Changed Rev: ([^\n]+).*"
"\\2" ${prefix}_WC_LAST_CHANGED_REV "${${prefix}_WC_INFO}")
- STRING(REGEX REPLACE "^(.*\n)?Last Changed Date: ([^\n]+).*"
+ string(REGEX REPLACE "^(.*\n)?Last Changed Date: ([^\n]+).*"
"\\2" ${prefix}_WC_LAST_CHANGED_DATE "${${prefix}_WC_INFO}")
- ENDIF(NOT ${Subversion_svn_info_result} EQUAL 0)
+ endif()
# restore the previous LC_ALL
- SET(ENV{LC_ALL} ${_Subversion_SAVED_LC_ALL})
+ set(ENV{LC_ALL} ${_Subversion_SAVED_LC_ALL})
- ENDMACRO(Subversion_WC_INFO)
+ endmacro()
- MACRO(Subversion_WC_LOG dir prefix)
+ 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
+ execute_process(COMMAND
${Subversion_SVN_EXECUTABLE} --non-interactive log -r BASE ${dir}
OUTPUT_VARIABLE ${prefix}_LAST_CHANGED_LOG
ERROR_VARIABLE Subversion_svn_log_error
RESULT_VARIABLE Subversion_svn_log_result
OUTPUT_STRIP_TRAILING_WHITESPACE)
- 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_LOG)
+ 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()
+ endmacro()
-ENDIF(Subversion_SVN_EXECUTABLE)
+endif()
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Subversion REQUIRED_VARS Subversion_SVN_EXECUTABLE
VERSION_VAR Subversion_VERSION_SVN )
# for compatibility
-SET(Subversion_FOUND ${SUBVERSION_FOUND})
-SET(Subversion_SVN_FOUND ${SUBVERSION_FOUND})
+set(Subversion_FOUND ${SUBVERSION_FOUND})
+set(Subversion_SVN_FOUND ${SUBVERSION_FOUND})
diff --git a/Modules/FindTCL.cmake b/Modules/FindTCL.cmake
index 7f6d3a7ee..0d20da59a 100644
--- a/Modules/FindTCL.cmake
+++ b/Modules/FindTCL.cmake
@@ -18,11 +18,11 @@
# - The stub libraries are now found in FindTclStub.cmake
# => they were only useful for people writing Tcl/Tk extensions.
# - TCL_LIBRARY_DEBUG and TK_LIBRARY_DEBUG were removed.
-# => these libs are not packaged by default with Tcl/Tk distributions.
+# => these libs are not packaged by default with Tcl/Tk distributions.
# Even when Tcl/Tk is built from source, several flavors of debug libs
# are created and there is no real reason to pick a single one
-# specifically (say, amongst tcl84g, tcl84gs, or tcl84sgx).
-# Let's leave that choice to the user by allowing him to assign
+# specifically (say, amongst tcl84g, tcl84gs, or tcl84sgx).
+# Let's leave that choice to the user by allowing him to assign
# TCL_LIBRARY to any Tcl library, debug or not.
# - TK_INTERNAL_PATH was removed.
# => this ended up being only a Win32 variable, and there is a lot of
@@ -44,38 +44,38 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE(CMakeFindFrameworks)
-INCLUDE(FindTclsh)
-INCLUDE(FindWish)
+include(CMakeFindFrameworks)
+include(FindTclsh)
+include(FindWish)
-IF(TCLSH_VERSION_STRING)
- SET(TCL_TCLSH_VERSION "${TCLSH_VERSION_STRING}")
-ELSE(TCLSH_VERSION_STRING)
- GET_FILENAME_COMPONENT(TCL_TCLSH_PATH "${TCL_TCLSH}" PATH)
- GET_FILENAME_COMPONENT(TCL_TCLSH_PATH_PARENT "${TCL_TCLSH_PATH}" PATH)
- STRING(REGEX REPLACE
+if(TCLSH_VERSION_STRING)
+ set(TCL_TCLSH_VERSION "${TCLSH_VERSION_STRING}")
+else()
+ get_filename_component(TCL_TCLSH_PATH "${TCL_TCLSH}" PATH)
+ get_filename_component(TCL_TCLSH_PATH_PARENT "${TCL_TCLSH_PATH}" PATH)
+ string(REGEX REPLACE
"^.*tclsh([0-9]\\.*[0-9]).*$" "\\1" TCL_TCLSH_VERSION "${TCL_TCLSH}")
-ENDIF(TCLSH_VERSION_STRING)
+endif()
-GET_FILENAME_COMPONENT(TK_WISH_PATH "${TK_WISH}" PATH)
-GET_FILENAME_COMPONENT(TK_WISH_PATH_PARENT "${TK_WISH_PATH}" PATH)
-STRING(REGEX REPLACE
+get_filename_component(TK_WISH_PATH "${TK_WISH}" PATH)
+get_filename_component(TK_WISH_PATH_PARENT "${TK_WISH_PATH}" PATH)
+string(REGEX REPLACE
"^.*wish([0-9]\\.*[0-9]).*$" "\\1" TK_WISH_VERSION "${TK_WISH}")
-GET_FILENAME_COMPONENT(TCL_INCLUDE_PATH_PARENT "${TCL_INCLUDE_PATH}" PATH)
-GET_FILENAME_COMPONENT(TK_INCLUDE_PATH_PARENT "${TK_INCLUDE_PATH}" PATH)
+get_filename_component(TCL_INCLUDE_PATH_PARENT "${TCL_INCLUDE_PATH}" PATH)
+get_filename_component(TK_INCLUDE_PATH_PARENT "${TK_INCLUDE_PATH}" PATH)
-GET_FILENAME_COMPONENT(TCL_LIBRARY_PATH "${TCL_LIBRARY}" PATH)
-GET_FILENAME_COMPONENT(TCL_LIBRARY_PATH_PARENT "${TCL_LIBRARY_PATH}" PATH)
-STRING(REGEX REPLACE
+get_filename_component(TCL_LIBRARY_PATH "${TCL_LIBRARY}" PATH)
+get_filename_component(TCL_LIBRARY_PATH_PARENT "${TCL_LIBRARY_PATH}" PATH)
+string(REGEX REPLACE
"^.*tcl([0-9]\\.*[0-9]).*$" "\\1" TCL_LIBRARY_VERSION "${TCL_LIBRARY}")
-GET_FILENAME_COMPONENT(TK_LIBRARY_PATH "${TK_LIBRARY}" PATH)
-GET_FILENAME_COMPONENT(TK_LIBRARY_PATH_PARENT "${TK_LIBRARY_PATH}" PATH)
-STRING(REGEX REPLACE
+get_filename_component(TK_LIBRARY_PATH "${TK_LIBRARY}" PATH)
+get_filename_component(TK_LIBRARY_PATH_PARENT "${TK_LIBRARY_PATH}" PATH)
+string(REGEX REPLACE
"^.*tk([0-9]\\.*[0-9]).*$" "\\1" TK_LIBRARY_VERSION "${TK_LIBRARY}")
-SET(TCLTK_POSSIBLE_LIB_PATHS
+set(TCLTK_POSSIBLE_LIB_PATHS
"${TCL_INCLUDE_PATH_PARENT}/lib"
"${TK_INCLUDE_PATH_PARENT}/lib"
"${TCL_LIBRARY_PATH}"
@@ -84,12 +84,12 @@ SET(TCLTK_POSSIBLE_LIB_PATHS
"${TK_WISH_PATH_PARENT}/lib"
)
-IF(WIN32)
- GET_FILENAME_COMPONENT(
- ActiveTcl_CurrentVersion
- "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
+if(WIN32)
+ get_filename_component(
+ ActiveTcl_CurrentVersion
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
NAME)
- SET(TCLTK_POSSIBLE_LIB_PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
+ set(TCLTK_POSSIBLE_LIB_PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/lib"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/lib"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/lib"
@@ -98,33 +98,33 @@ IF(WIN32)
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/lib"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/lib"
"$ENV{ProgramFiles}/Tcl/Lib"
- "C:/Program Files/Tcl/lib"
- "C:/Tcl/lib"
+ "C:/Program Files/Tcl/lib"
+ "C:/Tcl/lib"
)
-ENDIF(WIN32)
+endif()
-FIND_LIBRARY(TCL_LIBRARY
- NAMES
- tcl
+find_library(TCL_LIBRARY
+ NAMES
+ tcl
tcl${TCL_LIBRARY_VERSION} tcl${TCL_TCLSH_VERSION} tcl${TK_WISH_VERSION}
- tcl86 tcl8.6
- tcl85 tcl8.5
- tcl84 tcl8.4
- tcl83 tcl8.3
- tcl82 tcl8.2
+ tcl86 tcl8.6
+ tcl85 tcl8.5
+ tcl84 tcl8.4
+ tcl83 tcl8.3
+ tcl82 tcl8.2
tcl80 tcl8.0
PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
)
-FIND_LIBRARY(TK_LIBRARY
- NAMES
+find_library(TK_LIBRARY
+ NAMES
tk
tk${TK_LIBRARY_VERSION} tk${TCL_TCLSH_VERSION} tk${TK_WISH_VERSION}
tk86 tk8.6
- tk85 tk8.5
- tk84 tk8.4
- tk83 tk8.3
- tk82 tk8.2
+ tk85 tk8.5
+ tk84 tk8.4
+ tk83 tk8.3
+ tk82 tk8.2
tk80 tk8.0
PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
)
@@ -132,32 +132,32 @@ FIND_LIBRARY(TK_LIBRARY
CMAKE_FIND_FRAMEWORKS(Tcl)
CMAKE_FIND_FRAMEWORKS(Tk)
-SET(TCL_FRAMEWORK_INCLUDES)
-IF(Tcl_FRAMEWORKS)
- IF(NOT TCL_INCLUDE_PATH)
- FOREACH(dir ${Tcl_FRAMEWORKS})
- SET(TCL_FRAMEWORK_INCLUDES ${TCL_FRAMEWORK_INCLUDES} ${dir}/Headers)
- ENDFOREACH(dir)
- ENDIF(NOT TCL_INCLUDE_PATH)
-ENDIF(Tcl_FRAMEWORKS)
-
-SET(TK_FRAMEWORK_INCLUDES)
-IF(Tk_FRAMEWORKS)
- IF(NOT TK_INCLUDE_PATH)
- FOREACH(dir ${Tk_FRAMEWORKS})
- SET(TK_FRAMEWORK_INCLUDES ${TK_FRAMEWORK_INCLUDES}
+set(TCL_FRAMEWORK_INCLUDES)
+if(Tcl_FRAMEWORKS)
+ if(NOT TCL_INCLUDE_PATH)
+ foreach(dir ${Tcl_FRAMEWORKS})
+ set(TCL_FRAMEWORK_INCLUDES ${TCL_FRAMEWORK_INCLUDES} ${dir}/Headers)
+ endforeach()
+ endif()
+endif()
+
+set(TK_FRAMEWORK_INCLUDES)
+if(Tk_FRAMEWORKS)
+ if(NOT TK_INCLUDE_PATH)
+ foreach(dir ${Tk_FRAMEWORKS})
+ set(TK_FRAMEWORK_INCLUDES ${TK_FRAMEWORK_INCLUDES}
${dir}/Headers ${dir}/PrivateHeaders)
- ENDFOREACH(dir)
- ENDIF(NOT TK_INCLUDE_PATH)
-ENDIF(Tk_FRAMEWORKS)
+ endforeach()
+ endif()
+endif()
-SET(TCLTK_POSSIBLE_INCLUDE_PATHS
+set(TCLTK_POSSIBLE_INCLUDE_PATHS
"${TCL_LIBRARY_PATH_PARENT}/include"
"${TK_LIBRARY_PATH_PARENT}/include"
"${TCL_INCLUDE_PATH}"
"${TK_INCLUDE_PATH}"
- ${TCL_FRAMEWORK_INCLUDES}
- ${TK_FRAMEWORK_INCLUDES}
+ ${TCL_FRAMEWORK_INCLUDES}
+ ${TK_FRAMEWORK_INCLUDES}
"${TCL_TCLSH_PATH_PARENT}/include"
"${TK_WISH_PATH_PARENT}/include"
/usr/include/tcl${TK_LIBRARY_VERSION}
@@ -170,8 +170,8 @@ SET(TCLTK_POSSIBLE_INCLUDE_PATHS
/usr/include/tcl8.0
)
-IF(WIN32)
- SET(TCLTK_POSSIBLE_INCLUDE_PATHS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
+if(WIN32)
+ set(TCLTK_POSSIBLE_INCLUDE_PATHS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/include"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/include"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/include"
@@ -183,31 +183,31 @@ IF(WIN32)
"C:/Program Files/Tcl/include"
"C:/Tcl/include"
)
-ENDIF(WIN32)
+endif()
-FIND_PATH(TCL_INCLUDE_PATH
+find_path(TCL_INCLUDE_PATH
NAMES tcl.h
HINTS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
)
-FIND_PATH(TK_INCLUDE_PATH
+find_path(TK_INCLUDE_PATH
NAMES tk.h
HINTS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
)
-# handle the QUIETLY and REQUIRED arguments and set TCL_FOUND to TRUE if
+# handle the QUIETLY and REQUIRED arguments and set TCL_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(TCL DEFAULT_MSG TCL_LIBRARY TCL_INCLUDE_PATH)
-SET(TCLTK_FIND_REQUIRED ${TCL_FIND_REQUIRED})
-SET(TCLTK_FIND_QUIETLY ${TCL_FIND_QUIETLY})
+set(TCLTK_FIND_REQUIRED ${TCL_FIND_REQUIRED})
+set(TCLTK_FIND_QUIETLY ${TCL_FIND_QUIETLY})
FIND_PACKAGE_HANDLE_STANDARD_ARGS(TCLTK DEFAULT_MSG TCL_LIBRARY TCL_INCLUDE_PATH TK_LIBRARY TK_INCLUDE_PATH)
-SET(TK_FIND_REQUIRED ${TCL_FIND_REQUIRED})
-SET(TK_FIND_QUIETLY ${TCL_FIND_QUIETLY})
+set(TK_FIND_REQUIRED ${TCL_FIND_REQUIRED})
+set(TK_FIND_QUIETLY ${TCL_FIND_QUIETLY})
FIND_PACKAGE_HANDLE_STANDARD_ARGS(TK DEFAULT_MSG TK_LIBRARY TK_INCLUDE_PATH)
-MARK_AS_ADVANCED(
+mark_as_advanced(
TCL_INCLUDE_PATH
TK_INCLUDE_PATH
TCL_LIBRARY
diff --git a/Modules/FindTIFF.cmake b/Modules/FindTIFF.cmake
index 16f9e238a..b48fb0e1d 100644
--- a/Modules/FindTIFF.cmake
+++ b/Modules/FindTIFF.cmake
@@ -20,29 +20,29 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PATH(TIFF_INCLUDE_DIR tiff.h)
+find_path(TIFF_INCLUDE_DIR tiff.h)
-SET(TIFF_NAMES ${TIFF_NAMES} tiff libtiff tiff3 libtiff3)
-FIND_LIBRARY(TIFF_LIBRARY NAMES ${TIFF_NAMES} )
+set(TIFF_NAMES ${TIFF_NAMES} tiff libtiff tiff3 libtiff3)
+find_library(TIFF_LIBRARY NAMES ${TIFF_NAMES} )
-IF(TIFF_INCLUDE_DIR AND EXISTS "${TIFF_INCLUDE_DIR}/tiffvers.h")
- FILE(STRINGS "${TIFF_INCLUDE_DIR}/tiffvers.h" tiff_version_str
+if(TIFF_INCLUDE_DIR AND EXISTS "${TIFF_INCLUDE_DIR}/tiffvers.h")
+ file(STRINGS "${TIFF_INCLUDE_DIR}/tiffvers.h" tiff_version_str
REGEX "^#define[\t ]+TIFFLIB_VERSION_STR[\t ]+\"LIBTIFF, Version .*")
- STRING(REGEX REPLACE "^#define[\t ]+TIFFLIB_VERSION_STR[\t ]+\"LIBTIFF, Version +([^ \\n]*).*"
+ string(REGEX REPLACE "^#define[\t ]+TIFFLIB_VERSION_STR[\t ]+\"LIBTIFF, Version +([^ \\n]*).*"
"\\1" TIFF_VERSION_STRING "${tiff_version_str}")
- UNSET(tiff_version_str)
-ENDIF()
+ unset(tiff_version_str)
+endif()
-# handle the QUIETLY and REQUIRED arguments and set TIFF_FOUND to TRUE if
+# handle the QUIETLY and REQUIRED arguments and set TIFF_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(TIFF
REQUIRED_VARS TIFF_LIBRARY TIFF_INCLUDE_DIR
VERSION_VAR TIFF_VERSION_STRING)
-IF(TIFF_FOUND)
- SET( TIFF_LIBRARIES ${TIFF_LIBRARY} )
-ENDIF(TIFF_FOUND)
+if(TIFF_FOUND)
+ set( TIFF_LIBRARIES ${TIFF_LIBRARY} )
+endif()
-MARK_AS_ADVANCED(TIFF_INCLUDE_DIR TIFF_LIBRARY)
+mark_as_advanced(TIFF_INCLUDE_DIR TIFF_LIBRARY)
diff --git a/Modules/FindTclStub.cmake b/Modules/FindTclStub.cmake
index 79d14aeb4..e66f7bc21 100644
--- a/Modules/FindTclStub.cmake
+++ b/Modules/FindTclStub.cmake
@@ -14,11 +14,11 @@
# who are not necessarily Tcl/Tk gurus/developpers, some variables were
# moved or removed. Changes compared to CMake 2.4 are:
# - TCL_STUB_LIBRARY_DEBUG and TK_STUB_LIBRARY_DEBUG were removed.
-# => these libs are not packaged by default with Tcl/Tk distributions.
+# => these libs are not packaged by default with Tcl/Tk distributions.
# Even when Tcl/Tk is built from source, several flavors of debug libs
# are created and there is no real reason to pick a single one
-# specifically (say, amongst tclstub84g, tclstub84gs, or tclstub84sgx).
-# Let's leave that choice to the user by allowing him to assign
+# specifically (say, amongst tclstub84g, tclstub84gs, or tclstub84sgx).
+# Let's leave that choice to the user by allowing him to assign
# TCL_STUB_LIBRARY to any Tcl library, debug or not.
#=============================================================================
@@ -34,32 +34,32 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE(FindTCL)
+include(FindTCL)
-GET_FILENAME_COMPONENT(TCL_TCLSH_PATH "${TCL_TCLSH}" PATH)
-GET_FILENAME_COMPONENT(TCL_TCLSH_PATH_PARENT "${TCL_TCLSH_PATH}" PATH)
-STRING(REGEX REPLACE
+get_filename_component(TCL_TCLSH_PATH "${TCL_TCLSH}" PATH)
+get_filename_component(TCL_TCLSH_PATH_PARENT "${TCL_TCLSH_PATH}" PATH)
+string(REGEX REPLACE
"^.*tclsh([0-9]\\.*[0-9]).*$" "\\1" TCL_TCLSH_VERSION "${TCL_TCLSH}")
-GET_FILENAME_COMPONENT(TK_WISH_PATH "${TK_WISH}" PATH)
-GET_FILENAME_COMPONENT(TK_WISH_PATH_PARENT "${TK_WISH_PATH}" PATH)
-STRING(REGEX REPLACE
+get_filename_component(TK_WISH_PATH "${TK_WISH}" PATH)
+get_filename_component(TK_WISH_PATH_PARENT "${TK_WISH_PATH}" PATH)
+string(REGEX REPLACE
"^.*wish([0-9]\\.*[0-9]).*$" "\\1" TK_WISH_VERSION "${TK_WISH}")
-GET_FILENAME_COMPONENT(TCL_INCLUDE_PATH_PARENT "${TCL_INCLUDE_PATH}" PATH)
-GET_FILENAME_COMPONENT(TK_INCLUDE_PATH_PARENT "${TK_INCLUDE_PATH}" PATH)
+get_filename_component(TCL_INCLUDE_PATH_PARENT "${TCL_INCLUDE_PATH}" PATH)
+get_filename_component(TK_INCLUDE_PATH_PARENT "${TK_INCLUDE_PATH}" PATH)
-GET_FILENAME_COMPONENT(TCL_LIBRARY_PATH "${TCL_LIBRARY}" PATH)
-GET_FILENAME_COMPONENT(TCL_LIBRARY_PATH_PARENT "${TCL_LIBRARY_PATH}" PATH)
-STRING(REGEX REPLACE
+get_filename_component(TCL_LIBRARY_PATH "${TCL_LIBRARY}" PATH)
+get_filename_component(TCL_LIBRARY_PATH_PARENT "${TCL_LIBRARY_PATH}" PATH)
+string(REGEX REPLACE
"^.*tcl([0-9]\\.*[0-9]).*$" "\\1" TCL_LIBRARY_VERSION "${TCL_LIBRARY}")
-GET_FILENAME_COMPONENT(TK_LIBRARY_PATH "${TK_LIBRARY}" PATH)
-GET_FILENAME_COMPONENT(TK_LIBRARY_PATH_PARENT "${TK_LIBRARY_PATH}" PATH)
-STRING(REGEX REPLACE
+get_filename_component(TK_LIBRARY_PATH "${TK_LIBRARY}" PATH)
+get_filename_component(TK_LIBRARY_PATH_PARENT "${TK_LIBRARY_PATH}" PATH)
+string(REGEX REPLACE
"^.*tk([0-9]\\.*[0-9]).*$" "\\1" TK_LIBRARY_VERSION "${TK_LIBRARY}")
-SET(TCLTK_POSSIBLE_LIB_PATHS
+set(TCLTK_POSSIBLE_LIB_PATHS
"${TCL_INCLUDE_PATH_PARENT}/lib"
"${TK_INCLUDE_PATH_PARENT}/lib"
"${TCL_LIBRARY_PATH}"
@@ -68,12 +68,12 @@ SET(TCLTK_POSSIBLE_LIB_PATHS
"${TK_WISH_PATH_PARENT}/lib"
)
-IF(WIN32)
- GET_FILENAME_COMPONENT(
- ActiveTcl_CurrentVersion
- "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
+if(WIN32)
+ get_filename_component(
+ ActiveTcl_CurrentVersion
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
NAME)
- SET(TCLTK_POSSIBLE_LIB_PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
+ set(TCLTK_POSSIBLE_LIB_PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/lib"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/lib"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/lib"
@@ -82,49 +82,49 @@ IF(WIN32)
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/lib"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/lib"
"$ENV{ProgramFiles}/Tcl/Lib"
- "C:/Program Files/Tcl/lib"
- "C:/Tcl/lib"
+ "C:/Program Files/Tcl/lib"
+ "C:/Tcl/lib"
)
-ENDIF(WIN32)
+endif()
-FIND_LIBRARY(TCL_STUB_LIBRARY
- NAMES
- tclstub
+find_library(TCL_STUB_LIBRARY
+ NAMES
+ tclstub
tclstub${TK_LIBRARY_VERSION} tclstub${TCL_TCLSH_VERSION} tclstub${TK_WISH_VERSION}
tclstub86 tclstub8.6
- tclstub85 tclstub8.5
- tclstub84 tclstub8.4
- tclstub83 tclstub8.3
- tclstub82 tclstub8.2
+ tclstub85 tclstub8.5
+ tclstub84 tclstub8.4
+ tclstub83 tclstub8.3
+ tclstub82 tclstub8.2
tclstub80 tclstub8.0
PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
)
-FIND_LIBRARY(TK_STUB_LIBRARY
- NAMES
- tkstub
+find_library(TK_STUB_LIBRARY
+ NAMES
+ tkstub
tkstub${TCL_LIBRARY_VERSION} tkstub${TCL_TCLSH_VERSION} tkstub${TK_WISH_VERSION}
tkstub86 tkstub8.6
- tkstub85 tkstub8.5
- tkstub84 tkstub8.4
- tkstub83 tkstub8.3
- tkstub82 tkstub8.2
+ tkstub85 tkstub8.5
+ tkstub84 tkstub8.4
+ tkstub83 tkstub8.3
+ tkstub82 tkstub8.2
tkstub80 tkstub8.0
PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
)
-FIND_LIBRARY(TTK_STUB_LIBRARY
- NAMES
- ttkstub
+find_library(TTK_STUB_LIBRARY
+ NAMES
+ ttkstub
ttkstub${TCL_LIBRARY_VERSION} ttkstub${TCL_TCLSH_VERSION} ttkstub${TK_WISH_VERSION}
ttkstub88 ttkstub8.8
ttkstub87 ttkstub8.7
ttkstub86 ttkstub8.6
- ttkstub85 ttkstub8.5
+ ttkstub85 ttkstub8.5
PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
)
-MARK_AS_ADVANCED(
+mark_as_advanced(
TCL_STUB_LIBRARY
TK_STUB_LIBRARY
)
diff --git a/Modules/FindTclsh.cmake b/Modules/FindTclsh.cmake
index a45f28528..0f091e60d 100644
--- a/Modules/FindTclsh.cmake
+++ b/Modules/FindTclsh.cmake
@@ -20,29 +20,29 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-IF(CYGWIN)
- FIND_PROGRAM(TCL_TCLSH NAMES cygtclsh83 cygtclsh80)
-ENDIF(CYGWIN)
+if(CYGWIN)
+ find_program(TCL_TCLSH NAMES cygtclsh83 cygtclsh80)
+endif()
-GET_FILENAME_COMPONENT(TK_WISH_PATH "${TK_WISH}" PATH)
-GET_FILENAME_COMPONENT(TK_WISH_PATH_PARENT "${TK_WISH_PATH}" PATH)
-STRING(REGEX REPLACE
+get_filename_component(TK_WISH_PATH "${TK_WISH}" PATH)
+get_filename_component(TK_WISH_PATH_PARENT "${TK_WISH_PATH}" PATH)
+string(REGEX REPLACE
"^.*wish([0-9]\\.*[0-9]).*$" "\\1" TK_WISH_VERSION "${TK_WISH}")
-GET_FILENAME_COMPONENT(TCL_INCLUDE_PATH_PARENT "${TCL_INCLUDE_PATH}" PATH)
-GET_FILENAME_COMPONENT(TK_INCLUDE_PATH_PARENT "${TK_INCLUDE_PATH}" PATH)
+get_filename_component(TCL_INCLUDE_PATH_PARENT "${TCL_INCLUDE_PATH}" PATH)
+get_filename_component(TK_INCLUDE_PATH_PARENT "${TK_INCLUDE_PATH}" PATH)
-GET_FILENAME_COMPONENT(TCL_LIBRARY_PATH "${TCL_LIBRARY}" PATH)
-GET_FILENAME_COMPONENT(TCL_LIBRARY_PATH_PARENT "${TCL_LIBRARY_PATH}" PATH)
-STRING(REGEX REPLACE
+get_filename_component(TCL_LIBRARY_PATH "${TCL_LIBRARY}" PATH)
+get_filename_component(TCL_LIBRARY_PATH_PARENT "${TCL_LIBRARY_PATH}" PATH)
+string(REGEX REPLACE
"^.*tcl([0-9]\\.*[0-9]).*$" "\\1" TCL_LIBRARY_VERSION "${TCL_LIBRARY}")
-GET_FILENAME_COMPONENT(TK_LIBRARY_PATH "${TK_LIBRARY}" PATH)
-GET_FILENAME_COMPONENT(TK_LIBRARY_PATH_PARENT "${TK_LIBRARY_PATH}" PATH)
-STRING(REGEX REPLACE
+get_filename_component(TK_LIBRARY_PATH "${TK_LIBRARY}" PATH)
+get_filename_component(TK_LIBRARY_PATH_PARENT "${TK_LIBRARY_PATH}" PATH)
+string(REGEX REPLACE
"^.*tk([0-9]\\.*[0-9]).*$" "\\1" TK_LIBRARY_VERSION "${TK_LIBRARY}")
-SET(TCLTK_POSSIBLE_BIN_PATHS
+set(TCLTK_POSSIBLE_BIN_PATHS
"${TCL_INCLUDE_PATH_PARENT}/bin"
"${TK_INCLUDE_PATH_PARENT}/bin"
"${TCL_LIBRARY_PATH_PARENT}/bin"
@@ -50,12 +50,12 @@ SET(TCLTK_POSSIBLE_BIN_PATHS
"${TK_WISH_PATH_PARENT}/bin"
)
-IF(WIN32)
- GET_FILENAME_COMPONENT(
- ActiveTcl_CurrentVersion
- "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
+if(WIN32)
+ get_filename_component(
+ ActiveTcl_CurrentVersion
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
NAME)
- SET(TCLTK_POSSIBLE_BIN_PATHS ${TCLTK_POSSIBLE_BIN_PATHS}
+ set(TCLTK_POSSIBLE_BIN_PATHS ${TCLTK_POSSIBLE_BIN_PATHS}
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/bin"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/bin"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/bin"
@@ -64,9 +64,9 @@ IF(WIN32)
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/bin"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/bin"
)
-ENDIF(WIN32)
+endif()
-SET(TCL_TCLSH_NAMES
+set(TCL_TCLSH_NAMES
tclsh
tclsh${TCL_LIBRARY_VERSION} tclsh${TK_LIBRARY_VERSION} tclsh${TK_WISH_VERSION}
tclsh86 tclsh8.6
@@ -77,24 +77,24 @@ SET(TCL_TCLSH_NAMES
tclsh80 tclsh8.0
)
-FIND_PROGRAM(TCL_TCLSH
+find_program(TCL_TCLSH
NAMES ${TCL_TCLSH_NAMES}
HINTS ${TCLTK_POSSIBLE_BIN_PATHS}
)
-IF(TCL_TCLSH)
- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -E echo puts "\$tcl_version"
+if(TCL_TCLSH)
+ execute_process(COMMAND "${CMAKE_COMMAND}" -E echo puts "\$tcl_version"
COMMAND "${TCL_TCLSH}"
OUTPUT_VARIABLE TCLSH_VERSION_STRING
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
-ENDIF(TCL_TCLSH)
+endif()
-# handle the QUIETLY and REQUIRED arguments and set TIFF_FOUND to TRUE if
+# handle the QUIETLY and REQUIRED arguments and set TIFF_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Tclsh
REQUIRED_VARS TCL_TCLSH
VERSION_VAR TCLSH_VERSION_STRING)
-MARK_AS_ADVANCED(TCL_TCLSH)
+mark_as_advanced(TCL_TCLSH)
diff --git a/Modules/FindThreads.cmake b/Modules/FindThreads.cmake
index 21614fb66..5d7677791 100644
--- a/Modules/FindThreads.cmake
+++ b/Modules/FindThreads.cmake
@@ -21,117 +21,117 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE (CheckIncludeFiles)
-INCLUDE (CheckLibraryExists)
-INCLUDE (CheckSymbolExists)
-SET(Threads_FOUND FALSE)
+include (CheckIncludeFiles)
+include (CheckLibraryExists)
+include (CheckSymbolExists)
+set(Threads_FOUND FALSE)
# Do we have sproc?
-IF(CMAKE_SYSTEM MATCHES IRIX AND NOT CMAKE_THREAD_PREFER_PTHREAD)
+if(CMAKE_SYSTEM MATCHES IRIX AND NOT CMAKE_THREAD_PREFER_PTHREAD)
CHECK_INCLUDE_FILES("sys/types.h;sys/prctl.h" CMAKE_HAVE_SPROC_H)
-ENDIF()
+endif()
-IF(CMAKE_HAVE_SPROC_H AND NOT CMAKE_THREAD_PREFER_PTHREAD)
+if(CMAKE_HAVE_SPROC_H AND NOT CMAKE_THREAD_PREFER_PTHREAD)
# We have sproc
- SET(CMAKE_USE_SPROC_INIT 1)
-ELSE()
+ set(CMAKE_USE_SPROC_INIT 1)
+else()
# Do we have pthreads?
CHECK_INCLUDE_FILES("pthread.h" CMAKE_HAVE_PTHREAD_H)
- IF(CMAKE_HAVE_PTHREAD_H)
+ if(CMAKE_HAVE_PTHREAD_H)
#
# We have pthread.h
# Let's check for the library now.
#
- SET(CMAKE_HAVE_THREADS_LIBRARY)
- IF(NOT THREADS_HAVE_PTHREAD_ARG)
+ set(CMAKE_HAVE_THREADS_LIBRARY)
+ if(NOT THREADS_HAVE_PTHREAD_ARG)
# Check if pthread functions are in normal C library
CHECK_SYMBOL_EXISTS(pthread_create pthread.h CMAKE_HAVE_LIBC_CREATE)
- IF(CMAKE_HAVE_LIBC_CREATE)
- SET(CMAKE_THREAD_LIBS_INIT "")
- SET(CMAKE_HAVE_THREADS_LIBRARY 1)
- SET(Threads_FOUND TRUE)
- ENDIF()
+ if(CMAKE_HAVE_LIBC_CREATE)
+ set(CMAKE_THREAD_LIBS_INIT "")
+ set(CMAKE_HAVE_THREADS_LIBRARY 1)
+ set(Threads_FOUND TRUE)
+ endif()
- IF(NOT CMAKE_HAVE_THREADS_LIBRARY)
+ if(NOT CMAKE_HAVE_THREADS_LIBRARY)
# Do we have -lpthreads
CHECK_LIBRARY_EXISTS(pthreads pthread_create "" CMAKE_HAVE_PTHREADS_CREATE)
- IF(CMAKE_HAVE_PTHREADS_CREATE)
- SET(CMAKE_THREAD_LIBS_INIT "-lpthreads")
- SET(CMAKE_HAVE_THREADS_LIBRARY 1)
- SET(Threads_FOUND TRUE)
- ENDIF()
+ if(CMAKE_HAVE_PTHREADS_CREATE)
+ set(CMAKE_THREAD_LIBS_INIT "-lpthreads")
+ set(CMAKE_HAVE_THREADS_LIBRARY 1)
+ set(Threads_FOUND TRUE)
+ endif()
# 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(CMAKE_HAVE_THREADS_LIBRARY 1)
- SET(Threads_FOUND TRUE)
- ENDIF()
+ if(CMAKE_HAVE_PTHREAD_CREATE)
+ set(CMAKE_THREAD_LIBS_INIT "-lpthread")
+ set(CMAKE_HAVE_THREADS_LIBRARY 1)
+ set(Threads_FOUND TRUE)
+ endif()
- IF(CMAKE_SYSTEM MATCHES "SunOS.*")
+ if(CMAKE_SYSTEM MATCHES "SunOS.*")
# On sun also check for -lthread
CHECK_LIBRARY_EXISTS(thread thr_create "" CMAKE_HAVE_THR_CREATE)
- IF(CMAKE_HAVE_THR_CREATE)
- SET(CMAKE_THREAD_LIBS_INIT "-lthread")
- SET(CMAKE_HAVE_THREADS_LIBRARY 1)
- SET(Threads_FOUND TRUE)
- ENDIF()
- ENDIF(CMAKE_SYSTEM MATCHES "SunOS.*")
- ENDIF(NOT CMAKE_HAVE_THREADS_LIBRARY)
- ENDIF(NOT THREADS_HAVE_PTHREAD_ARG)
-
- IF(NOT CMAKE_HAVE_THREADS_LIBRARY)
+ if(CMAKE_HAVE_THR_CREATE)
+ set(CMAKE_THREAD_LIBS_INIT "-lthread")
+ set(CMAKE_HAVE_THREADS_LIBRARY 1)
+ set(Threads_FOUND TRUE)
+ endif()
+ endif()
+ endif()
+ endif()
+
+ if(NOT CMAKE_HAVE_THREADS_LIBRARY)
# If we did not found -lpthread, -lpthread, or -lthread, look for -pthread
- IF("THREADS_HAVE_PTHREAD_ARG" MATCHES "^THREADS_HAVE_PTHREAD_ARG")
- MESSAGE(STATUS "Check if compiler accepts -pthread")
- TRY_RUN(THREADS_PTHREAD_ARG THREADS_HAVE_PTHREAD_ARG
+ if("THREADS_HAVE_PTHREAD_ARG" MATCHES "^THREADS_HAVE_PTHREAD_ARG")
+ message(STATUS "Check if compiler accepts -pthread")
+ try_run(THREADS_PTHREAD_ARG THREADS_HAVE_PTHREAD_ARG
${CMAKE_BINARY_DIR}
${CMAKE_ROOT}/Modules/CheckForPthreads.c
CMAKE_FLAGS -DLINK_LIBRARIES:STRING=-pthread
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()
- MESSAGE(STATUS "Check if compiler accepts -pthread - no")
- FILE(APPEND
- ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ if(THREADS_HAVE_PTHREAD_ARG)
+ if(THREADS_PTHREAD_ARG MATCHES "^2$")
+ set(Threads_FOUND TRUE)
+ message(STATUS "Check if compiler accepts -pthread - yes")
+ else()
+ message(STATUS "Check if compiler accepts -pthread - no")
+ file(APPEND
+ ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Determining if compiler accepts -pthread returned ${THREADS_PTHREAD_ARG} instead of 2. The compiler had the following output:\n${OUTPUT}\n\n")
- ENDIF()
- ELSE()
- MESSAGE(STATUS "Check if compiler accepts -pthread - no")
- FILE(APPEND
- ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ endif()
+ else()
+ message(STATUS "Check if compiler accepts -pthread - no")
+ file(APPEND
+ ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Determining if compiler accepts -pthread failed with the following output:\n${OUTPUT}\n\n")
- ENDIF()
+ endif()
- ENDIF("THREADS_HAVE_PTHREAD_ARG" MATCHES "^THREADS_HAVE_PTHREAD_ARG")
+ endif()
- IF(THREADS_HAVE_PTHREAD_ARG)
- SET(Threads_FOUND TRUE)
- SET(CMAKE_THREAD_LIBS_INIT "-pthread")
- ENDIF()
+ if(THREADS_HAVE_PTHREAD_ARG)
+ set(Threads_FOUND TRUE)
+ set(CMAKE_THREAD_LIBS_INIT "-pthread")
+ endif()
- ENDIF(NOT CMAKE_HAVE_THREADS_LIBRARY)
- ENDIF(CMAKE_HAVE_PTHREAD_H)
-ENDIF()
+ endif()
+ endif()
+endif()
-IF(CMAKE_THREAD_LIBS_INIT OR CMAKE_HAVE_LIBC_CREATE)
- SET(CMAKE_USE_PTHREADS_INIT 1)
- SET(Threads_FOUND TRUE)
-ENDIF()
+if(CMAKE_THREAD_LIBS_INIT OR CMAKE_HAVE_LIBC_CREATE)
+ set(CMAKE_USE_PTHREADS_INIT 1)
+ set(Threads_FOUND TRUE)
+endif()
-IF(CMAKE_SYSTEM MATCHES "Windows")
- SET(CMAKE_USE_WIN32_THREADS_INIT 1)
- SET(Threads_FOUND TRUE)
-ENDIF()
+if(CMAKE_SYSTEM MATCHES "Windows")
+ set(CMAKE_USE_WIN32_THREADS_INIT 1)
+ set(Threads_FOUND TRUE)
+endif()
-IF(CMAKE_USE_PTHREADS_INIT)
- IF(CMAKE_SYSTEM MATCHES "HP-UX-*")
+if(CMAKE_USE_PTHREADS_INIT)
+ if(CMAKE_SYSTEM MATCHES "HP-UX-*")
# Use libcma if it exists and can be used. It provides more
# symbols than the plain pthread library. CMA threads
# have actually been deprecated:
@@ -141,26 +141,26 @@ IF(CMAKE_USE_PTHREADS_INIT)
# The CMAKE_HP_PTHREADS setting actually indicates whether CMA threads
# are available.
CHECK_LIBRARY_EXISTS(cma pthread_attr_create "" CMAKE_HAVE_HP_CMA)
- 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()
-
- IF(CMAKE_SYSTEM MATCHES "OSF1-V*")
- SET(CMAKE_USE_PTHREADS_INIT 0)
- SET(CMAKE_THREAD_LIBS_INIT )
- ENDIF()
-
- 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()
-ENDIF(CMAKE_USE_PTHREADS_INIT)
-
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+ if(CMAKE_HAVE_HP_CMA)
+ set(CMAKE_THREAD_LIBS_INIT "-lcma")
+ set(CMAKE_HP_PTHREADS_INIT 1)
+ set(Threads_FOUND TRUE)
+ endif()
+ set(CMAKE_USE_PTHREADS_INIT 1)
+ endif()
+
+ if(CMAKE_SYSTEM MATCHES "OSF1-V*")
+ set(CMAKE_USE_PTHREADS_INIT 0)
+ set(CMAKE_THREAD_LIBS_INIT )
+ endif()
+
+ 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()
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Threads DEFAULT_MSG Threads_FOUND)
diff --git a/Modules/FindUnixCommands.cmake b/Modules/FindUnixCommands.cmake
index 9c0264d22..a69e3f10c 100644
--- a/Modules/FindUnixCommands.cmake
+++ b/Modules/FindUnixCommands.cmake
@@ -15,79 +15,79 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE(FindCygwin)
+include(FindCygwin)
-FIND_PROGRAM(BASH
+find_program(BASH
bash
${CYGWIN_INSTALL_PATH}/bin
/bin
- /usr/bin
+ /usr/bin
/usr/local/bin
/sbin
)
-MARK_AS_ADVANCED(
+mark_as_advanced(
BASH
)
-FIND_PROGRAM(CP
+find_program(CP
cp
${CYGWIN_INSTALL_PATH}/bin
/bin
- /usr/bin
+ /usr/bin
/usr/local/bin
/sbin
)
-MARK_AS_ADVANCED(
+mark_as_advanced(
CP
)
-FIND_PROGRAM(GZIP
+find_program(GZIP
gzip
${CYGWIN_INSTALL_PATH}/bin
/bin
- /usr/bin
+ /usr/bin
/usr/local/bin
/sbin
)
-MARK_AS_ADVANCED(
+mark_as_advanced(
GZIP
)
-FIND_PROGRAM(MV
+find_program(MV
mv
${CYGWIN_INSTALL_PATH}/bin
/bin
- /usr/bin
+ /usr/bin
/usr/local/bin
/sbin
)
-MARK_AS_ADVANCED(
+mark_as_advanced(
MV
)
-FIND_PROGRAM(RM
+find_program(RM
rm
${CYGWIN_INSTALL_PATH}/bin
/bin
- /usr/bin
+ /usr/bin
/usr/local/bin
/sbin
)
-MARK_AS_ADVANCED(
+mark_as_advanced(
RM
)
-FIND_PROGRAM(TAR
- NAMES
- tar
+find_program(TAR
+ NAMES
+ tar
gtar
PATH
${CYGWIN_INSTALL_PATH}/bin
/bin
- /usr/bin
+ /usr/bin
/usr/local/bin
/sbin
)
-MARK_AS_ADVANCED(
+mark_as_advanced(
TAR
)
diff --git a/Modules/FindVTK.cmake b/Modules/FindVTK.cmake
index 6b1772fa4..fa090ff60 100644
--- a/Modules/FindVTK.cmake
+++ b/Modules/FindVTK.cmake
@@ -4,26 +4,26 @@
# VTK_FOUND - Set to true when VTK is found.
# VTK_USE_FILE - CMake file to use VTK.
# VTK_MAJOR_VERSION - The VTK major version number.
-# VTK_MINOR_VERSION - The VTK minor version number
+# VTK_MINOR_VERSION - The VTK minor version number
# (odd non-release).
-# VTK_BUILD_VERSION - The VTK patch level
+# VTK_BUILD_VERSION - The VTK patch level
# (meaningless for odd minor).
# VTK_INCLUDE_DIRS - Include directories for VTK
# VTK_LIBRARY_DIRS - Link directories for VTK libraries
-# VTK_KITS - List of VTK kits, in CAPS
+# VTK_KITS - List of VTK kits, in CAPS
# (COMMON,IO,) etc.
# VTK_LANGUAGES - List of wrapped languages, in CAPS
# (TCL, PYHTON,) etc.
# The following cache entries must be set by the user to locate VTK:
-# VTK_DIR - The directory containing VTKConfig.cmake.
+# VTK_DIR - The directory containing VTKConfig.cmake.
# This is either the root of the build tree,
-# or the lib/vtk directory. This is the
+# or the lib/vtk directory. This is the
# only cache entry.
# The following variables are set for backward compatibility and
# should not be used in new code:
# USE_VTK_FILE - The full path to the UseVTK.cmake file.
-# This is provided for backward
-# compatibility. Use VTK_USE_FILE
+# This is provided for backward
+# compatibility. Use VTK_USE_FILE
# instead.
#
@@ -41,56 +41,56 @@
# License text for the above reference.)
# Assume not found.
-SET(VTK_FOUND 0)
+set(VTK_FOUND 0)
# VTK 4.0 did not provide VTKConfig.cmake.
-IF("${VTK_FIND_VERSION}" VERSION_LESS 4.1)
- SET(_VTK_40_ALLOW 1)
- IF(VTK_FIND_VERSION)
- SET(_VTK_40_ONLY 1)
- ENDIF()
-ENDIF()
+if("${VTK_FIND_VERSION}" VERSION_LESS 4.1)
+ set(_VTK_40_ALLOW 1)
+ if(VTK_FIND_VERSION)
+ set(_VTK_40_ONLY 1)
+ endif()
+endif()
# Construct consitent error messages for use below.
-SET(VTK_DIR_DESCRIPTION "directory containing VTKConfig.cmake. This is either the root of the build tree, or PREFIX/lib/vtk for an installation.")
-IF(_VTK_40_ALLOW)
- SET(VTK_DIR_DESCRIPTION "${VTK_DIR_DESCRIPTION} For VTK 4.0, this is the location of UseVTK.cmake. This is either the root of the build tree or PREFIX/include/vtk for an installation.")
-ENDIF()
-SET(VTK_DIR_MESSAGE "VTK not found. Set the VTK_DIR cmake cache entry to the ${VTK_DIR_DESCRIPTION}")
+set(VTK_DIR_DESCRIPTION "directory containing VTKConfig.cmake. This is either the root of the build tree, or PREFIX/lib/vtk for an installation.")
+if(_VTK_40_ALLOW)
+ set(VTK_DIR_DESCRIPTION "${VTK_DIR_DESCRIPTION} For VTK 4.0, this is the location of UseVTK.cmake. This is either the root of the build tree or PREFIX/include/vtk for an installation.")
+endif()
+set(VTK_DIR_MESSAGE "VTK not found. Set the VTK_DIR cmake cache entry to the ${VTK_DIR_DESCRIPTION}")
# Check whether VTK 4.0 has already been found.
-IF(_VTK_40_ALLOW AND VTK_DIR)
- IF(EXISTS ${VTK_DIR}/UseVTK.cmake AND NOT EXISTS ${VTK_DIR}/VTKConfig.cmake)
- SET(VTK_FOUND 1)
- INCLUDE(UseVTKConfig40) # No VTKConfig; load VTK 4.0 settings.
- ENDIF()
-ENDIF()
+if(_VTK_40_ALLOW AND VTK_DIR)
+ if(EXISTS ${VTK_DIR}/UseVTK.cmake AND NOT EXISTS ${VTK_DIR}/VTKConfig.cmake)
+ set(VTK_FOUND 1)
+ include(UseVTKConfig40) # No VTKConfig; load VTK 4.0 settings.
+ endif()
+endif()
# Use the Config mode of the find_package() command to find VTKConfig.
# If this succeeds (possibly because VTK_DIR is already set), the
# command will have already loaded VTKConfig.cmake and set VTK_FOUND.
-IF(NOT _VTK_40_ONLY AND NOT VTK_FOUND)
- FIND_PACKAGE(VTK QUIET NO_MODULE)
-ENDIF()
+if(NOT _VTK_40_ONLY AND NOT VTK_FOUND)
+ find_package(VTK QUIET NO_MODULE)
+endif()
# Special search for VTK 4.0.
-IF(_VTK_40_ALLOW AND NOT VTK_DIR)
+if(_VTK_40_ALLOW AND NOT VTK_DIR)
# Old scripts may set these directories in the CMakeCache.txt file.
# They can tell us where to find VTKConfig.cmake.
- SET(VTK_DIR_SEARCH_LEGACY "")
- IF(VTK_BINARY_PATH AND USE_BUILT_VTK)
- SET(VTK_DIR_SEARCH_LEGACY ${VTK_DIR_SEARCH_LEGACY} ${VTK_BINARY_PATH})
- ENDIF(VTK_BINARY_PATH AND USE_BUILT_VTK)
- IF(VTK_INSTALL_PATH AND USE_INSTALLED_VTK)
- SET(VTK_DIR_SEARCH_LEGACY ${VTK_DIR_SEARCH_LEGACY}
+ set(VTK_DIR_SEARCH_LEGACY "")
+ if(VTK_BINARY_PATH AND USE_BUILT_VTK)
+ set(VTK_DIR_SEARCH_LEGACY ${VTK_DIR_SEARCH_LEGACY} ${VTK_BINARY_PATH})
+ endif()
+ if(VTK_INSTALL_PATH AND USE_INSTALLED_VTK)
+ set(VTK_DIR_SEARCH_LEGACY ${VTK_DIR_SEARCH_LEGACY}
${VTK_INSTALL_PATH}/lib/vtk)
- ENDIF(VTK_INSTALL_PATH AND USE_INSTALLED_VTK)
+ endif()
# Look for UseVTK.cmake in build trees or under <prefix>/include/vtk.
- FIND_PATH(VTK_DIR
+ find_path(VTK_DIR
NAMES UseVTK.cmake
PATH_SUFFIXES vtk-4.0 vtk
- HINTS $ENV{VTK_DIR}
+ HINTS ENV VTK_DIR
PATHS
@@ -114,28 +114,28 @@ IF(_VTK_40_ALLOW AND NOT VTK_DIR)
DOC "The ${VTK_DIR_DESCRIPTION}"
)
- IF(VTK_DIR)
- IF(EXISTS ${VTK_DIR}/UseVTK.cmake AND NOT EXISTS ${VTK_DIR}/VTKConfig.cmake)
- SET(VTK_FOUND 1)
- INCLUDE(UseVTKConfig40) # No VTKConfig; load VTK 4.0 settings.
- ELSE()
+ if(VTK_DIR)
+ if(EXISTS ${VTK_DIR}/UseVTK.cmake AND NOT EXISTS ${VTK_DIR}/VTKConfig.cmake)
+ set(VTK_FOUND 1)
+ include(UseVTKConfig40) # No VTKConfig; load VTK 4.0 settings.
+ else()
# We found the wrong version. Pretend we did not find it.
- SET(VTK_DIR "VTK_DIR-NOTFOUND" CACHE PATH "The ${VTK_DIR_DESCRIPTION}" FORCE)
- ENDIF()
- ENDIF()
-ENDIF()
+ set(VTK_DIR "VTK_DIR-NOTFOUND" CACHE PATH "The ${VTK_DIR_DESCRIPTION}" FORCE)
+ endif()
+ endif()
+endif()
#-----------------------------------------------------------------------------
-IF(VTK_FOUND)
+if(VTK_FOUND)
# Set USE_VTK_FILE for backward-compatability.
- SET(USE_VTK_FILE ${VTK_USE_FILE})
-ELSE(VTK_FOUND)
+ set(USE_VTK_FILE ${VTK_USE_FILE})
+else()
# VTK not found, explain to the user how to specify its location.
- IF(VTK_FIND_REQUIRED)
- MESSAGE(FATAL_ERROR ${VTK_DIR_MESSAGE})
- ELSE(VTK_FIND_REQUIRED)
- IF(NOT VTK_FIND_QUIETLY)
- MESSAGE(STATUS ${VTK_DIR_MESSAGE})
- ENDIF(NOT VTK_FIND_QUIETLY)
- ENDIF(VTK_FIND_REQUIRED)
-ENDIF(VTK_FOUND)
+ if(VTK_FIND_REQUIRED)
+ message(FATAL_ERROR ${VTK_DIR_MESSAGE})
+ else()
+ if(NOT VTK_FIND_QUIETLY)
+ message(STATUS ${VTK_DIR_MESSAGE})
+ endif()
+ endif()
+endif()
diff --git a/Modules/FindWget.cmake b/Modules/FindWget.cmake
index c94132c27..a1dd47f77 100644
--- a/Modules/FindWget.cmake
+++ b/Modules/FindWget.cmake
@@ -1,5 +1,5 @@
# - Find wget
-# This module looks for wget. This module defines the
+# This module looks for wget. This module defines the
# following values:
# WGET_EXECUTABLE: the full path to the wget tool.
# WGET_FOUND: True if wget has been found.
@@ -17,20 +17,20 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE(FindCygwin)
+include(FindCygwin)
-FIND_PROGRAM(WGET_EXECUTABLE
+find_program(WGET_EXECUTABLE
wget
${CYGWIN_INSTALL_PATH}/bin
)
-# handle the QUIETLY and REQUIRED arguments and set WGET_FOUND to TRUE if
+# handle the QUIETLY and REQUIRED arguments and set WGET_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Wget DEFAULT_MSG WGET_EXECUTABLE)
-MARK_AS_ADVANCED( WGET_EXECUTABLE )
+mark_as_advanced( WGET_EXECUTABLE )
# WGET option is deprecated.
# use WGET_EXECUTABLE instead.
-SET (WGET ${WGET_EXECUTABLE} )
+set (WGET ${WGET_EXECUTABLE} )
diff --git a/Modules/FindWish.cmake b/Modules/FindWish.cmake
index a4960cd17..11b29f249 100644
--- a/Modules/FindWish.cmake
+++ b/Modules/FindWish.cmake
@@ -20,29 +20,29 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-IF(UNIX)
- FIND_PROGRAM(TK_WISH cygwish80 )
-ENDIF(UNIX)
+if(UNIX)
+ find_program(TK_WISH cygwish80 )
+endif()
-GET_FILENAME_COMPONENT(TCL_TCLSH_PATH "${TCL_TCLSH}" PATH)
-GET_FILENAME_COMPONENT(TCL_TCLSH_PATH_PARENT "${TCL_TCLSH_PATH}" PATH)
-STRING(REGEX REPLACE
+get_filename_component(TCL_TCLSH_PATH "${TCL_TCLSH}" PATH)
+get_filename_component(TCL_TCLSH_PATH_PARENT "${TCL_TCLSH_PATH}" PATH)
+string(REGEX REPLACE
"^.*tclsh([0-9]\\.*[0-9]).*$" "\\1" TCL_TCLSH_VERSION "${TCL_TCLSH}")
-GET_FILENAME_COMPONENT(TCL_INCLUDE_PATH_PARENT "${TCL_INCLUDE_PATH}" PATH)
-GET_FILENAME_COMPONENT(TK_INCLUDE_PATH_PARENT "${TK_INCLUDE_PATH}" PATH)
+get_filename_component(TCL_INCLUDE_PATH_PARENT "${TCL_INCLUDE_PATH}" PATH)
+get_filename_component(TK_INCLUDE_PATH_PARENT "${TK_INCLUDE_PATH}" PATH)
-GET_FILENAME_COMPONENT(TCL_LIBRARY_PATH "${TCL_LIBRARY}" PATH)
-GET_FILENAME_COMPONENT(TCL_LIBRARY_PATH_PARENT "${TCL_LIBRARY_PATH}" PATH)
-STRING(REGEX REPLACE
+get_filename_component(TCL_LIBRARY_PATH "${TCL_LIBRARY}" PATH)
+get_filename_component(TCL_LIBRARY_PATH_PARENT "${TCL_LIBRARY_PATH}" PATH)
+string(REGEX REPLACE
"^.*tcl([0-9]\\.*[0-9]).*$" "\\1" TCL_LIBRARY_VERSION "${TCL_LIBRARY}")
-GET_FILENAME_COMPONENT(TK_LIBRARY_PATH "${TK_LIBRARY}" PATH)
-GET_FILENAME_COMPONENT(TK_LIBRARY_PATH_PARENT "${TK_LIBRARY_PATH}" PATH)
-STRING(REGEX REPLACE
+get_filename_component(TK_LIBRARY_PATH "${TK_LIBRARY}" PATH)
+get_filename_component(TK_LIBRARY_PATH_PARENT "${TK_LIBRARY_PATH}" PATH)
+string(REGEX REPLACE
"^.*tk([0-9]\\.*[0-9]).*$" "\\1" TK_LIBRARY_VERSION "${TK_LIBRARY}")
-SET(TCLTK_POSSIBLE_BIN_PATHS
+set(TCLTK_POSSIBLE_BIN_PATHS
"${TCL_INCLUDE_PATH_PARENT}/bin"
"${TK_INCLUDE_PATH_PARENT}/bin"
"${TCL_LIBRARY_PATH_PARENT}/bin"
@@ -50,12 +50,12 @@ SET(TCLTK_POSSIBLE_BIN_PATHS
"${TCL_TCLSH_PATH_PARENT}/bin"
)
-IF(WIN32)
- GET_FILENAME_COMPONENT(
- ActiveTcl_CurrentVersion
- "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
+if(WIN32)
+ get_filename_component(
+ ActiveTcl_CurrentVersion
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
NAME)
- SET(TCLTK_POSSIBLE_BIN_PATHS ${TCLTK_POSSIBLE_BIN_PATHS}
+ set(TCLTK_POSSIBLE_BIN_PATHS ${TCLTK_POSSIBLE_BIN_PATHS}
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/bin"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/bin"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/bin"
@@ -64,22 +64,22 @@ IF(WIN32)
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.2;Root]/bin"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.0;Root]/bin"
)
-ENDIF(WIN32)
+endif()
-SET(TK_WISH_NAMES
- wish
+set(TK_WISH_NAMES
+ wish
wish${TCL_LIBRARY_VERSION} wish${TK_LIBRARY_VERSION} wish${TCL_TCLSH_VERSION}
wish86 wish8.6
- wish85 wish8.5
- wish84 wish8.4
- wish83 wish8.3
- wish82 wish8.2
+ wish85 wish8.5
+ wish84 wish8.4
+ wish83 wish8.3
+ wish82 wish8.2
wish80 wish8.0
)
-FIND_PROGRAM(TK_WISH
+find_program(TK_WISH
NAMES ${TK_WISH_NAMES}
HINTS ${TCLTK_POSSIBLE_BIN_PATHS}
)
-MARK_AS_ADVANCED(TK_WISH)
+mark_as_advanced(TK_WISH)
diff --git a/Modules/FindX11.cmake b/Modules/FindX11.cmake
index 76fb3c911..e12dc0a29 100644
--- a/Modules/FindX11.cmake
+++ b/Modules/FindX11.cmake
@@ -54,13 +54,13 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-IF (UNIX)
- SET(X11_FOUND 0)
+if (UNIX)
+ set(X11_FOUND 0)
# X11 is never a framework and some header files may be
# found in tcl on the mac
- SET(CMAKE_FIND_FRAMEWORK_SAVE ${CMAKE_FIND_FRAMEWORK})
- SET(CMAKE_FIND_FRAMEWORK NEVER)
- SET(X11_INC_SEARCH_PATH
+ set(CMAKE_FIND_FRAMEWORK_SAVE ${CMAKE_FIND_FRAMEWORK})
+ set(CMAKE_FIND_FRAMEWORK NEVER)
+ set(X11_INC_SEARCH_PATH
/usr/pkg/xorg/include
/usr/X11R6/include
/usr/X11R7/include
@@ -70,358 +70,363 @@ IF (UNIX)
/opt/graphics/OpenGL/include
)
- SET(X11_LIB_SEARCH_PATH
+ set(X11_LIB_SEARCH_PATH
/usr/pkg/xorg/lib
/usr/X11R6/lib
/usr/X11R7/lib
/usr/openwin/lib
)
- FIND_PATH(X11_X11_INCLUDE_PATH X11/X.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xlib_INCLUDE_PATH X11/Xlib.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_X11_INCLUDE_PATH X11/X.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_Xlib_INCLUDE_PATH X11/Xlib.h ${X11_INC_SEARCH_PATH})
# Look for includes; keep the list sorted by name of the cmake *_INCLUDE_PATH
# variable (which doesn't need to match the include file name).
# Solaris lacks XKBrules.h, so we should skip kxkbd there.
- FIND_PATH(X11_ICE_INCLUDE_PATH X11/ICE/ICE.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_SM_INCLUDE_PATH X11/SM/SM.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xaccessrules_INCLUDE_PATH X11/extensions/XKBrules.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xaccessstr_INCLUDE_PATH X11/extensions/XKBstr.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xau_INCLUDE_PATH X11/Xauth.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xcomposite_INCLUDE_PATH X11/extensions/Xcomposite.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xcursor_INCLUDE_PATH X11/Xcursor/Xcursor.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xdamage_INCLUDE_PATH X11/extensions/Xdamage.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xdmcp_INCLUDE_PATH X11/Xdmcp.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_dpms_INCLUDE_PATH X11/extensions/dpms.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_xf86misc_INCLUDE_PATH X11/extensions/xf86misc.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_xf86vmode_INCLUDE_PATH X11/extensions/xf86vmode.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xfixes_INCLUDE_PATH X11/extensions/Xfixes.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xft_INCLUDE_PATH X11/Xft/Xft.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xi_INCLUDE_PATH X11/extensions/XInput.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xinerama_INCLUDE_PATH X11/extensions/Xinerama.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xinput_INCLUDE_PATH X11/extensions/XInput.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xkb_INCLUDE_PATH X11/extensions/XKB.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xkblib_INCLUDE_PATH X11/XKBlib.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xkbfile_INCLUDE_PATH X11/extensions/XKBfile.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xmu_INCLUDE_PATH X11/Xmu/Xmu.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xpm_INCLUDE_PATH X11/xpm.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_XTest_INCLUDE_PATH X11/extensions/XTest.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_XShm_INCLUDE_PATH X11/extensions/XShm.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xrandr_INCLUDE_PATH X11/extensions/Xrandr.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xrender_INCLUDE_PATH X11/extensions/Xrender.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_XRes_INCLUDE_PATH X11/extensions/XRes.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xscreensaver_INCLUDE_PATH X11/extensions/scrnsaver.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xshape_INCLUDE_PATH X11/extensions/shape.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xutil_INCLUDE_PATH X11/Xutil.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xt_INCLUDE_PATH X11/Intrinsic.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_Xv_INCLUDE_PATH X11/extensions/Xvlib.h ${X11_INC_SEARCH_PATH})
- FIND_PATH(X11_XSync_INCLUDE_PATH X11/extensions/sync.h ${X11_INC_SEARCH_PATH})
-
-
- FIND_LIBRARY(X11_X11_LIB X11 ${X11_LIB_SEARCH_PATH})
+ find_path(X11_ICE_INCLUDE_PATH X11/ICE/ICE.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_SM_INCLUDE_PATH X11/SM/SM.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_Xaccessrules_INCLUDE_PATH X11/extensions/XKBrules.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_Xaccessstr_INCLUDE_PATH X11/extensions/XKBstr.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_Xau_INCLUDE_PATH X11/Xauth.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_Xcomposite_INCLUDE_PATH X11/extensions/Xcomposite.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_Xcursor_INCLUDE_PATH X11/Xcursor/Xcursor.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_Xdamage_INCLUDE_PATH X11/extensions/Xdamage.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_Xdmcp_INCLUDE_PATH X11/Xdmcp.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_dpms_INCLUDE_PATH X11/extensions/dpms.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_xf86misc_INCLUDE_PATH X11/extensions/xf86misc.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_xf86vmode_INCLUDE_PATH X11/extensions/xf86vmode.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_Xfixes_INCLUDE_PATH X11/extensions/Xfixes.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_Xft_INCLUDE_PATH X11/Xft/Xft.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_Xi_INCLUDE_PATH X11/extensions/XInput.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_Xinerama_INCLUDE_PATH X11/extensions/Xinerama.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_Xinput_INCLUDE_PATH X11/extensions/XInput.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_Xkb_INCLUDE_PATH X11/extensions/XKB.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_Xkblib_INCLUDE_PATH X11/XKBlib.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_Xkbfile_INCLUDE_PATH X11/extensions/XKBfile.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_Xmu_INCLUDE_PATH X11/Xmu/Xmu.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_Xpm_INCLUDE_PATH X11/xpm.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_XTest_INCLUDE_PATH X11/extensions/XTest.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_XShm_INCLUDE_PATH X11/extensions/XShm.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_Xrandr_INCLUDE_PATH X11/extensions/Xrandr.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_Xrender_INCLUDE_PATH X11/extensions/Xrender.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_XRes_INCLUDE_PATH X11/extensions/XRes.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_Xscreensaver_INCLUDE_PATH X11/extensions/scrnsaver.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_Xshape_INCLUDE_PATH X11/extensions/shape.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_Xutil_INCLUDE_PATH X11/Xutil.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_Xt_INCLUDE_PATH X11/Intrinsic.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_Xv_INCLUDE_PATH X11/extensions/Xvlib.h ${X11_INC_SEARCH_PATH})
+ find_path(X11_XSync_INCLUDE_PATH X11/extensions/sync.h ${X11_INC_SEARCH_PATH})
+
+
+ find_library(X11_X11_LIB X11 ${X11_LIB_SEARCH_PATH})
# Find additional X libraries. Keep list sorted by library name.
- FIND_LIBRARY(X11_ICE_LIB ICE ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_SM_LIB SM ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xau_LIB Xau ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xcomposite_LIB Xcomposite ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xcursor_LIB Xcursor ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xdamage_LIB Xdamage ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xdmcp_LIB Xdmcp ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xext_LIB Xext ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xfixes_LIB Xfixes ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xft_LIB Xft ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xi_LIB Xi ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xinerama_LIB Xinerama ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xinput_LIB Xi ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xkbfile_LIB xkbfile ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xmu_LIB Xmu ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xpm_LIB Xpm ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xrandr_LIB Xrandr ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xrender_LIB Xrender ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_XRes_LIB XRes ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xscreensaver_LIB Xss ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xt_LIB Xt ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_XTest_LIB Xtst ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xv_LIB Xv ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xxf86misc_LIB Xxf86misc ${X11_LIB_SEARCH_PATH})
- FIND_LIBRARY(X11_Xxf86vm_LIB Xxf86vm ${X11_LIB_SEARCH_PATH})
-
- SET(X11_LIBRARY_DIR "")
- IF(X11_X11_LIB)
- GET_FILENAME_COMPONENT(X11_LIBRARY_DIR ${X11_X11_LIB} PATH)
- ENDIF(X11_X11_LIB)
-
- SET(X11_INCLUDE_DIR) # start with empty list
- IF(X11_X11_INCLUDE_PATH)
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_X11_INCLUDE_PATH})
- ENDIF(X11_X11_INCLUDE_PATH)
-
- IF(X11_Xlib_INCLUDE_PATH)
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xlib_INCLUDE_PATH})
- ENDIF(X11_Xlib_INCLUDE_PATH)
-
- IF(X11_Xutil_INCLUDE_PATH)
- SET(X11_Xutil_FOUND TRUE)
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xutil_INCLUDE_PATH})
- ENDIF(X11_Xutil_INCLUDE_PATH)
-
- IF(X11_Xshape_INCLUDE_PATH)
- SET(X11_Xshape_FOUND TRUE)
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xshape_INCLUDE_PATH})
- ENDIF(X11_Xshape_INCLUDE_PATH)
-
- SET(X11_LIBRARIES) # start with empty list
- IF(X11_X11_LIB)
- SET(X11_LIBRARIES ${X11_LIBRARIES} ${X11_X11_LIB})
- ENDIF(X11_X11_LIB)
-
- IF(X11_Xext_LIB)
- SET(X11_Xext_FOUND TRUE)
- SET(X11_LIBRARIES ${X11_LIBRARIES} ${X11_Xext_LIB})
- ENDIF(X11_Xext_LIB)
-
- IF(X11_Xt_LIB AND X11_Xt_INCLUDE_PATH)
- SET(X11_Xt_FOUND TRUE)
- ENDIF(X11_Xt_LIB AND X11_Xt_INCLUDE_PATH)
-
- IF(X11_Xft_LIB AND X11_Xft_INCLUDE_PATH)
- SET(X11_Xft_FOUND TRUE)
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xft_INCLUDE_PATH})
- ENDIF(X11_Xft_LIB AND X11_Xft_INCLUDE_PATH)
-
- IF(X11_Xv_LIB AND X11_Xv_INCLUDE_PATH)
- SET(X11_Xv_FOUND TRUE)
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xv_INCLUDE_PATH})
- ENDIF(X11_Xv_LIB AND X11_Xv_INCLUDE_PATH)
-
- IF (X11_Xau_LIB AND X11_Xau_INCLUDE_PATH)
- SET(X11_Xau_FOUND TRUE)
- ENDIF (X11_Xau_LIB AND X11_Xau_INCLUDE_PATH)
-
- IF (X11_Xdmcp_INCLUDE_PATH AND X11_Xdmcp_LIB)
- SET(X11_Xdmcp_FOUND TRUE)
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xdmcp_INCLUDE_PATH})
- ENDIF (X11_Xdmcp_INCLUDE_PATH AND X11_Xdmcp_LIB)
-
- IF (X11_Xaccessrules_INCLUDE_PATH AND X11_Xaccessstr_INCLUDE_PATH)
- SET(X11_Xaccess_FOUND TRUE)
- SET(X11_Xaccess_INCLUDE_PATH ${X11_Xaccessstr_INCLUDE_PATH})
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xaccess_INCLUDE_PATH})
- ENDIF (X11_Xaccessrules_INCLUDE_PATH AND X11_Xaccessstr_INCLUDE_PATH)
-
- IF (X11_Xpm_INCLUDE_PATH AND X11_Xpm_LIB)
- SET(X11_Xpm_FOUND TRUE)
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xpm_INCLUDE_PATH})
- ENDIF (X11_Xpm_INCLUDE_PATH AND X11_Xpm_LIB)
-
- IF (X11_Xcomposite_INCLUDE_PATH AND X11_Xcomposite_LIB)
- SET(X11_Xcomposite_FOUND TRUE)
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xcomposite_INCLUDE_PATH})
- ENDIF (X11_Xcomposite_INCLUDE_PATH AND X11_Xcomposite_LIB)
-
- IF (X11_Xdamage_INCLUDE_PATH AND X11_Xdamage_LIB)
- SET(X11_Xdamage_FOUND TRUE)
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xdamage_INCLUDE_PATH})
- ENDIF (X11_Xdamage_INCLUDE_PATH AND X11_Xdamage_LIB)
-
- IF (X11_XShm_INCLUDE_PATH)
- SET(X11_XShm_FOUND TRUE)
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_XShm_INCLUDE_PATH})
- ENDIF (X11_XShm_INCLUDE_PATH)
-
- IF (X11_XTest_INCLUDE_PATH AND X11_XTest_LIB)
- SET(X11_XTest_FOUND TRUE)
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_XTest_INCLUDE_PATH})
- ENDIF (X11_XTest_INCLUDE_PATH AND X11_XTest_LIB)
-
- IF (X11_Xi_INCLUDE_PATH AND X11_Xi_LIB)
- SET(X11_Xi_FOUND TRUE)
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xi_INCLUDE_PATH})
- ENDIF (X11_Xi_INCLUDE_PATH AND X11_Xi_LIB)
-
- IF (X11_Xinerama_INCLUDE_PATH AND X11_Xinerama_LIB)
- SET(X11_Xinerama_FOUND TRUE)
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xinerama_INCLUDE_PATH})
- ENDIF (X11_Xinerama_INCLUDE_PATH AND X11_Xinerama_LIB)
-
- IF (X11_Xfixes_INCLUDE_PATH AND X11_Xfixes_LIB)
- SET(X11_Xfixes_FOUND TRUE)
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xfixes_INCLUDE_PATH})
- ENDIF (X11_Xfixes_INCLUDE_PATH AND X11_Xfixes_LIB)
-
- IF (X11_Xrender_INCLUDE_PATH AND X11_Xrender_LIB)
- SET(X11_Xrender_FOUND TRUE)
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xrender_INCLUDE_PATH})
- ENDIF (X11_Xrender_INCLUDE_PATH AND X11_Xrender_LIB)
-
- IF (X11_XRes_INCLUDE_PATH AND X11_XRes_LIB)
- SET(X11_XRes_FOUND TRUE)
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_XRes_INCLUDE_PATH})
- ENDIF (X11_XRes_INCLUDE_PATH AND X11_XRes_LIB)
-
- IF (X11_Xrandr_INCLUDE_PATH AND X11_Xrandr_LIB)
- SET(X11_Xrandr_FOUND TRUE)
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xrandr_INCLUDE_PATH})
- ENDIF (X11_Xrandr_INCLUDE_PATH AND X11_Xrandr_LIB)
-
- IF (X11_xf86misc_INCLUDE_PATH AND X11_Xxf86misc_LIB)
- SET(X11_xf86misc_FOUND TRUE)
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_xf86misc_INCLUDE_PATH})
- ENDIF (X11_xf86misc_INCLUDE_PATH AND X11_Xxf86misc_LIB)
-
- IF (X11_xf86vmode_INCLUDE_PATH AND X11_Xxf86vm_LIB)
- SET(X11_xf86vmode_FOUND TRUE)
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_xf86vmode_INCLUDE_PATH})
- ENDIF (X11_xf86vmode_INCLUDE_PATH AND X11_Xxf86vm_LIB)
-
- IF (X11_Xcursor_INCLUDE_PATH AND X11_Xcursor_LIB)
- SET(X11_Xcursor_FOUND TRUE)
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xcursor_INCLUDE_PATH})
- ENDIF (X11_Xcursor_INCLUDE_PATH AND X11_Xcursor_LIB)
-
- IF (X11_Xscreensaver_INCLUDE_PATH AND X11_Xscreensaver_LIB)
- SET(X11_Xscreensaver_FOUND TRUE)
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xscreensaver_INCLUDE_PATH})
- ENDIF (X11_Xscreensaver_INCLUDE_PATH AND X11_Xscreensaver_LIB)
-
- IF (X11_dpms_INCLUDE_PATH)
- SET(X11_dpms_FOUND TRUE)
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_dpms_INCLUDE_PATH})
- ENDIF (X11_dpms_INCLUDE_PATH)
-
- IF (X11_Xkb_INCLUDE_PATH AND X11_Xkblib_INCLUDE_PATH AND X11_Xlib_INCLUDE_PATH)
- SET(X11_Xkb_FOUND TRUE)
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xkb_INCLUDE_PATH} )
- ENDIF (X11_Xkb_INCLUDE_PATH AND X11_Xkblib_INCLUDE_PATH AND X11_Xlib_INCLUDE_PATH)
-
- IF (X11_Xkbfile_INCLUDE_PATH AND X11_Xkbfile_LIB AND X11_Xlib_INCLUDE_PATH)
- SET(X11_Xkbfile_FOUND TRUE)
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xkbfile_INCLUDE_PATH} )
- ENDIF (X11_Xkbfile_INCLUDE_PATH AND X11_Xkbfile_LIB AND X11_Xlib_INCLUDE_PATH)
-
- IF (X11_Xmu_INCLUDE_PATH AND X11_Xmu_LIB)
- SET(X11_Xmu_FOUND TRUE)
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xmu_INCLUDE_PATH})
- ENDIF (X11_Xmu_INCLUDE_PATH AND X11_Xmu_LIB)
-
- IF (X11_Xinput_INCLUDE_PATH AND X11_Xinput_LIB)
- SET(X11_Xinput_FOUND TRUE)
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xinput_INCLUDE_PATH})
- ENDIF (X11_Xinput_INCLUDE_PATH AND X11_Xinput_LIB)
-
- IF (X11_XSync_INCLUDE_PATH)
- SET(X11_XSync_FOUND TRUE)
- SET(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_XSync_INCLUDE_PATH})
- ENDIF (X11_XSync_INCLUDE_PATH)
-
- IF(X11_ICE_LIB AND X11_ICE_INCLUDE_PATH)
- SET(X11_ICE_FOUND TRUE)
- ENDIF(X11_ICE_LIB AND X11_ICE_INCLUDE_PATH)
-
- IF(X11_SM_LIB AND X11_SM_INCLUDE_PATH)
- SET(X11_SM_FOUND TRUE)
- ENDIF(X11_SM_LIB AND X11_SM_INCLUDE_PATH)
-
+ find_library(X11_ICE_LIB ICE ${X11_LIB_SEARCH_PATH})
+ find_library(X11_SM_LIB SM ${X11_LIB_SEARCH_PATH})
+ find_library(X11_Xau_LIB Xau ${X11_LIB_SEARCH_PATH})
+ find_library(X11_Xcomposite_LIB Xcomposite ${X11_LIB_SEARCH_PATH})
+ find_library(X11_Xcursor_LIB Xcursor ${X11_LIB_SEARCH_PATH})
+ find_library(X11_Xdamage_LIB Xdamage ${X11_LIB_SEARCH_PATH})
+ find_library(X11_Xdmcp_LIB Xdmcp ${X11_LIB_SEARCH_PATH})
+ find_library(X11_Xext_LIB Xext ${X11_LIB_SEARCH_PATH})
+ find_library(X11_Xfixes_LIB Xfixes ${X11_LIB_SEARCH_PATH})
+ find_library(X11_Xft_LIB Xft ${X11_LIB_SEARCH_PATH})
+ find_library(X11_Xi_LIB Xi ${X11_LIB_SEARCH_PATH})
+ find_library(X11_Xinerama_LIB Xinerama ${X11_LIB_SEARCH_PATH})
+ find_library(X11_Xinput_LIB Xi ${X11_LIB_SEARCH_PATH})
+ find_library(X11_Xkbfile_LIB xkbfile ${X11_LIB_SEARCH_PATH})
+ find_library(X11_Xmu_LIB Xmu ${X11_LIB_SEARCH_PATH})
+ find_library(X11_Xpm_LIB Xpm ${X11_LIB_SEARCH_PATH})
+ find_library(X11_Xrandr_LIB Xrandr ${X11_LIB_SEARCH_PATH})
+ find_library(X11_Xrender_LIB Xrender ${X11_LIB_SEARCH_PATH})
+ find_library(X11_XRes_LIB XRes ${X11_LIB_SEARCH_PATH})
+ find_library(X11_Xscreensaver_LIB Xss ${X11_LIB_SEARCH_PATH})
+ find_library(X11_Xt_LIB Xt ${X11_LIB_SEARCH_PATH})
+ find_library(X11_XTest_LIB Xtst ${X11_LIB_SEARCH_PATH})
+ find_library(X11_Xv_LIB Xv ${X11_LIB_SEARCH_PATH})
+ find_library(X11_Xxf86misc_LIB Xxf86misc ${X11_LIB_SEARCH_PATH})
+ find_library(X11_Xxf86vm_LIB Xxf86vm ${X11_LIB_SEARCH_PATH})
+
+ set(X11_LIBRARY_DIR "")
+ if(X11_X11_LIB)
+ get_filename_component(X11_LIBRARY_DIR ${X11_X11_LIB} PATH)
+ endif()
+
+ set(X11_INCLUDE_DIR) # start with empty list
+ if(X11_X11_INCLUDE_PATH)
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_X11_INCLUDE_PATH})
+ endif()
+
+ if(X11_Xlib_INCLUDE_PATH)
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xlib_INCLUDE_PATH})
+ endif()
+
+ if(X11_Xutil_INCLUDE_PATH)
+ set(X11_Xutil_FOUND TRUE)
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xutil_INCLUDE_PATH})
+ endif()
+
+ if(X11_Xshape_INCLUDE_PATH)
+ set(X11_Xshape_FOUND TRUE)
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xshape_INCLUDE_PATH})
+ endif()
+
+ set(X11_LIBRARIES) # start with empty list
+ if(X11_X11_LIB)
+ set(X11_LIBRARIES ${X11_LIBRARIES} ${X11_X11_LIB})
+ endif()
+
+ if(X11_Xext_LIB)
+ set(X11_Xext_FOUND TRUE)
+ set(X11_LIBRARIES ${X11_LIBRARIES} ${X11_Xext_LIB})
+ endif()
+
+ if(X11_Xt_LIB AND X11_Xt_INCLUDE_PATH)
+ set(X11_Xt_FOUND TRUE)
+ endif()
+
+ if(X11_Xft_LIB AND X11_Xft_INCLUDE_PATH)
+ set(X11_Xft_FOUND TRUE)
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xft_INCLUDE_PATH})
+ endif()
+
+ if(X11_Xv_LIB AND X11_Xv_INCLUDE_PATH)
+ set(X11_Xv_FOUND TRUE)
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xv_INCLUDE_PATH})
+ endif()
+
+ if (X11_Xau_LIB AND X11_Xau_INCLUDE_PATH)
+ set(X11_Xau_FOUND TRUE)
+ endif ()
+
+ if (X11_Xdmcp_INCLUDE_PATH AND X11_Xdmcp_LIB)
+ set(X11_Xdmcp_FOUND TRUE)
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xdmcp_INCLUDE_PATH})
+ endif ()
+
+ if (X11_Xaccessrules_INCLUDE_PATH AND X11_Xaccessstr_INCLUDE_PATH)
+ set(X11_Xaccess_FOUND TRUE)
+ set(X11_Xaccess_INCLUDE_PATH ${X11_Xaccessstr_INCLUDE_PATH})
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xaccess_INCLUDE_PATH})
+ endif ()
+
+ if (X11_Xpm_INCLUDE_PATH AND X11_Xpm_LIB)
+ set(X11_Xpm_FOUND TRUE)
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xpm_INCLUDE_PATH})
+ endif ()
+
+ if (X11_Xcomposite_INCLUDE_PATH AND X11_Xcomposite_LIB)
+ set(X11_Xcomposite_FOUND TRUE)
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xcomposite_INCLUDE_PATH})
+ endif ()
+
+ if (X11_Xdamage_INCLUDE_PATH AND X11_Xdamage_LIB)
+ set(X11_Xdamage_FOUND TRUE)
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xdamage_INCLUDE_PATH})
+ endif ()
+
+ if (X11_XShm_INCLUDE_PATH)
+ set(X11_XShm_FOUND TRUE)
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_XShm_INCLUDE_PATH})
+ endif ()
+
+ if (X11_XTest_INCLUDE_PATH AND X11_XTest_LIB)
+ set(X11_XTest_FOUND TRUE)
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_XTest_INCLUDE_PATH})
+ endif ()
+
+ if (X11_Xi_INCLUDE_PATH AND X11_Xi_LIB)
+ set(X11_Xi_FOUND TRUE)
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xi_INCLUDE_PATH})
+ endif ()
+
+ if (X11_Xinerama_INCLUDE_PATH AND X11_Xinerama_LIB)
+ set(X11_Xinerama_FOUND TRUE)
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xinerama_INCLUDE_PATH})
+ endif ()
+
+ if (X11_Xfixes_INCLUDE_PATH AND X11_Xfixes_LIB)
+ set(X11_Xfixes_FOUND TRUE)
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xfixes_INCLUDE_PATH})
+ endif ()
+
+ if (X11_Xrender_INCLUDE_PATH AND X11_Xrender_LIB)
+ set(X11_Xrender_FOUND TRUE)
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xrender_INCLUDE_PATH})
+ endif ()
+
+ if (X11_XRes_INCLUDE_PATH AND X11_XRes_LIB)
+ set(X11_XRes_FOUND TRUE)
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_XRes_INCLUDE_PATH})
+ endif ()
+
+ if (X11_Xrandr_INCLUDE_PATH AND X11_Xrandr_LIB)
+ set(X11_Xrandr_FOUND TRUE)
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xrandr_INCLUDE_PATH})
+ endif ()
+
+ if (X11_xf86misc_INCLUDE_PATH AND X11_Xxf86misc_LIB)
+ set(X11_xf86misc_FOUND TRUE)
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_xf86misc_INCLUDE_PATH})
+ endif ()
+
+ if (X11_xf86vmode_INCLUDE_PATH AND X11_Xxf86vm_LIB)
+ set(X11_xf86vmode_FOUND TRUE)
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_xf86vmode_INCLUDE_PATH})
+ endif ()
+
+ if (X11_Xcursor_INCLUDE_PATH AND X11_Xcursor_LIB)
+ set(X11_Xcursor_FOUND TRUE)
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xcursor_INCLUDE_PATH})
+ endif ()
+
+ if (X11_Xscreensaver_INCLUDE_PATH AND X11_Xscreensaver_LIB)
+ set(X11_Xscreensaver_FOUND TRUE)
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xscreensaver_INCLUDE_PATH})
+ endif ()
+
+ if (X11_dpms_INCLUDE_PATH)
+ set(X11_dpms_FOUND TRUE)
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_dpms_INCLUDE_PATH})
+ endif ()
+
+ if (X11_Xkb_INCLUDE_PATH AND X11_Xkblib_INCLUDE_PATH AND X11_Xlib_INCLUDE_PATH)
+ set(X11_Xkb_FOUND TRUE)
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xkb_INCLUDE_PATH} )
+ endif ()
+
+ if (X11_Xkbfile_INCLUDE_PATH AND X11_Xkbfile_LIB AND X11_Xlib_INCLUDE_PATH)
+ set(X11_Xkbfile_FOUND TRUE)
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xkbfile_INCLUDE_PATH} )
+ endif ()
+
+ if (X11_Xmu_INCLUDE_PATH AND X11_Xmu_LIB)
+ set(X11_Xmu_FOUND TRUE)
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xmu_INCLUDE_PATH})
+ endif ()
+
+ if (X11_Xinput_INCLUDE_PATH AND X11_Xinput_LIB)
+ set(X11_Xinput_FOUND TRUE)
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_Xinput_INCLUDE_PATH})
+ endif ()
+
+ if (X11_XSync_INCLUDE_PATH)
+ set(X11_XSync_FOUND TRUE)
+ set(X11_INCLUDE_DIR ${X11_INCLUDE_DIR} ${X11_XSync_INCLUDE_PATH})
+ endif ()
+
+ if(X11_ICE_LIB AND X11_ICE_INCLUDE_PATH)
+ set(X11_ICE_FOUND TRUE)
+ endif()
+
+ if(X11_SM_LIB AND X11_SM_INCLUDE_PATH)
+ set(X11_SM_FOUND TRUE)
+ endif()
+
+ # Most of the X11 headers will be in the same directories, avoid
+ # creating a huge list of duplicates.
+ if (X11_INCLUDE_DIR)
+ list(REMOVE_DUPLICATES X11_INCLUDE_DIR)
+ endif ()
# Deprecated variable for backwards compatibility with CMake 1.4
- IF (X11_X11_INCLUDE_PATH AND X11_LIBRARIES)
- SET(X11_FOUND 1)
- ENDIF (X11_X11_INCLUDE_PATH AND X11_LIBRARIES)
+ if (X11_X11_INCLUDE_PATH AND X11_LIBRARIES)
+ set(X11_FOUND 1)
+ endif ()
- IF(X11_FOUND)
- INCLUDE(CheckFunctionExists)
- INCLUDE(CheckLibraryExists)
+ if(X11_FOUND)
+ include(CheckFunctionExists)
+ include(CheckLibraryExists)
# Translated from an autoconf-generated configure script.
# See libs.m4 in autoconf's m4 directory.
- IF($ENV{ISC} MATCHES "^yes$")
- SET(X11_X_EXTRA_LIBS -lnsl_s -linet)
- ELSE($ENV{ISC} MATCHES "^yes$")
- SET(X11_X_EXTRA_LIBS "")
+ if($ENV{ISC} MATCHES "^yes$")
+ set(X11_X_EXTRA_LIBS -lnsl_s -linet)
+ else()
+ set(X11_X_EXTRA_LIBS "")
# See if XOpenDisplay in X11 works by itself.
CHECK_LIBRARY_EXISTS("${X11_LIBRARIES}" "XOpenDisplay" "${X11_LIBRARY_DIR}" X11_LIB_X11_SOLO)
- IF(NOT X11_LIB_X11_SOLO)
+ if(NOT X11_LIB_X11_SOLO)
# Find library needed for dnet_ntoa.
CHECK_LIBRARY_EXISTS("dnet" "dnet_ntoa" "" X11_LIB_DNET_HAS_DNET_NTOA)
- IF (X11_LIB_DNET_HAS_DNET_NTOA)
- SET (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -ldnet)
- ELSE (X11_LIB_DNET_HAS_DNET_NTOA)
+ if (X11_LIB_DNET_HAS_DNET_NTOA)
+ set (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -ldnet)
+ else ()
CHECK_LIBRARY_EXISTS("dnet_stub" "dnet_ntoa" "" X11_LIB_DNET_STUB_HAS_DNET_NTOA)
- IF (X11_LIB_DNET_STUB_HAS_DNET_NTOA)
- SET (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -ldnet_stub)
- ENDIF (X11_LIB_DNET_STUB_HAS_DNET_NTOA)
- ENDIF (X11_LIB_DNET_HAS_DNET_NTOA)
- ENDIF(NOT X11_LIB_X11_SOLO)
+ if (X11_LIB_DNET_STUB_HAS_DNET_NTOA)
+ set (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -ldnet_stub)
+ endif ()
+ endif ()
+ endif()
# Find library needed for gethostbyname.
CHECK_FUNCTION_EXISTS("gethostbyname" CMAKE_HAVE_GETHOSTBYNAME)
- IF(NOT CMAKE_HAVE_GETHOSTBYNAME)
+ if(NOT CMAKE_HAVE_GETHOSTBYNAME)
CHECK_LIBRARY_EXISTS("nsl" "gethostbyname" "" CMAKE_LIB_NSL_HAS_GETHOSTBYNAME)
- IF (CMAKE_LIB_NSL_HAS_GETHOSTBYNAME)
- SET (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -lnsl)
- ELSE (CMAKE_LIB_NSL_HAS_GETHOSTBYNAME)
+ if (CMAKE_LIB_NSL_HAS_GETHOSTBYNAME)
+ set (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -lnsl)
+ else ()
CHECK_LIBRARY_EXISTS("bsd" "gethostbyname" "" CMAKE_LIB_BSD_HAS_GETHOSTBYNAME)
- IF (CMAKE_LIB_BSD_HAS_GETHOSTBYNAME)
- SET (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -lbsd)
- ENDIF (CMAKE_LIB_BSD_HAS_GETHOSTBYNAME)
- ENDIF (CMAKE_LIB_NSL_HAS_GETHOSTBYNAME)
- ENDIF(NOT CMAKE_HAVE_GETHOSTBYNAME)
+ if (CMAKE_LIB_BSD_HAS_GETHOSTBYNAME)
+ set (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -lbsd)
+ endif ()
+ endif ()
+ endif()
# Find library needed for connect.
CHECK_FUNCTION_EXISTS("connect" CMAKE_HAVE_CONNECT)
- IF(NOT CMAKE_HAVE_CONNECT)
+ if(NOT CMAKE_HAVE_CONNECT)
CHECK_LIBRARY_EXISTS("socket" "connect" "" CMAKE_LIB_SOCKET_HAS_CONNECT)
- IF (CMAKE_LIB_SOCKET_HAS_CONNECT)
- SET (X11_X_EXTRA_LIBS -lsocket ${X11_X_EXTRA_LIBS})
- ENDIF (CMAKE_LIB_SOCKET_HAS_CONNECT)
- ENDIF(NOT CMAKE_HAVE_CONNECT)
+ if (CMAKE_LIB_SOCKET_HAS_CONNECT)
+ set (X11_X_EXTRA_LIBS -lsocket ${X11_X_EXTRA_LIBS})
+ endif ()
+ endif()
# Find library needed for remove.
CHECK_FUNCTION_EXISTS("remove" CMAKE_HAVE_REMOVE)
- IF(NOT CMAKE_HAVE_REMOVE)
+ if(NOT CMAKE_HAVE_REMOVE)
CHECK_LIBRARY_EXISTS("posix" "remove" "" CMAKE_LIB_POSIX_HAS_REMOVE)
- IF (CMAKE_LIB_POSIX_HAS_REMOVE)
- SET (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -lposix)
- ENDIF (CMAKE_LIB_POSIX_HAS_REMOVE)
- ENDIF(NOT CMAKE_HAVE_REMOVE)
+ if (CMAKE_LIB_POSIX_HAS_REMOVE)
+ set (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -lposix)
+ endif ()
+ endif()
# Find library needed for shmat.
CHECK_FUNCTION_EXISTS("shmat" CMAKE_HAVE_SHMAT)
- IF(NOT CMAKE_HAVE_SHMAT)
+ if(NOT CMAKE_HAVE_SHMAT)
CHECK_LIBRARY_EXISTS("ipc" "shmat" "" CMAKE_LIB_IPS_HAS_SHMAT)
- IF (CMAKE_LIB_IPS_HAS_SHMAT)
- SET (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -lipc)
- ENDIF (CMAKE_LIB_IPS_HAS_SHMAT)
- ENDIF(NOT CMAKE_HAVE_SHMAT)
- ENDIF($ENV{ISC} MATCHES "^yes$")
+ if (CMAKE_LIB_IPS_HAS_SHMAT)
+ set (X11_X_EXTRA_LIBS ${X11_X_EXTRA_LIBS} -lipc)
+ endif ()
+ endif()
+ endif()
- IF (X11_ICE_FOUND)
+ if (X11_ICE_FOUND)
CHECK_LIBRARY_EXISTS("ICE" "IceConnectionNumber" "${X11_LIBRARY_DIR}"
CMAKE_LIB_ICE_HAS_ICECONNECTIONNUMBER)
- IF(CMAKE_LIB_ICE_HAS_ICECONNECTIONNUMBER)
- SET (X11_X_PRE_LIBS ${X11_ICE_LIB})
- IF(X11_SM_LIB)
- SET (X11_X_PRE_LIBS ${X11_SM_LIB} ${X11_X_PRE_LIBS})
- ENDIF(X11_SM_LIB)
- ENDIF(CMAKE_LIB_ICE_HAS_ICECONNECTIONNUMBER)
- ENDIF (X11_ICE_FOUND)
+ if(CMAKE_LIB_ICE_HAS_ICECONNECTIONNUMBER)
+ set (X11_X_PRE_LIBS ${X11_ICE_LIB})
+ if(X11_SM_LIB)
+ set (X11_X_PRE_LIBS ${X11_SM_LIB} ${X11_X_PRE_LIBS})
+ endif()
+ endif()
+ endif ()
# Build the final list of libraries.
- SET(X11_LIBRARIES ${X11_X_PRE_LIBS} ${X11_LIBRARIES} ${X11_X_EXTRA_LIBS})
+ set(X11_LIBRARIES ${X11_X_PRE_LIBS} ${X11_LIBRARIES} ${X11_X_EXTRA_LIBS})
- INCLUDE(FindPackageMessage)
+ include(FindPackageMessage)
FIND_PACKAGE_MESSAGE(X11 "Found X11: ${X11_X11_LIB}"
"[${X11_X11_LIB}][${X11_INCLUDE_DIR}]")
- ELSE (X11_FOUND)
- IF (X11_FIND_REQUIRED)
- MESSAGE(FATAL_ERROR "Could not find X11")
- ENDIF (X11_FIND_REQUIRED)
- ENDIF (X11_FOUND)
+ else ()
+ if (X11_FIND_REQUIRED)
+ message(FATAL_ERROR "Could not find X11")
+ endif ()
+ endif ()
- MARK_AS_ADVANCED(
+ mark_as_advanced(
X11_X11_INCLUDE_PATH
X11_X11_LIB
X11_Xext_LIB
@@ -486,7 +491,7 @@ IF (UNIX)
X11_SM_INCLUDE_PATH
X11_XSync_INCLUDE_PATH
)
- SET(CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK_SAVE})
-ENDIF (UNIX)
+ set(CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK_SAVE})
+endif ()
# X11_FIND_REQUIRED_<component> could be checked too
diff --git a/Modules/FindXMLRPC.cmake b/Modules/FindXMLRPC.cmake
index eccfb487a..6bb578b46 100644
--- a/Modules/FindXMLRPC.cmake
+++ b/Modules/FindXMLRPC.cmake
@@ -10,7 +10,7 @@
# cgi-server CGI-based server
# abyss-server ABYSS-based server
# Typical usage:
-# FIND_PACKAGE(XMLRPC REQUIRED libwww-client)
+# find_package(XMLRPC REQUIRED libwww-client)
#=============================================================================
# Copyright 2001-2009 Kitware, Inc.
@@ -26,121 +26,121 @@
# License text for the above reference.)
# First find the config script from which to obtain other values.
-FIND_PROGRAM(XMLRPC_C_CONFIG NAMES xmlrpc-c-config)
+find_program(XMLRPC_C_CONFIG NAMES xmlrpc-c-config)
# Check whether we found anything.
-IF(XMLRPC_C_CONFIG)
- SET(XMLRPC_FOUND 1)
-ELSE(XMLRPC_C_CONFIG)
- SET(XMLRPC_FOUND 0)
-ENDIF(XMLRPC_C_CONFIG)
+if(XMLRPC_C_CONFIG)
+ set(XMLRPC_FOUND 1)
+else()
+ set(XMLRPC_FOUND 0)
+endif()
# Lookup the include directories needed for the components requested.
-IF(XMLRPC_FOUND)
+if(XMLRPC_FOUND)
# Use the newer EXECUTE_PROCESS command if it is available.
- IF(COMMAND EXECUTE_PROCESS)
- EXECUTE_PROCESS(
+ if(COMMAND EXECUTE_PROCESS)
+ execute_process(
COMMAND ${XMLRPC_C_CONFIG} ${XMLRPC_FIND_COMPONENTS} --cflags
OUTPUT_VARIABLE XMLRPC_C_CONFIG_CFLAGS
OUTPUT_STRIP_TRAILING_WHITESPACE
RESULT_VARIABLE XMLRPC_C_CONFIG_RESULT
)
- ELSE(COMMAND EXECUTE_PROCESS)
- EXEC_PROGRAM(${XMLRPC_C_CONFIG} ARGS "${XMLRPC_FIND_COMPONENTS} --cflags"
+ else()
+ exec_program(${XMLRPC_C_CONFIG} ARGS "${XMLRPC_FIND_COMPONENTS} --cflags"
OUTPUT_VARIABLE XMLRPC_C_CONFIG_CFLAGS
RETURN_VALUE XMLRPC_C_CONFIG_RESULT
)
- ENDIF(COMMAND EXECUTE_PROCESS)
+ endif()
# Parse the include flags.
- IF("${XMLRPC_C_CONFIG_RESULT}" MATCHES "^0$")
+ if("${XMLRPC_C_CONFIG_RESULT}" MATCHES "^0$")
# Convert the compile flags to a CMake list.
- STRING(REGEX REPLACE " +" ";"
+ string(REGEX REPLACE " +" ";"
XMLRPC_C_CONFIG_CFLAGS "${XMLRPC_C_CONFIG_CFLAGS}")
# Look for -I options.
- SET(XMLRPC_INCLUDE_DIRS)
- FOREACH(flag ${XMLRPC_C_CONFIG_CFLAGS})
- IF("${flag}" MATCHES "^-I")
- STRING(REGEX REPLACE "^-I" "" DIR "${flag}")
- FILE(TO_CMAKE_PATH "${DIR}" DIR)
- SET(XMLRPC_INCLUDE_DIRS ${XMLRPC_INCLUDE_DIRS} "${DIR}")
- ENDIF("${flag}" MATCHES "^-I")
- ENDFOREACH(flag)
- ELSE("${XMLRPC_C_CONFIG_RESULT}" MATCHES "^0$")
- MESSAGE("Error running ${XMLRPC_C_CONFIG}: [${XMLRPC_C_CONFIG_RESULT}]")
- SET(XMLRPC_FOUND 0)
- ENDIF("${XMLRPC_C_CONFIG_RESULT}" MATCHES "^0$")
-ENDIF(XMLRPC_FOUND)
+ set(XMLRPC_INCLUDE_DIRS)
+ foreach(flag ${XMLRPC_C_CONFIG_CFLAGS})
+ if("${flag}" MATCHES "^-I")
+ string(REGEX REPLACE "^-I" "" DIR "${flag}")
+ file(TO_CMAKE_PATH "${DIR}" DIR)
+ set(XMLRPC_INCLUDE_DIRS ${XMLRPC_INCLUDE_DIRS} "${DIR}")
+ endif()
+ endforeach()
+ else()
+ message("Error running ${XMLRPC_C_CONFIG}: [${XMLRPC_C_CONFIG_RESULT}]")
+ set(XMLRPC_FOUND 0)
+ endif()
+endif()
# Lookup the libraries needed for the components requested.
-IF(XMLRPC_FOUND)
+if(XMLRPC_FOUND)
# Use the newer EXECUTE_PROCESS command if it is available.
- IF(COMMAND EXECUTE_PROCESS)
- EXECUTE_PROCESS(
+ if(COMMAND EXECUTE_PROCESS)
+ execute_process(
COMMAND ${XMLRPC_C_CONFIG} ${XMLRPC_FIND_COMPONENTS} --libs
OUTPUT_VARIABLE XMLRPC_C_CONFIG_LIBS
OUTPUT_STRIP_TRAILING_WHITESPACE
RESULT_VARIABLE XMLRPC_C_CONFIG_RESULT
)
- ELSE(COMMAND EXECUTE_PROCESS)
- EXEC_PROGRAM(${XMLRPC_C_CONFIG} ARGS "${XMLRPC_FIND_COMPONENTS} --libs"
+ else()
+ exec_program(${XMLRPC_C_CONFIG} ARGS "${XMLRPC_FIND_COMPONENTS} --libs"
OUTPUT_VARIABLE XMLRPC_C_CONFIG_LIBS
RETURN_VALUE XMLRPC_C_CONFIG_RESULT
)
- ENDIF(COMMAND EXECUTE_PROCESS)
+ endif()
# Parse the library names and directories.
- IF("${XMLRPC_C_CONFIG_RESULT}" MATCHES "^0$")
- STRING(REGEX REPLACE " +" ";"
+ if("${XMLRPC_C_CONFIG_RESULT}" MATCHES "^0$")
+ string(REGEX REPLACE " +" ";"
XMLRPC_C_CONFIG_LIBS "${XMLRPC_C_CONFIG_LIBS}")
# Look for -L flags for directories and -l flags for library names.
- SET(XMLRPC_LIBRARY_DIRS)
- SET(XMLRPC_LIBRARY_NAMES)
- FOREACH(flag ${XMLRPC_C_CONFIG_LIBS})
- IF("${flag}" MATCHES "^-L")
- STRING(REGEX REPLACE "^-L" "" DIR "${flag}")
- FILE(TO_CMAKE_PATH "${DIR}" DIR)
- SET(XMLRPC_LIBRARY_DIRS ${XMLRPC_LIBRARY_DIRS} "${DIR}")
- ELSEIF("${flag}" MATCHES "^-l")
- STRING(REGEX REPLACE "^-l" "" NAME "${flag}")
- SET(XMLRPC_LIBRARY_NAMES ${XMLRPC_LIBRARY_NAMES} "${NAME}")
- ENDIF("${flag}" MATCHES "^-L")
- ENDFOREACH(flag)
+ set(XMLRPC_LIBRARY_DIRS)
+ set(XMLRPC_LIBRARY_NAMES)
+ foreach(flag ${XMLRPC_C_CONFIG_LIBS})
+ if("${flag}" MATCHES "^-L")
+ string(REGEX REPLACE "^-L" "" DIR "${flag}")
+ file(TO_CMAKE_PATH "${DIR}" DIR)
+ set(XMLRPC_LIBRARY_DIRS ${XMLRPC_LIBRARY_DIRS} "${DIR}")
+ elseif("${flag}" MATCHES "^-l")
+ string(REGEX REPLACE "^-l" "" NAME "${flag}")
+ set(XMLRPC_LIBRARY_NAMES ${XMLRPC_LIBRARY_NAMES} "${NAME}")
+ endif()
+ endforeach()
# Search for each library needed using the directories given.
- FOREACH(name ${XMLRPC_LIBRARY_NAMES})
+ foreach(name ${XMLRPC_LIBRARY_NAMES})
# Look for this library.
- FIND_LIBRARY(XMLRPC_${name}_LIBRARY
+ find_library(XMLRPC_${name}_LIBRARY
NAMES ${name}
HINTS ${XMLRPC_LIBRARY_DIRS}
)
- MARK_AS_ADVANCED(XMLRPC_${name}_LIBRARY)
+ mark_as_advanced(XMLRPC_${name}_LIBRARY)
# If any library is not found then the whole package is not found.
- IF(NOT XMLRPC_${name}_LIBRARY)
- SET(XMLRPC_FOUND 0)
- ENDIF(NOT XMLRPC_${name}_LIBRARY)
+ if(NOT XMLRPC_${name}_LIBRARY)
+ set(XMLRPC_FOUND 0)
+ endif()
# Build an ordered list of all the libraries needed.
- SET(XMLRPC_LIBRARIES ${XMLRPC_LIBRARIES} "${XMLRPC_${name}_LIBRARY}")
- ENDFOREACH(name)
- ELSE("${XMLRPC_C_CONFIG_RESULT}" MATCHES "^0$")
- MESSAGE("Error running ${XMLRPC_C_CONFIG}: [${XMLRPC_C_CONFIG_RESULT}]")
- SET(XMLRPC_FOUND 0)
- ENDIF("${XMLRPC_C_CONFIG_RESULT}" MATCHES "^0$")
-ENDIF(XMLRPC_FOUND)
+ set(XMLRPC_LIBRARIES ${XMLRPC_LIBRARIES} "${XMLRPC_${name}_LIBRARY}")
+ endforeach()
+ else()
+ message("Error running ${XMLRPC_C_CONFIG}: [${XMLRPC_C_CONFIG_RESULT}]")
+ set(XMLRPC_FOUND 0)
+ endif()
+endif()
# Report the results.
-IF(NOT XMLRPC_FOUND)
- SET(XMLRPC_DIR_MESSAGE
+if(NOT XMLRPC_FOUND)
+ set(XMLRPC_DIR_MESSAGE
"XMLRPC was not found. Make sure the entries XMLRPC_* are set.")
- IF(NOT XMLRPC_FIND_QUIETLY)
- MESSAGE(STATUS "${XMLRPC_DIR_MESSAGE}")
- ELSE(NOT XMLRPC_FIND_QUIETLY)
- IF(XMLRPC_FIND_REQUIRED)
- MESSAGE(FATAL_ERROR "${XMLRPC_DIR_MESSAGE}")
- ENDIF(XMLRPC_FIND_REQUIRED)
- ENDIF(NOT XMLRPC_FIND_QUIETLY)
-ENDIF(NOT XMLRPC_FOUND)
+ if(NOT XMLRPC_FIND_QUIETLY)
+ message(STATUS "${XMLRPC_DIR_MESSAGE}")
+ else()
+ if(XMLRPC_FIND_REQUIRED)
+ message(FATAL_ERROR "${XMLRPC_DIR_MESSAGE}")
+ endif()
+ endif()
+endif()
diff --git a/Modules/FindZLIB.cmake b/Modules/FindZLIB.cmake
index 166e29181..00b9c64da 100644
--- a/Modules/FindZLIB.cmake
+++ b/Modules/FindZLIB.cmake
@@ -34,59 +34,59 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-SET(_ZLIB_SEARCHES)
+set(_ZLIB_SEARCHES)
# Search ZLIB_ROOT first if it is set.
-IF(ZLIB_ROOT)
- SET(_ZLIB_SEARCH_ROOT PATHS ${ZLIB_ROOT} NO_DEFAULT_PATH)
- LIST(APPEND _ZLIB_SEARCHES _ZLIB_SEARCH_ROOT)
-ENDIF()
+if(ZLIB_ROOT)
+ set(_ZLIB_SEARCH_ROOT PATHS ${ZLIB_ROOT} NO_DEFAULT_PATH)
+ list(APPEND _ZLIB_SEARCHES _ZLIB_SEARCH_ROOT)
+endif()
# Normal search.
-SET(_ZLIB_SEARCH_NORMAL
+set(_ZLIB_SEARCH_NORMAL
PATHS "[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\Zlib;InstallPath]"
"$ENV{PROGRAMFILES}/zlib"
)
-LIST(APPEND _ZLIB_SEARCHES _ZLIB_SEARCH_NORMAL)
+list(APPEND _ZLIB_SEARCHES _ZLIB_SEARCH_NORMAL)
-SET(ZLIB_NAMES z zlib zdll zlib1 zlibd zlibd1)
+set(ZLIB_NAMES z zlib zdll zlib1 zlibd zlibd1)
# Try each search configuration.
-FOREACH(search ${_ZLIB_SEARCHES})
- FIND_PATH(ZLIB_INCLUDE_DIR NAMES zlib.h ${${search}} PATH_SUFFIXES include)
- FIND_LIBRARY(ZLIB_LIBRARY NAMES ${ZLIB_NAMES} ${${search}} PATH_SUFFIXES lib)
-ENDFOREACH()
+foreach(search ${_ZLIB_SEARCHES})
+ find_path(ZLIB_INCLUDE_DIR NAMES zlib.h ${${search}} PATH_SUFFIXES include)
+ find_library(ZLIB_LIBRARY NAMES ${ZLIB_NAMES} ${${search}} PATH_SUFFIXES lib)
+endforeach()
-MARK_AS_ADVANCED(ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
+mark_as_advanced(ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
-IF(ZLIB_INCLUDE_DIR AND EXISTS "${ZLIB_INCLUDE_DIR}/zlib.h")
- FILE(STRINGS "${ZLIB_INCLUDE_DIR}/zlib.h" ZLIB_H REGEX "^#define ZLIB_VERSION \"[^\"]*\"$")
+if(ZLIB_INCLUDE_DIR AND EXISTS "${ZLIB_INCLUDE_DIR}/zlib.h")
+ file(STRINGS "${ZLIB_INCLUDE_DIR}/zlib.h" ZLIB_H REGEX "^#define ZLIB_VERSION \"[^\"]*\"$")
- STRING(REGEX REPLACE "^.*ZLIB_VERSION \"([0-9]+).*$" "\\1" ZLIB_VERSION_MAJOR "${ZLIB_H}")
- STRING(REGEX REPLACE "^.*ZLIB_VERSION \"[0-9]+\\.([0-9]+).*$" "\\1" ZLIB_VERSION_MINOR "${ZLIB_H}")
- STRING(REGEX REPLACE "^.*ZLIB_VERSION \"[0-9]+\\.[0-9]+\\.([0-9]+).*$" "\\1" ZLIB_VERSION_PATCH "${ZLIB_H}")
- SET(ZLIB_VERSION_STRING "${ZLIB_VERSION_MAJOR}.${ZLIB_VERSION_MINOR}.${ZLIB_VERSION_PATCH}")
+ string(REGEX REPLACE "^.*ZLIB_VERSION \"([0-9]+).*$" "\\1" ZLIB_VERSION_MAJOR "${ZLIB_H}")
+ string(REGEX REPLACE "^.*ZLIB_VERSION \"[0-9]+\\.([0-9]+).*$" "\\1" ZLIB_VERSION_MINOR "${ZLIB_H}")
+ string(REGEX REPLACE "^.*ZLIB_VERSION \"[0-9]+\\.[0-9]+\\.([0-9]+).*$" "\\1" ZLIB_VERSION_PATCH "${ZLIB_H}")
+ set(ZLIB_VERSION_STRING "${ZLIB_VERSION_MAJOR}.${ZLIB_VERSION_MINOR}.${ZLIB_VERSION_PATCH}")
# only append a TWEAK version if it exists:
- SET(ZLIB_VERSION_TWEAK "")
- IF( "${ZLIB_H}" MATCHES "^.*ZLIB_VERSION \"[0-9]+\\.[0-9]+\\.[0-9]+\\.([0-9]+).*$")
- SET(ZLIB_VERSION_TWEAK "${CMAKE_MATCH_1}")
- SET(ZLIB_VERSION_STRING "${ZLIB_VERSION_STRING}.${ZLIB_VERSION_TWEAK}")
- ENDIF( "${ZLIB_H}" MATCHES "^.*ZLIB_VERSION \"[0-9]+\\.[0-9]+\\.[0-9]+\\.([0-9]+).*$")
+ set(ZLIB_VERSION_TWEAK "")
+ if( "${ZLIB_H}" MATCHES "^.*ZLIB_VERSION \"[0-9]+\\.[0-9]+\\.[0-9]+\\.([0-9]+).*$")
+ set(ZLIB_VERSION_TWEAK "${CMAKE_MATCH_1}")
+ set(ZLIB_VERSION_STRING "${ZLIB_VERSION_STRING}.${ZLIB_VERSION_TWEAK}")
+ endif()
- SET(ZLIB_MAJOR_VERSION "${ZLIB_VERSION_MAJOR}")
- SET(ZLIB_MINOR_VERSION "${ZLIB_VERSION_MINOR}")
- SET(ZLIB_PATCH_VERSION "${ZLIB_VERSION_PATCH}")
-ENDIF()
+ set(ZLIB_MAJOR_VERSION "${ZLIB_VERSION_MAJOR}")
+ set(ZLIB_MINOR_VERSION "${ZLIB_VERSION_MINOR}")
+ set(ZLIB_PATCH_VERSION "${ZLIB_VERSION_PATCH}")
+endif()
-# handle the QUIETLY and REQUIRED arguments and set ZLIB_FOUND to TRUE if
+# handle the QUIETLY and REQUIRED arguments and set ZLIB_FOUND to TRUE if
# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(ZLIB REQUIRED_VARS ZLIB_LIBRARY ZLIB_INCLUDE_DIR
VERSION_VAR ZLIB_VERSION_STRING)
-IF(ZLIB_FOUND)
- SET(ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIR})
- SET(ZLIB_LIBRARIES ${ZLIB_LIBRARY})
-ENDIF()
+if(ZLIB_FOUND)
+ set(ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIR})
+ set(ZLIB_LIBRARIES ${ZLIB_LIBRARY})
+endif()
diff --git a/Modules/Findosg.cmake b/Modules/Findosg.cmake
index 0106372e3..fb7421e85 100644
--- a/Modules/Findosg.cmake
+++ b/Modules/Findosg.cmake
@@ -3,16 +3,16 @@
# introduced in CMake 2.6.3 and not use this Find module directly.
#
# This is part of the Findosg* suite used to find OpenSceneGraph components.
-# Each component is separate and you must opt in to each module. You must
-# also opt into OpenGL and OpenThreads (and Producer if needed) as these
-# modules won't do it for you. This is to allow you control over your own
+# Each component is separate and you must opt in to each module. You must
+# also opt into OpenGL and OpenThreads (and Producer if needed) as these
+# modules won't do it for you. This is to allow you control over your own
# system piece by piece in case you need to opt out of certain components
# or change the Find behavior for a particular module (perhaps because the
# default FindOpenGL.cmake module doesn't work with your system as an
# example).
# If you want to use a more convenient module that includes everything,
# use the FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
+#
# Locate osg
# This module defines
#
diff --git a/Modules/FindosgAnimation.cmake b/Modules/FindosgAnimation.cmake
index b9b44a081..1c8eb5068 100644
--- a/Modules/FindosgAnimation.cmake
+++ b/Modules/FindosgAnimation.cmake
@@ -1,14 +1,14 @@
# This is part of the Findosg* suite used to find OpenSceneGraph components.
-# Each component is separate and you must opt in to each module. You must
-# also opt into OpenGL and OpenThreads (and Producer if needed) as these
-# modules won't do it for you. This is to allow you control over your own
+# Each component is separate and you must opt in to each module. You must
+# also opt into OpenGL and OpenThreads (and Producer if needed) as these
+# modules won't do it for you. This is to allow you control over your own
# system piece by piece in case you need to opt out of certain components
# or change the Find behavior for a particular module (perhaps because the
# default FindOpenGL.cmake module doesn't work with your system as an
# example).
# If you want to use a more convenient module that includes everything,
# use the FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
+#
# Locate osgAnimation
# This module defines
#
diff --git a/Modules/FindosgDB.cmake b/Modules/FindosgDB.cmake
index eabdde72d..76272aa67 100644
--- a/Modules/FindosgDB.cmake
+++ b/Modules/FindosgDB.cmake
@@ -1,14 +1,14 @@
# This is part of the Findosg* suite used to find OpenSceneGraph components.
-# Each component is separate and you must opt in to each module. You must
-# also opt into OpenGL and OpenThreads (and Producer if needed) as these
-# modules won't do it for you. This is to allow you control over your own
+# Each component is separate and you must opt in to each module. You must
+# also opt into OpenGL and OpenThreads (and Producer if needed) as these
+# modules won't do it for you. This is to allow you control over your own
# system piece by piece in case you need to opt out of certain components
# or change the Find behavior for a particular module (perhaps because the
# default FindOpenGL.cmake module doesn't work with your system as an
# example).
# If you want to use a more convenient module that includes everything,
# use the FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
+#
# Locate osgDB
# This module defines
#
diff --git a/Modules/FindosgFX.cmake b/Modules/FindosgFX.cmake
index 81d5af5a2..331475093 100644
--- a/Modules/FindosgFX.cmake
+++ b/Modules/FindosgFX.cmake
@@ -1,14 +1,14 @@
# This is part of the Findosg* suite used to find OpenSceneGraph components.
-# Each component is separate and you must opt in to each module. You must
-# also opt into OpenGL and OpenThreads (and Producer if needed) as these
-# modules won't do it for you. This is to allow you control over your own
+# Each component is separate and you must opt in to each module. You must
+# also opt into OpenGL and OpenThreads (and Producer if needed) as these
+# modules won't do it for you. This is to allow you control over your own
# system piece by piece in case you need to opt out of certain components
# or change the Find behavior for a particular module (perhaps because the
# default FindOpenGL.cmake module doesn't work with your system as an
# example).
# If you want to use a more convenient module that includes everything,
# use the FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
+#
# Locate osgFX
# This module defines
#
diff --git a/Modules/FindosgGA.cmake b/Modules/FindosgGA.cmake
index a4fe79b0d..fd9317d5e 100644
--- a/Modules/FindosgGA.cmake
+++ b/Modules/FindosgGA.cmake
@@ -1,14 +1,14 @@
# This is part of the Findosg* suite used to find OpenSceneGraph components.
-# Each component is separate and you must opt in to each module. You must
-# also opt into OpenGL and OpenThreads (and Producer if needed) as these
-# modules won't do it for you. This is to allow you control over your own
+# Each component is separate and you must opt in to each module. You must
+# also opt into OpenGL and OpenThreads (and Producer if needed) as these
+# modules won't do it for you. This is to allow you control over your own
# system piece by piece in case you need to opt out of certain components
# or change the Find behavior for a particular module (perhaps because the
# default FindOpenGL.cmake module doesn't work with your system as an
# example).
# If you want to use a more convenient module that includes everything,
# use the FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
+#
# Locate osgGA
# This module defines
#
diff --git a/Modules/FindosgIntrospection.cmake b/Modules/FindosgIntrospection.cmake
index 24e6ed585..2394c0592 100644
--- a/Modules/FindosgIntrospection.cmake
+++ b/Modules/FindosgIntrospection.cmake
@@ -1,14 +1,14 @@
# This is part of the Findosg* suite used to find OpenSceneGraph components.
-# Each component is separate and you must opt in to each module. You must
-# also opt into OpenGL and OpenThreads (and Producer if needed) as these
-# modules won't do it for you. This is to allow you control over your own
+# Each component is separate and you must opt in to each module. You must
+# also opt into OpenGL and OpenThreads (and Producer if needed) as these
+# modules won't do it for you. This is to allow you control over your own
# system piece by piece in case you need to opt out of certain components
# or change the Find behavior for a particular module (perhaps because the
# default FindOpenGL.cmake module doesn't work with your system as an
# example).
# If you want to use a more convenient module that includes everything,
# use the FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
+#
# Locate osgINTROSPECTION
# This module defines
#
diff --git a/Modules/FindosgManipulator.cmake b/Modules/FindosgManipulator.cmake
index f71b5fd5c..9e5857083 100644
--- a/Modules/FindosgManipulator.cmake
+++ b/Modules/FindosgManipulator.cmake
@@ -1,14 +1,14 @@
# This is part of the Findosg* suite used to find OpenSceneGraph components.
-# Each component is separate and you must opt in to each module. You must
-# also opt into OpenGL and OpenThreads (and Producer if needed) as these
-# modules won't do it for you. This is to allow you control over your own
+# Each component is separate and you must opt in to each module. You must
+# also opt into OpenGL and OpenThreads (and Producer if needed) as these
+# modules won't do it for you. This is to allow you control over your own
# system piece by piece in case you need to opt out of certain components
# or change the Find behavior for a particular module (perhaps because the
# default FindOpenGL.cmake module doesn't work with your system as an
# example).
# If you want to use a more convenient module that includes everything,
# use the FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
+#
# Locate osgManipulator
# This module defines
#
diff --git a/Modules/FindosgParticle.cmake b/Modules/FindosgParticle.cmake
index f23a83fdd..2f93389ff 100644
--- a/Modules/FindosgParticle.cmake
+++ b/Modules/FindosgParticle.cmake
@@ -1,14 +1,14 @@
# This is part of the Findosg* suite used to find OpenSceneGraph components.
-# Each component is separate and you must opt in to each module. You must
-# also opt into OpenGL and OpenThreads (and Producer if needed) as these
-# modules won't do it for you. This is to allow you control over your own
+# Each component is separate and you must opt in to each module. You must
+# also opt into OpenGL and OpenThreads (and Producer if needed) as these
+# modules won't do it for you. This is to allow you control over your own
# system piece by piece in case you need to opt out of certain components
# or change the Find behavior for a particular module (perhaps because the
# default FindOpenGL.cmake module doesn't work with your system as an
# example).
# If you want to use a more convenient module that includes everything,
# use the FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
+#
# Locate osgParticle
# This module defines
#
diff --git a/Modules/FindosgProducer.cmake b/Modules/FindosgProducer.cmake
index 51f609064..2c3800b54 100644
--- a/Modules/FindosgProducer.cmake
+++ b/Modules/FindosgProducer.cmake
@@ -1,14 +1,14 @@
# This is part of the Findosg* suite used to find OpenSceneGraph components.
-# Each component is separate and you must opt in to each module. You must
-# also opt into OpenGL and OpenThreads (and Producer if needed) as these
-# modules won't do it for you. This is to allow you control over your own
+# Each component is separate and you must opt in to each module. You must
+# also opt into OpenGL and OpenThreads (and Producer if needed) as these
+# modules won't do it for you. This is to allow you control over your own
# system piece by piece in case you need to opt out of certain components
# or change the Find behavior for a particular module (perhaps because the
# default FindOpenGL.cmake module doesn't work with your system as an
# example).
# If you want to use a more convenient module that includes everything,
# use the FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
+#
# Locate osgProducer
# This module defines
#
diff --git a/Modules/FindosgShadow.cmake b/Modules/FindosgShadow.cmake
index 278f8ae9e..ca87b5611 100644
--- a/Modules/FindosgShadow.cmake
+++ b/Modules/FindosgShadow.cmake
@@ -1,14 +1,14 @@
# This is part of the Findosg* suite used to find OpenSceneGraph components.
-# Each component is separate and you must opt in to each module. You must
-# also opt into OpenGL and OpenThreads (and Producer if needed) as these
-# modules won't do it for you. This is to allow you control over your own
+# Each component is separate and you must opt in to each module. You must
+# also opt into OpenGL and OpenThreads (and Producer if needed) as these
+# modules won't do it for you. This is to allow you control over your own
# system piece by piece in case you need to opt out of certain components
# or change the Find behavior for a particular module (perhaps because the
# default FindOpenGL.cmake module doesn't work with your system as an
# example).
# If you want to use a more convenient module that includes everything,
# use the FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
+#
# Locate osgShadow
# This module defines
#
diff --git a/Modules/FindosgSim.cmake b/Modules/FindosgSim.cmake
index 15daf64fe..2fc5105d1 100644
--- a/Modules/FindosgSim.cmake
+++ b/Modules/FindosgSim.cmake
@@ -1,14 +1,14 @@
# This is part of the Findosg* suite used to find OpenSceneGraph components.
-# Each component is separate and you must opt in to each module. You must
-# also opt into OpenGL and OpenThreads (and Producer if needed) as these
-# modules won't do it for you. This is to allow you control over your own
+# Each component is separate and you must opt in to each module. You must
+# also opt into OpenGL and OpenThreads (and Producer if needed) as these
+# modules won't do it for you. This is to allow you control over your own
# system piece by piece in case you need to opt out of certain components
# or change the Find behavior for a particular module (perhaps because the
# default FindOpenGL.cmake module doesn't work with your system as an
# example).
# If you want to use a more convenient module that includes everything,
# use the FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
+#
# Locate osgSim
# This module defines
#
diff --git a/Modules/FindosgTerrain.cmake b/Modules/FindosgTerrain.cmake
index fbf373e59..eafd8fbc0 100644
--- a/Modules/FindosgTerrain.cmake
+++ b/Modules/FindosgTerrain.cmake
@@ -1,14 +1,14 @@
# This is part of the Findosg* suite used to find OpenSceneGraph components.
-# Each component is separate and you must opt in to each module. You must
-# also opt into OpenGL and OpenThreads (and Producer if needed) as these
-# modules won't do it for you. This is to allow you control over your own
+# Each component is separate and you must opt in to each module. You must
+# also opt into OpenGL and OpenThreads (and Producer if needed) as these
+# modules won't do it for you. This is to allow you control over your own
# system piece by piece in case you need to opt out of certain components
# or change the Find behavior for a particular module (perhaps because the
# default FindOpenGL.cmake module doesn't work with your system as an
# example).
# If you want to use a more convenient module that includes everything,
# use the FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
+#
# Locate osgTerrain
# This module defines
#
diff --git a/Modules/FindosgText.cmake b/Modules/FindosgText.cmake
index 22f825f54..57655b196 100644
--- a/Modules/FindosgText.cmake
+++ b/Modules/FindosgText.cmake
@@ -1,14 +1,14 @@
# This is part of the Findosg* suite used to find OpenSceneGraph components.
-# Each component is separate and you must opt in to each module. You must
-# also opt into OpenGL and OpenThreads (and Producer if needed) as these
-# modules won't do it for you. This is to allow you control over your own
+# Each component is separate and you must opt in to each module. You must
+# also opt into OpenGL and OpenThreads (and Producer if needed) as these
+# modules won't do it for you. This is to allow you control over your own
# system piece by piece in case you need to opt out of certain components
# or change the Find behavior for a particular module (perhaps because the
# default FindOpenGL.cmake module doesn't work with your system as an
# example).
# If you want to use a more convenient module that includes everything,
# use the FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
+#
# Locate osgText
# This module defines
#
diff --git a/Modules/FindosgUtil.cmake b/Modules/FindosgUtil.cmake
index 05a74df84..eeabc34af 100644
--- a/Modules/FindosgUtil.cmake
+++ b/Modules/FindosgUtil.cmake
@@ -1,14 +1,14 @@
# This is part of the Findosg* suite used to find OpenSceneGraph components.
-# Each component is separate and you must opt in to each module. You must
-# also opt into OpenGL and OpenThreads (and Producer if needed) as these
-# modules won't do it for you. This is to allow you control over your own
+# Each component is separate and you must opt in to each module. You must
+# also opt into OpenGL and OpenThreads (and Producer if needed) as these
+# modules won't do it for you. This is to allow you control over your own
# system piece by piece in case you need to opt out of certain components
# or change the Find behavior for a particular module (perhaps because the
# default FindOpenGL.cmake module doesn't work with your system as an
# example).
# If you want to use a more convenient module that includes everything,
# use the FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
+#
# Locate osgUtil
# This module defines
#
diff --git a/Modules/FindosgViewer.cmake b/Modules/FindosgViewer.cmake
index 650dbd7ef..2afd76195 100644
--- a/Modules/FindosgViewer.cmake
+++ b/Modules/FindosgViewer.cmake
@@ -1,14 +1,14 @@
# This is part of the Findosg* suite used to find OpenSceneGraph components.
-# Each component is separate and you must opt in to each module. You must
-# also opt into OpenGL and OpenThreads (and Producer if needed) as these
-# modules won't do it for you. This is to allow you control over your own
+# Each component is separate and you must opt in to each module. You must
+# also opt into OpenGL and OpenThreads (and Producer if needed) as these
+# modules won't do it for you. This is to allow you control over your own
# system piece by piece in case you need to opt out of certain components
# or change the Find behavior for a particular module (perhaps because the
# default FindOpenGL.cmake module doesn't work with your system as an
# example).
# If you want to use a more convenient module that includes everything,
# use the FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
+#
# Locate osgViewer
# This module defines
#
diff --git a/Modules/FindosgVolume.cmake b/Modules/FindosgVolume.cmake
index 3ad7edc24..1fa6764a7 100644
--- a/Modules/FindosgVolume.cmake
+++ b/Modules/FindosgVolume.cmake
@@ -1,14 +1,14 @@
# This is part of the Findosg* suite used to find OpenSceneGraph components.
-# Each component is separate and you must opt in to each module. You must
-# also opt into OpenGL and OpenThreads (and Producer if needed) as these
-# modules won't do it for you. This is to allow you control over your own
+# Each component is separate and you must opt in to each module. You must
+# also opt into OpenGL and OpenThreads (and Producer if needed) as these
+# modules won't do it for you. This is to allow you control over your own
# system piece by piece in case you need to opt out of certain components
# or change the Find behavior for a particular module (perhaps because the
# default FindOpenGL.cmake module doesn't work with your system as an
# example).
# If you want to use a more convenient module that includes everything,
# use the FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
+#
# Locate osgVolume
# This module defines
#
diff --git a/Modules/FindosgWidget.cmake b/Modules/FindosgWidget.cmake
index 206a8b7f5..1a51e6014 100644
--- a/Modules/FindosgWidget.cmake
+++ b/Modules/FindosgWidget.cmake
@@ -1,14 +1,14 @@
# This is part of the Findosg* suite used to find OpenSceneGraph components.
-# Each component is separate and you must opt in to each module. You must
-# also opt into OpenGL and OpenThreads (and Producer if needed) as these
-# modules won't do it for you. This is to allow you control over your own
+# Each component is separate and you must opt in to each module. You must
+# also opt into OpenGL and OpenThreads (and Producer if needed) as these
+# modules won't do it for you. This is to allow you control over your own
# system piece by piece in case you need to opt out of certain components
# or change the Find behavior for a particular module (perhaps because the
# default FindOpenGL.cmake module doesn't work with your system as an
# example).
# If you want to use a more convenient module that includes everything,
# use the FindOpenSceneGraph.cmake instead of the Findosg*.cmake modules.
-#
+#
# Locate osgWidget
# This module defines
#
diff --git a/Modules/Findosg_functions.cmake b/Modules/Findosg_functions.cmake
index ab836ff9f..2e908379f 100644
--- a/Modules/Findosg_functions.cmake
+++ b/Modules/Findosg_functions.cmake
@@ -1,11 +1,12 @@
#
# This CMake file contains two macros to assist with searching for OSG
-# libraries and nodekits.
+# libraries and nodekits. Please see FindOpenSceneGraph.cmake for full
+# documentation.
#
#=============================================================================
# Copyright 2009 Kitware, Inc.
-# Copyright 2009 Philip Lowman <philip@yhbt.com>
+# Copyright 2009-2012 Philip Lowman <philip@yhbt.com>
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
@@ -26,10 +27,12 @@ function(OSG_FIND_PATH module header)
# Try the user's environment request before anything else.
find_path(${module_uc}_INCLUDE_DIR ${header}
HINTS
- $ENV{${module_uc}_DIR}
- $ENV{OSG_DIR}
- $ENV{OSGDIR}
- $ENV{OSG_ROOT}
+ ENV ${module_uc}_DIR
+ ENV OSG_DIR
+ ENV OSGDIR
+ ENV OSG_ROOT
+ ${${module_uc}_DIR}
+ ${OSG_DIR}
PATH_SUFFIXES include
PATHS
/sw # Fink
@@ -38,7 +41,7 @@ function(OSG_FIND_PATH module header)
/opt
/usr/freeware
)
-endfunction(OSG_FIND_PATH module header)
+endfunction()
#
@@ -50,11 +53,13 @@ function(OSG_FIND_LIBRARY module library)
find_library(${module_uc}_LIBRARY
NAMES ${library}
HINTS
- $ENV{${module_uc}_DIR}
- $ENV{OSG_DIR}
- $ENV{OSGDIR}
- $ENV{OSG_ROOT}
- PATH_SUFFIXES lib64 lib
+ ENV ${module_uc}_DIR
+ ENV OSG_DIR
+ ENV OSGDIR
+ ENV OSG_ROOT
+ ${${module_uc}_DIR}
+ ${OSG_DIR}
+ PATH_SUFFIXES lib
PATHS
/sw # Fink
/opt/local # DarwinPorts
@@ -66,11 +71,13 @@ function(OSG_FIND_LIBRARY module library)
find_library(${module_uc}_LIBRARY_DEBUG
NAMES ${library}d
HINTS
- $ENV{${module_uc}_DIR}
- $ENV{OSG_DIR}
- $ENV{OSGDIR}
- $ENV{OSG_ROOT}
- PATH_SUFFIXES lib64 lib
+ ENV ${module_uc}_DIR
+ ENV OSG_DIR
+ ENV OSGDIR
+ ENV OSG_ROOT
+ ${${module_uc}_DIR}
+ ${OSG_DIR}
+ PATH_SUFFIXES lib
PATHS
/sw # Fink
/opt/local # DarwinPorts
@@ -85,13 +92,13 @@ function(OSG_FIND_LIBRARY module library)
set(${module_uc}_LIBRARIES ${${module_uc}_LIBRARY} PARENT_SCOPE)
else()
# They really have a FOO_LIBRARY_DEBUG
- set(${module_uc}_LIBRARIES
+ set(${module_uc}_LIBRARIES
optimized ${${module_uc}_LIBRARY}
debug ${${module_uc}_LIBRARY_DEBUG}
PARENT_SCOPE
)
endif()
-endfunction(OSG_FIND_LIBRARY module library)
+endfunction()
#
# OSG_MARK_AS_ADVANCED
diff --git a/Modules/FindwxWidgets.cmake b/Modules/FindwxWidgets.cmake
index 865a6c5d1..218d47613 100644
--- a/Modules/FindwxWidgets.cmake
+++ b/Modules/FindwxWidgets.cmake
@@ -3,9 +3,9 @@
# configuration to use. wxWidgets is a modular library. To specify the
# modules that you will use, you need to name them as components to
# the package:
-#
-# FIND_PACKAGE(wxWidgets COMPONENTS core base ...)
-#
+#
+# find_package(wxWidgets COMPONENTS core base ...)
+#
# There are two search branches: a windows style and a unix style. For
# windows, the following variables are searched for and set to
# defaults in case of multiple choices. Change them if the defaults
@@ -22,7 +22,7 @@
# - Set to TRUE to exclude linking of
# commonly required libs (e.g., png tiff
# jpeg zlib regex expat).
-#
+#
# For unix style it uses the wx-config utility. You can select between
# debug/release, unicode/ansi, universal/non-universal, and
# static/shared in the QtDialog or ccmake interfaces by turning ON/OFF
@@ -38,7 +38,7 @@
# example, to use the base toolkit found in the /usr/local path, set
# the variable (before calling the FIND_PACKAGE command) as such:
#
-# SET(wxWidgets_CONFIG_OPTIONS --toolkit=base --prefix=/usr)
+# set(wxWidgets_CONFIG_OPTIONS --toolkit=base --prefix=/usr)
#
# The following are set after the configuration is done for both
# windows and unix style:
@@ -62,18 +62,18 @@
#
# Sample usage:
# # Note that for MinGW users the order of libs is important!
-# FIND_PACKAGE(wxWidgets COMPONENTS net gl core base)
-# IF(wxWidgets_FOUND)
-# INCLUDE(${wxWidgets_USE_FILE})
+# find_package(wxWidgets COMPONENTS net gl core base)
+# if(wxWidgets_FOUND)
+# include(${wxWidgets_USE_FILE})
# # and for each of your dependent executable/library targets:
-# TARGET_LINK_LIBRARIES(<YourTarget> ${wxWidgets_LIBRARIES})
-# ENDIF(wxWidgets_FOUND)
+# target_link_libraries(<YourTarget> ${wxWidgets_LIBRARIES})
+# endif()
#
# If wxWidgets is required (i.e., not an optional part):
-# FIND_PACKAGE(wxWidgets REQUIRED net gl core base)
-# INCLUDE(${wxWidgets_USE_FILE})
+# find_package(wxWidgets REQUIRED net gl core base)
+# include(${wxWidgets_USE_FILE})
# # and for each of your dependent executable/library targets:
-# TARGET_LINK_LIBRARIES(<YourTarget> ${wxWidgets_LIBRARIES})
+# target_link_libraries(<YourTarget> ${wxWidgets_LIBRARIES})
#=============================================================================
# Copyright 2004-2009 Kitware, Inc.
@@ -94,7 +94,7 @@
# Remember to connect back to the upper text.
# Sample usage with monolithic wx build:
#
-# FIND_PACKAGE(wxWidgets COMPONENTS mono)
+# find_package(wxWidgets COMPONENTS mono)
# ...
# NOTES
@@ -140,24 +140,24 @@
# FIXME: This and all the DBG_MSG calls should be removed after the
# module stabilizes.
-#
+#
# Helper macro to control the debugging output globally. There are
# two versions for controlling how verbose your output should be.
-MACRO(DBG_MSG _MSG)
-# MESSAGE(STATUS
+macro(DBG_MSG _MSG)
+# message(STATUS
# "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): ${_MSG}")
-ENDMACRO(DBG_MSG)
-MACRO(DBG_MSG_V _MSG)
-# MESSAGE(STATUS
+endmacro()
+macro(DBG_MSG_V _MSG)
+# message(STATUS
# "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): ${_MSG}")
-ENDMACRO(DBG_MSG_V)
+endmacro()
# Clear return values in case the module is loaded more than once.
-SET(wxWidgets_FOUND FALSE)
-SET(wxWidgets_INCLUDE_DIRS "")
-SET(wxWidgets_LIBRARIES "")
-SET(wxWidgets_LIBRARY_DIRS "")
-SET(wxWidgets_CXX_FLAGS "")
+set(wxWidgets_FOUND FALSE)
+set(wxWidgets_INCLUDE_DIRS "")
+set(wxWidgets_LIBRARIES "")
+set(wxWidgets_LIBRARY_DIRS "")
+set(wxWidgets_CXX_FLAGS "")
# Using SYSTEM with INCLUDE_DIRECTORIES in conjunction with wxWidgets on
# the Mac produces compiler errors. Set wxWidgets_INCLUDE_DIRS_NO_SYSTEM
@@ -167,9 +167,9 @@ SET(wxWidgets_CXX_FLAGS "")
# http://www.cmake.org/pipermail/cmake/2008-April/021115.html
# http://www.cmake.org/pipermail/cmake/2008-April/021146.html
#
-IF(APPLE OR CMAKE_CXX_PLATFORM_ID MATCHES "OpenBSD")
- SET(wxWidgets_INCLUDE_DIRS_NO_SYSTEM 1)
-ENDIF()
+if(APPLE OR CMAKE_CXX_PLATFORM_ID MATCHES "OpenBSD")
+ set(wxWidgets_INCLUDE_DIRS_NO_SYSTEM 1)
+endif()
# DEPRECATED: This is a patch to support the DEPRECATED use of
# wxWidgets_USE_LIBS.
@@ -177,9 +177,9 @@ ENDIF()
# If wxWidgets_USE_LIBS is set:
# - if using <components>, then override wxWidgets_USE_LIBS
# - else set wxWidgets_FIND_COMPONENTS to wxWidgets_USE_LIBS
-IF(wxWidgets_USE_LIBS AND NOT wxWidgets_FIND_COMPONENTS)
- SET(wxWidgets_FIND_COMPONENTS ${wxWidgets_USE_LIBS})
-ENDIF(wxWidgets_USE_LIBS AND NOT wxWidgets_FIND_COMPONENTS)
+if(wxWidgets_USE_LIBS AND NOT wxWidgets_FIND_COMPONENTS)
+ set(wxWidgets_FIND_COMPONENTS ${wxWidgets_USE_LIBS})
+endif()
DBG_MSG("wxWidgets_FIND_COMPONENTS : ${wxWidgets_FIND_COMPONENTS}")
# Add the convenience use file if available.
@@ -187,50 +187,50 @@ DBG_MSG("wxWidgets_FIND_COMPONENTS : ${wxWidgets_FIND_COMPONENTS}")
# Get dir of this file which may reside in:
# - CMAKE_MAKE_ROOT/Modules on CMake installation
# - CMAKE_MODULE_PATH if user prefers his own specialized version
-SET(wxWidgets_USE_FILE "")
-GET_FILENAME_COMPONENT(
+set(wxWidgets_USE_FILE "")
+get_filename_component(
wxWidgets_CURRENT_LIST_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
# Prefer an existing customized version, but the user might override
# the FindwxWidgets module and not the UsewxWidgets one.
-IF(EXISTS "${wxWidgets_CURRENT_LIST_DIR}/UsewxWidgets.cmake")
- SET(wxWidgets_USE_FILE
+if(EXISTS "${wxWidgets_CURRENT_LIST_DIR}/UsewxWidgets.cmake")
+ set(wxWidgets_USE_FILE
"${wxWidgets_CURRENT_LIST_DIR}/UsewxWidgets.cmake")
-ELSE(EXISTS "${wxWidgets_CURRENT_LIST_DIR}/UsewxWidgets.cmake")
- SET(wxWidgets_USE_FILE UsewxWidgets)
-ENDIF(EXISTS "${wxWidgets_CURRENT_LIST_DIR}/UsewxWidgets.cmake")
+else()
+ set(wxWidgets_USE_FILE UsewxWidgets)
+endif()
#=====================================================================
#=====================================================================
-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)
+if(WIN32 AND NOT CYGWIN AND NOT MSYS)
+ set(wxWidgets_FIND_STYLE "win32")
+else()
+ if(UNIX OR MSYS)
+ set(wxWidgets_FIND_STYLE "unix")
+ endif()
+endif()
#=====================================================================
# WIN32_FIND_STYLE
#=====================================================================
-IF(wxWidgets_FIND_STYLE STREQUAL "win32")
+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)
+ set(wxWidgets_COMMON_LIBRARIES png tiff jpeg zlib regex expat)
- # DEPRECATED: Use FIND_PACKAGE(wxWidgets COMPONENTS mono) instead.
- IF(NOT wxWidgets_FIND_COMPONENTS)
- IF(wxWidgets_USE_MONOLITHIC)
- SET(wxWidgets_FIND_COMPONENTS mono)
- ELSE(wxWidgets_USE_MONOLITHIC)
- SET(wxWidgets_FIND_COMPONENTS core base) # this is default
- ENDIF(wxWidgets_USE_MONOLITHIC)
- ENDIF(NOT wxWidgets_FIND_COMPONENTS)
+ # DEPRECATED: Use find_package(wxWidgets COMPONENTS mono) instead.
+ if(NOT wxWidgets_FIND_COMPONENTS)
+ if(wxWidgets_USE_MONOLITHIC)
+ set(wxWidgets_FIND_COMPONENTS mono)
+ else()
+ set(wxWidgets_FIND_COMPONENTS core base) # this is default
+ endif()
+ endif()
# Add the common (usually required libs) unless
# wxWidgets_EXCLUDE_COMMON_LIBRARIES has been set.
- IF(NOT wxWidgets_EXCLUDE_COMMON_LIBRARIES)
- LIST(APPEND wxWidgets_FIND_COMPONENTS
+ if(NOT wxWidgets_EXCLUDE_COMMON_LIBRARIES)
+ list(APPEND wxWidgets_FIND_COMPONENTS
${wxWidgets_COMMON_LIBRARIES})
- ENDIF(NOT wxWidgets_EXCLUDE_COMMON_LIBRARIES)
+ endif()
#-------------------------------------------------------------------
# WIN32: Helper MACROS
@@ -240,19 +240,19 @@ IF(wxWidgets_FIND_STYLE STREQUAL "win32")
# if _CONFIGURATION = mswunivud, then _UNV=univ, _UCD=u _DBG=d
# if _CONFIGURATION = mswu, then _UNV="", _UCD=u _DBG=""
#
- MACRO(WX_GET_NAME_COMPONENTS _CONFIGURATION _UNV _UCD _DBG)
- STRING(REGEX MATCH "univ" ${_UNV} "${_CONFIGURATION}")
- STRING(REGEX REPLACE "msw.*(u)[d]*$" "u" ${_UCD} "${_CONFIGURATION}")
- IF(${_UCD} STREQUAL ${_CONFIGURATION})
- SET(${_UCD} "")
- ENDIF(${_UCD} STREQUAL ${_CONFIGURATION})
- STRING(REGEX MATCH "d$" ${_DBG} "${_CONFIGURATION}")
- ENDMACRO(WX_GET_NAME_COMPONENTS)
+ macro(WX_GET_NAME_COMPONENTS _CONFIGURATION _UNV _UCD _DBG)
+ string(REGEX MATCH "univ" ${_UNV} "${_CONFIGURATION}")
+ string(REGEX REPLACE "msw.*(u)[d]*$" "u" ${_UCD} "${_CONFIGURATION}")
+ if(${_UCD} STREQUAL ${_CONFIGURATION})
+ set(${_UCD} "")
+ endif()
+ string(REGEX MATCH "d$" ${_DBG} "${_CONFIGURATION}")
+ endmacro()
#
# Find libraries associated to a configuration.
#
- MACRO(WX_FIND_LIBS _UNV _UCD _DBG)
+ macro(WX_FIND_LIBS _UNV _UCD _DBG)
DBG_MSG_V("m_unv = ${_UNV}")
DBG_MSG_V("m_ucd = ${_UCD}")
DBG_MSG_V("m_dbg = ${_DBG}")
@@ -260,19 +260,19 @@ IF(wxWidgets_FIND_STYLE STREQUAL "win32")
# FIXME: What if both regex libs are available. regex should be
# found outside the loop and only wx${LIB}${_UCD}${_DBG}.
# Find wxWidgets common libraries.
- FOREACH(LIB ${wxWidgets_COMMON_LIBRARIES} scintilla)
- FIND_LIBRARY(WX_${LIB}${_DBG}
+ foreach(LIB ${wxWidgets_COMMON_LIBRARIES} scintilla)
+ find_library(WX_${LIB}${_DBG}
NAMES
wx${LIB}${_UCD}${_DBG} # for regex
wx${LIB}${_DBG}
PATHS ${WX_LIB_DIR}
NO_DEFAULT_PATH
)
- MARK_AS_ADVANCED(WX_${LIB}${_DBG})
- ENDFOREACH(LIB)
+ mark_as_advanced(WX_${LIB}${_DBG})
+ endforeach()
# Find wxWidgets multilib base libraries.
- FIND_LIBRARY(WX_base${_DBG}
+ find_library(WX_base${_DBG}
NAMES
wxbase29${_UCD}${_DBG}
wxbase28${_UCD}${_DBG}
@@ -282,9 +282,9 @@ IF(wxWidgets_FIND_STYLE STREQUAL "win32")
PATHS ${WX_LIB_DIR}
NO_DEFAULT_PATH
)
- MARK_AS_ADVANCED(WX_base${_DBG})
- FOREACH(LIB net odbc xml)
- FIND_LIBRARY(WX_${LIB}${_DBG}
+ mark_as_advanced(WX_base${_DBG})
+ foreach(LIB net odbc xml)
+ find_library(WX_${LIB}${_DBG}
NAMES
wxbase29${_UCD}${_DBG}_${LIB}
wxbase28${_UCD}${_DBG}_${LIB}
@@ -294,11 +294,11 @@ IF(wxWidgets_FIND_STYLE STREQUAL "win32")
PATHS ${WX_LIB_DIR}
NO_DEFAULT_PATH
)
- MARK_AS_ADVANCED(WX_${LIB}${_DBG})
- ENDFOREACH(LIB)
+ mark_as_advanced(WX_${LIB}${_DBG})
+ endforeach()
# Find wxWidgets monolithic library.
- FIND_LIBRARY(WX_mono${_DBG}
+ find_library(WX_mono${_DBG}
NAMES
wxmsw${_UNV}29${_UCD}${_DBG}
wxmsw${_UNV}28${_UCD}${_DBG}
@@ -308,12 +308,12 @@ IF(wxWidgets_FIND_STYLE STREQUAL "win32")
PATHS ${WX_LIB_DIR}
NO_DEFAULT_PATH
)
- MARK_AS_ADVANCED(WX_mono${_DBG})
+ mark_as_advanced(WX_mono${_DBG})
# Find wxWidgets multilib libraries.
- FOREACH(LIB core adv aui html media xrc dbgrid gl qa richtext
+ foreach(LIB core adv aui html media xrc dbgrid gl qa richtext
stc ribbon propgrid webview)
- FIND_LIBRARY(WX_${LIB}${_DBG}
+ find_library(WX_${LIB}${_DBG}
NAMES
wxmsw${_UNV}29${_UCD}${_DBG}_${LIB}
wxmsw${_UNV}28${_UCD}${_DBG}_${LIB}
@@ -323,111 +323,111 @@ IF(wxWidgets_FIND_STYLE STREQUAL "win32")
PATHS ${WX_LIB_DIR}
NO_DEFAULT_PATH
)
- MARK_AS_ADVANCED(WX_${LIB}${_DBG})
- ENDFOREACH(LIB)
- ENDMACRO(WX_FIND_LIBS)
+ mark_as_advanced(WX_${LIB}${_DBG})
+ endforeach()
+ endmacro()
#
# Clear all library paths, so that FIND_LIBRARY refinds them.
#
# Clear a lib, reset its found flag, and mark as advanced.
- MACRO(WX_CLEAR_LIB _LIB)
- SET(${_LIB} "${_LIB}-NOTFOUND" CACHE FILEPATH "Cleared." FORCE)
- SET(${_LIB}_FOUND FALSE)
- MARK_AS_ADVANCED(${_LIB})
- ENDMACRO(WX_CLEAR_LIB)
+ macro(WX_CLEAR_LIB _LIB)
+ set(${_LIB} "${_LIB}-NOTFOUND" CACHE FILEPATH "Cleared." FORCE)
+ set(${_LIB}_FOUND FALSE)
+ mark_as_advanced(${_LIB})
+ endmacro()
# Clear all debug or release library paths (arguments are "d" or "").
- MACRO(WX_CLEAR_ALL_LIBS _DBG)
+ macro(WX_CLEAR_ALL_LIBS _DBG)
# Clear wxWidgets common libraries.
- FOREACH(LIB ${wxWidgets_COMMON_LIBRARIES} scintilla)
+ foreach(LIB ${wxWidgets_COMMON_LIBRARIES} scintilla)
WX_CLEAR_LIB(WX_${LIB}${_DBG})
- ENDFOREACH(LIB)
+ endforeach()
# Clear wxWidgets multilib base libraries.
WX_CLEAR_LIB(WX_base${_DBG})
- FOREACH(LIB net odbc xml)
+ foreach(LIB net odbc xml)
WX_CLEAR_LIB(WX_${LIB}${_DBG})
- ENDFOREACH(LIB)
+ endforeach()
# Clear wxWidgets monolithic library.
WX_CLEAR_LIB(WX_mono${_DBG})
# Clear wxWidgets multilib libraries.
- FOREACH(LIB core adv aui html media xrc dbgrid gl qa richtext
+ foreach(LIB core adv aui html media xrc dbgrid gl qa richtext
stc ribbon propgrid)
WX_CLEAR_LIB(WX_${LIB}${_DBG})
- ENDFOREACH(LIB)
- ENDMACRO(WX_CLEAR_ALL_LIBS)
+ endforeach()
+ endmacro()
# Clear all wxWidgets debug libraries.
- MACRO(WX_CLEAR_ALL_DBG_LIBS)
+ macro(WX_CLEAR_ALL_DBG_LIBS)
WX_CLEAR_ALL_LIBS("d")
- ENDMACRO(WX_CLEAR_ALL_DBG_LIBS)
+ endmacro()
# Clear all wxWidgets release libraries.
- MACRO(WX_CLEAR_ALL_REL_LIBS)
+ macro(WX_CLEAR_ALL_REL_LIBS)
WX_CLEAR_ALL_LIBS("")
- ENDMACRO(WX_CLEAR_ALL_REL_LIBS)
+ endmacro()
#
# Set the wxWidgets_LIBRARIES variable.
# Also, Sets output variable wxWidgets_FOUND to FALSE if it fails.
#
- MACRO(WX_SET_LIBRARIES _LIBS _DBG)
+ macro(WX_SET_LIBRARIES _LIBS _DBG)
DBG_MSG_V("Looking for ${${_LIBS}}")
- IF(WX_USE_REL_AND_DBG)
- FOREACH(LIB ${${_LIBS}})
+ if(WX_USE_REL_AND_DBG)
+ foreach(LIB ${${_LIBS}})
DBG_MSG_V("Searching for ${LIB} and ${LIB}d")
DBG_MSG_V("WX_${LIB} : ${WX_${LIB}}")
DBG_MSG_V("WX_${LIB}d : ${WX_${LIB}d}")
- IF(WX_${LIB} AND WX_${LIB}d)
+ if(WX_${LIB} AND WX_${LIB}d)
DBG_MSG_V("Found ${LIB} and ${LIB}d")
- LIST(APPEND wxWidgets_LIBRARIES
+ list(APPEND wxWidgets_LIBRARIES
debug ${WX_${LIB}d} optimized ${WX_${LIB}}
)
- ELSE(WX_${LIB} AND WX_${LIB}d)
+ else()
DBG_MSG_V("- not found due to missing WX_${LIB}=${WX_${LIB}} or WX_${LIB}d=${WX_${LIB}d}")
- SET(wxWidgets_FOUND FALSE)
- ENDIF(WX_${LIB} AND WX_${LIB}d)
- ENDFOREACH(LIB)
- ELSE(WX_USE_REL_AND_DBG)
- FOREACH(LIB ${${_LIBS}})
+ set(wxWidgets_FOUND FALSE)
+ endif()
+ endforeach()
+ else()
+ foreach(LIB ${${_LIBS}})
DBG_MSG_V("Searching for ${LIB}${_DBG}")
DBG_MSG_V("WX_${LIB}${_DBG} : ${WX_${LIB}${_DBG}}")
- IF(WX_${LIB}${_DBG})
+ if(WX_${LIB}${_DBG})
DBG_MSG_V("Found ${LIB}${_DBG}")
- LIST(APPEND wxWidgets_LIBRARIES ${WX_${LIB}${_DBG}})
- ELSE(WX_${LIB}${_DBG})
+ list(APPEND wxWidgets_LIBRARIES ${WX_${LIB}${_DBG}})
+ else()
DBG_MSG_V(
"- not found due to missing WX_${LIB}${_DBG}=${WX_${LIB}${_DBG}}")
- SET(wxWidgets_FOUND FALSE)
- ENDIF(WX_${LIB}${_DBG})
- ENDFOREACH(LIB)
- ENDIF(WX_USE_REL_AND_DBG)
+ set(wxWidgets_FOUND FALSE)
+ endif()
+ endforeach()
+ endif()
DBG_MSG_V("OpenGL")
- LIST(FIND ${_LIBS} gl WX_USE_GL)
- IF(NOT WX_USE_GL EQUAL -1)
+ list(FIND ${_LIBS} gl WX_USE_GL)
+ if(NOT WX_USE_GL EQUAL -1)
DBG_MSG_V("- is required.")
- LIST(APPEND wxWidgets_LIBRARIES opengl32 glu32)
- ENDIF(NOT WX_USE_GL EQUAL -1)
+ list(APPEND wxWidgets_LIBRARIES opengl32 glu32)
+ endif()
- LIST(APPEND wxWidgets_LIBRARIES winmm comctl32 rpcrt4 wsock32)
- ENDMACRO(WX_SET_LIBRARIES)
+ list(APPEND wxWidgets_LIBRARIES winmm comctl32 rpcrt4 wsock32)
+ endmacro()
#-------------------------------------------------------------------
# WIN32: Start actual work.
#-------------------------------------------------------------------
# Look for an installation tree.
- FIND_PATH(wxWidgets_ROOT_DIR
+ find_path(wxWidgets_ROOT_DIR
NAMES include/wx/wx.h
PATHS
- $ENV{wxWidgets_ROOT_DIR}
- $ENV{WXWIN}
+ ENV wxWidgets_ROOT_DIR
+ ENV WXWIN
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\wxWidgets_is1;Inno Setup: App Path]" # WX 2.6.x
C:/
D:/
- $ENV{ProgramFiles}
- PATH_SUFFIXES
+ ENV ProgramFiles
+ PATH_SUFFIXES
wxWidgets-2.9.4
wxWidgets-2.9.3
wxWidgets-2.9.2
@@ -462,24 +462,24 @@ IF(wxWidgets_FIND_STYLE STREQUAL "win32")
)
# If wxWidgets_ROOT_DIR changed, clear lib dir.
- IF(NOT WX_ROOT_DIR STREQUAL wxWidgets_ROOT_DIR)
- SET(WX_ROOT_DIR ${wxWidgets_ROOT_DIR}
+ if(NOT WX_ROOT_DIR STREQUAL wxWidgets_ROOT_DIR)
+ set(WX_ROOT_DIR ${wxWidgets_ROOT_DIR}
CACHE INTERNAL "wxWidgets_ROOT_DIR")
- SET(wxWidgets_LIB_DIR "wxWidgets_LIB_DIR-NOTFOUND"
+ set(wxWidgets_LIB_DIR "wxWidgets_LIB_DIR-NOTFOUND"
CACHE PATH "Cleared." FORCE)
- ENDIF(NOT WX_ROOT_DIR STREQUAL wxWidgets_ROOT_DIR)
+ endif()
- IF(WX_ROOT_DIR)
+ if(WX_ROOT_DIR)
# 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
+ if(MINGW)
+ set(WX_LIB_DIR_PREFIX gcc)
+ else()
+ set(WX_LIB_DIR_PREFIX vc)
+ endif()
+ if(BUILD_SHARED_LIBS)
+ find_path(wxWidgets_LIB_DIR
NAMES
msw/wx/setup.h
mswd/wx/setup.h
@@ -495,8 +495,8 @@ IF(wxWidgets_FIND_STYLE STREQUAL "win32")
DOC "Path to wxWidgets libraries?"
NO_DEFAULT_PATH
)
- ELSE(BUILD_SHARED_LIBS)
- FIND_PATH(wxWidgets_LIB_DIR
+ else()
+ find_path(wxWidgets_LIB_DIR
NAMES
msw/wx/setup.h
mswd/wx/setup.h
@@ -512,202 +512,202 @@ IF(wxWidgets_FIND_STYLE STREQUAL "win32")
DOC "Path to wxWidgets libraries?"
NO_DEFAULT_PATH
)
- ENDIF(BUILD_SHARED_LIBS)
+ endif()
# If wxWidgets_LIB_DIR changed, clear all libraries.
- IF(NOT WX_LIB_DIR STREQUAL wxWidgets_LIB_DIR)
- SET(WX_LIB_DIR ${wxWidgets_LIB_DIR} CACHE INTERNAL "wxWidgets_LIB_DIR")
+ if(NOT WX_LIB_DIR STREQUAL wxWidgets_LIB_DIR)
+ set(WX_LIB_DIR ${wxWidgets_LIB_DIR} CACHE INTERNAL "wxWidgets_LIB_DIR")
WX_CLEAR_ALL_DBG_LIBS()
WX_CLEAR_ALL_REL_LIBS()
- ENDIF(NOT WX_LIB_DIR STREQUAL wxWidgets_LIB_DIR)
+ endif()
- IF(WX_LIB_DIR)
+ if(WX_LIB_DIR)
# If building shared libs, define WXUSINGDLL to use dllimport.
- IF(WX_LIB_DIR MATCHES ".*[dD][lL][lL].*")
- SET(wxWidgets_DEFINITIONS WXUSINGDLL)
+ if(WX_LIB_DIR MATCHES ".*[dD][lL][lL].*")
+ set(wxWidgets_DEFINITIONS WXUSINGDLL)
DBG_MSG_V("detected SHARED/DLL tree WX_LIB_DIR=${WX_LIB_DIR}")
- ENDIF(WX_LIB_DIR MATCHES ".*[dD][lL][lL].*")
+ endif()
# Search for available configuration types.
- FOREACH(CFG mswunivud mswunivd mswud mswd mswunivu mswuniv mswu msw)
- SET(WX_${CFG}_FOUND FALSE)
- IF(EXISTS ${WX_LIB_DIR}/${CFG})
- LIST(APPEND WX_CONFIGURATION_LIST ${CFG})
- SET(WX_${CFG}_FOUND TRUE)
- SET(WX_CONFIGURATION ${CFG})
- ENDIF(EXISTS ${WX_LIB_DIR}/${CFG})
- ENDFOREACH(CFG)
+ foreach(CFG mswunivud mswunivd mswud mswd mswunivu mswuniv mswu msw)
+ set(WX_${CFG}_FOUND FALSE)
+ if(EXISTS ${WX_LIB_DIR}/${CFG})
+ list(APPEND WX_CONFIGURATION_LIST ${CFG})
+ set(WX_${CFG}_FOUND TRUE)
+ set(WX_CONFIGURATION ${CFG})
+ endif()
+ endforeach()
DBG_MSG_V("WX_CONFIGURATION_LIST=${WX_CONFIGURATION_LIST}")
- IF(WX_CONFIGURATION)
- SET(wxWidgets_FOUND TRUE)
+ if(WX_CONFIGURATION)
+ set(wxWidgets_FOUND TRUE)
# If the selected configuration wasn't found force the default
# one. Otherwise, use it but still force a refresh for
# updating the doc string with the current list of available
# configurations.
- IF(NOT WX_${wxWidgets_CONFIGURATION}_FOUND)
- SET(wxWidgets_CONFIGURATION ${WX_CONFIGURATION} CACHE STRING
+ if(NOT WX_${wxWidgets_CONFIGURATION}_FOUND)
+ set(wxWidgets_CONFIGURATION ${WX_CONFIGURATION} CACHE STRING
"Set wxWidgets configuration (${WX_CONFIGURATION_LIST})" FORCE)
- ELSE(NOT WX_${wxWidgets_CONFIGURATION}_FOUND)
- SET(wxWidgets_CONFIGURATION ${wxWidgets_CONFIGURATION} CACHE STRING
+ else()
+ set(wxWidgets_CONFIGURATION ${wxWidgets_CONFIGURATION} CACHE STRING
"Set wxWidgets configuration (${WX_CONFIGURATION_LIST})" FORCE)
- ENDIF(NOT WX_${wxWidgets_CONFIGURATION}_FOUND)
+ endif()
# If release config selected, and both release/debug exist.
- IF(WX_${wxWidgets_CONFIGURATION}d_FOUND)
- OPTION(wxWidgets_USE_REL_AND_DBG
+ if(WX_${wxWidgets_CONFIGURATION}d_FOUND)
+ option(wxWidgets_USE_REL_AND_DBG
"Use release and debug configurations?" TRUE)
- SET(WX_USE_REL_AND_DBG ${wxWidgets_USE_REL_AND_DBG})
- ELSE(WX_${wxWidgets_CONFIGURATION}d_FOUND)
+ set(WX_USE_REL_AND_DBG ${wxWidgets_USE_REL_AND_DBG})
+ else()
# If the option exists (already in cache), force it false.
- IF(wxWidgets_USE_REL_AND_DBG)
- SET(wxWidgets_USE_REL_AND_DBG FALSE CACHE BOOL
+ if(wxWidgets_USE_REL_AND_DBG)
+ set(wxWidgets_USE_REL_AND_DBG FALSE CACHE BOOL
"No ${wxWidgets_CONFIGURATION}d found." FORCE)
- ENDIF(wxWidgets_USE_REL_AND_DBG)
- SET(WX_USE_REL_AND_DBG FALSE)
- ENDIF(WX_${wxWidgets_CONFIGURATION}d_FOUND)
+ endif()
+ set(WX_USE_REL_AND_DBG FALSE)
+ endif()
# Get configuration parameters from the name.
WX_GET_NAME_COMPONENTS(${wxWidgets_CONFIGURATION} UNV UCD DBG)
# Set wxWidgets lib setup include directory.
- IF(EXISTS ${WX_LIB_DIR}/${wxWidgets_CONFIGURATION}/wx/setup.h)
- SET(wxWidgets_INCLUDE_DIRS
+ if(EXISTS ${WX_LIB_DIR}/${wxWidgets_CONFIGURATION}/wx/setup.h)
+ set(wxWidgets_INCLUDE_DIRS
${WX_LIB_DIR}/${wxWidgets_CONFIGURATION})
- ELSE(EXISTS ${WX_LIB_DIR}/${wxWidgets_CONFIGURATION}/wx/setup.h)
+ else()
DBG_MSG("wxWidgets_FOUND FALSE because ${WX_LIB_DIR}/${wxWidgets_CONFIGURATION}/wx/setup.h does not exists.")
- SET(wxWidgets_FOUND FALSE)
- ENDIF(EXISTS ${WX_LIB_DIR}/${wxWidgets_CONFIGURATION}/wx/setup.h)
+ set(wxWidgets_FOUND FALSE)
+ endif()
# Set wxWidgets main include directory.
- IF(EXISTS ${WX_ROOT_DIR}/include/wx/wx.h)
- LIST(APPEND wxWidgets_INCLUDE_DIRS ${WX_ROOT_DIR}/include)
- ELSE(EXISTS ${WX_ROOT_DIR}/include/wx/wx.h)
+ if(EXISTS ${WX_ROOT_DIR}/include/wx/wx.h)
+ list(APPEND wxWidgets_INCLUDE_DIRS ${WX_ROOT_DIR}/include)
+ else()
DBG_MSG("wxWidgets_FOUND FALSE because WX_ROOT_DIR=${WX_ROOT_DIR} has no ${WX_ROOT_DIR}/include/wx/wx.h")
- SET(wxWidgets_FOUND FALSE)
- ENDIF(EXISTS ${WX_ROOT_DIR}/include/wx/wx.h)
+ set(wxWidgets_FOUND FALSE)
+ endif()
# Find wxWidgets libraries.
WX_FIND_LIBS("${UNV}" "${UCD}" "${DBG}")
- IF(WX_USE_REL_AND_DBG)
+ if(WX_USE_REL_AND_DBG)
WX_FIND_LIBS("${UNV}" "${UCD}" "d")
- ENDIF(WX_USE_REL_AND_DBG)
+ endif()
# Settings for requested libs (i.e., include dir, libraries, etc.).
WX_SET_LIBRARIES(wxWidgets_FIND_COMPONENTS "${DBG}")
# Add necessary definitions for unicode builds
- IF("${UCD}" STREQUAL "u")
- LIST(APPEND wxWidgets_DEFINITIONS UNICODE _UNICODE)
- ENDIF("${UCD}" STREQUAL "u")
+ if("${UCD}" STREQUAL "u")
+ list(APPEND wxWidgets_DEFINITIONS UNICODE _UNICODE)
+ endif()
# Add necessary definitions for debug builds
- SET(wxWidgets_DEFINITIONS_DEBUG _DEBUG __WXDEBUG__)
+ set(wxWidgets_DEFINITIONS_DEBUG _DEBUG __WXDEBUG__)
- ENDIF(WX_CONFIGURATION)
- ENDIF(WX_LIB_DIR)
- ENDIF(WX_ROOT_DIR)
+ endif()
+ endif()
+ endif()
#=====================================================================
# UNIX_FIND_STYLE
#=====================================================================
-ELSE(wxWidgets_FIND_STYLE STREQUAL "win32")
- IF(wxWidgets_FIND_STYLE STREQUAL "unix")
+else()
+ if(wxWidgets_FIND_STYLE STREQUAL "unix")
#-----------------------------------------------------------------
# UNIX: Helper MACROS
#-----------------------------------------------------------------
#
# Set the default values based on "wx-config --selected-config".
#
- MACRO(WX_CONFIG_SELECT_GET_DEFAULT)
- EXECUTE_PROCESS(
+ macro(WX_CONFIG_SELECT_GET_DEFAULT)
+ execute_process(
COMMAND sh "${wxWidgets_CONFIG_EXECUTABLE}"
${wxWidgets_CONFIG_OPTIONS} --selected-config
OUTPUT_VARIABLE _wx_selected_config
RESULT_VARIABLE _wx_result
ERROR_QUIET
)
- IF(_wx_result EQUAL 0)
- FOREACH(_opt_name debug static unicode universal)
- STRING(TOUPPER ${_opt_name} _upper_opt_name)
- IF(_wx_selected_config MATCHES ".*${_opt_name}.*")
- SET(wxWidgets_DEFAULT_${_upper_opt_name} ON)
- ELSE(_wx_selected_config MATCHES ".*${_opt_name}.*")
- SET(wxWidgets_DEFAULT_${_upper_opt_name} OFF)
- ENDIF(_wx_selected_config MATCHES ".*${_opt_name}.*")
- ENDFOREACH(_opt_name)
- ELSE(_wx_result EQUAL 0)
- FOREACH(_upper_opt_name DEBUG STATIC UNICODE UNIVERSAL)
- SET(wxWidgets_DEFAULT_${_upper_opt_name} OFF)
- ENDFOREACH(_upper_opt_name)
- ENDIF(_wx_result EQUAL 0)
- ENDMACRO(WX_CONFIG_SELECT_GET_DEFAULT)
+ if(_wx_result EQUAL 0)
+ foreach(_opt_name debug static unicode universal)
+ string(TOUPPER ${_opt_name} _upper_opt_name)
+ if(_wx_selected_config MATCHES ".*${_opt_name}.*")
+ set(wxWidgets_DEFAULT_${_upper_opt_name} ON)
+ else()
+ set(wxWidgets_DEFAULT_${_upper_opt_name} OFF)
+ endif()
+ endforeach()
+ else()
+ foreach(_upper_opt_name DEBUG STATIC UNICODE UNIVERSAL)
+ set(wxWidgets_DEFAULT_${_upper_opt_name} OFF)
+ endforeach()
+ endif()
+ endmacro()
#
# Query a boolean configuration option to determine if the system
# has both builds available. If so, provide the selection option
# to the user.
#
- MACRO(WX_CONFIG_SELECT_QUERY_BOOL _OPT_NAME _OPT_HELP)
- EXECUTE_PROCESS(
+ macro(WX_CONFIG_SELECT_QUERY_BOOL _OPT_NAME _OPT_HELP)
+ execute_process(
COMMAND sh "${wxWidgets_CONFIG_EXECUTABLE}"
${wxWidgets_CONFIG_OPTIONS} --${_OPT_NAME}=yes
RESULT_VARIABLE _wx_result_yes
OUTPUT_QUIET
ERROR_QUIET
)
- EXECUTE_PROCESS(
+ execute_process(
COMMAND sh "${wxWidgets_CONFIG_EXECUTABLE}"
${wxWidgets_CONFIG_OPTIONS} --${_OPT_NAME}=no
RESULT_VARIABLE _wx_result_no
OUTPUT_QUIET
ERROR_QUIET
)
- STRING(TOUPPER ${_OPT_NAME} _UPPER_OPT_NAME)
- IF(_wx_result_yes EQUAL 0 AND _wx_result_no EQUAL 0)
- OPTION(wxWidgets_USE_${_UPPER_OPT_NAME}
+ string(TOUPPER ${_OPT_NAME} _UPPER_OPT_NAME)
+ if(_wx_result_yes EQUAL 0 AND _wx_result_no EQUAL 0)
+ option(wxWidgets_USE_${_UPPER_OPT_NAME}
${_OPT_HELP} ${wxWidgets_DEFAULT_${_UPPER_OPT_NAME}})
- ELSE(_wx_result_yes EQUAL 0 AND _wx_result_no EQUAL 0)
+ else()
# If option exists (already in cache), force to available one.
- IF(DEFINED wxWidgets_USE_${_UPPER_OPT_NAME})
- IF(_wx_result_yes EQUAL 0)
- SET(wxWidgets_USE_${_UPPER_OPT_NAME} ON CACHE BOOL ${_OPT_HELP} FORCE)
- ELSE(_wx_result_yes EQUAL 0)
- SET(wxWidgets_USE_${_UPPER_OPT_NAME} OFF CACHE BOOL ${_OPT_HELP} FORCE)
- ENDIF(_wx_result_yes EQUAL 0)
- ENDIF(DEFINED wxWidgets_USE_${_UPPER_OPT_NAME})
- ENDIF(_wx_result_yes EQUAL 0 AND _wx_result_no EQUAL 0)
- ENDMACRO(WX_CONFIG_SELECT_QUERY_BOOL)
-
- #
+ if(DEFINED wxWidgets_USE_${_UPPER_OPT_NAME})
+ if(_wx_result_yes EQUAL 0)
+ set(wxWidgets_USE_${_UPPER_OPT_NAME} ON CACHE BOOL ${_OPT_HELP} FORCE)
+ else()
+ set(wxWidgets_USE_${_UPPER_OPT_NAME} OFF CACHE BOOL ${_OPT_HELP} FORCE)
+ endif()
+ endif()
+ endif()
+ endmacro()
+
+ #
# Set wxWidgets_SELECT_OPTIONS to wx-config options for selecting
# among multiple builds.
#
- MACRO(WX_CONFIG_SELECT_SET_OPTIONS)
- SET(wxWidgets_SELECT_OPTIONS ${wxWidgets_CONFIG_OPTIONS})
- FOREACH(_opt_name debug static unicode universal)
- STRING(TOUPPER ${_opt_name} _upper_opt_name)
- IF(DEFINED wxWidgets_USE_${_upper_opt_name})
- IF(wxWidgets_USE_${_upper_opt_name})
- LIST(APPEND wxWidgets_SELECT_OPTIONS --${_opt_name}=yes)
- ELSE(wxWidgets_USE_${_upper_opt_name})
- LIST(APPEND wxWidgets_SELECT_OPTIONS --${_opt_name}=no)
- ENDIF(wxWidgets_USE_${_upper_opt_name})
- ENDIF(DEFINED wxWidgets_USE_${_upper_opt_name})
- ENDFOREACH(_opt_name)
- ENDMACRO(WX_CONFIG_SELECT_SET_OPTIONS)
+ macro(WX_CONFIG_SELECT_SET_OPTIONS)
+ set(wxWidgets_SELECT_OPTIONS ${wxWidgets_CONFIG_OPTIONS})
+ foreach(_opt_name debug static unicode universal)
+ string(TOUPPER ${_opt_name} _upper_opt_name)
+ if(DEFINED wxWidgets_USE_${_upper_opt_name})
+ if(wxWidgets_USE_${_upper_opt_name})
+ list(APPEND wxWidgets_SELECT_OPTIONS --${_opt_name}=yes)
+ else()
+ list(APPEND wxWidgets_SELECT_OPTIONS --${_opt_name}=no)
+ endif()
+ endif()
+ endforeach()
+ endmacro()
#-----------------------------------------------------------------
# UNIX: Start actual work.
#-----------------------------------------------------------------
# Support cross-compiling, only search in the target platform.
- FIND_PROGRAM(wxWidgets_CONFIG_EXECUTABLE wx-config
+ find_program(wxWidgets_CONFIG_EXECUTABLE wx-config
ONLY_CMAKE_FIND_ROOT_PATH
)
- IF(wxWidgets_CONFIG_EXECUTABLE)
- SET(wxWidgets_FOUND TRUE)
+ if(wxWidgets_CONFIG_EXECUTABLE)
+ set(wxWidgets_FOUND TRUE)
# get defaults based on "wx-config --selected-config"
WX_CONFIG_SELECT_GET_DEFAULT()
@@ -723,99 +723,99 @@ ELSE(wxWidgets_FIND_STYLE STREQUAL "win32")
DBG_MSG("wxWidgets_SELECT_OPTIONS=${wxWidgets_SELECT_OPTIONS}")
# run the wx-config program to get cxxflags
- EXECUTE_PROCESS(
+ execute_process(
COMMAND sh "${wxWidgets_CONFIG_EXECUTABLE}"
${wxWidgets_SELECT_OPTIONS} --cxxflags
OUTPUT_VARIABLE wxWidgets_CXX_FLAGS
RESULT_VARIABLE RET
ERROR_QUIET
)
- IF(RET EQUAL 0)
- STRING(STRIP "${wxWidgets_CXX_FLAGS}" wxWidgets_CXX_FLAGS)
- SEPARATE_ARGUMENTS(wxWidgets_CXX_FLAGS)
+ if(RET EQUAL 0)
+ string(STRIP "${wxWidgets_CXX_FLAGS}" wxWidgets_CXX_FLAGS)
+ separate_arguments(wxWidgets_CXX_FLAGS)
DBG_MSG_V("wxWidgets_CXX_FLAGS=${wxWidgets_CXX_FLAGS}")
# parse definitions from cxxflags;
# drop -D* from CXXFLAGS and the -D prefix
- STRING(REGEX MATCHALL "-D[^;]+"
+ string(REGEX MATCHALL "-D[^;]+"
wxWidgets_DEFINITIONS "${wxWidgets_CXX_FLAGS}")
- STRING(REGEX REPLACE "-D[^;]+(;|$)" ""
+ string(REGEX REPLACE "-D[^;]+(;|$)" ""
wxWidgets_CXX_FLAGS "${wxWidgets_CXX_FLAGS}")
- STRING(REGEX REPLACE ";$" ""
+ string(REGEX REPLACE ";$" ""
wxWidgets_CXX_FLAGS "${wxWidgets_CXX_FLAGS}")
- STRING(REPLACE "-D" ""
+ string(REPLACE "-D" ""
wxWidgets_DEFINITIONS "${wxWidgets_DEFINITIONS}")
# parse include dirs from cxxflags; drop -I prefix
- STRING(REGEX MATCHALL "-I[^;]+"
+ string(REGEX MATCHALL "-I[^;]+"
wxWidgets_INCLUDE_DIRS "${wxWidgets_CXX_FLAGS}")
- STRING(REGEX REPLACE "-I[^;]+;" ""
+ string(REGEX REPLACE "-I[^;]+;" ""
wxWidgets_CXX_FLAGS "${wxWidgets_CXX_FLAGS}")
- STRING(REPLACE "-I" ""
+ string(REPLACE "-I" ""
wxWidgets_INCLUDE_DIRS "${wxWidgets_INCLUDE_DIRS}")
DBG_MSG_V("wxWidgets_DEFINITIONS=${wxWidgets_DEFINITIONS}")
DBG_MSG_V("wxWidgets_INCLUDE_DIRS=${wxWidgets_INCLUDE_DIRS}")
DBG_MSG_V("wxWidgets_CXX_FLAGS=${wxWidgets_CXX_FLAGS}")
- ELSE(RET EQUAL 0)
- SET(wxWidgets_FOUND FALSE)
+ else()
+ set(wxWidgets_FOUND FALSE)
DBG_MSG_V(
"${wxWidgets_CONFIG_EXECUTABLE} --cxxflags FAILED with RET=${RET}")
- ENDIF(RET EQUAL 0)
+ endif()
# run the wx-config program to get the libs
# - NOTE: wx-config doesn't verify that the libs requested exist
# it just produces the names. Maybe a TRY_COMPILE would
# be useful here...
- STRING(REPLACE ";" ","
+ string(REPLACE ";" ","
wxWidgets_FIND_COMPONENTS "${wxWidgets_FIND_COMPONENTS}")
- EXECUTE_PROCESS(
+ execute_process(
COMMAND sh "${wxWidgets_CONFIG_EXECUTABLE}"
${wxWidgets_SELECT_OPTIONS} --libs ${wxWidgets_FIND_COMPONENTS}
OUTPUT_VARIABLE wxWidgets_LIBRARIES
RESULT_VARIABLE RET
ERROR_QUIET
)
- IF(RET EQUAL 0)
- STRING(STRIP "${wxWidgets_LIBRARIES}" wxWidgets_LIBRARIES)
- SEPARATE_ARGUMENTS(wxWidgets_LIBRARIES)
- STRING(REPLACE "-framework;" "-framework "
+ if(RET EQUAL 0)
+ string(STRIP "${wxWidgets_LIBRARIES}" wxWidgets_LIBRARIES)
+ separate_arguments(wxWidgets_LIBRARIES)
+ string(REPLACE "-framework;" "-framework "
wxWidgets_LIBRARIES "${wxWidgets_LIBRARIES}")
- STRING(REPLACE "-arch;" "-arch "
+ string(REPLACE "-arch;" "-arch "
wxWidgets_LIBRARIES "${wxWidgets_LIBRARIES}")
- STRING(REPLACE "-isysroot;" "-isysroot "
+ string(REPLACE "-isysroot;" "-isysroot "
wxWidgets_LIBRARIES "${wxWidgets_LIBRARIES}")
# extract linkdirs (-L) for rpath (i.e., LINK_DIRECTORIES)
- STRING(REGEX MATCHALL "-L[^;]+"
+ string(REGEX MATCHALL "-L[^;]+"
wxWidgets_LIBRARY_DIRS "${wxWidgets_LIBRARIES}")
- STRING(REPLACE "-L" ""
+ string(REPLACE "-L" ""
wxWidgets_LIBRARY_DIRS "${wxWidgets_LIBRARY_DIRS}")
DBG_MSG_V("wxWidgets_LIBRARIES=${wxWidgets_LIBRARIES}")
DBG_MSG_V("wxWidgets_LIBRARY_DIRS=${wxWidgets_LIBRARY_DIRS}")
- ELSE(RET EQUAL 0)
- SET(wxWidgets_FOUND FALSE)
+ else()
+ set(wxWidgets_FOUND FALSE)
DBG_MSG("${wxWidgets_CONFIG_EXECUTABLE} --libs ${wxWidgets_FIND_COMPONENTS} FAILED with RET=${RET}")
- ENDIF(RET EQUAL 0)
- ENDIF(wxWidgets_CONFIG_EXECUTABLE)
+ endif()
+ endif()
#=====================================================================
# Neither UNIX_FIND_STYLE, nor WIN32_FIND_STYLE
#=====================================================================
- ELSE(wxWidgets_FIND_STYLE STREQUAL "unix")
- IF(NOT wxWidgets_FIND_QUIETLY)
- MESSAGE(STATUS
+ else()
+ 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 "
"find style."
)
- ENDIF(NOT wxWidgets_FIND_QUIETLY)
- ENDIF(wxWidgets_FIND_STYLE STREQUAL "unix")
-ENDIF(wxWidgets_FIND_STYLE STREQUAL "win32")
+ endif()
+ endif()
+endif()
# Debug output:
DBG_MSG("wxWidgets_FOUND : ${wxWidgets_FOUND}")
@@ -827,10 +827,10 @@ DBG_MSG("wxWidgets_USE_FILE : ${wxWidgets_USE_FILE}")
#=====================================================================
#=====================================================================
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(wxWidgets DEFAULT_MSG wxWidgets_FOUND)
# Maintain consistency with all other variables.
-SET(wxWidgets_FOUND ${WXWIDGETS_FOUND})
+set(wxWidgets_FOUND ${WXWIDGETS_FOUND})
#=====================================================================
# Macros for use in wxWidgets apps.
@@ -841,24 +841,24 @@ SET(wxWidgets_FOUND ${WXWIDGETS_FOUND})
#=====================================================================
# Resource file compiler.
-FIND_PROGRAM(wxWidgets_wxrc_EXECUTABLE wxrc
+find_program(wxWidgets_wxrc_EXECUTABLE wxrc
${wxWidgets_ROOT_DIR}/utils/wxrc/vc_msw
)
-#
+#
# WX_SPLIT_ARGUMENTS_ON(<keyword> <left> <right> <arg1> <arg2> ...)
-#
+#
# Sets <left> and <right> to contain arguments to the left and right,
# respectively, of <keyword>.
-#
+#
# Example usage:
-# FUNCTION(WXWIDGETS_ADD_RESOURCES outfiles)
+# function(WXWIDGETS_ADD_RESOURCES outfiles)
# WX_SPLIT_ARGUMENTS_ON(OPTIONS wxrc_files wxrc_options ${ARGN})
# ...
-# ENDFUNCTION(WXWIDGETS_ADD_RESOURCES)
+# endfunction()
#
# WXWIDGETS_ADD_RESOURCES(sources ${xrc_files} OPTIONS -e -o file.C)
-#
+#
# NOTE: This is a generic piece of code that should be renamed to
# SPLIT_ARGUMENTS_ON and put in a file serving the same purpose as
# FindPackageStandardArgs.cmake. At the time of this writing
@@ -866,29 +866,29 @@ FIND_PROGRAM(wxWidgets_wxrc_EXECUTABLE wxrc
# here a bit more generalized. So, there are already two find modules
# using this approach.
#
-FUNCTION(WX_SPLIT_ARGUMENTS_ON _keyword _leftvar _rightvar)
+function(WX_SPLIT_ARGUMENTS_ON _keyword _leftvar _rightvar)
# FIXME: Document that the input variables will be cleared.
- #LIST(APPEND ${_leftvar} "")
- #LIST(APPEND ${_rightvar} "")
- SET(${_leftvar} "")
- SET(${_rightvar} "")
-
- SET(_doing_right FALSE)
- FOREACH(element ${ARGN})
- IF("${element}" STREQUAL "${_keyword}")
- SET(_doing_right TRUE)
- ELSE("${element}" STREQUAL "${_keyword}")
- IF(_doing_right)
- LIST(APPEND ${_rightvar} "${element}")
- ELSE(_doing_right)
- LIST(APPEND ${_leftvar} "${element}")
- ENDIF(_doing_right)
- ENDIF("${element}" STREQUAL "${_keyword}")
- ENDFOREACH(element)
-
- SET(${_leftvar} ${${_leftvar}} PARENT_SCOPE)
- SET(${_rightvar} ${${_rightvar}} PARENT_SCOPE)
-ENDFUNCTION(WX_SPLIT_ARGUMENTS_ON)
+ #list(APPEND ${_leftvar} "")
+ #list(APPEND ${_rightvar} "")
+ set(${_leftvar} "")
+ set(${_rightvar} "")
+
+ set(_doing_right FALSE)
+ foreach(element ${ARGN})
+ if("${element}" STREQUAL "${_keyword}")
+ set(_doing_right TRUE)
+ else()
+ if(_doing_right)
+ list(APPEND ${_rightvar} "${element}")
+ else()
+ list(APPEND ${_leftvar} "${element}")
+ endif()
+ endif()
+ endforeach()
+
+ set(${_leftvar} ${${_leftvar}} PARENT_SCOPE)
+ set(${_rightvar} ${${_rightvar}} PARENT_SCOPE)
+endfunction()
#
# WX_GET_DEPENDENCIES_FROM_XML(
@@ -901,7 +901,7 @@ ENDFUNCTION(WX_SPLIT_ARGUMENTS_ON)
#
# FIXME: Add documentation here...
#
-FUNCTION(WX_GET_DEPENDENCIES_FROM_XML
+function(WX_GET_DEPENDENCIES_FROM_XML
_depends
_match_patt
_clean_patt
@@ -909,52 +909,52 @@ FUNCTION(WX_GET_DEPENDENCIES_FROM_XML
_depends_path
)
- STRING(REGEX MATCHALL
+ string(REGEX MATCHALL
${_match_patt}
dep_file_list
"${${_xml_contents}}"
)
- FOREACH(dep_file ${dep_file_list})
- STRING(REGEX REPLACE ${_clean_patt} "" dep_file "${dep_file}")
+ foreach(dep_file ${dep_file_list})
+ string(REGEX REPLACE ${_clean_patt} "" dep_file "${dep_file}")
# make the file have an absolute path
- IF(NOT IS_ABSOLUTE "${dep_file}")
- SET(dep_file "${${_depends_path}}/${dep_file}")
- ENDIF(NOT IS_ABSOLUTE "${dep_file}")
+ if(NOT IS_ABSOLUTE "${dep_file}")
+ set(dep_file "${${_depends_path}}/${dep_file}")
+ endif()
# append file to dependency list
- LIST(APPEND ${_depends} "${dep_file}")
- ENDFOREACH(dep_file)
+ list(APPEND ${_depends} "${dep_file}")
+ endforeach()
- SET(${_depends} ${${_depends}} PARENT_SCOPE)
-ENDFUNCTION(WX_GET_DEPENDENCIES_FROM_XML)
+ set(${_depends} ${${_depends}} PARENT_SCOPE)
+endfunction()
-#
+#
# WXWIDGETS_ADD_RESOURCES(<sources> <xrc_files>
# OPTIONS <options> [NO_CPP_CODE])
-#
+#
# Adds a custom command for resource file compilation of the
# <xrc_files> and appends the output files to <sources>.
-#
+#
# Example usages:
# WXWIDGETS_ADD_RESOURCES(sources xrc/main_frame.xrc)
# WXWIDGETS_ADD_RESOURCES(sources ${xrc_files} OPTIONS -e -o altname.cxx)
#
-FUNCTION(WXWIDGETS_ADD_RESOURCES _outfiles)
+function(WXWIDGETS_ADD_RESOURCES _outfiles)
WX_SPLIT_ARGUMENTS_ON(OPTIONS rc_file_list rc_options ${ARGN})
# Parse files for dependencies.
- SET(rc_file_list_abs "")
- SET(rc_depends "")
- FOREACH(rc_file ${rc_file_list})
- GET_FILENAME_COMPONENT(depends_path ${rc_file} PATH)
+ set(rc_file_list_abs "")
+ set(rc_depends "")
+ foreach(rc_file ${rc_file_list})
+ get_filename_component(depends_path ${rc_file} PATH)
- GET_FILENAME_COMPONENT(rc_file_abs ${rc_file} ABSOLUTE)
- LIST(APPEND rc_file_list_abs "${rc_file_abs}")
+ get_filename_component(rc_file_abs ${rc_file} ABSOLUTE)
+ list(APPEND rc_file_list_abs "${rc_file_abs}")
# All files have absolute paths or paths relative to the location
# of the rc file.
- FILE(READ "${rc_file_abs}" rc_file_contents)
+ file(READ "${rc_file_abs}" rc_file_contents)
# get bitmap/bitmap2 files
WX_GET_DEPENDENCIES_FROM_XML(
@@ -982,63 +982,63 @@ FUNCTION(WXWIDGETS_ADD_RESOURCES _outfiles)
rc_file_contents
depends_path
)
- ENDFOREACH(rc_file)
+ endforeach()
#
# Parse options.
- #
+ #
# If NO_CPP_CODE option specified, then produce .xrs file rather
# than a .cpp file (i.e., don't add the default --cpp-code option).
- LIST(FIND rc_options NO_CPP_CODE index)
- IF(index EQUAL -1)
- LIST(APPEND rc_options --cpp-code)
+ list(FIND rc_options NO_CPP_CODE index)
+ if(index EQUAL -1)
+ list(APPEND rc_options --cpp-code)
# wxrc's default output filename for cpp code.
- SET(outfile resource.cpp)
- ELSE(index EQUAL -1)
- LIST(REMOVE_AT rc_options ${index})
+ set(outfile resource.cpp)
+ else()
+ list(REMOVE_AT rc_options ${index})
# wxrc's default output filename for xrs file.
- SET(outfile resource.xrs)
- ENDIF(index EQUAL -1)
+ set(outfile resource.xrs)
+ endif()
# Get output name for use in ADD_CUSTOM_COMMAND.
# - short option scanning
- LIST(FIND rc_options -o index)
- IF(NOT index EQUAL -1)
- MATH(EXPR filename_index "${index} + 1")
- LIST(GET rc_options ${filename_index} outfile)
- #LIST(REMOVE_AT rc_options ${index} ${filename_index})
- ENDIF(NOT index EQUAL -1)
+ list(FIND rc_options -o index)
+ if(NOT index EQUAL -1)
+ math(EXPR filename_index "${index} + 1")
+ list(GET rc_options ${filename_index} outfile)
+ #list(REMOVE_AT rc_options ${index} ${filename_index})
+ endif()
# - long option scanning
- STRING(REGEX MATCH "--output=[^;]*" outfile_opt "${rc_options}")
- IF(outfile_opt)
- STRING(REPLACE "--output=" "" outfile "${outfile_opt}")
- ENDIF(outfile_opt)
- #STRING(REGEX REPLACE "--output=[^;]*;?" "" rc_options "${rc_options}")
- #STRING(REGEX REPLACE ";$" "" rc_options "${rc_options}")
-
- IF(NOT IS_ABSOLUTE "${outfile}")
- SET(outfile "${CMAKE_CURRENT_BINARY_DIR}/${outfile}")
- ENDIF(NOT IS_ABSOLUTE "${outfile}")
- ADD_CUSTOM_COMMAND(
+ string(REGEX MATCH "--output=[^;]*" outfile_opt "${rc_options}")
+ if(outfile_opt)
+ string(REPLACE "--output=" "" outfile "${outfile_opt}")
+ endif()
+ #string(REGEX REPLACE "--output=[^;]*;?" "" rc_options "${rc_options}")
+ #string(REGEX REPLACE ";$" "" rc_options "${rc_options}")
+
+ if(NOT IS_ABSOLUTE "${outfile}")
+ set(outfile "${CMAKE_CURRENT_BINARY_DIR}/${outfile}")
+ endif()
+ add_custom_command(
OUTPUT "${outfile}"
COMMAND ${wxWidgets_wxrc_EXECUTABLE} ${rc_options} ${rc_file_list_abs}
DEPENDS ${rc_file_list_abs} ${rc_depends}
)
# Add generated header to output file list.
- LIST(FIND rc_options -e short_index)
- LIST(FIND rc_options --extra-cpp-code long_index)
- IF(NOT short_index EQUAL -1 OR NOT long_index EQUAL -1)
- GET_FILENAME_COMPONENT(outfile_ext ${outfile} EXT)
- STRING(REPLACE "${outfile_ext}" ".h" outfile_header "${outfile}")
- LIST(APPEND ${_outfiles} "${outfile_header}")
- SET_SOURCE_FILES_PROPERTIES(
+ list(FIND rc_options -e short_index)
+ list(FIND rc_options --extra-cpp-code long_index)
+ if(NOT short_index EQUAL -1 OR NOT long_index EQUAL -1)
+ get_filename_component(outfile_ext ${outfile} EXT)
+ string(REPLACE "${outfile_ext}" ".h" outfile_header "${outfile}")
+ list(APPEND ${_outfiles} "${outfile_header}")
+ set_source_files_properties(
"${outfile_header}" PROPERTIES GENERATED TRUE
)
- ENDIF(NOT short_index EQUAL -1 OR NOT long_index EQUAL -1)
+ endif()
# Add generated file to output file list.
- LIST(APPEND ${_outfiles} "${outfile}")
+ list(APPEND ${_outfiles} "${outfile}")
- SET(${_outfiles} ${${_outfiles}} PARENT_SCOPE)
-ENDFUNCTION(WXWIDGETS_ADD_RESOURCES)
+ set(${_outfiles} ${${_outfiles}} PARENT_SCOPE)
+endfunction()
diff --git a/Modules/FindwxWindows.cmake b/Modules/FindwxWindows.cmake
index dfb28ff90..5030bcc9b 100644
--- a/Modules/FindwxWindows.cmake
+++ b/Modules/FindwxWindows.cmake
@@ -20,17 +20,17 @@
#
# OPTIONS
# If you need OpenGL support please
-# SET(WXWINDOWS_USE_GL 1)
+# set(WXWINDOWS_USE_GL 1)
# in your CMakeLists.txt *before* you include this file.
#
# HAVE_ISYSTEM - true required to replace -I by -isystem on g++
#
# For convenience include Use_wxWindows.cmake in your project's
-# CMakeLists.txt using INCLUDE(Use_wxWindows).
+# CMakeLists.txt using include(Use_wxWindows).
#
# USAGE
-# SET(WXWINDOWS_USE_GL 1)
-# FIND_PACKAGE(wxWindows)
+# set(WXWINDOWS_USE_GL 1)
+# find_package(wxWindows)
#
# NOTES
# wxWidgets 2.6.x is supported for monolithic builds
@@ -83,19 +83,19 @@
#
-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)
+ set(WIN32_STYLE_FIND 1)
+endif()
+if(MINGW)
+ set(WIN32_STYLE_FIND 0)
+ set(UNIX_STYLE_FIND 1)
+endif()
+if(UNIX)
+ set(UNIX_STYLE_FIND 1)
+endif()
-IF(WIN32_STYLE_FIND)
+if(WIN32_STYLE_FIND)
## ######################################################################
##
@@ -106,69 +106,68 @@ IF(WIN32_STYLE_FIND)
## fix the root dir to avoid mixing of headers/libs from different
## versions/builds:
- SET (WXWINDOWS_POSSIBLE_ROOT_PATHS
- $ENV{WXWIN}
- "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\wxWidgets_is1;Inno Setup: App Path]" ## WX 2.6.x
- "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\wxWindows_is1;Inno Setup: App Path]" ## WX 2.4.x
- C:\\wxWidgets-2.6.2
- D:\\wxWidgets-2.6.2
- C:\\wxWidgets-2.6.1
- D:\\wxWidgets-2.6.1
- C:\\wxWindows-2.4.2
- D:\\wxWindows-2.4.2
- )
-
## WX supports monolithic and multiple smaller libs (since 2.5.x), we prefer monolithic for now.
## monolithic = WX is built as a single big library
## e.g. compile on WIN32 as "nmake -f makefile.vc MONOLITHIC=1 BUILD=debug SHARED=0 USE_OPENGL=1" (JW)
- OPTION(WXWINDOWS_USE_MONOLITHIC "Use monolithic build of WX??" ON)
- MARK_AS_ADVANCED(WXWINDOWS_USE_MONOLITHIC)
+ option(WXWINDOWS_USE_MONOLITHIC "Use monolithic build of WX??" ON)
+ mark_as_advanced(WXWINDOWS_USE_MONOLITHIC)
## GL libs used?
- OPTION(WXWINDOWS_USE_GL "Use Wx with GL support(glcanvas)?" ON)
- MARK_AS_ADVANCED(WXWINDOWS_USE_GL)
+ option(WXWINDOWS_USE_GL "Use Wx with GL support(glcanvas)?" ON)
+ mark_as_advanced(WXWINDOWS_USE_GL)
## avoid mixing of headers and libs between multiple installed WX versions,
## select just one tree here:
- FIND_PATH(WXWINDOWS_ROOT_DIR include/wx/wx.h
- ${WXWINDOWS_POSSIBLE_ROOT_PATHS} )
- # MESSAGE("DBG found WXWINDOWS_ROOT_DIR: ${WXWINDOWS_ROOT_DIR}")
+ find_path(WXWINDOWS_ROOT_DIR include/wx/wx.h
+ HINTS
+ ENV WXWIN
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\wxWidgets_is1;Inno Setup: App Path]" ## WX 2.6.x
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\wxWindows_is1;Inno Setup: App Path]" ## WX 2.4.x
+ PATHS
+ C:/wxWidgets-2.6.2
+ D:/wxWidgets-2.6.2
+ C:/wxWidgets-2.6.1
+ D:/wxWidgets-2.6.1
+ C:/wxWindows-2.4.2
+ D:/wxWindows-2.4.2
+ )
+ # message("DBG found WXWINDOWS_ROOT_DIR: ${WXWINDOWS_ROOT_DIR}")
## find libs for combination of static/shared with release/debug
## be careful if you add something here,
## avoid mixing of headers and libs of different wx versions,
## there may be multiple WX versions installed.
- SET (WXWINDOWS_POSSIBLE_LIB_PATHS
+ set (WXWINDOWS_POSSIBLE_LIB_PATHS
"${WXWINDOWS_ROOT_DIR}/lib"
)
## monolithic?
- IF (WXWINDOWS_USE_MONOLITHIC)
+ if (WXWINDOWS_USE_MONOLITHIC)
- FIND_LIBRARY(WXWINDOWS_STATIC_LIBRARY
+ find_library(WXWINDOWS_STATIC_LIBRARY
NAMES wx wxmsw wxmsw26
PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows static release build library" )
- FIND_LIBRARY(WXWINDOWS_STATIC_DEBUG_LIBRARY
+ find_library(WXWINDOWS_STATIC_DEBUG_LIBRARY
NAMES wxd wxmswd wxmsw26d
PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows static debug build library" )
- FIND_LIBRARY(WXWINDOWS_SHARED_LIBRARY
+ find_library(WXWINDOWS_SHARED_LIBRARY
NAMES wxmsw26 wxmsw262 wxmsw24 wxmsw242 wxmsw241 wxmsw240 wx23_2 wx22_9
PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_dll"
${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows shared release build library" )
- FIND_LIBRARY(WXWINDOWS_SHARED_DEBUG_LIBRARY
+ find_library(WXWINDOWS_SHARED_DEBUG_LIBRARY
NAMES wxmsw26d wxmsw262d wxmsw24d wxmsw241d wxmsw240d wx23_2d wx22_9d
PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_dll"
@@ -180,14 +179,14 @@ IF(WIN32_STYLE_FIND)
## required for WXWINDOWS_USE_GL
## gl lib is always build separate:
##
- FIND_LIBRARY(WXWINDOWS_STATIC_LIBRARY_GL
+ find_library(WXWINDOWS_STATIC_LIBRARY_GL
NAMES wx_gl wxmsw_gl wxmsw26_gl
PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows static release build GL library" )
- FIND_LIBRARY(WXWINDOWS_STATIC_DEBUG_LIBRARY_GL
+ find_library(WXWINDOWS_STATIC_DEBUG_LIBRARY_GL
NAMES wxd_gl wxmswd_gl wxmsw26d_gl
PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
@@ -195,70 +194,70 @@ IF(WIN32_STYLE_FIND)
DOC "wxWindows static debug build GL library" )
- FIND_LIBRARY(WXWINDOWS_STATIC_DEBUG_LIBRARY_PNG
+ find_library(WXWINDOWS_STATIC_DEBUG_LIBRARY_PNG
NAMES wxpngd
PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows static debug png library" )
- FIND_LIBRARY(WXWINDOWS_STATIC_LIBRARY_PNG
+ find_library(WXWINDOWS_STATIC_LIBRARY_PNG
NAMES wxpng
PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows static png library" )
- FIND_LIBRARY(WXWINDOWS_STATIC_DEBUG_LIBRARY_TIFF
+ find_library(WXWINDOWS_STATIC_DEBUG_LIBRARY_TIFF
NAMES wxtiffd
PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows static debug tiff library" )
- FIND_LIBRARY(WXWINDOWS_STATIC_LIBRARY_TIFF
+ find_library(WXWINDOWS_STATIC_LIBRARY_TIFF
NAMES wxtiff
PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows static tiff library" )
- FIND_LIBRARY(WXWINDOWS_STATIC_DEBUG_LIBRARY_JPEG
+ find_library(WXWINDOWS_STATIC_DEBUG_LIBRARY_JPEG
NAMES wxjpegd wxjpgd
PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows static debug jpeg library" )
- FIND_LIBRARY(WXWINDOWS_STATIC_LIBRARY_JPEG
+ find_library(WXWINDOWS_STATIC_LIBRARY_JPEG
NAMES wxjpeg wxjpg
PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows static jpeg library" )
- FIND_LIBRARY(WXWINDOWS_STATIC_DEBUG_LIBRARY_ZLIB
+ find_library(WXWINDOWS_STATIC_DEBUG_LIBRARY_ZLIB
NAMES wxzlibd
PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows static debug zlib library" )
- FIND_LIBRARY(WXWINDOWS_STATIC_LIBRARY_ZLIB
+ find_library(WXWINDOWS_STATIC_LIBRARY_ZLIB
NAMES wxzlib
PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows static zib library" )
- FIND_LIBRARY(WXWINDOWS_STATIC_DEBUG_LIBRARY_REGEX
+ find_library(WXWINDOWS_STATIC_DEBUG_LIBRARY_REGEX
NAMES wxregexd
PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows static debug regex library" )
- FIND_LIBRARY(WXWINDOWS_STATIC_LIBRARY_REGEX
+ find_library(WXWINDOWS_STATIC_LIBRARY_REGEX
NAMES wxregex
PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_lib"
@@ -268,14 +267,14 @@ IF(WIN32_STYLE_FIND)
## untested:
- FIND_LIBRARY(WXWINDOWS_SHARED_LIBRARY_GL
+ find_library(WXWINDOWS_SHARED_LIBRARY_GL
NAMES wx_gl wxmsw_gl wxmsw26_gl
PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_dll"
${WXWINDOWS_POSSIBLE_LIB_PATHS}
DOC "wxWindows shared release build GL library" )
- FIND_LIBRARY(WXWINDOWS_SHARED_DEBUG_LIBRARY_GL
+ find_library(WXWINDOWS_SHARED_DEBUG_LIBRARY_GL
NAMES wxd_gl wxmswd_gl wxmsw26d_gl
PATHS
"${WXWINDOWS_ROOT_DIR}/lib/vc_dll"
@@ -283,11 +282,11 @@ IF(WIN32_STYLE_FIND)
DOC "wxWindows shared debug build GL library" )
- ELSE (WXWINDOWS_USE_MONOLITHIC)
+ else ()
## WX is built as multiple small pieces libraries instead of monolithic
## DEPECATED (jw) replaced by more general WXWINDOWS_USE_MONOLITHIC ON/OFF
- # OPTION(WXWINDOWS_SEPARATE_LIBS_BUILD "Is wxWindows build with separate libs?" OFF)
+ # option(WXWINDOWS_SEPARATE_LIBS_BUILD "Is wxWindows build with separate libs?" OFF)
## HACK: This is very dirty.
## because the libs of a particular version are explicitly listed
@@ -297,9 +296,9 @@ IF(WIN32_STYLE_FIND)
## --> about 288 combinations
## thus we need a different approach so solve this correctly ...
- MESSAGE(STATUS "Warning: You are trying to use wxWidgets without monolithic build (WXWINDOWS_SEPARATE_LIBS_BUILD). This is a HACK, libraries are not verified! (JW).")
+ message(STATUS "Warning: You are trying to use wxWidgets without monolithic build (WXWINDOWS_SEPARATE_LIBS_BUILD). This is a HACK, libraries are not verified! (JW).")
- SET(WXWINDOWS_STATIC_LIBS ${WXWINDOWS_STATIC_LIBS}
+ set(WXWINDOWS_STATIC_LIBS ${WXWINDOWS_STATIC_LIBS}
wxbase26
wxbase26_net
wxbase26_odbc
@@ -323,7 +322,7 @@ IF(WIN32_STYLE_FIND)
wsock32
)
## HACK: feed in to optimized / debug libaries if both were FOUND.
- SET(WXWINDOWS_STATIC_DEBUG_LIBS ${WXWINDOWS_STATIC_DEBUG_LIBS}
+ set(WXWINDOWS_STATIC_DEBUG_LIBS ${WXWINDOWS_STATIC_DEBUG_LIBS}
wxbase26d
wxbase26d_net
wxbase26d_odbc
@@ -346,7 +345,7 @@ IF(WIN32_STYLE_FIND)
rpcrt4
wsock32
)
- ENDIF (WXWINDOWS_USE_MONOLITHIC)
+ endif ()
##
@@ -356,22 +355,22 @@ IF(WIN32_STYLE_FIND)
## if there is at least one shared lib available
## let user choose wether to use shared or static wxwindows libs
- IF(WXWINDOWS_SHARED_LIBRARY OR WXWINDOWS_SHARED_DEBUG_LIBRARY)
+ if(WXWINDOWS_SHARED_LIBRARY OR WXWINDOWS_SHARED_DEBUG_LIBRARY)
## default value OFF because wxWindows MSVS default build is static
- OPTION(WXWINDOWS_USE_SHARED_LIBS
+ option(WXWINDOWS_USE_SHARED_LIBS
"Use shared versions (dll) of wxWindows libraries?" OFF)
- MARK_AS_ADVANCED(WXWINDOWS_USE_SHARED_LIBS)
- ENDIF(WXWINDOWS_SHARED_LIBRARY OR WXWINDOWS_SHARED_DEBUG_LIBRARY)
+ mark_as_advanced(WXWINDOWS_USE_SHARED_LIBS)
+ endif()
## add system libraries wxwindows always seems to depend on
- SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+ set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
comctl32
rpcrt4
wsock32
)
- IF (NOT WXWINDOWS_USE_SHARED_LIBS)
- SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+ if (NOT WXWINDOWS_USE_SHARED_LIBS)
+ set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
## these ones dont seem required, in particular ctl3d32 is not neccesary (Jan Woetzel 07/2003)
# ctl3d32
debug ${WXWINDOWS_STATIC_DEBUG_LIBRARY_ZLIB} optimized ${WXWINDOWS_STATIC_LIBRARY_ZLIB}
@@ -380,15 +379,15 @@ IF(WIN32_STYLE_FIND)
debug ${WXWINDOWS_STATIC_DEBUG_LIBRARY_JPEG} optimized ${WXWINDOWS_STATIC_LIBRARY_JPEG}
debug ${WXWINDOWS_STATIC_DEBUG_LIBRARY_TIFF} optimized ${WXWINDOWS_STATIC_LIBRARY_TIFF}
)
- ENDIF (NOT WXWINDOWS_USE_SHARED_LIBS)
+ endif ()
## opengl/glu: TODO/FIXME: better use FindOpenGL.cmake here
## assume release versions of glu an dopengl, here.
- IF (WXWINDOWS_USE_GL)
- SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+ if (WXWINDOWS_USE_GL)
+ set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
opengl32
glu32 )
- ENDIF (WXWINDOWS_USE_GL)
+ endif ()
##
## select between use of shared or static wxWindows lib then set libs to use
@@ -399,162 +398,162 @@ IF(WIN32_STYLE_FIND)
## then add the build specific include dir for wx/setup.h
##
- IF(WXWINDOWS_USE_SHARED_LIBS)
- ##MESSAGE("DBG wxWindows use shared lib selected.")
+ if(WXWINDOWS_USE_SHARED_LIBS)
+ ##message("DBG wxWindows use shared lib selected.")
## assume that both builds use the same setup(.h) for simplicity
## shared: both wx (debug and release) found?
## assume that both builds use the same setup(.h) for simplicity
- IF(WXWINDOWS_SHARED_DEBUG_LIBRARY AND WXWINDOWS_SHARED_LIBRARY)
- ##MESSAGE("DBG wx shared: debug and optimized found.")
- FIND_PATH(WXWINDOWS_INCLUDE_DIR_SETUPH wx/setup.h
+ if(WXWINDOWS_SHARED_DEBUG_LIBRARY AND WXWINDOWS_SHARED_LIBRARY)
+ ##message("DBG wx shared: debug and optimized found.")
+ find_path(WXWINDOWS_INCLUDE_DIR_SETUPH wx/setup.h
${WXWINDOWS_ROOT_DIR}/lib/mswdlld
${WXWINDOWS_ROOT_DIR}/lib/mswdll
${WXWINDOWS_ROOT_DIR}/lib/vc_dll/mswd
${WXWINDOWS_ROOT_DIR}/lib/vc_dll/msw )
- SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+ set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
debug ${WXWINDOWS_SHARED_DEBUG_LIBRARY}
optimized ${WXWINDOWS_SHARED_LIBRARY} )
- IF (WXWINDOWS_USE_GL)
- SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+ if (WXWINDOWS_USE_GL)
+ set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
debug ${WXWINDOWS_SHARED_DEBUG_LIBRARY_GL}
optimized ${WXWINDOWS_SHARED_LIBRARY_GL} )
- ENDIF (WXWINDOWS_USE_GL)
- ENDIF(WXWINDOWS_SHARED_DEBUG_LIBRARY AND WXWINDOWS_SHARED_LIBRARY)
+ endif ()
+ endif()
## shared: only debug wx lib found?
- IF(WXWINDOWS_SHARED_DEBUG_LIBRARY)
- IF(NOT WXWINDOWS_SHARED_LIBRARY)
- ##MESSAGE("DBG wx shared: debug (but no optimized) found.")
- FIND_PATH(WXWINDOWS_INCLUDE_DIR_SETUPH wx/setup.h
+ if(WXWINDOWS_SHARED_DEBUG_LIBRARY)
+ if(NOT WXWINDOWS_SHARED_LIBRARY)
+ ##message("DBG wx shared: debug (but no optimized) found.")
+ find_path(WXWINDOWS_INCLUDE_DIR_SETUPH wx/setup.h
${WXWINDOWS_ROOT_DIR}/lib/mswdlld
${WXWINDOWS_ROOT_DIR}/lib/vc_dll/mswd )
- SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+ set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
${WXWINDOWS_SHARED_DEBUG_LIBRARY} )
- IF (WXWINDOWS_USE_GL)
- SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+ if (WXWINDOWS_USE_GL)
+ set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
${WXWINDOWS_SHARED_DEBUG_LIBRARY_GL} )
- ENDIF (WXWINDOWS_USE_GL)
- ENDIF(NOT WXWINDOWS_SHARED_LIBRARY)
- ENDIF(WXWINDOWS_SHARED_DEBUG_LIBRARY)
+ endif ()
+ endif()
+ endif()
## shared: only release wx lib found?
- IF(NOT WXWINDOWS_SHARED_DEBUG_LIBRARY)
- IF(WXWINDOWS_SHARED_LIBRARY)
- ##MESSAGE("DBG wx shared: optimized (but no debug) found.")
- FIND_PATH(WXWINDOWS_INCLUDE_DIR_SETUPH wx/setup.h
+ if(NOT WXWINDOWS_SHARED_DEBUG_LIBRARY)
+ if(WXWINDOWS_SHARED_LIBRARY)
+ ##message("DBG wx shared: optimized (but no debug) found.")
+ find_path(WXWINDOWS_INCLUDE_DIR_SETUPH wx/setup.h
${WXWINDOWS_ROOT_DIR}/lib/mswdll
${WXWINDOWS_ROOT_DIR}/lib/vc_dll/msw )
- SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+ set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
${WXWINDOWS_SHARED_DEBUG_LIBRARY} )
- IF (WXWINDOWS_USE_GL)
- SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+ if (WXWINDOWS_USE_GL)
+ set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
${WXWINDOWS_SHARED_DEBUG_LIBRARY_GL} )
- ENDIF (WXWINDOWS_USE_GL)
- ENDIF(WXWINDOWS_SHARED_LIBRARY)
- ENDIF(NOT WXWINDOWS_SHARED_DEBUG_LIBRARY)
+ endif ()
+ endif()
+ endif()
## shared: none found?
- IF(NOT WXWINDOWS_SHARED_DEBUG_LIBRARY)
- IF(NOT WXWINDOWS_SHARED_LIBRARY)
- MESSAGE(STATUS
+ if(NOT WXWINDOWS_SHARED_DEBUG_LIBRARY)
+ if(NOT WXWINDOWS_SHARED_LIBRARY)
+ message(STATUS
"No shared wxWindows lib found, but WXWINDOWS_USE_SHARED_LIBS=${WXWINDOWS_USE_SHARED_LIBS}.")
- ENDIF(NOT WXWINDOWS_SHARED_LIBRARY)
- ENDIF(NOT WXWINDOWS_SHARED_DEBUG_LIBRARY)
+ endif()
+ endif()
#########################################################################################
- ELSE(WXWINDOWS_USE_SHARED_LIBS)
+ else()
- ##jw: DEPRECATED IF(NOT WXWINDOWS_SEPARATE_LIBS_BUILD)
+ ##jw: DEPRECATED if(NOT WXWINDOWS_SEPARATE_LIBS_BUILD)
## static: both wx (debug and release) found?
## assume that both builds use the same setup(.h) for simplicity
- IF(WXWINDOWS_STATIC_DEBUG_LIBRARY AND WXWINDOWS_STATIC_LIBRARY)
- ##MESSAGE("DBG wx static: debug and optimized found.")
- FIND_PATH(WXWINDOWS_INCLUDE_DIR_SETUPH wx/setup.h
+ if(WXWINDOWS_STATIC_DEBUG_LIBRARY AND WXWINDOWS_STATIC_LIBRARY)
+ ##message("DBG wx static: debug and optimized found.")
+ find_path(WXWINDOWS_INCLUDE_DIR_SETUPH wx/setup.h
${WXWINDOWS_ROOT_DIR}/lib/mswd
${WXWINDOWS_ROOT_DIR}/lib/msw
${WXWINDOWS_ROOT_DIR}/lib/vc_lib/mswd
${WXWINDOWS_ROOT_DIR}/lib/vc_lib/msw )
- SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+ set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
debug ${WXWINDOWS_STATIC_DEBUG_LIBRARY}
optimized ${WXWINDOWS_STATIC_LIBRARY} )
- IF (WXWINDOWS_USE_GL)
- SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+ if (WXWINDOWS_USE_GL)
+ set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
debug ${WXWINDOWS_STATIC_DEBUG_LIBRARY_GL}
optimized ${WXWINDOWS_STATIC_LIBRARY_GL} )
- ENDIF (WXWINDOWS_USE_GL)
- ENDIF(WXWINDOWS_STATIC_DEBUG_LIBRARY AND WXWINDOWS_STATIC_LIBRARY)
+ endif ()
+ endif()
## static: only debug wx lib found?
- IF(WXWINDOWS_STATIC_DEBUG_LIBRARY)
- IF(NOT WXWINDOWS_STATIC_LIBRARY)
- ##MESSAGE("DBG wx static: debug (but no optimized) found.")
- FIND_PATH(WXWINDOWS_INCLUDE_DIR_SETUPH wx/setup.h
+ if(WXWINDOWS_STATIC_DEBUG_LIBRARY)
+ if(NOT WXWINDOWS_STATIC_LIBRARY)
+ ##message("DBG wx static: debug (but no optimized) found.")
+ find_path(WXWINDOWS_INCLUDE_DIR_SETUPH wx/setup.h
${WXWINDOWS_ROOT_DIR}/lib/mswd
${WXWINDOWS_ROOT_DIR}/lib/vc_lib/mswd )
- SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+ set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
${WXWINDOWS_STATIC_DEBUG_LIBRARY} )
- IF (WXWINDOWS_USE_GL)
- SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+ if (WXWINDOWS_USE_GL)
+ set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
${WXWINDOWS_STATIC_DEBUG_LIBRARY_GL} )
- ENDIF (WXWINDOWS_USE_GL)
- ENDIF(NOT WXWINDOWS_STATIC_LIBRARY)
- ENDIF(WXWINDOWS_STATIC_DEBUG_LIBRARY)
+ endif ()
+ endif()
+ endif()
## static: only release wx lib found?
- IF(NOT WXWINDOWS_STATIC_DEBUG_LIBRARY)
- IF(WXWINDOWS_STATIC_LIBRARY)
- ##MESSAGE("DBG wx static: optimized (but no debug) found.")
- FIND_PATH(WXWINDOWS_INCLUDE_DIR_SETUPH wx/setup.h
+ if(NOT WXWINDOWS_STATIC_DEBUG_LIBRARY)
+ if(WXWINDOWS_STATIC_LIBRARY)
+ ##message("DBG wx static: optimized (but no debug) found.")
+ find_path(WXWINDOWS_INCLUDE_DIR_SETUPH wx/setup.h
${WXWINDOWS_ROOT_DIR}/lib/msw
${WXWINDOWS_ROOT_DIR}/lib/vc_lib/msw )
- SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+ set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
${WXWINDOWS_STATIC_LIBRARY} )
- IF (WXWINDOWS_USE_GL)
- SET(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
+ if (WXWINDOWS_USE_GL)
+ set(WXWINDOWS_LIBRARIES ${WXWINDOWS_LIBRARIES}
${WXWINDOWS_STATIC_LIBRARY_GL} )
- ENDIF (WXWINDOWS_USE_GL)
- ENDIF(WXWINDOWS_STATIC_LIBRARY)
- ENDIF(NOT WXWINDOWS_STATIC_DEBUG_LIBRARY)
+ endif ()
+ endif()
+ endif()
## static: none found?
- IF(NOT WXWINDOWS_STATIC_DEBUG_LIBRARY AND NOT WXWINDOWS_SEPARATE_LIBS_BUILD)
- IF(NOT WXWINDOWS_STATIC_LIBRARY)
- MESSAGE(STATUS
+ if(NOT WXWINDOWS_STATIC_DEBUG_LIBRARY AND NOT WXWINDOWS_SEPARATE_LIBS_BUILD)
+ if(NOT WXWINDOWS_STATIC_LIBRARY)
+ message(STATUS
"No static wxWindows lib found, but WXWINDOWS_USE_SHARED_LIBS=${WXWINDOWS_USE_SHARED_LIBS}.")
- ENDIF(NOT WXWINDOWS_STATIC_LIBRARY)
- ENDIF(NOT WXWINDOWS_STATIC_DEBUG_LIBRARY AND NOT WXWINDOWS_SEPARATE_LIBS_BUILD)
- ENDIF(WXWINDOWS_USE_SHARED_LIBS)
+ endif()
+ endif()
+ endif()
## not neccessary in wxWindows 2.4.1 and 2.6.2
## but it may fix a previous bug, see
## http://lists.wxwindows.org/cgi-bin/ezmlm-cgi?8:mss:37574:200305:mpdioeneabobmgjenoap
- OPTION(WXWINDOWS_SET_DEFINITIONS "Set additional defines for wxWindows" OFF)
- MARK_AS_ADVANCED(WXWINDOWS_SET_DEFINITIONS)
- IF (WXWINDOWS_SET_DEFINITIONS)
- SET(WXWINDOWS_DEFINITIONS "-DWINVER=0x400")
- ELSE (WXWINDOWS_SET_DEFINITIONS)
+ option(WXWINDOWS_SET_DEFINITIONS "Set additional defines for wxWindows" OFF)
+ mark_as_advanced(WXWINDOWS_SET_DEFINITIONS)
+ if (WXWINDOWS_SET_DEFINITIONS)
+ set(WXWINDOWS_DEFINITIONS "-DWINVER=0x400")
+ else ()
# clear:
- SET(WXWINDOWS_DEFINITIONS "")
- ENDIF (WXWINDOWS_SET_DEFINITIONS)
+ set(WXWINDOWS_DEFINITIONS "")
+ endif ()
## Find the include directories for wxwindows
## the first, build specific for wx/setup.h was determined before.
## add inc dir for general for "wx/wx.h"
- FIND_PATH(WXWINDOWS_INCLUDE_DIR wx/wx.h
+ find_path(WXWINDOWS_INCLUDE_DIR wx/wx.h
"${WXWINDOWS_ROOT_DIR}/include" )
## append the build specific include dir for wx/setup.h:
- IF (WXWINDOWS_INCLUDE_DIR_SETUPH)
- SET(WXWINDOWS_INCLUDE_DIR ${WXWINDOWS_INCLUDE_DIR} ${WXWINDOWS_INCLUDE_DIR_SETUPH} )
- ENDIF (WXWINDOWS_INCLUDE_DIR_SETUPH)
+ if (WXWINDOWS_INCLUDE_DIR_SETUPH)
+ set(WXWINDOWS_INCLUDE_DIR ${WXWINDOWS_INCLUDE_DIR} ${WXWINDOWS_INCLUDE_DIR_SETUPH} )
+ endif ()
- MARK_AS_ADVANCED(
+ mark_as_advanced(
WXWINDOWS_ROOT_DIR
WXWINDOWS_INCLUDE_DIR
WXWINDOWS_INCLUDE_DIR_SETUPH
@@ -579,9 +578,9 @@ IF(WIN32_STYLE_FIND)
)
-ELSE(WIN32_STYLE_FIND)
+else()
- IF (UNIX_STYLE_FIND)
+ if (UNIX_STYLE_FIND)
## ######################################################################
##
## UNIX/Linux specific:
@@ -590,85 +589,87 @@ ELSE(WIN32_STYLE_FIND)
## 06/2003 Jan Woetzel
##
- OPTION(WXWINDOWS_USE_SHARED_LIBS "Use shared versions (.so) of wxWindows libraries" ON)
- MARK_AS_ADVANCED(WXWINDOWS_USE_SHARED_LIBS)
+ option(WXWINDOWS_USE_SHARED_LIBS "Use shared versions (.so) of wxWindows libraries" ON)
+ mark_as_advanced(WXWINDOWS_USE_SHARED_LIBS)
# JW removed option and force the develper th SET it.
- # OPTION(WXWINDOWS_USE_GL "use wxWindows with GL support (use additional
+ # option(WXWINDOWS_USE_GL "use wxWindows with GL support (use additional
# --gl-libs for wx-config)?" OFF)
# wx-config should be in your path anyhow, usually no need to set WXWIN or
# search in ../wx or ../../wx
- FIND_PROGRAM(CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE wx-config
- $ENV{WXWIN}
- $ENV{WXWIN}/bin
+ find_program(CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE wx-config
+ HINTS
+ ENV WXWIN
+ $ENV{WXWIN}/bin
+ PATHS
../wx/bin
../../wx/bin )
# check wether wx-config was found:
- IF(CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE)
+ if(CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE)
# use shared/static wx lib?
# remember: always link shared to use systems GL etc. libs (no static
# linking, just link *against* static .a libs)
- IF(WXWINDOWS_USE_SHARED_LIBS)
- SET(WX_CONFIG_ARGS_LIBS "--libs")
- ELSE(WXWINDOWS_USE_SHARED_LIBS)
- SET(WX_CONFIG_ARGS_LIBS "--static --libs")
- ENDIF(WXWINDOWS_USE_SHARED_LIBS)
+ if(WXWINDOWS_USE_SHARED_LIBS)
+ set(WX_CONFIG_ARGS_LIBS "--libs")
+ else()
+ set(WX_CONFIG_ARGS_LIBS "--static --libs")
+ endif()
# do we need additionial wx GL stuff like GLCanvas ?
- IF(WXWINDOWS_USE_GL)
- SET(WX_CONFIG_ARGS_LIBS "${WX_CONFIG_ARGS_LIBS} --gl-libs" )
- ENDIF(WXWINDOWS_USE_GL)
- ##MESSAGE("DBG: WX_CONFIG_ARGS_LIBS=${WX_CONFIG_ARGS_LIBS}===")
+ if(WXWINDOWS_USE_GL)
+ set(WX_CONFIG_ARGS_LIBS "${WX_CONFIG_ARGS_LIBS} --gl-libs" )
+ endif()
+ ##message("DBG: WX_CONFIG_ARGS_LIBS=${WX_CONFIG_ARGS_LIBS}===")
# set CXXFLAGS to be fed into CMAKE_CXX_FLAGS by the user:
- IF (HAVE_ISYSTEM) # does the compiler support -isystem ?
- IF (NOT APPLE) # -isystem seem sto be unsuppored on Mac
- IF(CMAKE_COMPILER_IS_GNUCC AND CMAKE_COMPILER_IS_GNUCXX )
- IF (CMAKE_CXX_COMPILER MATCHES g\\+\\+)
- SET(CMAKE_WXWINDOWS_CXX_FLAGS "`${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE} --cxxflags|sed -e s/-I/-isystem/g`")
- ELSE(CMAKE_CXX_COMPILER MATCHES g\\+\\+)
- SET(CMAKE_WXWINDOWS_CXX_FLAGS "`${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE} --cxxflags`")
- ENDIF(CMAKE_CXX_COMPILER MATCHES g\\+\\+)
- ENDIF(CMAKE_COMPILER_IS_GNUCC AND CMAKE_COMPILER_IS_GNUCXX )
- ENDIF (NOT APPLE)
- ENDIF (HAVE_ISYSTEM)
- ##MESSAGE("DBG: for compilation:
+ if (HAVE_ISYSTEM) # does the compiler support -isystem ?
+ if (NOT APPLE) # -isystem seem sto be unsuppored on Mac
+ if(CMAKE_COMPILER_IS_GNUCC AND CMAKE_COMPILER_IS_GNUCXX )
+ if (CMAKE_CXX_COMPILER MATCHES g\\+\\+)
+ set(CMAKE_WXWINDOWS_CXX_FLAGS "`${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE} --cxxflags|sed -e s/-I/-isystem/g`")
+ else()
+ set(CMAKE_WXWINDOWS_CXX_FLAGS "`${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE} --cxxflags`")
+ endif()
+ endif()
+ endif ()
+ endif ()
+ ##message("DBG: for compilation:
##CMAKE_WXWINDOWS_CXX_FLAGS=${CMAKE_WXWINDOWS_CXX_FLAGS}===")
# keep the back-quoted string for clarity
- SET(WXWINDOWS_LIBRARIES "`${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE} ${WX_CONFIG_ARGS_LIBS}`")
- ##MESSAGE("DBG2: for linking:
+ set(WXWINDOWS_LIBRARIES "`${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE} ${WX_CONFIG_ARGS_LIBS}`")
+ ##message("DBG2: for linking:
##WXWINDOWS_LIBRARIES=${WXWINDOWS_LIBRARIES}===")
# evaluate wx-config output to separate linker flags and linkdirs for
# rpath:
- EXEC_PROGRAM(${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE}
+ exec_program(${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE}
ARGS ${WX_CONFIG_ARGS_LIBS}
OUTPUT_VARIABLE WX_CONFIG_LIBS )
## extract linkdirs (-L) for rpath
## use regular expression to match wildcard equivalent "-L*<endchar>"
## with <endchar> is a space or a semicolon
- STRING(REGEX MATCHALL "[-][L]([^ ;])+" WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX "${WX_CONFIG_LIBS}" )
- # MESSAGE("DBG WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX=${WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX}")
+ string(REGEX MATCHALL "[-][L]([^ ;])+" WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX "${WX_CONFIG_LIBS}" )
+ # message("DBG WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX=${WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX}")
## remove prefix -L because we need the pure directory for LINK_DIRECTORIES
## replace -L by ; because the separator seems to be lost otherwise (bug or
## feature?)
- IF(WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX)
- STRING(REGEX REPLACE "[-][L]" ";" WXWINDOWS_LINK_DIRECTORIES ${WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX} )
- # MESSAGE("DBG WXWINDOWS_LINK_DIRECTORIES=${WXWINDOWS_LINK_DIRECTORIES}")
- ENDIF(WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX)
+ if(WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX)
+ string(REGEX REPLACE "[-][L]" ";" WXWINDOWS_LINK_DIRECTORIES ${WXWINDOWS_LINK_DIRECTORIES_WITH_PREFIX} )
+ # message("DBG WXWINDOWS_LINK_DIRECTORIES=${WXWINDOWS_LINK_DIRECTORIES}")
+ endif()
## replace space separated string by semicolon separated vector to make it
## work with LINK_DIRECTORIES
- SEPARATE_ARGUMENTS(WXWINDOWS_LINK_DIRECTORIES)
+ separate_arguments(WXWINDOWS_LINK_DIRECTORIES)
- MARK_AS_ADVANCED(
+ mark_as_advanced(
CMAKE_WXWINDOWS_CXX_FLAGS
WXWINDOWS_INCLUDE_DIR
WXWINDOWS_LIBRARIES
@@ -677,30 +678,30 @@ ELSE(WIN32_STYLE_FIND)
## we really need wx-config...
- ELSE(CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE)
- MESSAGE(STATUS "Cannot find wx-config anywhere on the system. Please put the file into your path or specify it in CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE.")
- MARK_AS_ADVANCED(CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE)
- ENDIF(CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE)
+ else()
+ message(STATUS "Cannot find wx-config anywhere on the system. Please put the file into your path or specify it in CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE.")
+ mark_as_advanced(CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE)
+ endif()
- ELSE(UNIX_STYLE_FIND)
- MESSAGE(STATUS "FindwxWindows.cmake: Platform unknown/unsupported by FindwxWindows.cmake. It's neither WIN32 nor UNIX")
- ENDIF(UNIX_STYLE_FIND)
-ENDIF(WIN32_STYLE_FIND)
+ else()
+ message(STATUS "FindwxWindows.cmake: Platform unknown/unsupported by FindwxWindows.cmake. It's neither WIN32 nor UNIX")
+ endif()
+endif()
-IF(WXWINDOWS_LIBRARIES)
- IF(WXWINDOWS_INCLUDE_DIR OR CMAKE_WXWINDOWS_CXX_FLAGS)
+if(WXWINDOWS_LIBRARIES)
+ if(WXWINDOWS_INCLUDE_DIR OR CMAKE_WXWINDOWS_CXX_FLAGS)
## found all we need.
- SET(WXWINDOWS_FOUND 1)
+ set(WXWINDOWS_FOUND 1)
## set deprecated variables for backward compatibility:
- SET(CMAKE_WX_CAN_COMPILE ${WXWINDOWS_FOUND})
- SET(WXWINDOWS_LIBRARY ${WXWINDOWS_LIBRARIES})
- SET(WXWINDOWS_INCLUDE_PATH ${WXWINDOWS_INCLUDE_DIR})
- SET(WXWINDOWS_LINK_DIRECTORIES ${WXWINDOWS_LINK_DIRECTORIES})
- SET(CMAKE_WX_CXX_FLAGS ${CMAKE_WXWINDOWS_CXX_FLAGS})
-
- ENDIF(WXWINDOWS_INCLUDE_DIR OR CMAKE_WXWINDOWS_CXX_FLAGS)
-ENDIF(WXWINDOWS_LIBRARIES)
+ set(CMAKE_WX_CAN_COMPILE ${WXWINDOWS_FOUND})
+ set(WXWINDOWS_LIBRARY ${WXWINDOWS_LIBRARIES})
+ set(WXWINDOWS_INCLUDE_PATH ${WXWINDOWS_INCLUDE_DIR})
+ set(WXWINDOWS_LINK_DIRECTORIES ${WXWINDOWS_LINK_DIRECTORIES})
+ set(CMAKE_WX_CXX_FLAGS ${CMAKE_WXWINDOWS_CXX_FLAGS})
+
+ endif()
+endif()
diff --git a/Modules/FortranCInterface.cmake b/Modules/FortranCInterface.cmake
index 2455c5f8b..c59e1f839 100644
--- a/Modules/FortranCInterface.cmake
+++ b/Modules/FortranCInterface.cmake
@@ -61,7 +61,7 @@
# If the check fails and QUIET is not given the function terminates
# with a FATAL_ERROR message describing the problem. The purpose of
# this check is to stop a build early for incompatible compiler
-# combinations.
+# combinations. The test is built in the Release configuration.
#
# FortranCInterface is aware of possible GLOBAL and MODULE manglings
# for many Fortran compilers, but it also provides an interface to
@@ -215,7 +215,7 @@ ${_desc_${macro}}
message(AUTHOR_WARNING "No FortranCInterface mangling known for ${f}")
endif()
endif()
- endforeach(f)
+ endforeach()
# Store the content.
configure_file(${FortranCInterface_SOURCE_DIR}/Macro.h.in ${FILE} @ONLY)
@@ -250,6 +250,7 @@ function(FortranCInterface_VERIFY)
message(STATUS "${_desc}")
# Build a sample project which reports symbols.
+ set(CMAKE_TRY_COMPILE_CONFIGURATION Release)
try_compile(FortranCInterface_VERIFY_${lang}_COMPILED
${FortranCInterface_BINARY_DIR}/Verify${lang}
${FortranCInterface_SOURCE_DIR}/Verify
@@ -259,6 +260,9 @@ function(FortranCInterface_VERIFY)
"-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}"
"-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}"
"-DCMAKE_Fortran_FLAGS:STRING=${CMAKE_Fortran_FLAGS}"
+ "-DCMAKE_C_FLAGS_RELEASE:STRING=${CMAKE_C_FLAGS_RELEASE}"
+ "-DCMAKE_CXX_FLAGS_RELEASE:STRING=${CMAKE_CXX_FLAGS_RELEASE}"
+ "-DCMAKE_Fortran_FLAGS_RELEASE:STRING=${CMAKE_Fortran_FLAGS_RELEASE}"
OUTPUT_VARIABLE _output)
file(WRITE "${FortranCInterface_BINARY_DIR}/Verify${lang}/output.txt" "${_output}")
diff --git a/Modules/FortranCInterface/Detect.cmake b/Modules/FortranCInterface/Detect.cmake
index 2ea43d132..798c44caa 100644
--- a/Modules/FortranCInterface/Detect.cmake
+++ b/Modules/FortranCInterface/Detect.cmake
@@ -174,7 +174,7 @@ file(APPEND ${FortranCInterface_BINARY_DIR}/Output.cmake "\n")
if(FortranCInterface_GLOBAL_FOUND)
if(FortranCInterface_MODULE_FOUND)
set(_result "Found GLOBAL and MODULE mangling")
- else(FortranCInterface_MODULE_FOUND)
+ else()
set(_result "Found GLOBAL but not MODULE mangling")
endif()
elseif(NOT _result)
diff --git a/Modules/GetPrerequisites.cmake b/Modules/GetPrerequisites.cmake
index d215685dd..8f2754ed9 100644
--- a/Modules/GetPrerequisites.cmake
+++ b/Modules/GetPrerequisites.cmake
@@ -126,13 +126,13 @@ function(gp_append_unique list_var value)
if("${item}" STREQUAL "${value}")
set(contains 1)
break()
- endif("${item}" STREQUAL "${value}")
- endforeach(item)
+ endif()
+ endforeach()
if(NOT contains)
set(${list_var} ${${list_var}} "${value}" PARENT_SCOPE)
- endif(NOT contains)
-endfunction(gp_append_unique)
+ endif()
+endfunction()
function(is_file_executable file result_var)
@@ -150,13 +150,13 @@ function(is_file_executable file result_var)
if("${file_full_lower}" MATCHES "\\.exe$")
set(${result_var} 1 PARENT_SCOPE)
return()
- endif("${file_full_lower}" MATCHES "\\.exe$")
+ endif()
# A clause could be added here that uses output or return value of dumpbin
# to determine ${result_var}. In 99%+? practical cases, the exe name
# match will be sufficient...
#
- endif(WIN32 AND NOT UNIX)
+ endif()
# Use the information returned from the Unix shell command "file" to
# determine if ${file_full} should be considered an executable file...
@@ -168,7 +168,8 @@ function(is_file_executable file result_var)
if(UNIX)
if(NOT file_cmd)
find_program(file_cmd "file")
- endif(NOT file_cmd)
+ mark_as_advanced(file_cmd)
+ endif()
if(file_cmd)
execute_process(COMMAND "${file_cmd}" "${file_full}"
@@ -190,11 +191,11 @@ function(is_file_executable file result_var)
#message(STATUS "executable!")
if("${file_ov}" MATCHES "text")
#message(STATUS "but text, so *not* a binary executable!")
- else("${file_ov}" MATCHES "text")
+ else()
set(${result_var} 1 PARENT_SCOPE)
return()
- endif("${file_ov}" MATCHES "text")
- endif("${file_ov}" MATCHES "executable")
+ endif()
+ endif()
# Also detect position independent executables on Linux,
# where "file" gives "shared object ... (uses shared libraries)"
@@ -203,11 +204,11 @@ function(is_file_executable file result_var)
return()
endif()
- else(file_cmd)
+ else()
message(STATUS "warning: No 'file' command, skipping execute_process...")
- endif(file_cmd)
- endif(UNIX)
-endfunction(is_file_executable)
+ endif()
+ endif()
+endfunction()
function(gp_item_default_embedded_path item default_embedded_path_var)
@@ -240,7 +241,7 @@ function(gp_item_default_embedded_path item default_embedded_path_var)
if(item MATCHES "\\.dylib$")
set(path "@executable_path/../MacOS")
set(overridden 1)
- endif(item MATCHES "\\.dylib$")
+ endif()
# Embed frameworks in the embedded "Frameworks" directory (sibling of MacOS):
#
@@ -248,8 +249,8 @@ function(gp_item_default_embedded_path item default_embedded_path_var)
if(item MATCHES "[^/]+\\.framework/")
set(path "@executable_path/../Frameworks")
set(overridden 1)
- endif(item MATCHES "[^/]+\\.framework/")
- endif(NOT overridden)
+ endif()
+ endif()
endif()
# Provide a hook so that projects can override the default embedded location
@@ -257,10 +258,10 @@ function(gp_item_default_embedded_path item default_embedded_path_var)
#
if(COMMAND gp_item_default_embedded_path_override)
gp_item_default_embedded_path_override("${item}" path)
- endif(COMMAND gp_item_default_embedded_path_override)
+ endif()
set(${default_embedded_path_var} "${path}" PARENT_SCOPE)
-endfunction(gp_item_default_embedded_path)
+endfunction()
function(gp_resolve_item context item exepath dirs resolved_item_var)
@@ -271,7 +272,7 @@ function(gp_resolve_item context item exepath dirs resolved_item_var)
#
if(IS_ABSOLUTE "${resolved_item}" AND EXISTS "${resolved_item}")
set(resolved 1)
- endif(IS_ABSOLUTE "${resolved_item}" AND EXISTS "${resolved_item}")
+ endif()
if(NOT resolved)
if(item MATCHES "@executable_path")
@@ -285,11 +286,11 @@ function(gp_resolve_item context item exepath dirs resolved_item_var)
#message(STATUS "info: embedded item exists (${ri})")
set(resolved 1)
set(resolved_item "${ri}")
- else(EXISTS "${ri}")
+ else()
message(STATUS "warning: embedded item does not exist '${ri}'")
- endif(EXISTS "${ri}")
- endif(item MATCHES "@executable_path")
- endif(NOT resolved)
+ endif()
+ endif()
+ endif()
if(NOT resolved)
if(item MATCHES "@loader_path")
@@ -305,11 +306,11 @@ function(gp_resolve_item context item exepath dirs resolved_item_var)
#message(STATUS "info: embedded item exists (${ri})")
set(resolved 1)
set(resolved_item "${ri}")
- else(EXISTS "${ri}")
+ else()
message(STATUS "warning: embedded item does not exist '${ri}'")
- endif(EXISTS "${ri}")
- endif(item MATCHES "@loader_path")
- endif(NOT resolved)
+ endif()
+ endif()
+ endif()
if(NOT resolved)
if(item MATCHES "@rpath")
@@ -326,10 +327,10 @@ function(gp_resolve_item context item exepath dirs resolved_item_var)
set(resolved 1)
set(resolved_item "${ri}")
set(ri "ri-NOTFOUND")
- endif(ri)
+ endif()
- endif(item MATCHES "@rpath")
- endif(NOT resolved)
+ endif()
+ endif()
if(NOT resolved)
set(ri "ri-NOTFOUND")
@@ -340,8 +341,8 @@ function(gp_resolve_item context item exepath dirs resolved_item_var)
set(resolved 1)
set(resolved_item "${ri}")
set(ri "ri-NOTFOUND")
- endif(ri)
- endif(NOT resolved)
+ endif()
+ endif()
if(NOT resolved)
if(item MATCHES "[^/]+\\.framework/")
@@ -356,9 +357,9 @@ function(gp_resolve_item context item exepath dirs resolved_item_var)
set(resolved 1)
set(resolved_item "${fw}")
set(fw "fw-NOTFOUND")
- endif(fw)
- endif(item MATCHES "[^/]+\\.framework/")
- endif(NOT resolved)
+ endif()
+ endif()
+ endif()
# Using find_program on Windows will find dll files that are in the PATH.
# (Converting simple file names into full path names if found.)
@@ -373,16 +374,16 @@ function(gp_resolve_item context item exepath dirs resolved_item_var)
set(resolved 1)
set(resolved_item "${ri}")
set(ri "ri-NOTFOUND")
- endif(ri)
- endif(NOT resolved)
- endif(WIN32 AND NOT UNIX)
+ endif()
+ endif()
+ endif()
# 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)
+ endif()
if(NOT resolved)
message(STATUS "
@@ -409,10 +410,10 @@ warning: cannot resolve item '${item}'
# resolved_item_var='${resolved_item_var}'
#******************************************************************************
#")
- endif(NOT resolved)
+ endif()
set(${resolved_item_var} "${resolved_item}" PARENT_SCOPE)
-endfunction(gp_resolve_item)
+endfunction()
function(gp_resolved_file_type original_file file exepath dirs type_var)
@@ -480,9 +481,9 @@ function(gp_resolved_file_type original_file file exepath dirs type_var)
if(lower MATCHES "^(${sysroot}/sys(tem|wow)|${windir}/sys(tem|wow)|(.*/)*msvc[^/]+dll)")
set(is_system 1)
endif()
- endif(CYGPATH_EXECUTABLE)
- endif(UNIX)
- endif(WIN32)
+ endif()
+ endif()
+ endif()
if(NOT is_system)
get_filename_component(original_path "${original_lower}" PATH)
@@ -551,7 +552,7 @@ function(gp_file_type original_file file type_var)
gp_resolved_file_type("${original_file}" "${file}" "${exepath}" "" type)
set(${type_var} "${type}" PARENT_SCOPE)
-endfunction(gp_file_type)
+endfunction()
function(get_prerequisites target prerequisites_var exclude_system recurse exepath dirs)
@@ -560,11 +561,11 @@ function(get_prerequisites target prerequisites_var exclude_system recurse exepa
if(NOT IS_ABSOLUTE "${target}")
message("warning: target '${target}' is not absolute...")
- endif(NOT IS_ABSOLUTE "${target}")
+ endif()
if(NOT EXISTS "${target}")
message("warning: target '${target}' does not exist...")
- endif(NOT EXISTS "${target}")
+ endif()
# <setup-gp_tool-vars>
#
@@ -575,11 +576,11 @@ function(get_prerequisites target prerequisites_var exclude_system recurse exepa
set(gp_tool "ldd")
if(APPLE)
set(gp_tool "otool")
- endif(APPLE)
+ endif()
if(WIN32 AND NOT UNIX) # This is how to check for cygwin, har!
set(gp_tool "dumpbin")
- endif(WIN32 AND NOT UNIX)
- endif("${gp_tool}" STREQUAL "")
+ endif()
+ endif()
set(gp_tool_known 0)
@@ -590,7 +591,7 @@ function(get_prerequisites target prerequisites_var exclude_system recurse exepa
set(gp_regex_fallback "^[\t ]*([^\t ]+) => ([^\t ]+).*${eol_char}$")
set(gp_regex_cmp_count 1)
set(gp_tool_known 1)
- endif("${gp_tool}" STREQUAL "ldd")
+ endif()
if("${gp_tool}" STREQUAL "otool")
set(gp_cmd_args "-L")
@@ -599,7 +600,7 @@ function(get_prerequisites target prerequisites_var exclude_system recurse exepa
set(gp_regex_fallback "")
set(gp_regex_cmp_count 3)
set(gp_tool_known 1)
- endif("${gp_tool}" STREQUAL "otool")
+ endif()
if("${gp_tool}" STREQUAL "dumpbin")
set(gp_cmd_args "/dependents")
@@ -609,14 +610,14 @@ function(get_prerequisites target prerequisites_var exclude_system recurse exepa
set(gp_regex_cmp_count 1)
set(gp_tool_known 1)
set(ENV{VS_UNICODE_OUTPUT} "") # Block extra output from inside VS IDE.
- endif("${gp_tool}" STREQUAL "dumpbin")
+ endif()
if(NOT gp_tool_known)
message(STATUS "warning: gp_tool='${gp_tool}' is an unknown tool...")
message(STATUS "CMake function get_prerequisites needs more code to handle '${gp_tool}'")
message(STATUS "Valid gp_tool values are dumpbin, ldd and otool.")
return()
- endif(NOT gp_tool_known)
+ endif()
set(gp_cmd_paths ${gp_cmd_paths}
"C:/Program Files/Microsoft Visual Studio 9.0/VC/bin"
@@ -634,7 +635,7 @@ function(get_prerequisites target prerequisites_var exclude_system recurse exepa
if(NOT gp_cmd)
message(STATUS "warning: could not find '${gp_tool}' - cannot analyze prerequisites...")
return()
- endif(NOT gp_cmd)
+ endif()
if("${gp_tool}" STREQUAL "dumpbin")
# When running dumpbin, it also needs the "Common7/IDE" directory in the
@@ -654,14 +655,14 @@ function(get_prerequisites target prerequisites_var exclude_system recurse exepa
if("${gp_env_path_element}" STREQUAL "${gp_cmd_dlls_dir}")
set(gp_found_cmd_dlls_dir 1)
endif()
- endforeach(gp_env_path_element)
+ endforeach()
if(NOT gp_found_cmd_dlls_dir)
file(TO_NATIVE_PATH "${gp_cmd_dlls_dir}" gp_cmd_dlls_dir)
set(ENV{PATH} "$ENV{PATH};${gp_cmd_dlls_dir}")
endif()
- endif(EXISTS "${gp_cmd_dlls_dir}")
- endif("${gp_tool}" STREQUAL "dumpbin")
+ endif()
+ endif()
#
# </setup-gp_tool-vars>
@@ -669,8 +670,8 @@ function(get_prerequisites target prerequisites_var exclude_system recurse exepa
set(old_ld_env "$ENV{LD_LIBRARY_PATH}")
foreach(dir ${exepath} ${dirs})
set(ENV{LD_LIBRARY_PATH} "${dir}:$ENV{LD_LIBRARY_PATH}")
- endforeach(dir)
- endif("${gp_tool}" STREQUAL "ldd")
+ endforeach()
+ endif()
# Track new prerequisites at each new level of recursion. Start with an
@@ -687,13 +688,13 @@ function(get_prerequisites target prerequisites_var exclude_system recurse exepa
if("${gp_tool}" STREQUAL "ldd")
set(ENV{LD_LIBRARY_PATH} "${old_ld_env}")
- endif("${gp_tool}" STREQUAL "ldd")
+ endif()
if(verbose)
message(STATUS "<RawOutput cmd='${gp_cmd} ${gp_cmd_args} ${target}'>")
message(STATUS "gp_cmd_ov='${gp_cmd_ov}'")
message(STATUS "</RawOutput>")
- endif(verbose)
+ endif()
get_filename_component(target_dir "${target}" PATH)
@@ -716,8 +717,8 @@ function(get_prerequisites target prerequisites_var exclude_system recurse exepa
# trim
string(REGEX MATCH "[^\n ].*[^\n ]" gp_install_id "${gp_install_id}")
#message("INSTALL ID is \"${gp_install_id}\"")
- endif(gp_install_id)
- endif("${gp_tool}" STREQUAL "otool")
+ endif()
+ endif()
# Analyze each line for file names that match the regular expression:
#
@@ -727,23 +728,23 @@ function(get_prerequisites target prerequisites_var exclude_system recurse exepa
# Extract information from each candidate:
if(gp_regex_error AND "${candidate}" MATCHES "${gp_regex_error}")
string(REGEX REPLACE "${gp_regex_fallback}" "\\1" raw_item "${candidate}")
- else(gp_regex_error AND "${candidate}" MATCHES "${gp_regex_error}")
+ else()
string(REGEX REPLACE "${gp_regex}" "\\1" raw_item "${candidate}")
- endif(gp_regex_error AND "${candidate}" MATCHES "${gp_regex_error}")
+ endif()
if(gp_regex_cmp_count GREATER 1)
string(REGEX REPLACE "${gp_regex}" "\\2" raw_compat_version "${candidate}")
string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$" "\\1" compat_major_version "${raw_compat_version}")
string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$" "\\2" compat_minor_version "${raw_compat_version}")
string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$" "\\3" compat_patch_version "${raw_compat_version}")
- endif(gp_regex_cmp_count GREATER 1)
+ endif()
if(gp_regex_cmp_count GREATER 2)
string(REGEX REPLACE "${gp_regex}" "\\3" raw_current_version "${candidate}")
string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$" "\\1" current_major_version "${raw_current_version}")
string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$" "\\2" current_minor_version "${raw_current_version}")
string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\\.([0-9]+)$" "\\3" current_patch_version "${raw_current_version}")
- endif(gp_regex_cmp_count GREATER 2)
+ endif()
# 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
@@ -757,7 +758,7 @@ function(get_prerequisites target prerequisites_var exclude_system recurse exepa
if("${item}" STREQUAL "${gp_install_id}")
set(add_item 0)
- endif("${item}" STREQUAL "${gp_install_id}")
+ endif()
if(add_item AND ${exclude_system})
set(type "")
@@ -765,8 +766,8 @@ function(get_prerequisites target prerequisites_var exclude_system recurse exepa
if("${type}" STREQUAL "system")
set(add_item 0)
- endif("${type}" STREQUAL "system")
- endif(add_item AND ${exclude_system})
+ endif()
+ endif()
if(add_item)
list(LENGTH ${prerequisites_var} list_length_before_append)
@@ -784,49 +785,49 @@ function(get_prerequisites target prerequisites_var exclude_system recurse exepa
if(NOT list_length_before_append EQUAL list_length_after_append)
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)
- else("${candidate}" MATCHES "${gp_regex}")
+ endif()
+ endif()
+ endif()
+ else()
if(verbose)
message(STATUS "ignoring non-matching line: '${candidate}'")
- endif(verbose)
- endif("${candidate}" MATCHES "${gp_regex}")
- endforeach(candidate)
+ endif()
+ endif()
+ endforeach()
list(LENGTH ${prerequisites_var} prerequisites_var_length)
if(prerequisites_var_length GREATER 0)
list(SORT ${prerequisites_var})
- endif(prerequisites_var_length GREATER 0)
+ endif()
if(${recurse})
set(more_inputs ${unseen_prereqs})
foreach(input ${more_inputs})
get_prerequisites("${input}" ${prerequisites_var} ${exclude_system} ${recurse} "${exepath}" "${dirs}")
- endforeach(input)
- endif(${recurse})
+ endforeach()
+ endif()
set(${prerequisites_var} ${${prerequisites_var}} PARENT_SCOPE)
-endfunction(get_prerequisites)
+endfunction()
function(list_prerequisites target)
if("${ARGV1}" STREQUAL "")
set(all 1)
- else("${ARGV1}" STREQUAL "")
+ else()
set(all "${ARGV1}")
- endif("${ARGV1}" STREQUAL "")
+ endif()
if("${ARGV2}" STREQUAL "")
set(exclude_system 0)
- else("${ARGV2}" STREQUAL "")
+ else()
set(exclude_system "${ARGV2}")
- endif("${ARGV2}" STREQUAL "")
+ endif()
if("${ARGV3}" STREQUAL "")
set(verbose 0)
- else("${ARGV3}" STREQUAL "")
+ else()
set(verbose "${ARGV3}")
- endif("${ARGV3}" STREQUAL "")
+ endif()
set(count 0)
set(count_str "")
@@ -842,23 +843,23 @@ function(list_prerequisites target)
if(print_target)
message(STATUS "File '${target}' depends on:")
- endif(print_target)
+ endif()
foreach(d ${prereqs})
math(EXPR count "${count} + 1")
if(print_count)
set(count_str "${count}. ")
- endif(print_count)
+ endif()
if(print_prerequisite_type)
gp_file_type("${target}" "${d}" type)
set(type_str " (${type})")
- endif(print_prerequisite_type)
+ endif()
message(STATUS "${count_str}${d}${type_str}")
- endforeach(d)
-endfunction(list_prerequisites)
+ endforeach()
+endfunction()
function(list_prerequisites_by_glob glob_arg glob_exp)
@@ -872,6 +873,6 @@ function(list_prerequisites_by_glob glob_arg glob_exp)
message(STATUS "=============================================================================")
list_prerequisites("${f}" ${ARGN})
message(STATUS "")
- endif(is_f_executable)
- endforeach(f)
-endfunction(list_prerequisites_by_glob)
+ endif()
+ endforeach()
+endfunction()
diff --git a/Modules/ITKCompatibility.cmake b/Modules/ITKCompatibility.cmake
index efd9c284e..ca2d69bfb 100644
--- a/Modules/ITKCompatibility.cmake
+++ b/Modules/ITKCompatibility.cmake
@@ -13,5 +13,5 @@
# License text for the above reference.)
# work around an old bug in ITK prior to verison 3.0
-SET(TIFF_RIGHT_VERSION 1)
+set(TIFF_RIGHT_VERSION 1)
diff --git a/Modules/InstallRequiredSystemLibraries.cmake b/Modules/InstallRequiredSystemLibraries.cmake
index 65d254a4a..bd9750185 100644
--- a/Modules/InstallRequiredSystemLibraries.cmake
+++ b/Modules/InstallRequiredSystemLibraries.cmake
@@ -1,6 +1,6 @@
# By including this file, all library files listed in the variable
# CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS will be installed with
-# INSTALL(PROGRAMS ...) into bin for WIN32 and lib
+# install(PROGRAMS ...) into bin for WIN32 and lib
# for non-WIN32. If CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP is set to TRUE
# before including this file, then the INSTALL command is not called.
# The user can use the variable CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS to use a
@@ -36,196 +36,196 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-IF(MSVC)
- FILE(TO_CMAKE_PATH "$ENV{SYSTEMROOT}" SYSTEMROOT)
+if(MSVC)
+ file(TO_CMAKE_PATH "$ENV{SYSTEMROOT}" SYSTEMROOT)
- IF(CMAKE_CL_64)
- IF(MSVC_VERSION GREATER 1599)
+ if(CMAKE_CL_64)
+ if(MSVC_VERSION GREATER 1599)
# VS 10 and later:
- SET(CMAKE_MSVC_ARCH x64)
- ELSE()
+ set(CMAKE_MSVC_ARCH x64)
+ else()
# VS 9 and earlier:
- SET(CMAKE_MSVC_ARCH amd64)
- ENDIF()
- ELSE(CMAKE_CL_64)
- SET(CMAKE_MSVC_ARCH x86)
- ENDIF(CMAKE_CL_64)
+ set(CMAKE_MSVC_ARCH amd64)
+ endif()
+ else()
+ set(CMAKE_MSVC_ARCH x86)
+ endif()
- GET_FILENAME_COMPONENT(devenv_dir "${CMAKE_MAKE_PROGRAM}" PATH)
- GET_FILENAME_COMPONENT(base_dir "${devenv_dir}/../.." ABSOLUTE)
+ get_filename_component(devenv_dir "${CMAKE_MAKE_PROGRAM}" PATH)
+ get_filename_component(base_dir "${devenv_dir}/../.." ABSOLUTE)
- IF(MSVC70)
- SET(__install__libs
+ if(MSVC70)
+ set(__install__libs
"${SYSTEMROOT}/system32/msvcp70.dll"
"${SYSTEMROOT}/system32/msvcr70.dll"
)
- ENDIF(MSVC70)
+ endif()
- IF(MSVC71)
- SET(__install__libs
+ if(MSVC71)
+ set(__install__libs
"${SYSTEMROOT}/system32/msvcp71.dll"
"${SYSTEMROOT}/system32/msvcr71.dll"
)
- ENDIF(MSVC71)
+ endif()
- IF(MSVC80)
+ if(MSVC80)
# Find the runtime library redistribution directory.
- GET_FILENAME_COMPONENT(msvc_install_dir
+ get_filename_component(msvc_install_dir
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\8.0;InstallDir]" ABSOLUTE)
- FIND_PATH(MSVC80_REDIST_DIR NAMES ${CMAKE_MSVC_ARCH}/Microsoft.VC80.CRT/Microsoft.VC80.CRT.manifest
+ find_path(MSVC80_REDIST_DIR NAMES ${CMAKE_MSVC_ARCH}/Microsoft.VC80.CRT/Microsoft.VC80.CRT.manifest
PATHS
"${msvc_install_dir}/../../VC/redist"
"${base_dir}/VC/redist"
)
- MARK_AS_ADVANCED(MSVC80_REDIST_DIR)
- SET(MSVC80_CRT_DIR "${MSVC80_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC80.CRT")
+ mark_as_advanced(MSVC80_REDIST_DIR)
+ 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.
- IF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
- SET(__install__libs
+ if(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+ set(__install__libs
"${MSVC80_CRT_DIR}/Microsoft.VC80.CRT.manifest"
"${MSVC80_CRT_DIR}/msvcm80.dll"
"${MSVC80_CRT_DIR}/msvcp80.dll"
"${MSVC80_CRT_DIR}/msvcr80.dll"
)
- ENDIF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+ endif()
- IF(CMAKE_INSTALL_DEBUG_LIBRARIES)
- SET(MSVC80_CRT_DIR
+ if(CMAKE_INSTALL_DEBUG_LIBRARIES)
+ set(MSVC80_CRT_DIR
"${MSVC80_REDIST_DIR}/Debug_NonRedist/${CMAKE_MSVC_ARCH}/Microsoft.VC80.DebugCRT")
- SET(__install__libs ${__install__libs}
+ set(__install__libs ${__install__libs}
"${MSVC80_CRT_DIR}/Microsoft.VC80.DebugCRT.manifest"
"${MSVC80_CRT_DIR}/msvcm80d.dll"
"${MSVC80_CRT_DIR}/msvcp80d.dll"
"${MSVC80_CRT_DIR}/msvcr80d.dll"
)
- ENDIF(CMAKE_INSTALL_DEBUG_LIBRARIES)
- ENDIF(MSVC80)
+ endif()
+ endif()
- IF(MSVC90)
+ if(MSVC90)
# Find the runtime library redistribution directory.
- GET_FILENAME_COMPONENT(msvc_install_dir
+ get_filename_component(msvc_install_dir
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\9.0;InstallDir]" ABSOLUTE)
- GET_FILENAME_COMPONENT(msvc_express_install_dir
+ get_filename_component(msvc_express_install_dir
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VCExpress\\9.0;InstallDir]" ABSOLUTE)
- FIND_PATH(MSVC90_REDIST_DIR NAMES ${CMAKE_MSVC_ARCH}/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest
+ find_path(MSVC90_REDIST_DIR NAMES ${CMAKE_MSVC_ARCH}/Microsoft.VC90.CRT/Microsoft.VC90.CRT.manifest
PATHS
"${msvc_install_dir}/../../VC/redist"
"${msvc_express_install_dir}/../../VC/redist"
"${base_dir}/VC/redist"
)
- MARK_AS_ADVANCED(MSVC90_REDIST_DIR)
- SET(MSVC90_CRT_DIR "${MSVC90_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC90.CRT")
+ mark_as_advanced(MSVC90_REDIST_DIR)
+ 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.
- IF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
- SET(__install__libs
+ if(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+ set(__install__libs
"${MSVC90_CRT_DIR}/Microsoft.VC90.CRT.manifest"
"${MSVC90_CRT_DIR}/msvcm90.dll"
"${MSVC90_CRT_DIR}/msvcp90.dll"
"${MSVC90_CRT_DIR}/msvcr90.dll"
)
- ENDIF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+ endif()
- IF(CMAKE_INSTALL_DEBUG_LIBRARIES)
- SET(MSVC90_CRT_DIR
+ if(CMAKE_INSTALL_DEBUG_LIBRARIES)
+ set(MSVC90_CRT_DIR
"${MSVC90_REDIST_DIR}/Debug_NonRedist/${CMAKE_MSVC_ARCH}/Microsoft.VC90.DebugCRT")
- SET(__install__libs ${__install__libs}
+ set(__install__libs ${__install__libs}
"${MSVC90_CRT_DIR}/Microsoft.VC90.DebugCRT.manifest"
"${MSVC90_CRT_DIR}/msvcm90d.dll"
"${MSVC90_CRT_DIR}/msvcp90d.dll"
"${MSVC90_CRT_DIR}/msvcr90d.dll"
)
- ENDIF(CMAKE_INSTALL_DEBUG_LIBRARIES)
- ENDIF(MSVC90)
+ endif()
+ endif()
- MACRO(MSVCRT_FILES_FOR_VERSION version)
- SET(v "${version}")
+ macro(MSVCRT_FILES_FOR_VERSION version)
+ set(v "${version}")
# Find the runtime library redistribution directory.
- GET_FILENAME_COMPONENT(msvc_install_dir
+ get_filename_component(msvc_install_dir
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\${v}.0;InstallDir]" ABSOLUTE)
- FIND_PATH(MSVC${v}_REDIST_DIR NAMES ${CMAKE_MSVC_ARCH}/Microsoft.VC${v}0.CRT
+ find_path(MSVC${v}_REDIST_DIR NAMES ${CMAKE_MSVC_ARCH}/Microsoft.VC${v}0.CRT
PATHS
"${msvc_install_dir}/../../VC/redist"
"${base_dir}/VC/redist"
"$ENV{ProgramFiles}/Microsoft Visual Studio ${v}.0/VC/redist"
"$ENV{ProgramFiles(x86)}/Microsoft Visual Studio ${v}.0/VC/redist"
)
- MARK_AS_ADVANCED(MSVC${v}_REDIST_DIR)
- SET(MSVC${v}_CRT_DIR "${MSVC${v}_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC${v}0.CRT")
+ mark_as_advanced(MSVC${v}_REDIST_DIR)
+ set(MSVC${v}_CRT_DIR "${MSVC${v}_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC${v}0.CRT")
- IF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
- SET(__install__libs
+ if(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+ set(__install__libs
"${MSVC${v}_CRT_DIR}/msvcp${v}0.dll"
"${MSVC${v}_CRT_DIR}/msvcr${v}0.dll"
)
- ENDIF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+ endif()
- IF(CMAKE_INSTALL_DEBUG_LIBRARIES)
- SET(MSVC${v}_CRT_DIR
+ if(CMAKE_INSTALL_DEBUG_LIBRARIES)
+ set(MSVC${v}_CRT_DIR
"${MSVC${v}_REDIST_DIR}/Debug_NonRedist/${CMAKE_MSVC_ARCH}/Microsoft.VC${v}0.DebugCRT")
- SET(__install__libs ${__install__libs}
+ set(__install__libs ${__install__libs}
"${MSVC${v}_CRT_DIR}/msvcp${v}0d.dll"
"${MSVC${v}_CRT_DIR}/msvcr${v}0d.dll"
)
- ENDIF(CMAKE_INSTALL_DEBUG_LIBRARIES)
- ENDMACRO()
+ endif()
+ endmacro()
- IF(MSVC10)
+ if(MSVC10)
MSVCRT_FILES_FOR_VERSION(10)
- ENDIF()
+ endif()
- IF(MSVC11)
+ if(MSVC11)
MSVCRT_FILES_FOR_VERSION(11)
- ENDIF()
+ endif()
- IF(CMAKE_INSTALL_MFC_LIBRARIES)
- IF(MSVC70)
- SET(__install__libs ${__install__libs}
+ if(CMAKE_INSTALL_MFC_LIBRARIES)
+ if(MSVC70)
+ set(__install__libs ${__install__libs}
"${SYSTEMROOT}/system32/mfc70.dll"
)
- ENDIF(MSVC70)
+ endif()
- IF(MSVC71)
- SET(__install__libs ${__install__libs}
+ if(MSVC71)
+ set(__install__libs ${__install__libs}
"${SYSTEMROOT}/system32/mfc71.dll"
)
- ENDIF(MSVC71)
+ endif()
- IF(MSVC80)
- IF(CMAKE_INSTALL_DEBUG_LIBRARIES)
- SET(MSVC80_MFC_DIR
+ if(MSVC80)
+ if(CMAKE_INSTALL_DEBUG_LIBRARIES)
+ set(MSVC80_MFC_DIR
"${MSVC80_REDIST_DIR}/Debug_NonRedist/${CMAKE_MSVC_ARCH}/Microsoft.VC80.DebugMFC")
- SET(__install__libs ${__install__libs}
+ set(__install__libs ${__install__libs}
"${MSVC80_MFC_DIR}/Microsoft.VC80.DebugMFC.manifest"
"${MSVC80_MFC_DIR}/mfc80d.dll"
"${MSVC80_MFC_DIR}/mfc80ud.dll"
"${MSVC80_MFC_DIR}/mfcm80d.dll"
"${MSVC80_MFC_DIR}/mfcm80ud.dll"
)
- ENDIF(CMAKE_INSTALL_DEBUG_LIBRARIES)
+ endif()
- SET(MSVC80_MFC_DIR "${MSVC80_REDIST_DIR}/${CMAKE_MSVC_ARCH}/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.
- IF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
- SET(__install__libs ${__install__libs}
+ if(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+ set(__install__libs ${__install__libs}
"${MSVC80_MFC_DIR}/Microsoft.VC80.MFC.manifest"
"${MSVC80_MFC_DIR}/mfc80.dll"
"${MSVC80_MFC_DIR}/mfc80u.dll"
"${MSVC80_MFC_DIR}/mfcm80.dll"
"${MSVC80_MFC_DIR}/mfcm80u.dll"
)
- ENDIF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+ endif()
# include the language dll's for vs8 as well as the actuall dll's
- SET(MSVC80_MFCLOC_DIR "${MSVC80_REDIST_DIR}/${CMAKE_MSVC_ARCH}/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}
+ set(__install__libs ${__install__libs}
"${MSVC80_MFCLOC_DIR}/Microsoft.VC80.MFCLOC.manifest"
"${MSVC80_MFCLOC_DIR}/mfc80chs.dll"
"${MSVC80_MFCLOC_DIR}/mfc80cht.dll"
@@ -237,39 +237,39 @@ IF(MSVC)
"${MSVC80_MFCLOC_DIR}/mfc80jpn.dll"
"${MSVC80_MFCLOC_DIR}/mfc80kor.dll"
)
- ENDIF(MSVC80)
+ endif()
- IF(MSVC90)
- IF(CMAKE_INSTALL_DEBUG_LIBRARIES)
- SET(MSVC90_MFC_DIR
+ if(MSVC90)
+ if(CMAKE_INSTALL_DEBUG_LIBRARIES)
+ set(MSVC90_MFC_DIR
"${MSVC90_REDIST_DIR}/Debug_NonRedist/${CMAKE_MSVC_ARCH}/Microsoft.VC90.DebugMFC")
- SET(__install__libs ${__install__libs}
+ set(__install__libs ${__install__libs}
"${MSVC90_MFC_DIR}/Microsoft.VC90.DebugMFC.manifest"
"${MSVC90_MFC_DIR}/mfc90d.dll"
"${MSVC90_MFC_DIR}/mfc90ud.dll"
"${MSVC90_MFC_DIR}/mfcm90d.dll"
"${MSVC90_MFC_DIR}/mfcm90ud.dll"
)
- ENDIF(CMAKE_INSTALL_DEBUG_LIBRARIES)
+ endif()
- SET(MSVC90_MFC_DIR "${MSVC90_REDIST_DIR}/${CMAKE_MSVC_ARCH}/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.
- IF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
- SET(__install__libs ${__install__libs}
+ if(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+ set(__install__libs ${__install__libs}
"${MSVC90_MFC_DIR}/Microsoft.VC90.MFC.manifest"
"${MSVC90_MFC_DIR}/mfc90.dll"
"${MSVC90_MFC_DIR}/mfc90u.dll"
"${MSVC90_MFC_DIR}/mfcm90.dll"
"${MSVC90_MFC_DIR}/mfcm90u.dll"
)
- ENDIF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+ endif()
# include the language dll's for vs9 as well as the actuall dll's
- SET(MSVC90_MFCLOC_DIR "${MSVC90_REDIST_DIR}/${CMAKE_MSVC_ARCH}/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}
+ set(__install__libs ${__install__libs}
"${MSVC90_MFCLOC_DIR}/Microsoft.VC90.MFCLOC.manifest"
"${MSVC90_MFCLOC_DIR}/mfc90chs.dll"
"${MSVC90_MFCLOC_DIR}/mfc90cht.dll"
@@ -281,121 +281,122 @@ IF(MSVC)
"${MSVC90_MFCLOC_DIR}/mfc90jpn.dll"
"${MSVC90_MFCLOC_DIR}/mfc90kor.dll"
)
- ENDIF(MSVC90)
+ endif()
- MACRO(MFC_FILES_FOR_VERSION version)
- SET(v "${version}")
+ macro(MFC_FILES_FOR_VERSION version)
+ set(v "${version}")
- IF(CMAKE_INSTALL_DEBUG_LIBRARIES)
- SET(MSVC${v}_MFC_DIR
+ if(CMAKE_INSTALL_DEBUG_LIBRARIES)
+ set(MSVC${v}_MFC_DIR
"${MSVC${v}_REDIST_DIR}/Debug_NonRedist/${CMAKE_MSVC_ARCH}/Microsoft.VC${v}0.DebugMFC")
- SET(__install__libs ${__install__libs}
+ set(__install__libs ${__install__libs}
"${MSVC${v}_MFC_DIR}/mfc${v}0d.dll"
"${MSVC${v}_MFC_DIR}/mfc${v}0ud.dll"
"${MSVC${v}_MFC_DIR}/mfcm${v}0d.dll"
"${MSVC${v}_MFC_DIR}/mfcm${v}0ud.dll"
)
- ENDIF(CMAKE_INSTALL_DEBUG_LIBRARIES)
+ endif()
- SET(MSVC${v}_MFC_DIR "${MSVC${v}_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC${v}0.MFC")
- IF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
- SET(__install__libs ${__install__libs}
+ set(MSVC${v}_MFC_DIR "${MSVC${v}_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC${v}0.MFC")
+ if(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+ set(__install__libs ${__install__libs}
"${MSVC${v}_MFC_DIR}/mfc${v}0.dll"
"${MSVC${v}_MFC_DIR}/mfc${v}0u.dll"
"${MSVC${v}_MFC_DIR}/mfcm${v}0.dll"
"${MSVC${v}_MFC_DIR}/mfcm${v}0u.dll"
)
- ENDIF(NOT CMAKE_INSTALL_DEBUG_LIBRARIES_ONLY)
+ endif()
# include the language dll's as well as the actuall dll's
- SET(MSVC${v}_MFCLOC_DIR "${MSVC${v}_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC${v}0.MFCLOC")
- SET(__install__libs ${__install__libs}
+ set(MSVC${v}_MFCLOC_DIR "${MSVC${v}_REDIST_DIR}/${CMAKE_MSVC_ARCH}/Microsoft.VC${v}0.MFCLOC")
+ set(__install__libs ${__install__libs}
"${MSVC${v}_MFCLOC_DIR}/mfc${v}0chs.dll"
"${MSVC${v}_MFCLOC_DIR}/mfc${v}0cht.dll"
- "${MSVC${v}_MFCLOC_DIR}/mfc${v}0enu.dll"
- "${MSVC${v}_MFCLOC_DIR}/mfc${v}0esp.dll"
"${MSVC${v}_MFCLOC_DIR}/mfc${v}0deu.dll"
+ "${MSVC${v}_MFCLOC_DIR}/mfc${v}0enu.dll"
+ "${MSVC${v}_MFCLOC_DIR}/mfc${v}0esn.dll"
"${MSVC${v}_MFCLOC_DIR}/mfc${v}0fra.dll"
"${MSVC${v}_MFCLOC_DIR}/mfc${v}0ita.dll"
"${MSVC${v}_MFCLOC_DIR}/mfc${v}0jpn.dll"
"${MSVC${v}_MFCLOC_DIR}/mfc${v}0kor.dll"
+ "${MSVC${v}_MFCLOC_DIR}/mfc${v}0rus.dll"
)
- ENDMACRO()
+ endmacro()
- IF(MSVC10)
+ if(MSVC10)
MFC_FILES_FOR_VERSION(10)
- ENDIF()
+ endif()
- IF(MSVC11)
+ if(MSVC11)
MFC_FILES_FOR_VERSION(11)
- ENDIF()
- ENDIF(CMAKE_INSTALL_MFC_LIBRARIES)
+ endif()
+ endif()
- FOREACH(lib
+ foreach(lib
${__install__libs}
)
- IF(EXISTS ${lib})
- SET(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS
+ if(EXISTS ${lib})
+ set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS
${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} ${lib})
- ELSE(EXISTS ${lib})
- IF(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS)
- MESSAGE(WARNING "system runtime library file does not exist: '${lib}'")
+ else()
+ if(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS)
+ message(WARNING "system runtime library file does not exist: '${lib}'")
# This warning indicates an incomplete Visual Studio installation
# or a bug somewhere above here in this file.
# If you would like to avoid this warning, fix the real problem, or
# set CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS before including
# this file.
- ENDIF()
- ENDIF(EXISTS ${lib})
- ENDFOREACH(lib)
-ENDIF(MSVC)
-
-IF(WATCOM)
- GET_FILENAME_COMPONENT( CompilerPath ${CMAKE_C_COMPILER} PATH )
- IF(WATCOM17)
- SET( __install__libs ${CompilerPath}/clbr17.dll
+ endif()
+ endif()
+ endforeach()
+endif()
+
+if(WATCOM)
+ get_filename_component( CompilerPath ${CMAKE_C_COMPILER} PATH )
+ if(WATCOM17)
+ set( __install__libs ${CompilerPath}/clbr17.dll
${CompilerPath}/mt7r17.dll ${CompilerPath}/plbr17.dll )
- ENDIF()
- IF(WATCOM18)
- SET( __install__libs ${CompilerPath}/clbr18.dll
+ endif()
+ if(WATCOM18)
+ set( __install__libs ${CompilerPath}/clbr18.dll
${CompilerPath}/mt7r18.dll ${CompilerPath}/plbr18.dll )
- ENDIF()
- IF(WATCOM19)
- SET( __install__libs ${CompilerPath}/clbr19.dll
+ endif()
+ if(WATCOM19)
+ set( __install__libs ${CompilerPath}/clbr19.dll
${CompilerPath}/mt7r19.dll ${CompilerPath}/plbr19.dll )
- ENDIF()
- FOREACH(lib
+ endif()
+ foreach(lib
${__install__libs}
)
- IF(EXISTS ${lib})
- SET(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS
+ if(EXISTS ${lib})
+ set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS
${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} ${lib})
- ELSE()
- IF(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS)
- MESSAGE(WARNING "system runtime library file does not exist: '${lib}'")
+ else()
+ if(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS)
+ message(WARNING "system runtime library file does not exist: '${lib}'")
# This warning indicates an incomplete Watcom installation
# or a bug somewhere above here in this file.
# If you would like to avoid this warning, fix the real problem, or
# set CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS before including
# this file.
- ENDIF()
- ENDIF()
- ENDFOREACH()
-ENDIF()
+ endif()
+ endif()
+ endforeach()
+endif()
# Include system runtime libraries in the installation if any are
# specified by CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS.
-IF(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS)
- IF(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP)
- IF(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION)
- IF(WIN32)
- SET(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION bin)
- ELSE(WIN32)
- SET(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION lib)
- ENDIF(WIN32)
- ENDIF(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION)
- INSTALL(PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS}
+if(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS)
+ if(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP)
+ if(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION)
+ if(WIN32)
+ set(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION bin)
+ else()
+ set(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION lib)
+ endif()
+ endif()
+ install(PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS}
DESTINATION ${CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION})
- ENDIF(NOT CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP)
-ENDIF(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS)
+ endif()
+endif()
diff --git a/Modules/KDE3Macros.cmake b/Modules/KDE3Macros.cmake
index 5b76000e8..07864f5d8 100644
--- a/Modules/KDE3Macros.cmake
+++ b/Modules/KDE3Macros.cmake
@@ -32,157 +32,157 @@
#neundorf@kde.org
-INCLUDE(AddFileDependencies)
+include(AddFileDependencies)
#create the kidl and skeletion file for dcop stuff
#usage: KDE_ADD_COP_SKELS(foo_SRCS ${dcop_headers})
-MACRO(KDE3_ADD_DCOP_SKELS _sources)
- FOREACH (_current_FILE ${ARGN})
+macro(KDE3_ADD_DCOP_SKELS _sources)
+ foreach (_current_FILE ${ARGN})
- GET_FILENAME_COMPONENT(_tmp_FILE ${_current_FILE} ABSOLUTE)
- GET_FILENAME_COMPONENT(_basename ${_tmp_FILE} NAME_WE)
+ get_filename_component(_tmp_FILE ${_current_FILE} ABSOLUTE)
+ get_filename_component(_basename ${_tmp_FILE} NAME_WE)
- SET(_skel ${CMAKE_CURRENT_BINARY_DIR}/${_basename}_skel.cpp)
- SET(_kidl ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.kidl)
+ set(_skel ${CMAKE_CURRENT_BINARY_DIR}/${_basename}_skel.cpp)
+ set(_kidl ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.kidl)
- IF (NOT HAVE_${_basename}_KIDL_RULE)
- SET(HAVE_${_basename}_KIDL_RULE ON)
+ if (NOT HAVE_${_basename}_KIDL_RULE)
+ set(HAVE_${_basename}_KIDL_RULE ON)
- ADD_CUSTOM_COMMAND(OUTPUT ${_kidl}
+ add_custom_command(OUTPUT ${_kidl}
COMMAND ${KDE3_DCOPIDL_EXECUTABLE}
ARGS ${_tmp_FILE} > ${_kidl}
DEPENDS ${_tmp_FILE}
)
- ENDIF (NOT HAVE_${_basename}_KIDL_RULE)
+ endif ()
- IF (NOT HAVE_${_basename}_SKEL_RULE)
- SET(HAVE_${_basename}_SKEL_RULE ON)
+ if (NOT HAVE_${_basename}_SKEL_RULE)
+ set(HAVE_${_basename}_SKEL_RULE ON)
- ADD_CUSTOM_COMMAND(OUTPUT ${_skel}
+ add_custom_command(OUTPUT ${_skel}
COMMAND ${KDE3_DCOPIDL2CPP_EXECUTABLE}
ARGS --c++-suffix cpp --no-signals --no-stub ${_kidl}
DEPENDS ${_kidl}
)
- ENDIF (NOT HAVE_${_basename}_SKEL_RULE)
+ endif ()
- SET(${_sources} ${${_sources}} ${_skel})
+ set(${_sources} ${${_sources}} ${_skel})
- ENDFOREACH (_current_FILE)
+ endforeach ()
-ENDMACRO(KDE3_ADD_DCOP_SKELS)
+endmacro()
-MACRO(KDE3_ADD_DCOP_STUBS _sources)
- FOREACH (_current_FILE ${ARGN})
+macro(KDE3_ADD_DCOP_STUBS _sources)
+ foreach (_current_FILE ${ARGN})
- GET_FILENAME_COMPONENT(_tmp_FILE ${_current_FILE} ABSOLUTE)
+ get_filename_component(_tmp_FILE ${_current_FILE} ABSOLUTE)
- GET_FILENAME_COMPONENT(_basename ${_tmp_FILE} NAME_WE)
+ get_filename_component(_basename ${_tmp_FILE} NAME_WE)
- SET(_stub_CPP ${CMAKE_CURRENT_BINARY_DIR}/${_basename}_stub.cpp)
- SET(_kidl ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.kidl)
+ set(_stub_CPP ${CMAKE_CURRENT_BINARY_DIR}/${_basename}_stub.cpp)
+ set(_kidl ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.kidl)
- IF (NOT HAVE_${_basename}_KIDL_RULE)
- SET(HAVE_${_basename}_KIDL_RULE ON)
+ if (NOT HAVE_${_basename}_KIDL_RULE)
+ set(HAVE_${_basename}_KIDL_RULE ON)
- ADD_CUSTOM_COMMAND(OUTPUT ${_kidl}
+ add_custom_command(OUTPUT ${_kidl}
COMMAND ${KDE3_DCOPIDL_EXECUTABLE}
ARGS ${_tmp_FILE} > ${_kidl}
DEPENDS ${_tmp_FILE}
)
- ENDIF (NOT HAVE_${_basename}_KIDL_RULE)
+ endif ()
- IF (NOT HAVE_${_basename}_STUB_RULE)
- SET(HAVE_${_basename}_STUB_RULE ON)
+ if (NOT HAVE_${_basename}_STUB_RULE)
+ set(HAVE_${_basename}_STUB_RULE ON)
- ADD_CUSTOM_COMMAND(OUTPUT ${_stub_CPP}
+ add_custom_command(OUTPUT ${_stub_CPP}
COMMAND ${KDE3_DCOPIDL2CPP_EXECUTABLE}
ARGS --c++-suffix cpp --no-signals --no-skel ${_kidl}
DEPENDS ${_kidl}
)
- ENDIF (NOT HAVE_${_basename}_STUB_RULE)
+ endif ()
- SET(${_sources} ${${_sources}} ${_stub_CPP})
+ set(${_sources} ${${_sources}} ${_stub_CPP})
- ENDFOREACH (_current_FILE)
+ endforeach ()
-ENDMACRO(KDE3_ADD_DCOP_STUBS)
+endmacro()
-MACRO(KDE3_ADD_KCFG_FILES _sources)
- FOREACH (_current_FILE ${ARGN})
+macro(KDE3_ADD_KCFG_FILES _sources)
+ foreach (_current_FILE ${ARGN})
- GET_FILENAME_COMPONENT(_tmp_FILE ${_current_FILE} ABSOLUTE)
+ get_filename_component(_tmp_FILE ${_current_FILE} ABSOLUTE)
- GET_FILENAME_COMPONENT(_basename ${_tmp_FILE} NAME_WE)
+ get_filename_component(_basename ${_tmp_FILE} NAME_WE)
- FILE(READ ${_tmp_FILE} _contents)
- STRING(REGEX REPLACE "^(.*\n)?File=([^\n]+)\n.*$" "\\2" _kcfg_FILE "${_contents}")
+ file(READ ${_tmp_FILE} _contents)
+ string(REGEX REPLACE "^(.*\n)?File=([^\n]+)\n.*$" "\\2" _kcfg_FILE "${_contents}")
- SET(_src_FILE ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp)
- SET(_header_FILE ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h)
+ set(_src_FILE ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp)
+ set(_header_FILE ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h)
- ADD_CUSTOM_COMMAND(OUTPUT ${_src_FILE}
+ add_custom_command(OUTPUT ${_src_FILE}
COMMAND ${KDE3_KCFGC_EXECUTABLE}
ARGS ${CMAKE_CURRENT_SOURCE_DIR}/${_kcfg_FILE} ${_tmp_FILE}
DEPENDS ${_tmp_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/${_kcfg_FILE} )
- SET(${_sources} ${${_sources}} ${_src_FILE})
+ set(${_sources} ${${_sources}} ${_src_FILE})
- ENDFOREACH (_current_FILE)
+ endforeach ()
-ENDMACRO(KDE3_ADD_KCFG_FILES)
+endmacro()
#create the moc files and add them to the list of sources
#usage: KDE_ADD_MOC_FILES(foo_SRCS ${moc_headers})
-MACRO(KDE3_ADD_MOC_FILES _sources)
- FOREACH (_current_FILE ${ARGN})
+macro(KDE3_ADD_MOC_FILES _sources)
+ foreach (_current_FILE ${ARGN})
- GET_FILENAME_COMPONENT(_tmp_FILE ${_current_FILE} ABSOLUTE)
+ get_filename_component(_tmp_FILE ${_current_FILE} ABSOLUTE)
- GET_FILENAME_COMPONENT(_basename ${_tmp_FILE} NAME_WE)
- SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc.cpp)
+ get_filename_component(_basename ${_tmp_FILE} NAME_WE)
+ set(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc.cpp)
- ADD_CUSTOM_COMMAND(OUTPUT ${_moc}
+ add_custom_command(OUTPUT ${_moc}
COMMAND ${QT_MOC_EXECUTABLE}
ARGS ${_tmp_FILE} -o ${_moc}
DEPENDS ${_tmp_FILE}
)
- SET(${_sources} ${${_sources}} ${_moc})
+ set(${_sources} ${${_sources}} ${_moc})
- ENDFOREACH (_current_FILE)
-ENDMACRO(KDE3_ADD_MOC_FILES)
+ endforeach ()
+endmacro()
-GET_FILENAME_COMPONENT( KDE3_MODULE_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
+get_filename_component( KDE3_MODULE_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
#create the implementation files from the ui files and add them to the list of sources
#usage: KDE_ADD_UI_FILES(foo_SRCS ${ui_files})
-MACRO(KDE3_ADD_UI_FILES _sources )
- FOREACH (_current_FILE ${ARGN})
+macro(KDE3_ADD_UI_FILES _sources )
+ foreach (_current_FILE ${ARGN})
- GET_FILENAME_COMPONENT(_tmp_FILE ${_current_FILE} ABSOLUTE)
+ get_filename_component(_tmp_FILE ${_current_FILE} ABSOLUTE)
- GET_FILENAME_COMPONENT(_basename ${_tmp_FILE} NAME_WE)
- SET(_header ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h)
- SET(_src ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp)
- SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc.cpp)
+ get_filename_component(_basename ${_tmp_FILE} NAME_WE)
+ set(_header ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h)
+ set(_src ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp)
+ set(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc.cpp)
- ADD_CUSTOM_COMMAND(OUTPUT ${_header}
+ add_custom_command(OUTPUT ${_header}
COMMAND ${QT_UIC_EXECUTABLE}
ARGS -L ${KDE3_LIB_DIR}/kde3/plugins/designer -nounload -o ${_header} ${CMAKE_CURRENT_SOURCE_DIR}/${_current_FILE}
DEPENDS ${_tmp_FILE}
)
- ADD_CUSTOM_COMMAND(OUTPUT ${_src}
+ add_custom_command(OUTPUT ${_src}
COMMAND ${CMAKE_COMMAND}
ARGS
-DKDE_UIC_PLUGIN_DIR:FILEPATH=${KDE3_LIB_DIR}/kde3/plugins/designer
@@ -194,23 +194,23 @@ MACRO(KDE3_ADD_UI_FILES _sources )
DEPENDS ${_header}
)
- ADD_CUSTOM_COMMAND(OUTPUT ${_moc}
+ add_custom_command(OUTPUT ${_moc}
COMMAND ${QT_MOC_EXECUTABLE}
ARGS ${_header} -o ${_moc}
DEPENDS ${_header}
)
- SET(${_sources} ${${_sources}} ${_src} ${_moc} )
+ set(${_sources} ${${_sources}} ${_src} ${_moc} )
- ENDFOREACH (_current_FILE)
-ENDMACRO(KDE3_ADD_UI_FILES)
+ endforeach ()
+endmacro()
-MACRO(KDE3_AUTOMOC)
- SET(_matching_FILES )
- FOREACH (_current_FILE ${ARGN})
+macro(KDE3_AUTOMOC)
+ set(_matching_FILES )
+ foreach (_current_FILE ${ARGN})
- GET_FILENAME_COMPONENT(_abs_FILE ${_current_FILE} ABSOLUTE)
+ get_filename_component(_abs_FILE ${_current_FILE} ABSOLUTE)
# if "SKIP_AUTOMOC" is set to true, we will not handle this file here.
# here. this is required to make bouic work correctly:
@@ -219,193 +219,192 @@ MACRO(KDE3_AUTOMOC)
# cmake is run for the very first time on them -> however the .cpp files might
# exist at a later run. at that time we need to skip them, so that we don't add two
# different rules for the same moc file
- GET_SOURCE_FILE_PROPERTY(_skip ${_abs_FILE} SKIP_AUTOMOC)
+ get_source_file_property(_skip ${_abs_FILE} SKIP_AUTOMOC)
- IF (EXISTS ${_abs_FILE} AND NOT _skip)
+ if (EXISTS ${_abs_FILE} AND NOT _skip)
- FILE(READ ${_abs_FILE} _contents)
+ file(STRINGS ${_abs_FILE} _match REGEX "#include +[^ ]+\\.moc[\">]")
- GET_FILENAME_COMPONENT(_abs_PATH ${_abs_FILE} PATH)
+ get_filename_component(_abs_PATH ${_abs_FILE} PATH)
- STRING(REGEX MATCHALL "#include +[^ ]+\\.moc[\">]" _match "${_contents}")
- IF(_match)
- FOREACH (_current_MOC_INC ${_match})
- STRING(REGEX MATCH "[^ <\"]+\\.moc" _current_MOC "${_current_MOC_INC}")
+ foreach (_current_MOC_INC IN LISTS _match)
+ string(REGEX MATCH "[^ <\"]+\\.moc" _current_MOC "${_current_MOC_INC}")
- GET_FILENAME_COMPONENT(_basename ${_current_MOC} NAME_WE)
-# SET(_header ${CMAKE_CURRENT_SOURCE_DIR}/${_basename}.h)
- SET(_header ${_abs_PATH}/${_basename}.h)
- SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_current_MOC})
+ get_filename_component(_basename ${_current_MOC} NAME_WE)
+# set(_header ${CMAKE_CURRENT_SOURCE_DIR}/${_basename}.h)
+ set(_header ${_abs_PATH}/${_basename}.h)
+ set(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_current_MOC})
- ADD_CUSTOM_COMMAND(OUTPUT ${_moc}
- COMMAND ${QT_MOC_EXECUTABLE}
- ARGS ${_header} -o ${_moc}
- DEPENDS ${_header}
- )
+ add_custom_command(OUTPUT ${_moc}
+ COMMAND ${QT_MOC_EXECUTABLE}
+ ARGS ${_header} -o ${_moc}
+ DEPENDS ${_header}
+ )
- ADD_FILE_DEPENDENCIES(${_abs_FILE} ${_moc})
+ ADD_FILE_DEPENDENCIES(${_abs_FILE} ${_moc})
- ENDFOREACH (_current_MOC_INC)
- ENDIF(_match)
-
- ENDIF (EXISTS ${_abs_FILE} AND NOT _skip)
- ENDFOREACH (_current_FILE)
-ENDMACRO(KDE3_AUTOMOC)
+ endforeach ()
+ unset(_match)
+ unset(_header)
+ unset(_moc)
+ endif ()
+ endforeach ()
+endmacro()
# only used internally by KDE3_INSTALL_ICONS
-MACRO (_KDE3_ADD_ICON_INSTALL_RULE _install_SCRIPT _install_PATH _group _orig_NAME _install_NAME)
+macro (_KDE3_ADD_ICON_INSTALL_RULE _install_SCRIPT _install_PATH _group _orig_NAME _install_NAME)
# if the string doesn't match the pattern, the result is the full string, so all three have the same content
- IF (NOT ${_group} STREQUAL ${_install_NAME} )
- SET(_icon_GROUP "actions")
+ if (NOT ${_group} STREQUAL ${_install_NAME} )
+ set(_icon_GROUP "actions")
- IF (${_group} STREQUAL "mime")
- SET(_icon_GROUP "mimetypes")
- ENDIF (${_group} STREQUAL "mime")
+ if (${_group} STREQUAL "mime")
+ set(_icon_GROUP "mimetypes")
+ endif ()
- IF (${_group} STREQUAL "filesys")
- SET(_icon_GROUP "filesystems")
- ENDIF (${_group} STREQUAL "filesys")
+ if (${_group} STREQUAL "filesys")
+ set(_icon_GROUP "filesystems")
+ endif ()
- IF (${_group} STREQUAL "device")
- SET(_icon_GROUP "devices")
- ENDIF (${_group} STREQUAL "device")
+ if (${_group} STREQUAL "device")
+ set(_icon_GROUP "devices")
+ endif ()
- IF (${_group} STREQUAL "app")
- SET(_icon_GROUP "apps")
- ENDIF (${_group} STREQUAL "app")
+ if (${_group} STREQUAL "app")
+ set(_icon_GROUP "apps")
+ endif ()
- IF (${_group} STREQUAL "action")
- SET(_icon_GROUP "actions")
- ENDIF (${_group} STREQUAL "action")
+ if (${_group} STREQUAL "action")
+ set(_icon_GROUP "actions")
+ endif ()
# message(STATUS "icon: ${_current_ICON} size: ${_size} group: ${_group} name: ${_name}" )
- INSTALL(FILES ${_orig_NAME} DESTINATION ${_install_PATH}/${_icon_GROUP}/ RENAME ${_install_NAME} )
- ENDIF (NOT ${_group} STREQUAL ${_install_NAME} )
+ install(FILES ${_orig_NAME} DESTINATION ${_install_PATH}/${_icon_GROUP}/ RENAME ${_install_NAME} )
+ endif ()
-ENDMACRO (_KDE3_ADD_ICON_INSTALL_RULE)
+endmacro ()
-MACRO (KDE3_INSTALL_ICONS _theme )
- SET(_defaultpath "${CMAKE_INSTALL_PREFIX}/share/icons")
+macro (KDE3_INSTALL_ICONS _theme )
+ set(_defaultpath "${CMAKE_INSTALL_PREFIX}/share/icons")
# first the png icons
- FILE(GLOB _icons *.png)
- FOREACH (_current_ICON ${_icons} )
- STRING(REGEX REPLACE "^.*/[a-zA-Z]+([0-9]+)\\-([a-z]+)\\-(.+\\.png)$" "\\1" _size "${_current_ICON}")
- STRING(REGEX REPLACE "^.*/[a-zA-Z]+([0-9]+)\\-([a-z]+)\\-(.+\\.png)$" "\\2" _group "${_current_ICON}")
- STRING(REGEX REPLACE "^.*/[a-zA-Z]+([0-9]+)\\-([a-z]+)\\-(.+\\.png)$" "\\3" _name "${_current_ICON}")
+ file(GLOB _icons *.png)
+ foreach (_current_ICON ${_icons} )
+ string(REGEX REPLACE "^.*/[a-zA-Z]+([0-9]+)\\-([a-z]+)\\-(.+\\.png)$" "\\1" _size "${_current_ICON}")
+ string(REGEX REPLACE "^.*/[a-zA-Z]+([0-9]+)\\-([a-z]+)\\-(.+\\.png)$" "\\2" _group "${_current_ICON}")
+ string(REGEX REPLACE "^.*/[a-zA-Z]+([0-9]+)\\-([a-z]+)\\-(.+\\.png)$" "\\3" _name "${_current_ICON}")
_KDE3_ADD_ICON_INSTALL_RULE(${CMAKE_CURRENT_BINARY_DIR}/install_icons.cmake
${_defaultpath}/${_theme}/${_size}x${_size}
${_group} ${_current_ICON} ${_name})
- ENDFOREACH (_current_ICON)
+ endforeach ()
# and now the svg icons
- FILE(GLOB _icons *.svgz)
- FOREACH (_current_ICON ${_icons} )
- STRING(REGEX REPLACE "^.*/crsc\\-([a-z]+)\\-(.+\\.svgz)$" "\\1" _group "${_current_ICON}")
- STRING(REGEX REPLACE "^.*/crsc\\-([a-z]+)\\-(.+\\.svgz)$" "\\2" _name "${_current_ICON}")
+ file(GLOB _icons *.svgz)
+ foreach (_current_ICON ${_icons} )
+ string(REGEX REPLACE "^.*/crsc\\-([a-z]+)\\-(.+\\.svgz)$" "\\1" _group "${_current_ICON}")
+ string(REGEX REPLACE "^.*/crsc\\-([a-z]+)\\-(.+\\.svgz)$" "\\2" _name "${_current_ICON}")
_KDE3_ADD_ICON_INSTALL_RULE(${CMAKE_CURRENT_BINARY_DIR}/install_icons.cmake
${_defaultpath}/${_theme}/scalable
${_group} ${_current_ICON} ${_name})
- ENDFOREACH (_current_ICON)
+ endforeach ()
-ENDMACRO (KDE3_INSTALL_ICONS)
+endmacro ()
-MACRO(KDE3_INSTALL_LIBTOOL_FILE _target)
- GET_TARGET_PROPERTY(_target_location ${_target} LOCATION)
+macro(KDE3_INSTALL_LIBTOOL_FILE _target)
+ get_target_property(_target_location ${_target} LOCATION)
- GET_FILENAME_COMPONENT(_laname ${_target_location} NAME_WE)
- GET_FILENAME_COMPONENT(_soname ${_target_location} NAME)
- SET(_laname ${CMAKE_CURRENT_BINARY_DIR}/${_laname}.la)
+ get_filename_component(_laname ${_target_location} NAME_WE)
+ get_filename_component(_soname ${_target_location} NAME)
+ set(_laname ${CMAKE_CURRENT_BINARY_DIR}/${_laname}.la)
- FILE(WRITE ${_laname} "# ${_laname} - a libtool library file, generated by cmake \n")
- FILE(APPEND ${_laname} "# The name that we can dlopen(3).\n")
- FILE(APPEND ${_laname} "dlname='${_soname}'\n")
- FILE(APPEND ${_laname} "# Names of this library\n")
- IF(CYGWIN)
- FILE(APPEND ${_laname} "library_names='${_soname}'\n")
- ELSE(CYGWIN)
- FILE(APPEND ${_laname} "library_names='${_soname} ${_soname} ${_soname}'\n")
- ENDIF(CYGWIN)
- FILE(APPEND ${_laname} "# The name of the static archive\n")
- FILE(APPEND ${_laname} "old_library=''\n")
- FILE(APPEND ${_laname} "# Libraries that this one depends upon.\n")
- FILE(APPEND ${_laname} "dependency_libs=''\n")
-# FILE(APPEND ${_laname} "dependency_libs='${${_target}_LIB_DEPENDS}'\n")
- FILE(APPEND ${_laname} "# Version information.\ncurrent=0\nage=0\nrevision=0\n")
- FILE(APPEND ${_laname} "# Is this an already installed library?\ninstalled=yes\n")
- FILE(APPEND ${_laname} "# Should we warn about portability when linking against -modules?\nshouldnotlink=yes\n")
- FILE(APPEND ${_laname} "# Files to dlopen/dlpreopen\ndlopen=''\ndlpreopen=''\n")
- FILE(APPEND ${_laname} "# Directory that this library needs to be installed in:\n")
- FILE(APPEND ${_laname} "libdir='${CMAKE_INSTALL_PREFIX}/lib/kde3'\n")
+ file(WRITE ${_laname} "# ${_laname} - a libtool library file, generated by cmake \n")
+ file(APPEND ${_laname} "# The name that we can dlopen(3).\n")
+ file(APPEND ${_laname} "dlname='${_soname}'\n")
+ file(APPEND ${_laname} "# Names of this library\n")
+ if(CYGWIN)
+ file(APPEND ${_laname} "library_names='${_soname}'\n")
+ else()
+ file(APPEND ${_laname} "library_names='${_soname} ${_soname} ${_soname}'\n")
+ endif()
+ file(APPEND ${_laname} "# The name of the static archive\n")
+ file(APPEND ${_laname} "old_library=''\n")
+ file(APPEND ${_laname} "# Libraries that this one depends upon.\n")
+ file(APPEND ${_laname} "dependency_libs=''\n")
+# file(APPEND ${_laname} "dependency_libs='${${_target}_LIB_DEPENDS}'\n")
+ file(APPEND ${_laname} "# Version information.\ncurrent=0\nage=0\nrevision=0\n")
+ file(APPEND ${_laname} "# Is this an already installed library?\ninstalled=yes\n")
+ file(APPEND ${_laname} "# Should we warn about portability when linking against -modules?\nshouldnotlink=yes\n")
+ file(APPEND ${_laname} "# Files to dlopen/dlpreopen\ndlopen=''\ndlpreopen=''\n")
+ file(APPEND ${_laname} "# Directory that this library needs to be installed in:\n")
+ file(APPEND ${_laname} "libdir='${CMAKE_INSTALL_PREFIX}/lib/kde3'\n")
- INSTALL_FILES(${KDE3_LIBTOOL_DIR} FILES ${_laname})
-ENDMACRO(KDE3_INSTALL_LIBTOOL_FILE)
+ install_files(${KDE3_LIBTOOL_DIR} FILES ${_laname})
+endmacro()
-MACRO(KDE3_CREATE_FINAL_FILE _filename)
- FILE(WRITE ${_filename} "//autogenerated file\n")
- FOREACH (_current_FILE ${ARGN})
- FILE(APPEND ${_filename} "#include \"${_current_FILE}\"\n")
- ENDFOREACH (_current_FILE)
+macro(KDE3_CREATE_FINAL_FILE _filename)
+ file(WRITE ${_filename} "//autogenerated file\n")
+ foreach (_current_FILE ${ARGN})
+ file(APPEND ${_filename} "#include \"${_current_FILE}\"\n")
+ endforeach ()
-ENDMACRO(KDE3_CREATE_FINAL_FILE)
+endmacro()
-# OPTION(KDE3_ENABLE_FINAL "Enable final all-in-one compilation")
-OPTION(KDE3_BUILD_TESTS "Build the tests")
+# option(KDE3_ENABLE_FINAL "Enable final all-in-one compilation")
+option(KDE3_BUILD_TESTS "Build the tests")
-MACRO(KDE3_ADD_KPART _target_NAME _with_PREFIX)
+macro(KDE3_ADD_KPART _target_NAME _with_PREFIX)
#is the first argument is "WITH_PREFIX" then keep the standard "lib" prefix, otherwise SET the prefix empty
- IF (${_with_PREFIX} STREQUAL "WITH_PREFIX")
- SET(_first_SRC)
- ELSE (${_with_PREFIX} STREQUAL "WITH_PREFIX")
- SET(_first_SRC ${_with_PREFIX})
- ENDIF (${_with_PREFIX} STREQUAL "WITH_PREFIX")
+ if (${_with_PREFIX} STREQUAL "WITH_PREFIX")
+ set(_first_SRC)
+ else ()
+ set(_first_SRC ${_with_PREFIX})
+ endif ()
-# IF (KDE3_ENABLE_FINAL)
+# if (KDE3_ENABLE_FINAL)
# KDE3_CREATE_FINAL_FILE(${_target_NAME}_final.cpp ${_first_SRC} ${ARGN})
-# ADD_LIBRARY(${_target_NAME} MODULE ${_target_NAME}_final.cpp)
-# ELSE (KDE3_ENABLE_FINAL)
- ADD_LIBRARY(${_target_NAME} MODULE ${_first_SRC} ${ARGN})
-# ENDIF (KDE3_ENABLE_FINAL)
+# add_library(${_target_NAME} MODULE ${_target_NAME}_final.cpp)
+# else ()
+ add_library(${_target_NAME} MODULE ${_first_SRC} ${ARGN})
+# endif ()
- IF(_first_SRC)
- SET_TARGET_PROPERTIES(${_target_NAME} PROPERTIES PREFIX "")
- ENDIF(_first_SRC)
+ if(_first_SRC)
+ set_target_properties(${_target_NAME} PROPERTIES PREFIX "")
+ endif()
KDE3_INSTALL_LIBTOOL_FILE(${_target_NAME})
-ENDMACRO(KDE3_ADD_KPART)
+endmacro()
-MACRO(KDE3_ADD_KDEINIT_EXECUTABLE _target_NAME )
+macro(KDE3_ADD_KDEINIT_EXECUTABLE _target_NAME )
-# IF (KDE3_ENABLE_FINAL)
+# if (KDE3_ENABLE_FINAL)
# KDE3_CREATE_FINAL_FILE(${_target_NAME}_final.cpp ${ARGN})
-# ADD_LIBRARY(kdeinit_${_target_NAME} SHARED ${_target_NAME}_final.cpp)
-# ELSE (KDE3_ENABLE_FINAL)
- ADD_LIBRARY(kdeinit_${_target_NAME} SHARED ${ARGN} )
-# ENDIF (KDE3_ENABLE_FINAL)
+# add_library(kdeinit_${_target_NAME} SHARED ${_target_NAME}_final.cpp)
+# else ()
+ add_library(kdeinit_${_target_NAME} SHARED ${ARGN} )
+# endif ()
- CONFIGURE_FILE(${KDE3_MODULE_DIR}/kde3init_dummy.cpp.in ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_dummy.cpp)
+ configure_file(${KDE3_MODULE_DIR}/kde3init_dummy.cpp.in ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_dummy.cpp)
- ADD_EXECUTABLE( ${_target_NAME} ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_dummy.cpp )
- TARGET_LINK_LIBRARIES( ${_target_NAME} kdeinit_${_target_NAME} )
+ add_executable( ${_target_NAME} ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_dummy.cpp )
+ target_link_libraries( ${_target_NAME} kdeinit_${_target_NAME} )
-ENDMACRO(KDE3_ADD_KDEINIT_EXECUTABLE)
+endmacro()
-MACRO(KDE3_ADD_EXECUTABLE _target_NAME )
+macro(KDE3_ADD_EXECUTABLE _target_NAME )
-# IF (KDE3_ENABLE_FINAL)
+# if (KDE3_ENABLE_FINAL)
# KDE3_CREATE_FINAL_FILE(${_target_NAME}_final.cpp ${ARGN})
-# ADD_EXECUTABLE(${_target_NAME} ${_target_NAME}_final.cpp)
-# ELSE (KDE3_ENABLE_FINAL)
- ADD_EXECUTABLE(${_target_NAME} ${ARGN} )
-# ENDIF (KDE3_ENABLE_FINAL)
+# add_executable(${_target_NAME} ${_target_NAME}_final.cpp)
+# else ()
+ add_executable(${_target_NAME} ${ARGN} )
+# endif ()
-ENDMACRO(KDE3_ADD_EXECUTABLE)
+endmacro()
diff --git a/Modules/MacroAddFileDependencies.cmake b/Modules/MacroAddFileDependencies.cmake
index 527447b80..d0605a114 100644
--- a/Modules/MacroAddFileDependencies.cmake
+++ b/Modules/MacroAddFileDependencies.cmake
@@ -2,9 +2,9 @@
# Using the macro MACRO_ADD_FILE_DEPENDENCIES() is discouraged. There are usually
# better ways to specify the correct dependencies.
#
-# MACRO_ADD_FILE_DEPENDENCIES(<_file> depend_files...) is just a convenience
+# MACRO_ADD_FILE_DEPENDENCIES(<_file> depend_files...) is just a convenience
# wrapper around the OBJECT_DEPENDS source file property. You can just
-# use SET_PROPERTY(SOURCE <file> APPEND PROPERTY OBJECT_DEPENDS depend_files) instead.
+# use set_property(SOURCE <file> APPEND PROPERTY OBJECT_DEPENDS depend_files) instead.
#=============================================================================
# Copyright 2006-2009 Kitware, Inc.
@@ -19,15 +19,15 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-MACRO (MACRO_ADD_FILE_DEPENDENCIES _file)
+macro (MACRO_ADD_FILE_DEPENDENCIES _file)
- GET_SOURCE_FILE_PROPERTY(_deps ${_file} OBJECT_DEPENDS)
- IF (_deps)
- SET(_deps ${_deps} ${ARGN})
- ELSE (_deps)
- SET(_deps ${ARGN})
- ENDIF (_deps)
+ get_source_file_property(_deps ${_file} OBJECT_DEPENDS)
+ if (_deps)
+ set(_deps ${_deps} ${ARGN})
+ else ()
+ set(_deps ${ARGN})
+ endif ()
- SET_SOURCE_FILES_PROPERTIES(${_file} PROPERTIES OBJECT_DEPENDS "${_deps}")
+ set_source_files_properties(${_file} PROPERTIES OBJECT_DEPENDS "${_deps}")
-ENDMACRO (MACRO_ADD_FILE_DEPENDENCIES)
+endmacro ()
diff --git a/Modules/NSIS.template.in b/Modules/NSIS.template.in
index 43f72f6aa..ffc425e67 100644
--- a/Modules/NSIS.template.in
+++ b/Modules/NSIS.template.in
@@ -37,7 +37,7 @@
;Set compression
SetCompressor @CPACK_NSIS_COMPRESSOR@
-@CPACK_NSIS_DEFINES@
+@CPACK_NSIS_DEFINES@
!include Sections.nsh
@@ -71,7 +71,7 @@ Var AR_RegFlags
; 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
;Reading component status from registry
ReadRegDWORD $AR_RegFlags HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\Components\${SecName}" "Installed"
@@ -86,20 +86,20 @@ Var AR_RegFlags
; 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}
@@ -110,20 +110,20 @@ Var AR_RegFlags
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\Components\${SecName}" \
"Installed" 0
Goto "exit_${SecName}"
-
+
"leave_${SecName}:"
;Section is selected:
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@\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
@@ -132,18 +132,18 @@ Var AR_RegFlags
!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 ---
@@ -153,7 +153,7 @@ Var AR_RegFlags
!define MUI_HEADERIMAGE
!define MUI_ABORTWARNING
-
+
;--------------------------------
; path functions
@@ -168,7 +168,7 @@ Var AR_RegFlags
!include "WinMessages.NSH"
!verbose 4
;====================================================
-; get_NT_environment
+; get_NT_environment
; Returns: the selected environment
; Output : head of the stack
;====================================================
@@ -198,22 +198,22 @@ FunctionEnd
!define WriteEnvStr_RegKey 'HKCU "Environment"'
!endif
!endif
-
+
; AddToPath - Adds the given dir to the search path.
; Input - head of the stack
; Note - Win9x systems requires reboot
-
+
Function AddToPath
Exch $0
Push $1
Push $2
Push $3
-
+
# don't add if the path doesn't exist
IfFileExists "$0\*.*" "" AddToPath_done
-
+
ReadEnvStr $1 PATH
- ; if the path is too long for a NSIS variable NSIS will return a 0
+ ; if the path is too long for a NSIS variable NSIS will return a 0
; length string. If we find that, then warn and skip any path
; modification as it will trash the existing path.
StrLen $2 $1
@@ -243,7 +243,7 @@ Function AddToPath
Call StrStr
Pop $2
StrCmp $2 "" "" AddToPath_done
-
+
Call IsNT
Pop $1
StrCmp $1 1 AddToPath_NT
@@ -258,7 +258,7 @@ Function AddToPath
FileClose $1
SetRebootFlag true
Goto AddToPath_done
-
+
AddToPath_NT:
StrCmp $ADD_TO_PATH_ALL_USERS "1" ReadAllKey
ReadRegStr $1 ${NT_current_env} "PATH"
@@ -279,7 +279,7 @@ Function AddToPath
WriteRegExpandStr ${NT_all_env} "PATH" $0
DoSend:
SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
-
+
AddToPath_done:
Pop $3
Pop $2
@@ -287,10 +287,10 @@ Function AddToPath
Pop $0
FunctionEnd
-
+
; RemoveFromPath - Remove a given dir from the path
; Input: head of the stack
-
+
Function un.RemoveFromPath
Exch $0
Push $1
@@ -299,9 +299,9 @@ Function un.RemoveFromPath
Push $4
Push $5
Push $6
-
+
IntFmt $6 "%c" 26 # DOS EOF
-
+
Call un.IsNT
Pop $1
StrCmp $1 1 unRemoveFromPath_NT
@@ -313,7 +313,7 @@ Function un.RemoveFromPath
GetFullPathName /SHORT $0 $0
StrCpy $0 "SET PATH=%PATH%;$0"
Goto unRemoveFromPath_dosLoop
-
+
unRemoveFromPath_dosLoop:
FileRead $1 $3
StrCpy $5 $3 1 -1 # read last char
@@ -328,7 +328,7 @@ Function un.RemoveFromPath
unRemoveFromPath_dosLoopRemoveLine:
SetRebootFlag true
Goto unRemoveFromPath_dosLoop
-
+
unRemoveFromPath_dosLoopEnd:
FileClose $2
FileClose $1
@@ -337,7 +337,7 @@ Function un.RemoveFromPath
CopyFiles /SILENT $4 "$1\autoexec.bat"
Delete $4
Goto unRemoveFromPath_done
-
+
unRemoveFromPath_NT:
StrCmp $ADD_TO_PATH_ALL_USERS "1" unReadAllKey
ReadRegStr $1 ${NT_current_env} "PATH"
@@ -361,11 +361,11 @@ Function un.RemoveFromPath
StrCpy $5 $1 -$4 # $5 is now the part before the path to remove
StrCpy $6 $2 "" $3 # $6 is now the part after the path to remove
StrCpy $3 $5$6
-
+
StrCpy $5 $3 1 -1 # copy last char
StrCmp $5 ";" 0 +2 # if last char == ;
StrCpy $3 $3 -1 # remove last char
-
+
StrCmp $ADD_TO_PATH_ALL_USERS "1" unWriteAllKey
WriteRegExpandStr ${NT_current_env} "PATH" $3
Goto unDoSend
@@ -373,7 +373,7 @@ Function un.RemoveFromPath
WriteRegExpandStr ${NT_all_env} "PATH" $3
unDoSend:
SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment" /TIMEOUT=5000
-
+
unRemoveFromPath_done:
Pop $6
Pop $5
@@ -383,7 +383,7 @@ Function un.RemoveFromPath
Pop $1
Pop $0
FunctionEnd
-
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Uninstall sutff
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -391,7 +391,7 @@ FunctionEnd
###########################################
# Utility Functions #
###########################################
-
+
;====================================================
; IsNT - Returns 1 if the current system is NT, 0
; otherwise.
@@ -405,7 +405,7 @@ FunctionEnd
; Call IsNT
; Pop $R0
; ($R0 at this point is 1 or 0)
-
+
!macro IsNT un
Function ${un}IsNT
Push $0
@@ -415,7 +415,7 @@ Function ${un}IsNT
Pop $0
Push 0
Return
-
+
IsNT_yes:
; NT!!!
Pop $0
@@ -424,7 +424,7 @@ FunctionEnd
!macroend
!insertmacro IsNT ""
!insertmacro IsNT "un."
-
+
; StrStr
; input, top of stack = string to search for
; top of stack-1 = string to search in
@@ -437,7 +437,7 @@ FunctionEnd
; Call StrStr
; Pop $R0
; ($R0 at this point is "ass string")
-
+
!macro StrStr un
Function ${un}StrStr
Exch $R1 ; st=haystack,old$R1, $R1=needle
@@ -481,7 +481,7 @@ Loop:
StrCmp "$R2" "$\r" RTrim
StrCmp "$R2" ";" RTrim
GoTo Done
-RTrim:
+RTrim:
StrCpy $R1 "$R1" -1
Goto Loop
Done:
@@ -516,7 +516,7 @@ Function DownloadFile
try_again:
NSISdl::download "$1/$0" "$INSTDIR\$0"
-
+
Pop $1
StrCmp $1 "success" success
StrCmp $1 "Cancelled" cancel
@@ -549,10 +549,10 @@ FunctionEnd
!insertmacro MUI_PAGE_LICENSE "@CPACK_RESOURCE_FILE_LICENSE@"
Page custom InstallOptionsPage
!insertmacro MUI_PAGE_DIRECTORY
-
+
;Start Menu Folder Page Configuration
- !define MUI_STARTMENUPAGE_REGISTRY_ROOT "SHCTX"
- !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
+ !define MUI_STARTMENUPAGE_REGISTRY_ROOT "SHCTX"
+ !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@"
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
!insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
@@ -639,10 +639,10 @@ Section "-Core installation"
SetOutPath "$INSTDIR"
@CPACK_NSIS_EXTRA_PREINSTALL_COMMANDS@
@CPACK_NSIS_FULL_INSTALL@
-
+
;Store installation folder
WriteRegStr SHCTX "Software\@CPACK_PACKAGE_VENDOR@\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "" $INSTDIR
-
+
;Create uninstaller
WriteUninstaller "$INSTDIR\Uninstall.exe"
Push "DisplayName"
@@ -660,7 +660,7 @@ Section "-Core installation"
Push "NoRepair"
Push "1"
Call ConditionalAddToRegisty
-
+
!ifdef CPACK_NSIS_ADD_REMOVE
;Create add/remove functionality
Push "ModifyPath"
@@ -671,7 +671,7 @@ Section "-Core installation"
Push "1"
Call ConditionalAddToRegisty
!endif
-
+
; Optional registration
Push "DisplayIcon"
Push "$INSTDIR\@CPACK_NSIS_INSTALLED_ICON_NAME@"
@@ -687,7 +687,7 @@ Section "-Core installation"
Call ConditionalAddToRegisty
!insertmacro MUI_INSTALLOPTIONS_READ $INSTALL_DESKTOP "NSIS.InstallOptions.ini" "Field 5" "State"
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
-
+
;Create shortcuts
CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
@CPACK_NSIS_CREATE_ICONS@
@@ -725,7 +725,7 @@ SectionEnd
Section "-Add to path"
Push $INSTDIR\bin
StrCmp "@CPACK_NSIS_MODIFY_PATH@" "ON" 0 doNotAddToPath
- StrCmp $DO_NOT_ADD_TO_PATH "1" doNotAddToPath 0
+ StrCmp $DO_NOT_ADD_TO_PATH "1" doNotAddToPath 0
Call AddToPath
doNotAddToPath:
SectionEnd
@@ -756,12 +756,12 @@ Function un.onInit
SetShellVarContext all
;MessageBox MB_OK 'User "$0" is in the Power Users group'
Goto done
-
+
noLM:
;Get installation folder from registry if available
done:
-
+
FunctionEnd
;--- Add/Remove callback functions: ---
@@ -770,25 +770,25 @@ FunctionEnd
;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
+
+!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
@@ -825,7 +825,7 @@ Section "Uninstall"
@CPACK_NSIS_DELETE_FILES@
@CPACK_NSIS_DELETE_DIRECTORIES@
-!ifdef CPACK_NSIS_ADD_REMOVE
+!ifdef CPACK_NSIS_ADD_REMOVE
;Remove the add/remove program
Delete "$INSTDIR\AddRemove.exe"
!endif
@@ -842,23 +842,23 @@ Section "Uninstall"
; Removes all optional components
!insertmacro SectionList "RemoveSection"
-
+
!insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
-
+
Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
@CPACK_NSIS_DELETE_ICONS@
@CPACK_NSIS_DELETE_ICONS_EXTRA@
-
+
;Delete empty start menu parent diretories
StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
-
+
startMenuDeleteLoop:
ClearErrors
RMDir $MUI_TEMP
GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
-
+
IfErrors startMenuDeleteLoopDone
-
+
StrCmp "$MUI_TEMP" "$SMPROGRAMS" startMenuDeleteLoopDone startMenuDeleteLoop
startMenuDeleteLoopDone:
@@ -867,17 +867,17 @@ Section "Uninstall"
StrCpy $MUI_TEMP "$START_MENU"
Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
@CPACK_NSIS_DELETE_ICONS_EXTRA@
-
+
;Delete empty start menu parent diretories
StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
-
+
secondStartMenuDeleteLoop:
ClearErrors
RMDir $MUI_TEMP
GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
-
+
IfErrors secondStartMenuDeleteLoopDone
-
+
StrCmp "$MUI_TEMP" "$SMPROGRAMS" secondStartMenuDeleteLoopDone secondStartMenuDeleteLoop
secondStartMenuDeleteLoopDone:
@@ -902,7 +902,7 @@ SectionEnd
Function .onInit
StrCmp "@CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL@" "ON" 0 inst
- ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_NAME@" "UninstallString"
+ ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_REGISTRY_KEY@" "UninstallString"
StrCmp $0 "" inst
MessageBox MB_YESNOCANCEL|MB_ICONEXCLAMATION \
@@ -925,14 +925,14 @@ inst:
; Reads components status for registry
!insertmacro SectionList "InitSection"
- ; check to see if /D has been used to change
- ; the install directory by comparing it to the
+ ; check to see if /D has been used to change
+ ; the install directory by comparing it to the
; install directory that is expected to be the
; default
StrCpy $IS_DEFAULT_INSTALLDIR 0
StrCmp "$INSTDIR" "@CPACK_NSIS_INSTALL_ROOT@\@CPACK_PACKAGE_INSTALL_DIRECTORY@" 0 +2
StrCpy $IS_DEFAULT_INSTALLDIR 1
-
+
StrCpy $SV_ALLUSERS "JustMe"
; if default install dir then change the default
; if it is installed for JustMe
@@ -955,7 +955,7 @@ inst:
;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
diff --git a/Modules/Platform/AIX.cmake b/Modules/Platform/AIX.cmake
index a9f773ed1..58c648319 100644
--- a/Modules/Platform/AIX.cmake
+++ b/Modules/Platform/AIX.cmake
@@ -1,6 +1,6 @@
-SET(CMAKE_SHARED_LIBRARY_PREFIX "lib") # lib
-SET(CMAKE_SHARED_LIBRARY_SUFFIX ".so") # .so
-SET(CMAKE_DL_LIBS "-lld")
+set(CMAKE_SHARED_LIBRARY_PREFIX "lib") # lib
+set(CMAKE_SHARED_LIBRARY_SUFFIX ".so") # .so
+set(CMAKE_DL_LIBS "-lld")
# RPATH support on AIX is called libpath. By default the runtime
# libpath is paths specified by -L followed by /usr/lib and /lib. In
@@ -8,10 +8,10 @@ SET(CMAKE_DL_LIBS "-lld")
# -Wl,-blibpath:/usr/lib:/lib whether RPATH support is on or not.
# When our own RPATH is to be added it may be inserted before the
# "always" paths.
-SET(CMAKE_PLATFORM_REQUIRED_RUNTIME_PATH /usr/lib /lib)
+set(CMAKE_PLATFORM_REQUIRED_RUNTIME_PATH /usr/lib /lib)
# Files named "libfoo.a" may actually be shared libraries.
-SET_PROPERTY(GLOBAL PROPERTY TARGET_ARCHIVES_MAY_BE_SHARED_LIBS 1)
+set_property(GLOBAL PROPERTY TARGET_ARCHIVES_MAY_BE_SHARED_LIBS 1)
# since .a can be a static or shared library on AIX, we can not do this.
# at some point if we wanted it, we would have to figure out if a .a is
@@ -21,9 +21,9 @@ SET_PROPERTY(GLOBAL PROPERTY TARGET_ARCHIVES_MAY_BE_SHARED_LIBS 1)
# building a shared library, shared module, or executable that links
# to other libraries to select whether to use the static or shared
# versions of the libraries.
-#FOREACH(type SHARED_LIBRARY SHARED_MODULE EXE)
-# SET(CMAKE_${type}_LINK_STATIC_C_FLAGS "-bstatic")
-# SET(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-bdynamic")
-#ENDFOREACH(type)
+#foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
+# set(CMAKE_${type}_LINK_STATIC_C_FLAGS "-bstatic")
+# set(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-bdynamic")
+#endforeach()
-INCLUDE(Platform/UnixPaths)
+include(Platform/UnixPaths)
diff --git a/Modules/Platform/BSDOS.cmake b/Modules/Platform/BSDOS.cmake
index cf9d17bfd..47852f8e1 100644
--- a/Modules/Platform/BSDOS.cmake
+++ b/Modules/Platform/BSDOS.cmake
@@ -1,2 +1,2 @@
-INCLUDE(Platform/UnixPaths)
+include(Platform/UnixPaths)
diff --git a/Modules/Platform/BeOS.cmake b/Modules/Platform/BeOS.cmake
index 3ffb67cb8..ef811bd9c 100644
--- a/Modules/Platform/BeOS.cmake
+++ b/Modules/Platform/BeOS.cmake
@@ -1,12 +1,12 @@
-SET(BEOS 1)
+set(BEOS 1)
-SET(CMAKE_DL_LIBS root be)
-SET(CMAKE_C_COMPILE_OPTIONS_PIC "-fPIC")
-SET(CMAKE_C_COMPILE_OPTIONS_PIE "-fPIE")
-SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC")
-SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-nostart")
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
-SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
+set(CMAKE_DL_LIBS root be)
+set(CMAKE_C_COMPILE_OPTIONS_PIC "-fPIC")
+set(CMAKE_C_COMPILE_OPTIONS_PIE "-fPIE")
+set(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC")
+set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-nostart")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
+set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
-INCLUDE(Platform/UnixPaths)
+include(Platform/UnixPaths)
diff --git a/Modules/Platform/BlueGeneL.cmake b/Modules/Platform/BlueGeneL.cmake
index 7794a26cf..082e46cae 100644
--- a/Modules/Platform/BlueGeneL.cmake
+++ b/Modules/Platform/BlueGeneL.cmake
@@ -1,40 +1,40 @@
-#the compute nodes on BlueGene/L don't support shared libs
-SET_PROPERTY(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE)
+#the compute nodes on BlueGene/L don't support shared libs
+set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE)
-SET(CMAKE_SHARED_LIBRARY_C_FLAGS "") # -pic
-SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "") # -shared
-SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") # +s, flag for exe link to use shared lib
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "") # -rpath
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP "") # : or empty
+set(CMAKE_SHARED_LIBRARY_C_FLAGS "") # -pic
+set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "") # -shared
+set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") # +s, flag for exe link to use shared lib
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "") # -rpath
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP "") # : or empty
-SET(CMAKE_LINK_LIBRARY_SUFFIX "")
-SET(CMAKE_STATIC_LIBRARY_PREFIX "lib")
-SET(CMAKE_STATIC_LIBRARY_SUFFIX ".a")
-SET(CMAKE_SHARED_LIBRARY_PREFIX "lib") # lib
-SET(CMAKE_SHARED_LIBRARY_SUFFIX ".a") # .a
-SET(CMAKE_EXECUTABLE_SUFFIX "") # .exe
-SET(CMAKE_DL_LIBS "" )
+set(CMAKE_LINK_LIBRARY_SUFFIX "")
+set(CMAKE_STATIC_LIBRARY_PREFIX "lib")
+set(CMAKE_STATIC_LIBRARY_SUFFIX ".a")
+set(CMAKE_SHARED_LIBRARY_PREFIX "lib") # lib
+set(CMAKE_SHARED_LIBRARY_SUFFIX ".a") # .a
+set(CMAKE_EXECUTABLE_SUFFIX "") # .exe
+set(CMAKE_DL_LIBS "" )
-SET(CMAKE_FIND_LIBRARY_PREFIXES "lib")
-SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
+set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
+set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
-INCLUDE(Platform/UnixPaths)
+include(Platform/UnixPaths)
-IF(CMAKE_COMPILER_IS_GNUCC)
- SET(CMAKE_C_LINK_EXECUTABLE
+if(CMAKE_COMPILER_IS_GNUCC)
+ set(CMAKE_C_LINK_EXECUTABLE
"<CMAKE_C_COMPILER> -Wl,-relax <FLAGS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES> -Wl,-lgcc,-lc -lnss_files -lnss_dns -lresolv")
-ELSE(CMAKE_COMPILER_IS_GNUCC)
+else()
# when using IBM xlc we probably don't want to link to -lgcc
- SET(CMAKE_C_LINK_EXECUTABLE
+ set(CMAKE_C_LINK_EXECUTABLE
"<CMAKE_C_COMPILER> -Wl,-relax <FLAGS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES> -Wl,-lc -lnss_files -lnss_dns -lresolv")
-ENDIF(CMAKE_COMPILER_IS_GNUCC)
+endif()
-IF(CMAKE_COMPILER_IS_GNUCXX)
- SET(CMAKE_CXX_LINK_EXECUTABLE
+if(CMAKE_COMPILER_IS_GNUCXX)
+ set(CMAKE_CXX_LINK_EXECUTABLE
"<CMAKE_CXX_COMPILER> -Wl,-relax <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES> -Wl,-lstdc++,-lgcc,-lc -lnss_files -lnss_dns -lresolv")
-ELSE(CMAKE_COMPILER_IS_GNUCXX)
+else()
# when using the IBM xlC we probably don't want to link to -lgcc
- SET(CMAKE_CXX_LINK_EXECUTABLE
+ set(CMAKE_CXX_LINK_EXECUTABLE
"<CMAKE_CXX_COMPILER> -Wl,-relax <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES> -Wl,-lstdc++,-lc -lnss_files -lnss_dns -lresolv")
-ENDIF(CMAKE_COMPILER_IS_GNUCXX)
+endif()
diff --git a/Modules/Platform/CYGWIN-CXX.cmake b/Modules/Platform/CYGWIN-CXX.cmake
new file mode 100644
index 000000000..bf37f7903
--- /dev/null
+++ b/Modules/Platform/CYGWIN-CXX.cmake
@@ -0,0 +1,7 @@
+if(NOT CMAKE_CXX_COMPILER_NAMES)
+ set(CMAKE_CXX_COMPILER_NAMES c++)
+endif()
+
+# Exclude C++ compilers differing from C compiler only by case
+# because this platform may have a case-insensitive filesystem.
+set(CMAKE_CXX_COMPILER_EXCLUDE CC aCC xlC)
diff --git a/Modules/Platform/CYGWIN-GNU.cmake b/Modules/Platform/CYGWIN-GNU.cmake
index eae313a50..fe25ab214 100644
--- a/Modules/Platform/CYGWIN-GNU.cmake
+++ b/Modules/Platform/CYGWIN-GNU.cmake
@@ -44,10 +44,10 @@ macro(__cygwin_compiler_gnu lang)
# building a shared library, shared module, or executable that links
# to other libraries to select whether to use the static or shared
# versions of the libraries.
- FOREACH(type SHARED_LIBRARY SHARED_MODULE EXE)
- SET(CMAKE_${type}_LINK_STATIC_${lang}_FLAGS "-Wl,-Bstatic")
- SET(CMAKE_${type}_LINK_DYNAMIC_${lang}_FLAGS "-Wl,-Bdynamic")
- ENDFOREACH(type)
+ foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
+ set(CMAKE_${type}_LINK_STATIC_${lang}_FLAGS "-Wl,-Bstatic")
+ set(CMAKE_${type}_LINK_DYNAMIC_${lang}_FLAGS "-Wl,-Bdynamic")
+ endforeach()
set(CMAKE_EXE_EXPORTS_${lang}_FLAG "-Wl,--export-all-symbols")
# TODO: Is -Wl,--enable-auto-import now always default?
diff --git a/Modules/Platform/CYGWIN-windres.cmake b/Modules/Platform/CYGWIN-windres.cmake
index 8bc1b15e9..01d6be3df 100644
--- a/Modules/Platform/CYGWIN-windres.cmake
+++ b/Modules/Platform/CYGWIN-windres.cmake
@@ -1 +1 @@
-SET(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> -O coff <FLAGS> <DEFINES> <SOURCE> <OBJECT>")
+set(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> -O coff <FLAGS> <DEFINES> <SOURCE> <OBJECT>")
diff --git a/Modules/Platform/CYGWIN.cmake b/Modules/Platform/CYGWIN.cmake
index b7ad2cee1..22816e77a 100644
--- a/Modules/Platform/CYGWIN.cmake
+++ b/Modules/Platform/CYGWIN.cmake
@@ -43,22 +43,22 @@ if(DEFINED __USE_CMAKE_LEGACY_CYGWIN_WIN32)
unset(__USE_CMAKE_LEGACY_CYGWIN_WIN32)
endif()
-SET(CYGWIN 1)
+set(CYGWIN 1)
-SET(CMAKE_SHARED_LIBRARY_PREFIX "cyg")
-SET(CMAKE_SHARED_LIBRARY_SUFFIX ".dll")
-SET(CMAKE_SHARED_MODULE_PREFIX "cyg")
-SET(CMAKE_SHARED_MODULE_SUFFIX ".dll")
-SET(CMAKE_IMPORT_LIBRARY_PREFIX "lib")
-SET(CMAKE_IMPORT_LIBRARY_SUFFIX ".dll.a")
-SET(CMAKE_EXECUTABLE_SUFFIX ".exe") # .exe
+set(CMAKE_SHARED_LIBRARY_PREFIX "cyg")
+set(CMAKE_SHARED_LIBRARY_SUFFIX ".dll")
+set(CMAKE_SHARED_MODULE_PREFIX "cyg")
+set(CMAKE_SHARED_MODULE_SUFFIX ".dll")
+set(CMAKE_IMPORT_LIBRARY_PREFIX "lib")
+set(CMAKE_IMPORT_LIBRARY_SUFFIX ".dll.a")
+set(CMAKE_EXECUTABLE_SUFFIX ".exe") # .exe
# Modules have a different default prefix that shared libs.
-SET(CMAKE_MODULE_EXISTS 1)
+set(CMAKE_MODULE_EXISTS 1)
-SET(CMAKE_FIND_LIBRARY_PREFIXES "lib")
-SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dll.a" ".a")
+set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
+set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll.a" ".a")
# Shared libraries on cygwin can be named with their version number.
-SET(CMAKE_SHARED_LIBRARY_NAME_WITH_VERSION 1)
+set(CMAKE_SHARED_LIBRARY_NAME_WITH_VERSION 1)
-INCLUDE(Platform/UnixPaths)
+include(Platform/UnixPaths)
diff --git a/Modules/Platform/Catamount.cmake b/Modules/Platform/Catamount.cmake
index 01493fc21..7e9e02171 100644
--- a/Modules/Platform/Catamount.cmake
+++ b/Modules/Platform/Catamount.cmake
@@ -1,26 +1,26 @@
-#Catamount, which runs on the compute nodes of Cray machines, e.g. RedStorm, doesn't support shared libs
-SET_PROPERTY(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE)
+#Catamount, which runs on the compute nodes of Cray machines, e.g. RedStorm, doesn't support shared libs
+set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE)
-SET(CMAKE_SHARED_LIBRARY_C_FLAGS "") # -pic
-SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "") # -shared
-SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") # +s, flag for exe link to use shared lib
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "") # -rpath
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP "") # : or empty
+set(CMAKE_SHARED_LIBRARY_C_FLAGS "") # -pic
+set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "") # -shared
+set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") # +s, flag for exe link to use shared lib
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "") # -rpath
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP "") # : or empty
-SET(CMAKE_LINK_LIBRARY_SUFFIX "")
-SET(CMAKE_STATIC_LIBRARY_PREFIX "lib")
-SET(CMAKE_STATIC_LIBRARY_SUFFIX ".a")
-SET(CMAKE_SHARED_LIBRARY_PREFIX "lib") # lib
-SET(CMAKE_SHARED_LIBRARY_SUFFIX ".a") # .a
-SET(CMAKE_EXECUTABLE_SUFFIX "") # .exe
-SET(CMAKE_DL_LIBS "" )
+set(CMAKE_LINK_LIBRARY_SUFFIX "")
+set(CMAKE_STATIC_LIBRARY_PREFIX "lib")
+set(CMAKE_STATIC_LIBRARY_SUFFIX ".a")
+set(CMAKE_SHARED_LIBRARY_PREFIX "lib") # lib
+set(CMAKE_SHARED_LIBRARY_SUFFIX ".a") # .a
+set(CMAKE_EXECUTABLE_SUFFIX "") # .exe
+set(CMAKE_DL_LIBS "" )
-SET(CMAKE_FIND_LIBRARY_PREFIXES "lib")
-SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
+set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
+set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
-INCLUDE(Platform/UnixPaths)
+include(Platform/UnixPaths)
-SET(CMAKE_CXX_LINK_SHARED_LIBRARY)
-SET(CMAKE_CXX_LINK_MODULE_LIBRARY)
-SET(CMAKE_C_LINK_SHARED_LIBRARY)
-SET(CMAKE_C_LINK_MODULE_LIBRARY)
+set(CMAKE_CXX_LINK_SHARED_LIBRARY)
+set(CMAKE_CXX_LINK_MODULE_LIBRARY)
+set(CMAKE_C_LINK_SHARED_LIBRARY)
+set(CMAKE_C_LINK_MODULE_LIBRARY)
diff --git a/Modules/Platform/Darwin-CXX.cmake b/Modules/Platform/Darwin-CXX.cmake
new file mode 100644
index 000000000..bf37f7903
--- /dev/null
+++ b/Modules/Platform/Darwin-CXX.cmake
@@ -0,0 +1,7 @@
+if(NOT CMAKE_CXX_COMPILER_NAMES)
+ set(CMAKE_CXX_COMPILER_NAMES c++)
+endif()
+
+# Exclude C++ compilers differing from C compiler only by case
+# because this platform may have a case-insensitive filesystem.
+set(CMAKE_CXX_COMPILER_EXCLUDE CC aCC xlC)
diff --git a/Modules/Platform/Darwin-Clang-C.cmake b/Modules/Platform/Darwin-Clang-C.cmake
new file mode 100644
index 000000000..0a1502ea9
--- /dev/null
+++ b/Modules/Platform/Darwin-Clang-C.cmake
@@ -0,0 +1,2 @@
+include(Platform/Darwin-Clang)
+__darwin_compiler_clang(C)
diff --git a/Modules/Platform/Darwin-Clang-CXX.cmake b/Modules/Platform/Darwin-Clang-CXX.cmake
new file mode 100644
index 000000000..f8e8d888e
--- /dev/null
+++ b/Modules/Platform/Darwin-Clang-CXX.cmake
@@ -0,0 +1,2 @@
+include(Platform/Darwin-Clang)
+__darwin_compiler_clang(CXX)
diff --git a/Modules/Platform/Darwin-Clang.cmake b/Modules/Platform/Darwin-Clang.cmake
new file mode 100644
index 000000000..de7a85636
--- /dev/null
+++ b/Modules/Platform/Darwin-Clang.cmake
@@ -0,0 +1,26 @@
+
+#=============================================================================
+# Copyright 2002-2012 Kitware, Inc.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distribute this file outside of CMake, substitute the full
+# License text for the above reference.)
+
+# This module is shared by multiple languages; use include blocker.
+if(__DARWIN_COMPILER_CLANG)
+ return()
+endif()
+set(__DARWIN_COMPILER_CLANG 1)
+
+macro(__darwin_compiler_clang lang)
+ set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-dynamiclib -Wl,-headerpad_max_install_names")
+ set(CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS "-bundle -Wl,-headerpad_max_install_names")
+ set(CMAKE_${lang}_SYSROOT_FLAG "-isysroot")
+ set(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG "-mmacosx-version-min=")
+endmacro()
diff --git a/Modules/Platform/Darwin-GNU-C.cmake b/Modules/Platform/Darwin-GNU-C.cmake
index 4e326c4ca..efdfd0014 100644
--- a/Modules/Platform/Darwin-GNU-C.cmake
+++ b/Modules/Platform/Darwin-GNU-C.cmake
@@ -1,4 +1,4 @@
include(Platform/Darwin-GNU)
__darwin_compiler_gnu(C)
-cmake_gnu_has_isysroot(C)
+cmake_gnu_set_sysroot_flag(C)
cmake_gnu_set_osx_deployment_target_flag(C)
diff --git a/Modules/Platform/Darwin-GNU-CXX.cmake b/Modules/Platform/Darwin-GNU-CXX.cmake
index b39487e58..e3c2ea7c5 100644
--- a/Modules/Platform/Darwin-GNU-CXX.cmake
+++ b/Modules/Platform/Darwin-GNU-CXX.cmake
@@ -1,4 +1,4 @@
include(Platform/Darwin-GNU)
__darwin_compiler_gnu(CXX)
-cmake_gnu_has_isysroot(CXX)
+cmake_gnu_set_sysroot_flag(CXX)
cmake_gnu_set_osx_deployment_target_flag(CXX)
diff --git a/Modules/Platform/Darwin-GNU.cmake b/Modules/Platform/Darwin-GNU.cmake
index 8a50a6ab9..d9535039f 100644
--- a/Modules/Platform/Darwin-GNU.cmake
+++ b/Modules/Platform/Darwin-GNU.cmake
@@ -24,8 +24,8 @@ macro(__darwin_compiler_gnu lang)
set(CMAKE_SHARED_MODULE_CREATE_${lang}_FLAGS "-bundle -Wl,-headerpad_max_install_names")
endmacro()
-macro(cmake_gnu_has_isysroot lang)
- if("x${CMAKE_${lang}_HAS_ISYSROOT}" STREQUAL "x")
+macro(cmake_gnu_set_sysroot_flag lang)
+ if(NOT DEFINED CMAKE_${lang}_SYSROOT_FLAG)
set(_doc "${lang} compiler has -isysroot")
message(STATUS "Checking whether ${_doc}")
execute_process(
@@ -35,11 +35,12 @@ macro(cmake_gnu_has_isysroot lang)
)
if("${_gcc_help}" MATCHES "isysroot")
message(STATUS "Checking whether ${_doc} - yes")
- set(CMAKE_${lang}_HAS_ISYSROOT 1)
+ set(CMAKE_${lang}_SYSROOT_FLAG "-isysroot")
else()
message(STATUS "Checking whether ${_doc} - no")
- set(CMAKE_${lang}_HAS_ISYSROOT 0)
+ set(CMAKE_${lang}_SYSROOT_FLAG "")
endif()
+ set(CMAKE_${lang}_SYSROOT_FLAG_CODE "set(CMAKE_${lang}_SYSROOT_FLAG \"${CMAKE_${lang}_SYSROOT_FLAG}\")")
endif()
endmacro()
@@ -59,6 +60,6 @@ macro(cmake_gnu_set_osx_deployment_target_flag lang)
message(STATUS "Checking whether ${_doc} - no")
set(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG "")
endif()
- set(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG_CODE "SET(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG \"${CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG}\")")
+ set(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG_CODE "set(CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG \"${CMAKE_${lang}_OSX_DEPLOYMENT_TARGET_FLAG}\")")
endif()
endmacro()
diff --git a/Modules/Platform/Darwin-XL-C.cmake b/Modules/Platform/Darwin-XL-C.cmake
index 934ebcc8c..42e94a9d6 100644
--- a/Modules/Platform/Darwin-XL-C.cmake
+++ b/Modules/Platform/Darwin-XL-C.cmake
@@ -1,5 +1,5 @@
-SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-qmkshrobj")
-SET(CMAKE_SHARED_MODULE_CREATE_C_FLAGS "-bundle")
+set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-qmkshrobj")
+set(CMAKE_SHARED_MODULE_CREATE_C_FLAGS "-bundle")
# Enable shared library versioning.
-SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-install_name")
+set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-install_name")
diff --git a/Modules/Platform/Darwin-XL-CXX.cmake b/Modules/Platform/Darwin-XL-CXX.cmake
index 22ae0183a..65c76f8b7 100644
--- a/Modules/Platform/Darwin-XL-CXX.cmake
+++ b/Modules/Platform/Darwin-XL-CXX.cmake
@@ -1,5 +1,5 @@
-SET(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "-qmkshrobj")
-SET(CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS "-bundle")
+set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "-qmkshrobj")
+set(CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS "-bundle")
# Enable shared library versioning.
-SET(CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG "-Wl,-install_name")
+set(CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG "-Wl,-install_name")
diff --git a/Modules/Platform/Darwin-icc.cmake b/Modules/Platform/Darwin-icc.cmake
index b592e5f55..6a46f8e02 100644
--- a/Modules/Platform/Darwin-icc.cmake
+++ b/Modules/Platform/Darwin-icc.cmake
@@ -1,131 +1,131 @@
-SET(CMAKE_C_CREATE_SHARED_LIBRARY_FORBIDDEN_FLAGS "" )
-SET(CMAKE_CXX_CREATE_SHARED_LIBRARY_FORBIDDEN_FLAGS "")
+set(CMAKE_C_CREATE_SHARED_LIBRARY_FORBIDDEN_FLAGS "" )
+set(CMAKE_CXX_CREATE_SHARED_LIBRARY_FORBIDDEN_FLAGS "")
# Setup for Leopard Compatibility
-EXEC_PROGRAM(sw_vers ARGS -productVersion OUTPUT_VARIABLE _OSX_VERSION)
-# MESSAGE (STATUS "_OSX_VERSION: ${_OSX_VERSION}")
-IF ( _OSX_VERSION MATCHES "^10.4" )
- #IF(CMAKE_COMPILER_IS_GNUCC)
- SET (CMAKE_C_FLAGS_INIT "")
- SET (CMAKE_C_FLAGS_DEBUG_INIT "-gdwarf-2")
- SET (CMAKE_C_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG")
- SET (CMAKE_C_FLAGS_RELEASE_INIT "-O3 -DNDEBUG")
- SET (CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-O2 -gdwarf-2")
- 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>")
- # ENDIF(CMAKE_COMPILER_IS_GNUCC)
-
-# IF(CMAKE_COMPILER_IS_GNUCXX)
- SET (CMAKE_CXX_FLAGS_INIT "")
- SET (CMAKE_CXX_FLAGS_DEBUG_INIT "-gdwarf-2")
- SET (CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG")
- SET (CMAKE_CXX_FLAGS_RELEASE_INIT "-O3 -DNDEBUG")
- SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2 -gdwarf-2")
- 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>")
-# ENDIF(CMAKE_COMPILER_IS_GNUCXX)
-ENDIF ( _OSX_VERSION MATCHES "^10.4" )
-
-
-SET(CMAKE_SHARED_LIBRARY_PREFIX "lib")
-SET(CMAKE_SHARED_LIBRARY_SUFFIX ".dylib")
-SET(CMAKE_SHARED_MODULE_PREFIX "lib")
-SET(CMAKE_SHARED_MODULE_SUFFIX ".so")
-SET(CMAKE_MODULE_EXISTS 1)
-SET(CMAKE_DL_LIBS "")
-SET(CMAKE_C_LINK_FLAGS "-Wl,-headerpad_max_install_names")
-SET(CMAKE_CXX_LINK_FLAGS "-Wl,-headerpad_max_install_names")
-SET(CMAKE_PLATFORM_HAS_INSTALLNAME 1)
-SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-dynamiclib -Wl,-headerpad_max_install_names")
-SET(CMAKE_SHARED_MODULE_CREATE_C_FLAGS "-bundle -Wl,-headerpad_max_install_names")
-SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib" ".so" ".a")
+exec_program(sw_vers ARGS -productVersion OUTPUT_VARIABLE _OSX_VERSION)
+# message (STATUS "_OSX_VERSION: ${_OSX_VERSION}")
+if ( _OSX_VERSION MATCHES "^10.4" )
+ #if(CMAKE_COMPILER_IS_GNUCC)
+ set (CMAKE_C_FLAGS_INIT "")
+ set (CMAKE_C_FLAGS_DEBUG_INIT "-gdwarf-2")
+ set (CMAKE_C_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG")
+ set (CMAKE_C_FLAGS_RELEASE_INIT "-O3 -DNDEBUG")
+ set (CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-O2 -gdwarf-2")
+ 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>")
+ # endif()
+
+# if(CMAKE_COMPILER_IS_GNUCXX)
+ set (CMAKE_CXX_FLAGS_INIT "")
+ set (CMAKE_CXX_FLAGS_DEBUG_INIT "-gdwarf-2")
+ set (CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-Os -DNDEBUG")
+ set (CMAKE_CXX_FLAGS_RELEASE_INIT "-O3 -DNDEBUG")
+ set (CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2 -gdwarf-2")
+ 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>")
+# endif()
+endif ()
+
+
+set(CMAKE_SHARED_LIBRARY_PREFIX "lib")
+set(CMAKE_SHARED_LIBRARY_SUFFIX ".dylib")
+set(CMAKE_SHARED_MODULE_PREFIX "lib")
+set(CMAKE_SHARED_MODULE_SUFFIX ".so")
+set(CMAKE_MODULE_EXISTS 1)
+set(CMAKE_DL_LIBS "")
+set(CMAKE_C_LINK_FLAGS "-Wl,-headerpad_max_install_names")
+set(CMAKE_CXX_LINK_FLAGS "-Wl,-headerpad_max_install_names")
+set(CMAKE_PLATFORM_HAS_INSTALLNAME 1)
+set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-dynamiclib -Wl,-headerpad_max_install_names")
+set(CMAKE_SHARED_MODULE_CREATE_C_FLAGS "-bundle -Wl,-headerpad_max_install_names")
+set(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib" ".so" ".a")
# setup for universal binaries if sysroot exists
-IF(EXISTS /Developer/SDKs/MacOSX10.4u.sdk)
+if(EXISTS /Developer/SDKs/MacOSX10.4u.sdk)
# set the sysroot to be used if CMAKE_OSX_ARCHITECTURES
# has more than one value
- SET(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.4u.sdk CACHE STRING
+ set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.4u.sdk CACHE STRING
"isysroot used for universal binary support")
# set _CMAKE_OSX_MACHINE to umame -m
- EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE _CMAKE_OSX_MACHINE)
+ exec_program(uname ARGS -m OUTPUT_VARIABLE _CMAKE_OSX_MACHINE)
# check for environment variable CMAKE_OSX_ARCHITECTURES
# if it is set.
- IF(NOT "$ENV{CMAKE_OSX_ARCHITECTURES}" STREQUAL "")
- SET(_CMAKE_OSX_MACHINE "$ENV{CMAKE_OSX_ARCHITECTURES}")
- ENDIF(NOT "$ENV{CMAKE_OSX_ARCHITECTURES}" STREQUAL "")
+ if(NOT "$ENV{CMAKE_OSX_ARCHITECTURES}" STREQUAL "")
+ set(_CMAKE_OSX_MACHINE "$ENV{CMAKE_OSX_ARCHITECTURES}")
+ endif()
# now put _CMAKE_OSX_MACHINE into the cache
- SET(CMAKE_OSX_ARCHITECTURES ${_CMAKE_OSX_MACHINE}
+ set(CMAKE_OSX_ARCHITECTURES ${_CMAKE_OSX_MACHINE}
CACHE STRING "Build architectures for OSX")
-ENDIF(EXISTS /Developer/SDKs/MacOSX10.4u.sdk)
+endif()
-IF("${CMAKE_BACKWARDS_COMPATIBILITY}" MATCHES "^1\\.[0-6]$")
- SET(CMAKE_SHARED_MODULE_CREATE_C_FLAGS
+if("${CMAKE_BACKWARDS_COMPATIBILITY}" MATCHES "^1\\.[0-6]$")
+ set(CMAKE_SHARED_MODULE_CREATE_C_FLAGS
"${CMAKE_SHARED_MODULE_CREATE_C_FLAGS} -flat_namespace -undefined suppress")
-ENDIF("${CMAKE_BACKWARDS_COMPATIBILITY}" MATCHES "^1\\.[0-6]$")
+endif()
-IF(NOT XCODE)
+if(NOT XCODE)
# Enable shared library versioning. This flag is not actually referenced
# but the fact that the setting exists will cause the generators to support
# soname computation.
- SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-install_name")
- SET(CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG "-install_name")
- SET(CMAKE_SHARED_LIBRARY_SONAME_Fortran_FLAG "-install_name")
-ENDIF(NOT XCODE)
+ set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-install_name")
+ set(CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG "-install_name")
+ set(CMAKE_SHARED_LIBRARY_SONAME_Fortran_FLAG "-install_name")
+endif()
# Xcode does not support -isystem yet.
-IF(XCODE)
- SET(CMAKE_INCLUDE_SYSTEM_FLAG_C)
- SET(CMAKE_INCLUDE_SYSTEM_FLAG_CXX)
-ENDIF(XCODE)
+if(XCODE)
+ set(CMAKE_INCLUDE_SYSTEM_FLAG_C)
+ set(CMAKE_INCLUDE_SYSTEM_FLAG_CXX)
+endif()
-SET(CMAKE_MacOSX_Content_COMPILE_OBJECT "\"${CMAKE_COMMAND}\" -E copy_if_different <SOURCE> <OBJECT>")
+set(CMAKE_MacOSX_Content_COMPILE_OBJECT "\"${CMAKE_COMMAND}\" -E copy_if_different <SOURCE> <OBJECT>")
-SET(CMAKE_C_CREATE_SHARED_LIBRARY
+set(CMAKE_C_CREATE_SHARED_LIBRARY
"<CMAKE_C_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> <LINK_FLAGS> -o <TARGET> <SONAME_FLAG> <TARGET_INSTALLNAME_DIR><TARGET_SONAME> <OBJECTS> <LINK_LIBRARIES>")
-SET(CMAKE_CXX_CREATE_SHARED_LIBRARY
+set(CMAKE_CXX_CREATE_SHARED_LIBRARY
"<CMAKE_CXX_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <LINK_FLAGS> -o <TARGET> <SONAME_FLAG> <TARGET_INSTALLNAME_DIR><TARGET_SONAME> <OBJECTS> <LINK_LIBRARIES>")
-SET(CMAKE_Fortran_CREATE_SHARED_LIBRARY
+set(CMAKE_Fortran_CREATE_SHARED_LIBRARY
"<CMAKE_Fortran_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS> <LINK_FLAGS> -o <TARGET> <SONAME_FLAG> <TARGET_INSTALLNAME_DIR><TARGET_SONAME> <OBJECTS> <LINK_LIBRARIES>")
-SET(CMAKE_CXX_CREATE_SHARED_MODULE
+set(CMAKE_CXX_CREATE_SHARED_MODULE
"<CMAKE_CXX_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS> <LINK_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
-SET(CMAKE_C_CREATE_SHARED_MODULE
+set(CMAKE_C_CREATE_SHARED_MODULE
"<CMAKE_C_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_MODULE_CREATE_C_FLAGS> <LINK_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
-SET(CMAKE_Fortran_CREATE_SHARED_MODULE
+set(CMAKE_Fortran_CREATE_SHARED_MODULE
"<CMAKE_Fortran_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_MODULE_CREATE_Fortran_FLAGS> <LINK_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
-# We can use $ENV{INTEL_LICENSE_FILE} to try and get at the installation location for ICC.
+# We can use $ENV{INTEL_LICENSE_FILE} to try and get at the installation location for ICC.
# We also need to consider to use cce (which is the 64bit compiler) and not JUST the 32bit compiler.
# I have no idea what the best way to do that would be.
# default to searching for frameworks first
-IF(NOT DEFINED CMAKE_FIND_FRAMEWORK)
- SET(CMAKE_FIND_FRAMEWORK FIRST)
-ENDIF()
+if(NOT DEFINED CMAKE_FIND_FRAMEWORK)
+ set(CMAKE_FIND_FRAMEWORK FIRST)
+endif()
# set up the default search directories for frameworks
-SET(CMAKE_SYSTEM_FRAMEWORK_PATH
+set(CMAKE_SYSTEM_FRAMEWORK_PATH
~/Library/Frameworks
/Library/Frameworks
/Network/Library/Frameworks
/System/Library/Frameworks)
# default to searching for application bundles first
-IF(NOT DEFINED CMAKE_FIND_APPBUNDLE)
- SET(CMAKE_FIND_APPBUNDLE FIRST)
-ENDIF()
+if(NOT DEFINED CMAKE_FIND_APPBUNDLE)
+ set(CMAKE_FIND_APPBUNDLE FIRST)
+endif()
# set up the default search directories for application bundles
-SET(CMAKE_SYSTEM_APPBUNDLE_PATH
+set(CMAKE_SYSTEM_APPBUNDLE_PATH
~/Applications
/Applications
/Developer/Applications)
-INCLUDE(Platform/UnixPaths)
-SET(CMAKE_SYSTEM_INCLUDE_PATH ${CMAKE_SYSTEM_INCLUDE_PATH} /sw/include)
-SET(CMAKE_SYSTEM_LIBRARY_PATH ${CMAKE_SYSTEM_LIBRARY_PATH} /sw/lib)
+include(Platform/UnixPaths)
+set(CMAKE_SYSTEM_INCLUDE_PATH ${CMAKE_SYSTEM_INCLUDE_PATH} /sw/include)
+set(CMAKE_SYSTEM_LIBRARY_PATH ${CMAKE_SYSTEM_LIBRARY_PATH} /sw/lib)
diff --git a/Modules/Platform/Darwin-icpc.cmake b/Modules/Platform/Darwin-icpc.cmake
index e247bae28..549feb7f5 100644
--- a/Modules/Platform/Darwin-icpc.cmake
+++ b/Modules/Platform/Darwin-icpc.cmake
@@ -1,3 +1,3 @@
-GET_FILENAME_COMPONENT(CURRENT_SOURCE_PARENT ${CMAKE_CURRENT_LIST_FILE} PATH)
-#MESSAGE (STATUS "CURRENT_SOURCE_PARENT: ${CURRENT_SOURCE_PARENT}")
-INCLUDE ( ${CURRENT_SOURCE_PARENT}/Darwin-icc.cmake)
+get_filename_component(CURRENT_SOURCE_PARENT ${CMAKE_CURRENT_LIST_FILE} PATH)
+#message (STATUS "CURRENT_SOURCE_PARENT: ${CURRENT_SOURCE_PARENT}")
+include ( ${CURRENT_SOURCE_PARENT}/Darwin-icc.cmake)
diff --git a/Modules/Platform/Darwin.cmake b/Modules/Platform/Darwin.cmake
index eff07b295..4e7e99ca3 100644
--- a/Modules/Platform/Darwin.cmake
+++ b/Modules/Platform/Darwin.cmake
@@ -1,4 +1,4 @@
-SET(APPLE 1)
+set(APPLE 1)
# Darwin versions:
# 6.x == Mac OSX 10.2 (Jaguar)
@@ -8,261 +8,285 @@ SET(APPLE 1)
# 10.x == Mac OSX 10.6 (Snow Leopard)
# 11.x == Mac OSX 10.7 (Lion)
# 12.x == Mac OSX 10.8 (Mountain Lion)
-STRING(REGEX REPLACE "^([0-9]+)\\.([0-9]+).*$" "\\1" DARWIN_MAJOR_VERSION "${CMAKE_SYSTEM_VERSION}")
-STRING(REGEX REPLACE "^([0-9]+)\\.([0-9]+).*$" "\\2" DARWIN_MINOR_VERSION "${CMAKE_SYSTEM_VERSION}")
+string(REGEX REPLACE "^([0-9]+)\\.([0-9]+).*$" "\\1" DARWIN_MAJOR_VERSION "${CMAKE_SYSTEM_VERSION}")
+string(REGEX REPLACE "^([0-9]+)\\.([0-9]+).*$" "\\2" DARWIN_MINOR_VERSION "${CMAKE_SYSTEM_VERSION}")
# Do not use the "-Wl,-search_paths_first" flag with the OSX 10.2 compiler.
# Done this way because it is too early to do a TRY_COMPILE.
-IF(NOT DEFINED HAVE_FLAG_SEARCH_PATHS_FIRST)
- SET(HAVE_FLAG_SEARCH_PATHS_FIRST 0)
- IF("${DARWIN_MAJOR_VERSION}" GREATER 6)
- SET(HAVE_FLAG_SEARCH_PATHS_FIRST 1)
- ENDIF("${DARWIN_MAJOR_VERSION}" GREATER 6)
-ENDIF(NOT DEFINED HAVE_FLAG_SEARCH_PATHS_FIRST)
+if(NOT DEFINED HAVE_FLAG_SEARCH_PATHS_FIRST)
+ set(HAVE_FLAG_SEARCH_PATHS_FIRST 0)
+ if("${DARWIN_MAJOR_VERSION}" GREATER 6)
+ set(HAVE_FLAG_SEARCH_PATHS_FIRST 1)
+ endif()
+endif()
# More desirable, but does not work:
- #INCLUDE(CheckCXXCompilerFlag)
+ #include(CheckCXXCompilerFlag)
#CHECK_CXX_COMPILER_FLAG("-Wl,-search_paths_first" HAVE_FLAG_SEARCH_PATHS_FIRST)
-SET(CMAKE_SHARED_LIBRARY_PREFIX "lib")
-SET(CMAKE_SHARED_LIBRARY_SUFFIX ".dylib")
-SET(CMAKE_SHARED_MODULE_PREFIX "lib")
-SET(CMAKE_SHARED_MODULE_SUFFIX ".so")
-SET(CMAKE_MODULE_EXISTS 1)
-SET(CMAKE_DL_LIBS "")
-
-SET(CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG "-compatibility_version ")
-SET(CMAKE_C_OSX_CURRENT_VERSION_FLAG "-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 "-Wl,-headerpad_max_install_names")
-SET(CMAKE_CXX_LINK_FLAGS "-Wl,-headerpad_max_install_names")
-
-IF(HAVE_FLAG_SEARCH_PATHS_FIRST)
- SET(CMAKE_C_LINK_FLAGS "-Wl,-search_paths_first ${CMAKE_C_LINK_FLAGS}")
- SET(CMAKE_CXX_LINK_FLAGS "-Wl,-search_paths_first ${CMAKE_CXX_LINK_FLAGS}")
-ENDIF(HAVE_FLAG_SEARCH_PATHS_FIRST)
-
-SET(CMAKE_PLATFORM_HAS_INSTALLNAME 1)
-SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-dynamiclib -Wl,-headerpad_max_install_names")
-SET(CMAKE_SHARED_MODULE_CREATE_C_FLAGS "-bundle -Wl,-headerpad_max_install_names")
-SET(CMAKE_SHARED_MODULE_LOADER_C_FLAG "-Wl,-bundle_loader,")
-SET(CMAKE_SHARED_MODULE_LOADER_CXX_FLAG "-Wl,-bundle_loader,")
-SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib" ".so" ".a")
+set(CMAKE_SHARED_LIBRARY_PREFIX "lib")
+set(CMAKE_SHARED_LIBRARY_SUFFIX ".dylib")
+set(CMAKE_SHARED_MODULE_PREFIX "lib")
+set(CMAKE_SHARED_MODULE_SUFFIX ".so")
+set(CMAKE_MODULE_EXISTS 1)
+set(CMAKE_DL_LIBS "")
+
+set(CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG "-compatibility_version ")
+set(CMAKE_C_OSX_CURRENT_VERSION_FLAG "-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 "-Wl,-headerpad_max_install_names")
+set(CMAKE_CXX_LINK_FLAGS "-Wl,-headerpad_max_install_names")
+
+if(HAVE_FLAG_SEARCH_PATHS_FIRST)
+ set(CMAKE_C_LINK_FLAGS "-Wl,-search_paths_first ${CMAKE_C_LINK_FLAGS}")
+ set(CMAKE_CXX_LINK_FLAGS "-Wl,-search_paths_first ${CMAKE_CXX_LINK_FLAGS}")
+endif()
+
+set(CMAKE_PLATFORM_HAS_INSTALLNAME 1)
+set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-dynamiclib -Wl,-headerpad_max_install_names")
+set(CMAKE_SHARED_MODULE_CREATE_C_FLAGS "-bundle -Wl,-headerpad_max_install_names")
+set(CMAKE_SHARED_MODULE_LOADER_C_FLAG "-Wl,-bundle_loader,")
+set(CMAKE_SHARED_MODULE_LOADER_CXX_FLAG "-Wl,-bundle_loader,")
+set(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib" ".so" ".a")
# hack: if a new cmake (which uses CMAKE_INSTALL_NAME_TOOL) runs on an old build tree
# (where install_name_tool was hardcoded) and where CMAKE_INSTALL_NAME_TOOL isn't in the cache
# and still cmake didn't fail in CMakeFindBinUtils.cmake (because it isn't rerun)
# hardcode CMAKE_INSTALL_NAME_TOOL here to install_name_tool, so it behaves as it did before, Alex
-IF(NOT DEFINED CMAKE_INSTALL_NAME_TOOL)
- FIND_PROGRAM(CMAKE_INSTALL_NAME_TOOL install_name_tool)
- MARK_AS_ADVANCED(CMAKE_INSTALL_NAME_TOOL)
-ENDIF(NOT DEFINED CMAKE_INSTALL_NAME_TOOL)
-
-# Set the assumed (Pre 10.5 or Default) location of the developer tools
-SET(OSX_DEVELOPER_ROOT "/Developer")
-
-# Use the xcode-select tool if it's available (Xcode >= 3.0 installations)
-FIND_PROGRAM(CMAKE_XCODE_SELECT xcode-select)
-MARK_AS_ADVANCED(CMAKE_XCODE_SELECT)
-IF(CMAKE_XCODE_SELECT)
- EXECUTE_PROCESS(COMMAND ${CMAKE_XCODE_SELECT} "-print-path"
- OUTPUT_VARIABLE OSX_DEVELOPER_ROOT
- OUTPUT_STRIP_TRAILING_WHITESPACE)
-ENDIF(CMAKE_XCODE_SELECT)
-
-# Find installed SDKs
-# Start with Xcode-4.3+ default SDKs directory
-SET(_CMAKE_OSX_SDKS_DIR
- "${OSX_DEVELOPER_ROOT}/Platforms/MacOSX.platform/Developer/SDKs")
-FILE(GLOB _CMAKE_OSX_SDKS "${_CMAKE_OSX_SDKS_DIR}/*")
-
-# If not present, try pre-4.3 SDKs directory
-IF(NOT _CMAKE_OSX_SDKS)
-SET(_CMAKE_OSX_SDKS_DIR "${OSX_DEVELOPER_ROOT}/SDKs")
- FILE(GLOB _CMAKE_OSX_SDKS "${_CMAKE_OSX_SDKS_DIR}/*")
-ENDIF(NOT _CMAKE_OSX_SDKS)
-
-EXECUTE_PROCESS(COMMAND sw_vers -productVersion
+if(NOT DEFINED CMAKE_INSTALL_NAME_TOOL)
+ find_program(CMAKE_INSTALL_NAME_TOOL install_name_tool)
+ mark_as_advanced(CMAKE_INSTALL_NAME_TOOL)
+endif()
+
+# Ask xcode-select where to find /Developer or fall back to ancient location.
+execute_process(COMMAND xcode-select -print-path
+ OUTPUT_VARIABLE _stdout
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ ERROR_VARIABLE _stderr
+ RESULT_VARIABLE _failed)
+if(NOT _failed AND IS_DIRECTORY ${_stdout})
+ set(OSX_DEVELOPER_ROOT ${_stdout})
+elseif(IS_DIRECTORY "/Developer")
+ set(OSX_DEVELOPER_ROOT "/Developer")
+else()
+ set(OSX_DEVELOPER_ROOT "")
+endif()
+
+execute_process(COMMAND sw_vers -productVersion
OUTPUT_VARIABLE CURRENT_OSX_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE)
+# Save CMAKE_OSX_ARCHITECTURES from the environment.
+set(CMAKE_OSX_ARCHITECTURES "$ENV{CMAKE_OSX_ARCHITECTURES}" CACHE STRING
+ "Build architectures for OSX")
+
#----------------------------------------------------------------------------
# _CURRENT_OSX_VERSION - as a two-component string: 10.5, 10.6, ...
#
-STRING(REGEX REPLACE "^([0-9]+\\.[0-9]+).*$" "\\1"
+string(REGEX REPLACE "^([0-9]+\\.[0-9]+).*$" "\\1"
_CURRENT_OSX_VERSION "${CURRENT_OSX_VERSION}")
#----------------------------------------------------------------------------
# CMAKE_OSX_DEPLOYMENT_TARGET
# Set cache variable - end user may change this during ccmake or cmake-gui configure.
-IF(_CURRENT_OSX_VERSION VERSION_GREATER 10.3)
- SET(CMAKE_OSX_DEPLOYMENT_TARGET "$ENV{MACOSX_DEPLOYMENT_TARGET}" CACHE STRING
+if(_CURRENT_OSX_VERSION VERSION_GREATER 10.3)
+ set(CMAKE_OSX_DEPLOYMENT_TARGET "$ENV{MACOSX_DEPLOYMENT_TARGET}" CACHE STRING
"Minimum OS X version to target for deployment (at runtime); newer APIs weak linked. Set to empty string for default value.")
-ENDIF(_CURRENT_OSX_VERSION VERSION_GREATER 10.3)
+endif()
#----------------------------------------------------------------------------
# CMAKE_OSX_SYSROOT
-# Environment variable set by the user overrides our default.
-# Use the same environment variable that Xcode uses.
-SET(ENV_SDKROOT "$ENV{SDKROOT}")
-
-# Set CMAKE_OSX_SYSROOT_DEFAULT based on _CURRENT_OSX_VERSION,
-# accounting for the known specially named SDKs.
-SET(CMAKE_OSX_SYSROOT_DEFAULT
- "${_CMAKE_OSX_SDKS_DIR}/MacOSX${_CURRENT_OSX_VERSION}.sdk")
-
-IF(_CURRENT_OSX_VERSION STREQUAL "10.4")
- SET(CMAKE_OSX_SYSROOT_DEFAULT
- "${_CMAKE_OSX_SDKS_DIR}/MacOSX10.4u.sdk")
-ENDIF(_CURRENT_OSX_VERSION STREQUAL "10.4")
-
-IF(_CURRENT_OSX_VERSION STREQUAL "10.3")
- SET(CMAKE_OSX_SYSROOT_DEFAULT
- "${_CMAKE_OSX_SDKS_DIR}/MacOSX10.3.9.sdk")
-ENDIF(_CURRENT_OSX_VERSION STREQUAL "10.3")
+if(CMAKE_OSX_SYSROOT)
+ # Use the existing value without further computation to choose a default.
+ set(_CMAKE_OSX_SYSROOT_DEFAULT "${CMAKE_OSX_SYSROOT}")
+elseif(NOT "x$ENV{SDKROOT}" STREQUAL "x" AND
+ (NOT "x$ENV{SDKROOT}" MATCHES "/" OR IS_DIRECTORY "$ENV{SDKROOT}"))
+ # Use the value of SDKROOT from the environment.
+ set(_CMAKE_OSX_SYSROOT_DEFAULT "$ENV{SDKROOT}")
+elseif("${CMAKE_GENERATOR}" MATCHES Xcode
+ OR CMAKE_OSX_DEPLOYMENT_TARGET
+ OR CMAKE_OSX_ARCHITECTURES MATCHES "[^;]"
+ OR NOT EXISTS "/usr/include/sys/types.h")
+ # Find installed SDKs in either Xcode-4.3+ or pre-4.3 SDKs directory.
+ set(_CMAKE_OSX_SDKS_DIR "")
+ if(OSX_DEVELOPER_ROOT)
+ foreach(d Platforms/MacOSX.platform/Developer/SDKs SDKs)
+ file(GLOB _CMAKE_OSX_SDKS ${OSX_DEVELOPER_ROOT}/${d}/*)
+ if(_CMAKE_OSX_SDKS)
+ set(_CMAKE_OSX_SDKS_DIR ${OSX_DEVELOPER_ROOT}/${d})
+ break()
+ endif()
+ endforeach()
+ endif()
-# Use environment or default as initial cache value:
-IF(NOT ENV_SDKROOT STREQUAL "")
- SET(CMAKE_OSX_SYSROOT_VALUE ${ENV_SDKROOT})
-ELSE(NOT ENV_SDKROOT STREQUAL "")
- SET(CMAKE_OSX_SYSROOT_VALUE ${CMAKE_OSX_SYSROOT_DEFAULT})
-ENDIF(NOT ENV_SDKROOT STREQUAL "")
+ if(_CMAKE_OSX_SDKS_DIR)
+ # Select SDK for current OSX version accounting for the known
+ # specially named SDKs.
+ set(_CMAKE_OSX_SDKS_VER_SUFFIX_10.4 "u")
+ set(_CMAKE_OSX_SDKS_VER_SUFFIX_10.3 ".9")
+ set(_CMAKE_OSX_SDKS_VER ${_CURRENT_OSX_VERSION}${_CMAKE_OSX_SDKS_VER_SUFFIX_${_CURRENT_OSX_VERSION}})
+ set(_CMAKE_OSX_SYSROOT_DEFAULT
+ "${_CMAKE_OSX_SDKS_DIR}/MacOSX${_CMAKE_OSX_SDKS_VER}.sdk")
+ else()
+ # Assume developer files are in root (such as Xcode 4.5 command-line tools).
+ set(_CMAKE_OSX_SYSROOT_DEFAULT "")
+ endif()
+endif()
# Set cache variable - end user may change this during ccmake or cmake-gui configure.
-SET(CMAKE_OSX_SYSROOT ${CMAKE_OSX_SYSROOT_VALUE} CACHE PATH
+# Choose the type based on the current value.
+set(_CMAKE_OSX_SYSROOT_TYPE STRING)
+foreach(v CMAKE_OSX_SYSROOT _CMAKE_OSX_SYSROOT_DEFAULT)
+ if("x${${v}}" MATCHES "/")
+ set(_CMAKE_OSX_SYSROOT_TYPE PATH)
+ break()
+ endif()
+endforeach()
+set(CMAKE_OSX_SYSROOT "${_CMAKE_OSX_SYSROOT_DEFAULT}" CACHE ${_CMAKE_OSX_SYSROOT_TYPE}
"The product will be built against the headers and libraries located inside the indicated SDK.")
-#----------------------------------------------------------------------------
-function(SanityCheckSDKAndDeployTarget _sdk_path _deploy)
- if(_deploy STREQUAL "")
- return()
+# Transform the cached value to something we can use.
+set(_CMAKE_OSX_SYSROOT_ORIG "${CMAKE_OSX_SYSROOT}")
+set(_CMAKE_OSX_SYSROOT_PATH "")
+if(CMAKE_OSX_SYSROOT)
+ if("x${CMAKE_OSX_SYSROOT}" MATCHES "/")
+ # This is a path to the SDK. Make sure it exists.
+ if(NOT IS_DIRECTORY "${CMAKE_OSX_SYSROOT}")
+ message(WARNING "Ignoring CMAKE_OSX_SYSROOT value:\n ${CMAKE_OSX_SYSROOT}\n"
+ "because the directory does not exist.")
+ set(CMAKE_OSX_SYSROOT "")
+ set(_CMAKE_OSX_SYSROOT_ORIG "")
+ endif()
+ set(_CMAKE_OSX_SYSROOT_PATH "${CMAKE_OSX_SYSROOT}")
+ else()
+ # Transform the sdk name into a path.
+ execute_process(
+ COMMAND xcodebuild -sdk ${CMAKE_OSX_SYSROOT} -version Path
+ OUTPUT_VARIABLE _stdout
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ ERROR_VARIABLE _stderr
+ RESULT_VARIABLE _failed
+ )
+ if(NOT _failed AND IS_DIRECTORY "${_stdout}")
+ set(_CMAKE_OSX_SYSROOT_PATH "${_stdout}")
+ # For non-Xcode generators use the path.
+ if(NOT "${CMAKE_GENERATOR}" MATCHES "Xcode")
+ set(CMAKE_OSX_SYSROOT "${_CMAKE_OSX_SYSROOT_PATH}")
+ endif()
+ endif()
endif()
+endif()
- if(_sdk_path STREQUAL "")
- message(FATAL_ERROR "CMAKE_OSX_DEPLOYMENT_TARGET='${_deploy}' but CMAKE_OSX_SYSROOT is empty... - either set CMAKE_OSX_SYSROOT to a valid SDK or set CMAKE_OSX_DEPLOYMENT_TARGET to empty")
+# Make sure the combination of SDK and Deployment Target are allowed
+if(CMAKE_OSX_DEPLOYMENT_TARGET)
+ if("${_CMAKE_OSX_SYSROOT_PATH}" MATCHES "^.*/MacOSX([0-9]+\\.[0-9]+)[^/]*\\.sdk")
+ set(_sdk_ver "${CMAKE_MATCH_1}")
+ elseif("${_CMAKE_OSX_SYSROOT_ORIG}" MATCHES "^macosx([0-9]+\\.[0-9]+)$")
+ set(_sdk_ver "${CMAKE_MATCH_1}")
+ else()
+ message(FATAL_ERROR
+ "CMAKE_OSX_DEPLOYMENT_TARGET is '${CMAKE_OSX_DEPLOYMENT_TARGET}' "
+ "but CMAKE_OSX_SYSROOT:\n \"${_CMAKE_OSX_SYSROOT_ORIG}\"\n"
+ "is not set to a MacOSX SDK with a recognized version. "
+ "Either set CMAKE_OSX_SYSROOT to a valid SDK or set "
+ "CMAKE_OSX_DEPLOYMENT_TARGET to empty.")
endif()
-
- string(REGEX REPLACE "(.*MacOSX*)(....)(.*\\.sdk)" "\\2" SDK "${_sdk_path}")
- if(_deploy GREATER "${SDK}")
- message(FATAL_ERROR "CMAKE_OSX_DEPLOYMENT_TARGET (${_deploy}) is greater than CMAKE_OSX_SYSROOT SDK (${_sdk_path}). Please set CMAKE_OSX_DEPLOYMENT_TARGET to ${SDK} or lower")
+ if(CMAKE_OSX_DEPLOYMENT_TARGET VERSION_GREATER "${_sdk_ver}")
+ message(FATAL_ERROR
+ "CMAKE_OSX_DEPLOYMENT_TARGET (${CMAKE_OSX_DEPLOYMENT_TARGET}) "
+ "is greater than CMAKE_OSX_SYSROOT SDK:\n ${_CMAKE_OSX_SYSROOT_ORIG}\n"
+ "Please set CMAKE_OSX_DEPLOYMENT_TARGET to ${_sdk_ver} or lower.")
endif()
-endfunction(SanityCheckSDKAndDeployTarget)
-#----------------------------------------------------------------------------
-
-# Make sure the combination of SDK and Deployment Target are allowed
-SanityCheckSDKAndDeployTarget("${CMAKE_OSX_SYSROOT}" "${CMAKE_OSX_DEPLOYMENT_TARGET}")
+endif()
-# set _CMAKE_OSX_MACHINE to uname -m
-EXECUTE_PROCESS(COMMAND uname -m
- OUTPUT_STRIP_TRAILING_WHITESPACE
- OUTPUT_VARIABLE _CMAKE_OSX_MACHINE)
-
-# check for Power PC and change to ppc
-IF(_CMAKE_OSX_MACHINE MATCHES "Power")
- SET(_CMAKE_OSX_MACHINE ppc)
-ENDIF(_CMAKE_OSX_MACHINE MATCHES "Power")
-
-# check for environment variable CMAKE_OSX_ARCHITECTURES
-# if it is set.
-IF(NOT "$ENV{CMAKE_OSX_ARCHITECTURES}" STREQUAL "")
- SET(CMAKE_OSX_ARCHITECTURES_VALUE "$ENV{CMAKE_OSX_ARCHITECTURES}")
-ELSE(NOT "$ENV{CMAKE_OSX_ARCHITECTURES}" STREQUAL "")
- SET(CMAKE_OSX_ARCHITECTURES_VALUE "")
-ENDIF(NOT "$ENV{CMAKE_OSX_ARCHITECTURES}" STREQUAL "")
-
-# now put _CMAKE_OSX_MACHINE into the cache
-SET(CMAKE_OSX_ARCHITECTURES ${CMAKE_OSX_ARCHITECTURES_VALUE} CACHE STRING
- "Build architectures for OSX")
-
-
-IF("${CMAKE_BACKWARDS_COMPATIBILITY}" MATCHES "^1\\.[0-6]$")
- SET(CMAKE_SHARED_MODULE_CREATE_C_FLAGS
+if("${CMAKE_BACKWARDS_COMPATIBILITY}" MATCHES "^1\\.[0-6]$")
+ set(CMAKE_SHARED_MODULE_CREATE_C_FLAGS
"${CMAKE_SHARED_MODULE_CREATE_C_FLAGS} -flat_namespace -undefined suppress")
-ENDIF("${CMAKE_BACKWARDS_COMPATIBILITY}" MATCHES "^1\\.[0-6]$")
+endif()
-IF(NOT XCODE)
+if(NOT XCODE)
# Enable shared library versioning. This flag is not actually referenced
# but the fact that the setting exists will cause the generators to support
# soname computation.
- SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-install_name")
-ENDIF(NOT XCODE)
+ set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-install_name")
+endif()
# Xcode does not support -isystem yet.
-IF(XCODE)
- SET(CMAKE_INCLUDE_SYSTEM_FLAG_C)
- SET(CMAKE_INCLUDE_SYSTEM_FLAG_CXX)
-ENDIF(XCODE)
+if(XCODE)
+ set(CMAKE_INCLUDE_SYSTEM_FLAG_C)
+ set(CMAKE_INCLUDE_SYSTEM_FLAG_CXX)
+endif()
-IF("${_CURRENT_OSX_VERSION}" VERSION_LESS "10.5")
+if("${_CURRENT_OSX_VERSION}" VERSION_LESS "10.5")
# Need to list dependent shared libraries on link line. When building
# with -isysroot (for universal binaries), the linker always looks for
# dependent libraries under the sysroot. Listing them on the link
# line works around the problem.
- SET(CMAKE_LINK_DEPENDENT_LIBRARY_FILES 1)
-ENDIF()
+ set(CMAKE_LINK_DEPENDENT_LIBRARY_FILES 1)
+endif()
-SET(CMAKE_C_CREATE_SHARED_LIBRARY_FORBIDDEN_FLAGS -w)
-SET(CMAKE_CXX_CREATE_SHARED_LIBRARY_FORBIDDEN_FLAGS -w)
-SET(CMAKE_C_CREATE_SHARED_LIBRARY
+set(CMAKE_C_CREATE_SHARED_LIBRARY_FORBIDDEN_FLAGS -w)
+set(CMAKE_CXX_CREATE_SHARED_LIBRARY_FORBIDDEN_FLAGS -w)
+set(CMAKE_C_CREATE_SHARED_LIBRARY
"<CMAKE_C_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> <LINK_FLAGS> -o <TARGET> <SONAME_FLAG> <TARGET_INSTALLNAME_DIR><TARGET_SONAME> <OBJECTS> <LINK_LIBRARIES>")
-SET(CMAKE_CXX_CREATE_SHARED_LIBRARY
+set(CMAKE_CXX_CREATE_SHARED_LIBRARY
"<CMAKE_CXX_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <LINK_FLAGS> -o <TARGET> <SONAME_FLAG> <TARGET_INSTALLNAME_DIR><TARGET_SONAME> <OBJECTS> <LINK_LIBRARIES>")
-SET(CMAKE_Fortran_CREATE_SHARED_LIBRARY
+set(CMAKE_Fortran_CREATE_SHARED_LIBRARY
"<CMAKE_Fortran_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS> <LINK_FLAGS> -o <TARGET> <SONAME_FLAG> <TARGET_INSTALLNAME_DIR><TARGET_SONAME> <OBJECTS> <LINK_LIBRARIES>")
-SET(CMAKE_CXX_CREATE_SHARED_MODULE
+set(CMAKE_CXX_CREATE_SHARED_MODULE
"<CMAKE_CXX_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS> <LINK_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
-SET(CMAKE_C_CREATE_SHARED_MODULE
+set(CMAKE_C_CREATE_SHARED_MODULE
"<CMAKE_C_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_MODULE_CREATE_C_FLAGS> <LINK_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
-SET(CMAKE_Fortran_CREATE_SHARED_MODULE
+set(CMAKE_Fortran_CREATE_SHARED_MODULE
"<CMAKE_Fortran_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_MODULE_CREATE_Fortran_FLAGS> <LINK_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
-SET(CMAKE_C_CREATE_MACOSX_FRAMEWORK
+set(CMAKE_C_CREATE_MACOSX_FRAMEWORK
"<CMAKE_C_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS> <LINK_FLAGS> -o <TARGET> <SONAME_FLAG> <TARGET_INSTALLNAME_DIR><TARGET_SONAME> <OBJECTS> <LINK_LIBRARIES>")
-SET(CMAKE_CXX_CREATE_MACOSX_FRAMEWORK
+set(CMAKE_CXX_CREATE_MACOSX_FRAMEWORK
"<CMAKE_CXX_COMPILER> <LANGUAGE_COMPILE_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <LINK_FLAGS> -o <TARGET> <SONAME_FLAG> <TARGET_INSTALLNAME_DIR><TARGET_SONAME> <OBJECTS> <LINK_LIBRARIES>")
# default to searching for frameworks first
-IF(NOT DEFINED CMAKE_FIND_FRAMEWORK)
- SET(CMAKE_FIND_FRAMEWORK FIRST)
-ENDIF()
+if(NOT DEFINED CMAKE_FIND_FRAMEWORK)
+ set(CMAKE_FIND_FRAMEWORK FIRST)
+endif()
# set up the default search directories for frameworks
-SET(CMAKE_SYSTEM_FRAMEWORK_PATH
+set(CMAKE_SYSTEM_FRAMEWORK_PATH
~/Library/Frameworks
/Library/Frameworks
/Network/Library/Frameworks
/System/Library/Frameworks)
# default to searching for application bundles first
-IF(NOT DEFINED CMAKE_FIND_APPBUNDLE)
- SET(CMAKE_FIND_APPBUNDLE FIRST)
-ENDIF()
+if(NOT DEFINED CMAKE_FIND_APPBUNDLE)
+ set(CMAKE_FIND_APPBUNDLE FIRST)
+endif()
# set up the default search directories for application bundles
-SET(_apps_paths)
-FOREACH(_path
+set(_apps_paths)
+foreach(_path
"~/Applications"
"/Applications"
"${OSX_DEVELOPER_ROOT}/../Applications" # Xcode 4.3+
"${OSX_DEVELOPER_ROOT}/Applications" # pre-4.3
)
- GET_FILENAME_COMPONENT(_apps "${_path}" ABSOLUTE)
- IF(EXISTS "${_apps}")
- LIST(APPEND _apps_paths "${_apps}")
- ENDIF()
-ENDFOREACH()
-LIST(REMOVE_DUPLICATES _apps_paths)
-SET(CMAKE_SYSTEM_APPBUNDLE_PATH
+ get_filename_component(_apps "${_path}" ABSOLUTE)
+ if(EXISTS "${_apps}")
+ list(APPEND _apps_paths "${_apps}")
+ endif()
+endforeach()
+list(REMOVE_DUPLICATES _apps_paths)
+set(CMAKE_SYSTEM_APPBUNDLE_PATH
${_apps_paths})
-UNSET(_apps_paths)
+unset(_apps_paths)
-INCLUDE(Platform/UnixPaths)
-LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH
+include(Platform/UnixPaths)
+list(APPEND CMAKE_SYSTEM_PREFIX_PATH
/sw # Fink
/opt/local # MacPorts
)
diff --git a/Modules/Platform/DragonFly.cmake b/Modules/Platform/DragonFly.cmake
index f6e0f810f..c22677b9d 100644
--- a/Modules/Platform/DragonFly.cmake
+++ b/Modules/Platform/DragonFly.cmake
@@ -2,4 +2,4 @@
# http://www.dragonflybsd.org
# see http://archive.netbsd.se/?ml=dfbsd-users&a=2007-07&m=4678361
-INCLUDE(Platform/FreeBSD)
+include(Platform/FreeBSD)
diff --git a/Modules/Platform/FreeBSD.cmake b/Modules/Platform/FreeBSD.cmake
index 82fe961fb..cf1850110 100644
--- a/Modules/Platform/FreeBSD.cmake
+++ b/Modules/Platform/FreeBSD.cmake
@@ -1,28 +1,28 @@
-IF(EXISTS /usr/include/dlfcn.h)
- SET(CMAKE_DL_LIBS "")
- SET(CMAKE_C_COMPILE_OPTIONS_PIC "-fPIC")
- SET(CMAKE_C_COMPILE_OPTIONS_PIE "-fPIE")
- SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC") # -pic
- SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared") # -shared
- SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") # +s, flag for exe link to use shared lib
- SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,") # -rpath
- SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":") # : or empty
- SET(CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG "-Wl,-rpath-link,")
- SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
- SET(CMAKE_EXE_EXPORTS_C_FLAG "-Wl,--export-dynamic")
-ENDIF(EXISTS /usr/include/dlfcn.h)
+if(EXISTS /usr/include/dlfcn.h)
+ set(CMAKE_DL_LIBS "")
+ set(CMAKE_C_COMPILE_OPTIONS_PIC "-fPIC")
+ set(CMAKE_C_COMPILE_OPTIONS_PIE "-fPIE")
+ set(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC") # -pic
+ set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared") # -shared
+ set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") # +s, flag for exe link to use shared lib
+ set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,") # -rpath
+ set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":") # : or empty
+ set(CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG "-Wl,-rpath-link,")
+ set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
+ set(CMAKE_EXE_EXPORTS_C_FLAG "-Wl,--export-dynamic")
+endif()
# Shared libraries with no builtin soname may not be linked safely by
# specifying the file path.
-SET(CMAKE_PLATFORM_USES_PATH_WHEN_NO_SONAME 1)
+set(CMAKE_PLATFORM_USES_PATH_WHEN_NO_SONAME 1)
# Initialize C link type selection flags. These flags are used when
# building a shared library, shared module, or executable that links
# to other libraries to select whether to use the static or shared
# versions of the libraries.
-FOREACH(type SHARED_LIBRARY SHARED_MODULE EXE)
- SET(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Wl,-Bstatic")
- SET(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Wl,-Bdynamic")
-ENDFOREACH(type)
+foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
+ set(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Wl,-Bstatic")
+ set(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Wl,-Bdynamic")
+endforeach()
-INCLUDE(Platform/UnixPaths)
+include(Platform/UnixPaths)
diff --git a/Modules/Platform/GNU.cmake b/Modules/Platform/GNU.cmake
index 4bcfd51ce..e8c3b657b 100644
--- a/Modules/Platform/GNU.cmake
+++ b/Modules/Platform/GNU.cmake
@@ -1,13 +1,13 @@
# GCC is the default compiler on GNU/Hurd.
-SET(CMAKE_DL_LIBS "dl")
-SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC")
-SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared")
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
-SET(CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG "-Wl,-rpath-link,")
-SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
-SET(CMAKE_EXE_EXPORTS_C_FLAG "-Wl,--export-dynamic")
+set(CMAKE_DL_LIBS "dl")
+set(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC")
+set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
+set(CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG "-Wl,-rpath-link,")
+set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
+set(CMAKE_EXE_EXPORTS_C_FLAG "-Wl,--export-dynamic")
-SET(CMAKE_LIBRARY_ARCHITECTURE_REGEX "[a-z0-9_]+(-[a-z0-9_]+)?-gnu[a-z0-9_]*")
+set(CMAKE_LIBRARY_ARCHITECTURE_REGEX "[a-z0-9_]+(-[a-z0-9_]+)?-gnu[a-z0-9_]*")
-INCLUDE(Platform/UnixPaths)
+include(Platform/UnixPaths)
diff --git a/Modules/Platform/Generic-ADSP-ASM.cmake b/Modules/Platform/Generic-ADSP-ASM.cmake
index cec4c2f68..63a1388ce 100644
--- a/Modules/Platform/Generic-ADSP-ASM.cmake
+++ b/Modules/Platform/Generic-ADSP-ASM.cmake
@@ -1,7 +1,7 @@
-INCLUDE(Platform/Generic-ADSP-Common)
+include(Platform/Generic-ADSP-Common)
-SET(CMAKE_ASM_SOURCE_FILE_EXTENSIONS asm)
-SET(CMAKE_ASM_OUTPUT_EXTENSION ".doj" )
-SET(CMAKE_ASM_COMPILE_OBJECT
+set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS asm)
+set(CMAKE_ASM_OUTPUT_EXTENSION ".doj" )
+set(CMAKE_ASM_COMPILE_OBJECT
"<CMAKE_ASM_COMPILER> <FLAGS> -proc ${ADSP_PROCESSOR} -si-revision ${ADSP_PROCESSOR_SILICIUM_REVISION} -o <OBJECT> <SOURCE>")
diff --git a/Modules/Platform/Generic-ADSP-C.cmake b/Modules/Platform/Generic-ADSP-C.cmake
index f0644687f..4b9ed9d07 100644
--- a/Modules/Platform/Generic-ADSP-C.cmake
+++ b/Modules/Platform/Generic-ADSP-C.cmake
@@ -1,20 +1,20 @@
-INCLUDE(Platform/Generic-ADSP-Common)
+include(Platform/Generic-ADSP-Common)
-SET(CMAKE_C_OUTPUT_EXTENSION ".doj")
+set(CMAKE_C_OUTPUT_EXTENSION ".doj")
-SET(CMAKE_C_FLAGS_DEBUG_INIT "-g")
-SET(CMAKE_C_FLAGS_MINSIZEREL_INIT "")
-SET(CMAKE_C_FLAGS_RELEASE_INIT "")
-SET(CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "")
+set(CMAKE_C_FLAGS_DEBUG_INIT "-g")
+set(CMAKE_C_FLAGS_MINSIZEREL_INIT "")
+set(CMAKE_C_FLAGS_RELEASE_INIT "")
+set(CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "")
-SET(CMAKE_C_CREATE_STATIC_LIBRARY
+set(CMAKE_C_CREATE_STATIC_LIBRARY
"<CMAKE_C_COMPILER> -build-lib -proc ${ADSP_PROCESSOR} -si-revision ${ADSP_PROCESSOR_SILICIUM_REVISION} -o <TARGET> <CMAKE_C_LINK_FLAGS> <OBJECTS>")
-SET(CMAKE_C_LINK_EXECUTABLE
+set(CMAKE_C_LINK_EXECUTABLE
"<CMAKE_C_COMPILER> <FLAGS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
-SET(CMAKE_C_CREATE_SHARED_LIBRARY)
-SET(CMAKE_C_CREATE_MODULE_LIBRARY)
+set(CMAKE_C_CREATE_SHARED_LIBRARY)
+set(CMAKE_C_CREATE_MODULE_LIBRARY)
diff --git a/Modules/Platform/Generic-ADSP-CXX.cmake b/Modules/Platform/Generic-ADSP-CXX.cmake
index 21daa81c9..9673aef40 100644
--- a/Modules/Platform/Generic-ADSP-CXX.cmake
+++ b/Modules/Platform/Generic-ADSP-CXX.cmake
@@ -1,18 +1,18 @@
-INCLUDE(Platform/Generic-ADSP-Common)
+include(Platform/Generic-ADSP-Common)
-SET(CMAKE_CXX_OUTPUT_EXTENSION ".doj")
+set(CMAKE_CXX_OUTPUT_EXTENSION ".doj")
-SET(CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
-SET(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "")
-SET(CMAKE_CXX_FLAGS_RELEASE_INIT "")
-SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "")
+set(CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
+set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "")
+set(CMAKE_CXX_FLAGS_RELEASE_INIT "")
+set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "")
-SET(CMAKE_CXX_CREATE_STATIC_LIBRARY
+set(CMAKE_CXX_CREATE_STATIC_LIBRARY
"<CMAKE_CXX_COMPILER> -build-lib -proc ${ADSP_PROCESSOR} -si-revision ${ADSP_PROCESSOR_SILICIUM_REVISION} -o <TARGET> <CMAKE_CXX_LINK_FLAGS> <OBJECTS>")
-SET(CMAKE_CXX_LINK_EXECUTABLE
+set(CMAKE_CXX_LINK_EXECUTABLE
"<CMAKE_CXX_COMPILER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
-SET(CMAKE_CXX_CREATE_SHARED_LIBRARY)
-SET(CMAKE_CXX_CREATE_MODULE_LIBRARY)
+set(CMAKE_CXX_CREATE_SHARED_LIBRARY)
+set(CMAKE_CXX_CREATE_MODULE_LIBRARY)
diff --git a/Modules/Platform/Generic-ADSP-Common.cmake b/Modules/Platform/Generic-ADSP-Common.cmake
index 10fb34e00..026f83c48 100644
--- a/Modules/Platform/Generic-ADSP-Common.cmake
+++ b/Modules/Platform/Generic-ADSP-Common.cmake
@@ -6,115 +6,115 @@
# TS (TigerShark)
# 21k (Sharc 21xxx)
-IF(NOT ADSP)
+if(NOT ADSP)
- SET(ADSP TRUE)
+ set(ADSP TRUE)
- SET(CMAKE_STATIC_LIBRARY_SUFFIX ".dlb")
- SET(CMAKE_SHARED_LIBRARY_SUFFIX "")
- SET(CMAKE_EXECUTABLE_SUFFIX ".dxe")
+ set(CMAKE_STATIC_LIBRARY_SUFFIX ".dlb")
+ set(CMAKE_SHARED_LIBRARY_SUFFIX "")
+ set(CMAKE_EXECUTABLE_SUFFIX ".dxe")
- # if ADSP_PROCESSOR has not been set, but CMAKE_SYSTEM_PROCESSOR has,
+ # if ADSP_PROCESSOR has not been set, but CMAKE_SYSTEM_PROCESSOR has,
# assume that this is the processor name to use for the compiler
- IF(CMAKE_SYSTEM_PROCESSOR AND NOT ADSP_PROCESSOR)
- SET(ADSP_PROCESSOR ${CMAKE_SYSTEM_PROCESSOR})
- ENDIF(CMAKE_SYSTEM_PROCESSOR AND NOT ADSP_PROCESSOR)
+ if(CMAKE_SYSTEM_PROCESSOR AND NOT ADSP_PROCESSOR)
+ set(ADSP_PROCESSOR ${CMAKE_SYSTEM_PROCESSOR})
+ endif()
# if ADSP_PROCESSOR_SILICIUM_REVISION has not been set, use "none"
- IF(NOT ADSP_PROCESSOR_SILICIUM_REVISION)
- SET(ADSP_PROCESSOR_SILICIUM_REVISION "none")
- ENDIF(NOT ADSP_PROCESSOR_SILICIUM_REVISION)
+ if(NOT ADSP_PROCESSOR_SILICIUM_REVISION)
+ set(ADSP_PROCESSOR_SILICIUM_REVISION "none")
+ endif()
# this file is included from the C and CXX files, so handle both here
- GET_FILENAME_COMPONENT(_ADSP_DIR "${CMAKE_C_COMPILER}" PATH)
- IF(NOT _ADSP_DIR)
- GET_FILENAME_COMPONENT(_ADSP_DIR "${CMAKE_CXX_COMPILER}" PATH)
- ENDIF(NOT _ADSP_DIR)
- IF(NOT _ADSP_DIR)
- GET_FILENAME_COMPONENT(_ADSP_DIR "${CMAKE_ASM_COMPILER}" PATH)
- ENDIF(NOT _ADSP_DIR)
+ get_filename_component(_ADSP_DIR "${CMAKE_C_COMPILER}" PATH)
+ if(NOT _ADSP_DIR)
+ get_filename_component(_ADSP_DIR "${CMAKE_CXX_COMPILER}" PATH)
+ endif()
+ if(NOT _ADSP_DIR)
+ get_filename_component(_ADSP_DIR "${CMAKE_ASM_COMPILER}" PATH)
+ endif()
# detect architecture
- IF(CMAKE_C_COMPILER MATCHES ccblkfn OR CMAKE_CXX_COMPILER MATCHES ccblkfn OR CMAKE_ASM_COMPILER MATCHES easmBLKFN)
- IF(NOT ADSP_PROCESSOR)
- SET(ADSP_PROCESSOR "ADSP-BF561")
- ENDIF(NOT ADSP_PROCESSOR)
- SET(ADSP_BLACKFIN TRUE)
- SET(_ADSP_FAMILY_DIR "${_ADSP_DIR}/Blackfin")
- ENDIF(CMAKE_C_COMPILER MATCHES ccblkfn OR CMAKE_CXX_COMPILER MATCHES ccblkfn OR CMAKE_ASM_COMPILER MATCHES easmBLKFN)
+ if(CMAKE_C_COMPILER MATCHES ccblkfn OR CMAKE_CXX_COMPILER MATCHES ccblkfn OR CMAKE_ASM_COMPILER MATCHES easmBLKFN)
+ if(NOT ADSP_PROCESSOR)
+ set(ADSP_PROCESSOR "ADSP-BF561")
+ endif()
+ set(ADSP_BLACKFIN TRUE)
+ set(_ADSP_FAMILY_DIR "${_ADSP_DIR}/Blackfin")
+ endif()
- IF(CMAKE_C_COMPILER MATCHES ccts OR CMAKE_CXX_COMPILER MATCHES ccts OR CMAKE_ASM_COMPILER MATCHES easmTS)
- IF(NOT ADSP_PROCESSOR)
- SET(ADSP_PROCESSOR "ADSP-TS101")
- ENDIF(NOT ADSP_PROCESSOR)
- SET(ADSP_TS TRUE)
- SET(_ADSP_FAMILY_DIR "${_ADSP_DIR}/TS")
- ENDIF(CMAKE_C_COMPILER MATCHES ccts OR CMAKE_CXX_COMPILER MATCHES ccts OR CMAKE_ASM_COMPILER MATCHES easmTS)
+ if(CMAKE_C_COMPILER MATCHES ccts OR CMAKE_CXX_COMPILER MATCHES ccts OR CMAKE_ASM_COMPILER MATCHES easmTS)
+ if(NOT ADSP_PROCESSOR)
+ set(ADSP_PROCESSOR "ADSP-TS101")
+ endif()
+ set(ADSP_TS TRUE)
+ set(_ADSP_FAMILY_DIR "${_ADSP_DIR}/TS")
+ endif()
- IF(CMAKE_C_COMPILER MATCHES cc21k OR CMAKE_CXX_COMPILER MATCHES cc21k OR CMAKE_ASM_COMPILER MATCHES easm21k)
- IF(NOT ADSP_PROCESSOR)
- SET(ADSP_PROCESSOR "ADSP-21060")
- ENDIF(NOT ADSP_PROCESSOR)
- SET(ADSP_21K TRUE)
+ if(CMAKE_C_COMPILER MATCHES cc21k OR CMAKE_CXX_COMPILER MATCHES cc21k OR CMAKE_ASM_COMPILER MATCHES easm21k)
+ if(NOT ADSP_PROCESSOR)
+ set(ADSP_PROCESSOR "ADSP-21060")
+ endif()
+ set(ADSP_21K TRUE)
- SET(_ADSP_FAMILY_DIR "${_ADSP_DIR}/21k") # default if nothing matches
- IF (ADSP_PROCESSOR MATCHES "210..$")
- SET(_ADSP_FAMILY_DIR "${_ADSP_DIR}/21k")
- ENDIF(ADSP_PROCESSOR MATCHES "210..$")
+ set(_ADSP_FAMILY_DIR "${_ADSP_DIR}/21k") # default if nothing matches
+ if (ADSP_PROCESSOR MATCHES "210..$")
+ set(_ADSP_FAMILY_DIR "${_ADSP_DIR}/21k")
+ endif()
- IF (ADSP_PROCESSOR MATCHES "211..$")
- SET(_ADSP_FAMILY_DIR "${_ADSP_DIR}/211k")
- ENDIF(ADSP_PROCESSOR MATCHES "211..$")
+ if (ADSP_PROCESSOR MATCHES "211..$")
+ set(_ADSP_FAMILY_DIR "${_ADSP_DIR}/211k")
+ endif()
- IF (ADSP_PROCESSOR MATCHES "212..$")
- SET(_ADSP_FAMILY_DIR "${_ADSP_DIR}/212k")
- ENDIF(ADSP_PROCESSOR MATCHES "212..$")
+ if (ADSP_PROCESSOR MATCHES "212..$")
+ set(_ADSP_FAMILY_DIR "${_ADSP_DIR}/212k")
+ endif()
- IF (ADSP_PROCESSOR MATCHES "213..$")
- SET(_ADSP_FAMILY_DIR "${_ADSP_DIR}/213k")
- ENDIF(ADSP_PROCESSOR MATCHES "213..$")
+ if (ADSP_PROCESSOR MATCHES "213..$")
+ set(_ADSP_FAMILY_DIR "${_ADSP_DIR}/213k")
+ endif()
- SET(_ADSP_FAMILY_DIR "${_ADSP_DIR}/21k")
- ENDIF(CMAKE_C_COMPILER MATCHES cc21k OR CMAKE_CXX_COMPILER MATCHES cc21k OR CMAKE_ASM_COMPILER MATCHES easm21k)
+ set(_ADSP_FAMILY_DIR "${_ADSP_DIR}/21k")
+ endif()
- LINK_DIRECTORIES("${_ADSP_FAMILY_DIR}/lib")
+ link_directories("${_ADSP_FAMILY_DIR}/lib")
# vdk support
- FIND_PROGRAM( ADSP_VDKGEN_EXECUTABLE vdkgen "${_ADSP_FAMILY_DIR}/vdk" )
+ find_program( ADSP_VDKGEN_EXECUTABLE vdkgen "${_ADSP_FAMILY_DIR}/vdk" )
- MACRO(ADSP_GENERATE_VDK VDK_GENERATED_HEADER VDK_GENERATED_SOURCE VDK_KERNEL_SUPPORT_FILE)
- ADD_CUSTOM_COMMAND(
+ macro(ADSP_GENERATE_VDK VDK_GENERATED_HEADER VDK_GENERATED_SOURCE VDK_KERNEL_SUPPORT_FILE)
+ add_custom_command(
OUTPUT ${VDK_GENERATED_HEADER} ${VDK_GENERATED_SOURCE}
COMMAND ${ADSP_VDKGEN_EXECUTABLE} ${VDK_KERNEL_SUPPORT_FILE} -proc ${ADSP_PROCESSOR} -si-revision ${ADSP_PROCESSOR_SILICIUM_REVISION} -MM
DEPENDS ${VDK_KERNEL_SUPPORT_FILE}
)
- ENDMACRO(ADSP_GENERATE_VDK VDK_GENERATED_HEADER VDK_GENERATED_SOURCE VDK_KERNEL_SUPPORT_FILE)
+ endmacro()
# loader support
- FIND_PROGRAM( ADSP_ELFLOADER_EXECUTABLE elfloader "${_ADSP_FAMILY_DIR}" )
+ find_program( ADSP_ELFLOADER_EXECUTABLE elfloader "${_ADSP_FAMILY_DIR}" )
# BOOT_MODE: prom, flash, spi, spislave, UART, TWI, FIFO
# FORMAT: hex, ASCII, binary, include
# WIDTH: 8, 16
- MACRO(ADSP_CREATE_LOADER_FILE TARGET_NAME BOOT_MODE FORMAT WIDTH)
- ADD_CUSTOM_COMMAND(
+ macro(ADSP_CREATE_LOADER_FILE TARGET_NAME BOOT_MODE FORMAT WIDTH)
+ add_custom_command(
TARGET ${TARGET_NAME}
POST_BUILD
COMMAND ${ADSP_ELFLOADER_EXECUTABLE} ${EXECUTABLE_OUTPUT_PATH}/${TARGET_NAME}.dxe -proc ${ADSP_PROCESSOR} -si-revision ${ADSP_PROCESSOR_SILICIUM_REVISION} -b ${BOOT_MODE} -f ${FORMAT} -width ${WIDTH} -o ${EXECUTABLE_OUTPUT_PATH}/${TARGET_NAME}.ldr
COMMENT "Building the loader file"
)
- ENDMACRO(ADSP_CREATE_LOADER_FILE TARGET_NAME BOOT_MODE FORMAT WIDTH)
+ endmacro()
- MACRO(ADSP_CREATE_LOADER_FILE_INIT TARGET_NAME BOOT_MODE FORMAT WIDTH INITIALIZATION_FILE)
- ADD_CUSTOM_COMMAND(
+ macro(ADSP_CREATE_LOADER_FILE_INIT TARGET_NAME BOOT_MODE FORMAT WIDTH INITIALIZATION_FILE)
+ add_custom_command(
TARGET ${TARGET_NAME}
POST_BUILD
COMMAND ${ADSP_ELFLOADER_EXECUTABLE} ${EXECUTABLE_OUTPUT_PATH}/${TARGET_NAME}.dxe -proc ${ADSP_PROCESSOR} -si-revision ${ADSP_PROCESSOR_SILICIUM_REVISION} -b ${BOOT_MODE} -f ${FORMAT} -width ${WIDTH} -o ${EXECUTABLE_OUTPUT_PATH}/${TARGET_NAME}.ldr -init ${INITIALIZATION_FILE}
COMMENT "Building the loader file"
)
- ENDMACRO(ADSP_CREATE_LOADER_FILE_INIT TARGET_NAME BOOT_MODE FORMAT WIDTH INITIALIZATION_FILE)
+ endmacro()
-ENDIF(NOT ADSP)
+endif()
diff --git a/Modules/Platform/Generic-SDCC-C.cmake b/Modules/Platform/Generic-SDCC-C.cmake
index ac81c3560..588bf32d9 100644
--- a/Modules/Platform/Generic-SDCC-C.cmake
+++ b/Modules/Platform/Generic-SDCC-C.cmake
@@ -4,51 +4,51 @@
# To use it either a toolchain file is required or cmake has to be run like this:
# cmake -DCMAKE_C_COMPILER=sdcc -DCMAKE_SYSTEM_NAME=Generic <dir...>
# Since sdcc doesn't support C++, C++ support should be disabled in the
-# CMakeLists.txt using the PROJECT() command:
-# PROJECT(my_project C)
+# CMakeLists.txt using the project() command:
+# project(my_project C)
-SET(CMAKE_STATIC_LIBRARY_PREFIX "")
-SET(CMAKE_STATIC_LIBRARY_SUFFIX ".lib")
-SET(CMAKE_SHARED_LIBRARY_PREFIX "") # lib
-SET(CMAKE_SHARED_LIBRARY_SUFFIX ".lib") # .so
-SET(CMAKE_IMPORT_LIBRARY_PREFIX )
-SET(CMAKE_IMPORT_LIBRARY_SUFFIX )
-SET(CMAKE_EXECUTABLE_SUFFIX ".ihx") # intel hex file
-SET(CMAKE_LINK_LIBRARY_SUFFIX ".lib")
-SET(CMAKE_DL_LIBS "")
+set(CMAKE_STATIC_LIBRARY_PREFIX "")
+set(CMAKE_STATIC_LIBRARY_SUFFIX ".lib")
+set(CMAKE_SHARED_LIBRARY_PREFIX "") # lib
+set(CMAKE_SHARED_LIBRARY_SUFFIX ".lib") # .so
+set(CMAKE_IMPORT_LIBRARY_PREFIX )
+set(CMAKE_IMPORT_LIBRARY_SUFFIX )
+set(CMAKE_EXECUTABLE_SUFFIX ".ihx") # intel hex file
+set(CMAKE_LINK_LIBRARY_SUFFIX ".lib")
+set(CMAKE_DL_LIBS "")
-SET(CMAKE_C_OUTPUT_EXTENSION ".rel")
+set(CMAKE_C_OUTPUT_EXTENSION ".rel")
# find sdcclib as CMAKE_AR
-# since cmake may already have searched for "ar", sdcclib has to
-# be searched with a different variable name (SDCCLIB_EXECUTABLE)
+# since cmake may already have searched for "ar", sdcclib has to
+# be searched with a different variable name (SDCCLIB_EXECUTABLE)
# and must then be forced into the cache
-GET_FILENAME_COMPONENT(SDCC_LOCATION "${CMAKE_C_COMPILER}" PATH)
-FIND_PROGRAM(SDCCLIB_EXECUTABLE sdcclib PATHS "${SDCC_LOCATION}" NO_DEFAULT_PATH)
-FIND_PROGRAM(SDCCLIB_EXECUTABLE sdcclib)
-SET(CMAKE_AR "${SDCCLIB_EXECUTABLE}" CACHE FILEPATH "The sdcc librarian" FORCE)
+get_filename_component(SDCC_LOCATION "${CMAKE_C_COMPILER}" PATH)
+find_program(SDCCLIB_EXECUTABLE sdcclib PATHS "${SDCC_LOCATION}" NO_DEFAULT_PATH)
+find_program(SDCCLIB_EXECUTABLE sdcclib)
+set(CMAKE_AR "${SDCCLIB_EXECUTABLE}" CACHE FILEPATH "The sdcc librarian" FORCE)
# CMAKE_C_FLAGS_INIT and CMAKE_EXE_LINKER_FLAGS_INIT should be set in a CMAKE_SYSTEM_PROCESSOR file
-IF(NOT DEFINED CMAKE_C_FLAGS_INIT)
- SET(CMAKE_C_FLAGS_INIT "-mmcs51 --model-small")
-ENDIF(NOT DEFINED CMAKE_C_FLAGS_INIT)
+if(NOT DEFINED CMAKE_C_FLAGS_INIT)
+ set(CMAKE_C_FLAGS_INIT "-mmcs51 --model-small")
+endif()
-IF(NOT DEFINED CMAKE_EXE_LINKER_FLAGS_INIT)
- SET (CMAKE_EXE_LINKER_FLAGS_INIT --model-small)
-ENDIF(NOT DEFINED CMAKE_EXE_LINKER_FLAGS_INIT)
+if(NOT DEFINED CMAKE_EXE_LINKER_FLAGS_INIT)
+ set (CMAKE_EXE_LINKER_FLAGS_INIT --model-small)
+endif()
# compile a C file into an object file
-SET(CMAKE_C_COMPILE_OBJECT "<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -o <OBJECT> -c <SOURCE>")
+set(CMAKE_C_COMPILE_OBJECT "<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -o <OBJECT> -c <SOURCE>")
# link object files to an executable
-SET(CMAKE_C_LINK_EXECUTABLE "<CMAKE_C_COMPILER> <FLAGS> <OBJECTS> --out-fmt-ihx -o <TARGET> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>")
+set(CMAKE_C_LINK_EXECUTABLE "<CMAKE_C_COMPILER> <FLAGS> <OBJECTS> --out-fmt-ihx -o <TARGET> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>")
# needs sdcc 2.7.0 + sddclib from cvs
-SET(CMAKE_C_CREATE_STATIC_LIBRARY
+set(CMAKE_C_CREATE_STATIC_LIBRARY
"\"${CMAKE_COMMAND}\" -E remove <TARGET>"
"<CMAKE_AR> -a <TARGET> <LINK_FLAGS> <OBJECTS> ")
# not supported by sdcc
-SET(CMAKE_C_CREATE_SHARED_LIBRARY "")
-SET(CMAKE_C_CREATE_MODULE_LIBRARY "")
+set(CMAKE_C_CREATE_SHARED_LIBRARY "")
+set(CMAKE_C_CREATE_MODULE_LIBRARY "")
diff --git a/Modules/Platform/Generic.cmake b/Modules/Platform/Generic.cmake
index a4e2ec6c1..fcb2699d6 100644
--- a/Modules/Platform/Generic.cmake
+++ b/Modules/Platform/Generic.cmake
@@ -2,16 +2,16 @@
# operating system, typically embedded platforms.
# It is used when CMAKE_SYSTEM_NAME is set to "Generic"
#
-# It is intentionally empty, since nothing is known
+# It is intentionally empty, since nothing is known
# about the platform. So everything has to be specified
# in the system/compiler files ${CMAKE_SYSTEM_NAME}-<compiler_basename>.cmake
# and/or ${CMAKE_SYSTEM_NAME}-<compiler_basename>-${CMAKE_SYSTEM_PROCESSOR}.cmake
# (embedded) targets without operating system usually don't support shared libraries
-SET_PROPERTY(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE)
+set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE)
# To help the find_xxx() commands, set at least the following so CMAKE_FIND_ROOT_PATH
# works at least for some simple cases:
-SET(CMAKE_SYSTEM_INCLUDE_PATH /include )
-SET(CMAKE_SYSTEM_LIBRARY_PATH /lib )
-SET(CMAKE_SYSTEM_PROGRAM_PATH /bin )
+set(CMAKE_SYSTEM_INCLUDE_PATH /include )
+set(CMAKE_SYSTEM_LIBRARY_PATH /lib )
+set(CMAKE_SYSTEM_PROGRAM_PATH /bin )
diff --git a/Modules/Platform/HP-UX.cmake b/Modules/Platform/HP-UX.cmake
index ab3dc2266..65cc7310d 100644
--- a/Modules/Platform/HP-UX.cmake
+++ b/Modules/Platform/HP-UX.cmake
@@ -1,22 +1,22 @@
-SET(CMAKE_PLATFORM_REQUIRED_RUNTIME_PATH /usr/lib)
+set(CMAKE_PLATFORM_REQUIRED_RUNTIME_PATH /usr/lib)
-SET(CMAKE_SHARED_LIBRARY_SUFFIX ".sl") # .so
-SET(CMAKE_DL_LIBS "dld")
-SET(CMAKE_FIND_LIBRARY_SUFFIXES ".sl" ".so" ".a")
-SET(CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES ".so")
+set(CMAKE_SHARED_LIBRARY_SUFFIX ".sl") # .so
+set(CMAKE_DL_LIBS "dld")
+set(CMAKE_FIND_LIBRARY_SUFFIXES ".sl" ".so" ".a")
+set(CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES ".so")
# The HP linker needs to find transitive shared library dependencies
# in the -L path. Therefore the runtime path must be added to the
# link line with -L flags.
-SET(CMAKE_SHARED_LIBRARY_LINK_C_WITH_RUNTIME_PATH 1)
-SET(CMAKE_LINK_DEPENDENT_LIBRARY_DIRS 1)
+set(CMAKE_SHARED_LIBRARY_LINK_C_WITH_RUNTIME_PATH 1)
+set(CMAKE_LINK_DEPENDENT_LIBRARY_DIRS 1)
# Shared libraries with no builtin soname may not be linked safely by
# specifying the file path.
-SET(CMAKE_PLATFORM_USES_PATH_WHEN_NO_SONAME 1)
+set(CMAKE_PLATFORM_USES_PATH_WHEN_NO_SONAME 1)
# set flags for gcc support
-INCLUDE(Platform/UnixPaths)
+include(Platform/UnixPaths)
# Look in both 32-bit and 64-bit implict link directories, but tell
# CMake not to pass the paths to the linker. The linker will find the
@@ -25,9 +25,9 @@ INCLUDE(Platform/UnixPaths)
# CMAKE_SIZEOF_VOID_P is not set until after this file executes, we
# would need to append to CMAKE_SYSTEM_LIBRARY_PATH at a later point
# (after CMakeTest(LANG)Compiler.cmake runs for at least one language).
-LIST(APPEND CMAKE_SYSTEM_LIBRARY_PATH /usr/lib/hpux32)
-LIST(APPEND CMAKE_SYSTEM_LIBRARY_PATH /usr/lib/hpux64)
-LIST(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
+list(APPEND CMAKE_SYSTEM_LIBRARY_PATH /usr/lib/hpux32)
+list(APPEND CMAKE_SYSTEM_LIBRARY_PATH /usr/lib/hpux64)
+list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
/usr/lib/hpux32 /usr/lib/hpux64)
# Initialize C and CXX link type selection flags. These flags are
@@ -35,16 +35,16 @@ LIST(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
# that links to other libraries to select whether to use the static or
# shared versions of the libraries. Note that C modules and shared
# libs are built using ld directly so we leave off the "-Wl," portion.
-FOREACH(type SHARED_LIBRARY SHARED_MODULE)
- SET(CMAKE_${type}_LINK_STATIC_C_FLAGS "-a archive")
- SET(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-a default")
-ENDFOREACH(type)
-FOREACH(type EXE)
- SET(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Wl,-a,archive")
- SET(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Wl,-a,default")
-ENDFOREACH(type)
-FOREACH(type SHARED_LIBRARY SHARED_MODULE EXE)
- SET(CMAKE_${type}_LINK_STATIC_CXX_FLAGS "-Wl,-a,archive")
- SET(CMAKE_${type}_LINK_DYNAMIC_CXX_FLAGS "-Wl,-a,default")
-ENDFOREACH(type)
+foreach(type SHARED_LIBRARY SHARED_MODULE)
+ set(CMAKE_${type}_LINK_STATIC_C_FLAGS "-a archive")
+ set(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-a default")
+endforeach()
+foreach(type EXE)
+ set(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Wl,-a,archive")
+ set(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Wl,-a,default")
+endforeach()
+foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
+ set(CMAKE_${type}_LINK_STATIC_CXX_FLAGS "-Wl,-a,archive")
+ set(CMAKE_${type}_LINK_DYNAMIC_CXX_FLAGS "-Wl,-a,default")
+endforeach()
diff --git a/Modules/Platform/Haiku.cmake b/Modules/Platform/Haiku.cmake
index 9dda3c528..8987783ff 100644
--- a/Modules/Platform/Haiku.cmake
+++ b/Modules/Platform/Haiku.cmake
@@ -1,24 +1,24 @@
-SET(BEOS 1)
+set(BEOS 1)
-SET(CMAKE_DL_LIBS root be)
-SET(CMAKE_C_COMPILE_OPTIONS_PIC "-fPIC")
-SET(CMAKE_C_COMPILE_OPTIONS_PIE "-fPIE")
-SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC")
-SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-nostart")
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
-SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
+set(CMAKE_DL_LIBS root be)
+set(CMAKE_C_COMPILE_OPTIONS_PIC "-fPIC")
+set(CMAKE_C_COMPILE_OPTIONS_PIE "-fPIE")
+set(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC")
+set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-nostart")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
+set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
-INCLUDE(Platform/UnixPaths)
-LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH /boot/common)
-LIST(APPEND CMAKE_SYSTEM_INCLUDE_PATH /boot/common/include)
-LIST(APPEND CMAKE_SYSTEM_LIBRARY_PATH /boot/common/lib)
-LIST(APPEND CMAKE_SYSTEM_PROGRAM_PATH /boot/common/bin)
-LIST(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES /boot/common/lib)
-LIST(APPEND CMAKE_SYSTEM_INCLUDE_PATH /boot/develop/headers/3rdparty)
-LIST(APPEND CMAKE_SYSTEM_LIBRARY_PATH /boot/develop/lib/x86)
+include(Platform/UnixPaths)
+list(APPEND CMAKE_SYSTEM_PREFIX_PATH /boot/common)
+list(APPEND CMAKE_SYSTEM_INCLUDE_PATH /boot/common/include)
+list(APPEND CMAKE_SYSTEM_LIBRARY_PATH /boot/common/lib)
+list(APPEND CMAKE_SYSTEM_PROGRAM_PATH /boot/common/bin)
+list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES /boot/common/lib)
+list(APPEND CMAKE_SYSTEM_INCLUDE_PATH /boot/develop/headers/3rdparty)
+list(APPEND CMAKE_SYSTEM_LIBRARY_PATH /boot/develop/lib/x86)
-IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
- SET(CMAKE_INSTALL_PREFIX "/boot/common" CACHE PATH
+if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
+ set(CMAKE_INSTALL_PREFIX "/boot/common" CACHE PATH
"Install path prefix, prepended onto install directories." FORCE)
-ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
+endif()
diff --git a/Modules/Platform/IRIX.cmake b/Modules/Platform/IRIX.cmake
index fac941f3b..03e98ccfd 100644
--- a/Modules/Platform/IRIX.cmake
+++ b/Modules/Platform/IRIX.cmake
@@ -1,45 +1,45 @@
-SET(CMAKE_DL_LIBS "")
-SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared -rdata_shared")
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,") # -rpath
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP "") # : or empty
-IF(NOT CMAKE_COMPILER_IS_GNUCXX)
- SET(CMAKE_CXX_CREATE_STATIC_LIBRARY
+set(CMAKE_DL_LIBS "")
+set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared -rdata_shared")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,") # -rpath
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP "") # : or empty
+if(NOT CMAKE_COMPILER_IS_GNUCXX)
+ set(CMAKE_CXX_CREATE_STATIC_LIBRARY
"<CMAKE_CXX_COMPILER> -ar -o <TARGET> <OBJECTS>")
- SET (CMAKE_CXX_FLAGS_INIT "")
- SET (CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
- SET (CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-O3 -DNDEBUG")
- SET (CMAKE_CXX_FLAGS_RELEASE_INIT "-O2 -DNDEBUG")
- SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2")
- SET (CMAKE_C_FLAGS_INIT "")
-ENDIF(NOT CMAKE_COMPILER_IS_GNUCXX)
+ set (CMAKE_CXX_FLAGS_INIT "")
+ set (CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
+ set (CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-O3 -DNDEBUG")
+ set (CMAKE_CXX_FLAGS_RELEASE_INIT "-O2 -DNDEBUG")
+ set (CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2")
+ set (CMAKE_C_FLAGS_INIT "")
+endif()
# set flags for gcc support
-INCLUDE(Platform/UnixPaths)
+include(Platform/UnixPaths)
-IF(NOT CMAKE_COMPILER_IS_GNUCC)
- SET (CMAKE_C_CREATE_PREPROCESSED_SOURCE "<CMAKE_C_COMPILER> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
- SET (CMAKE_C_CREATE_ASSEMBLY_SOURCE
+if(NOT CMAKE_COMPILER_IS_GNUCC)
+ 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>"
"mv `basename \"<SOURCE>\" | sed 's/\\.[^./]*$$//'`.s <ASSEMBLY_SOURCE>"
)
-ENDIF(NOT CMAKE_COMPILER_IS_GNUCC)
+endif()
-IF(NOT CMAKE_COMPILER_IS_GNUCXX)
- SET (CMAKE_CXX_CREATE_PREPROCESSED_SOURCE "<CMAKE_CXX_COMPILER> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
- SET (CMAKE_CXX_CREATE_ASSEMBLY_SOURCE
+if(NOT CMAKE_COMPILER_IS_GNUCXX)
+ 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>"
"mv `basename \"<SOURCE>\" | sed 's/\\.[^./]*$$//'`.s <ASSEMBLY_SOURCE>"
)
-ENDIF(NOT CMAKE_COMPILER_IS_GNUCXX)
+endif()
# Initialize C link type selection flags. These flags are used when
# building a shared library, shared module, or executable that links
# to other libraries to select whether to use the static or shared
# versions of the libraries.
-FOREACH(type SHARED_LIBRARY SHARED_MODULE EXE)
- SET(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Wl,-Bstatic")
- SET(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Wl,-Bdynamic")
-ENDFOREACH(type)
+foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
+ set(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Wl,-Bstatic")
+ set(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Wl,-Bdynamic")
+endforeach()
# The IRIX linker needs to find transitive shared library dependencies
# in the -L path.
-SET(CMAKE_LINK_DEPENDENT_LIBRARY_DIRS 1)
+set(CMAKE_LINK_DEPENDENT_LIBRARY_DIRS 1)
diff --git a/Modules/Platform/IRIX64.cmake b/Modules/Platform/IRIX64.cmake
index b60a7f297..5acbd81fa 100644
--- a/Modules/Platform/IRIX64.cmake
+++ b/Modules/Platform/IRIX64.cmake
@@ -1,73 +1,73 @@
-SET(CMAKE_DL_LIBS "")
-SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared -rdata_shared")
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,") # -rpath
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP "") # : or empty
-SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
-IF(NOT CMAKE_COMPILER_IS_GNUCC)
+set(CMAKE_DL_LIBS "")
+set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared -rdata_shared")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,") # -rpath
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP "") # : or empty
+set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
+if(NOT CMAKE_COMPILER_IS_GNUCC)
# Set default flags init.
- SET(CMAKE_C_FLAGS_INIT "")
- SET(CMAKE_CXX_FLAGS_INIT "")
- SET(CMAKE_Fortran_FLAGS_INIT "")
- SET(CMAKE_EXE_LINKER_FLAGS_INIT "")
- SET(CMAKE_SHARED_LINKER_FLAGS_INIT "")
- SET(CMAKE_MODULE_LINKER_FLAGS_INIT "")
-
+ set(CMAKE_C_FLAGS_INIT "")
+ set(CMAKE_CXX_FLAGS_INIT "")
+ set(CMAKE_Fortran_FLAGS_INIT "")
+ set(CMAKE_EXE_LINKER_FLAGS_INIT "")
+ set(CMAKE_SHARED_LINKER_FLAGS_INIT "")
+ set(CMAKE_MODULE_LINKER_FLAGS_INIT "")
+
# If no -o32, -n32, or -64 flag is given, set a reasonable default.
- IF("$ENV{CFLAGS} $ENV{CXXFLAGS} $ENV{LDFLAGS}" MATCHES "-([no]32|64)")
- ELSE("$ENV{CFLAGS} $ENV{CXXFLAGS} $ENV{LDFLAGS}" MATCHES "-([no]32|64)")
+ if("$ENV{CFLAGS} $ENV{CXXFLAGS} $ENV{LDFLAGS}" MATCHES "-([no]32|64)")
+ else()
# Check if this is a 64-bit CMake.
- IF(CMAKE_FILE_SELF MATCHES "^CMAKE_FILE_SELF$")
- EXEC_PROGRAM(file ARGS ${CMAKE_COMMAND} OUTPUT_VARIABLE CMAKE_FILE_SELF)
- SET(CMAKE_FILE_SELF "${CMAKE_FILE_SELF}" CACHE INTERNAL
+ if(CMAKE_FILE_SELF MATCHES "^CMAKE_FILE_SELF$")
+ exec_program(file ARGS ${CMAKE_COMMAND} OUTPUT_VARIABLE CMAKE_FILE_SELF)
+ set(CMAKE_FILE_SELF "${CMAKE_FILE_SELF}" CACHE INTERNAL
"Output of file command on ${CMAKE_COMMAND}.")
- ENDIF(CMAKE_FILE_SELF MATCHES "^CMAKE_FILE_SELF$")
-
+ endif()
+
# Set initial flags to match cmake executable.
- IF(CMAKE_FILE_SELF MATCHES " 64-bit ")
- SET(CMAKE_C_FLAGS_INIT "-64")
- SET(CMAKE_CXX_FLAGS_INIT "-64")
- SET(CMAKE_Fortran_FLAGS_INIT "-64")
- SET(CMAKE_EXE_LINKER_FLAGS_INIT "-64")
- SET(CMAKE_SHARED_LINKER_FLAGS_INIT "-64")
- SET(CMAKE_MODULE_LINKER_FLAGS_INIT "-64")
- ENDIF(CMAKE_FILE_SELF MATCHES " 64-bit ")
- ENDIF("$ENV{CFLAGS} $ENV{CXXFLAGS} $ENV{LDFLAGS}" MATCHES "-([no]32|64)")
-
+ if(CMAKE_FILE_SELF MATCHES " 64-bit ")
+ set(CMAKE_C_FLAGS_INIT "-64")
+ set(CMAKE_CXX_FLAGS_INIT "-64")
+ set(CMAKE_Fortran_FLAGS_INIT "-64")
+ set(CMAKE_EXE_LINKER_FLAGS_INIT "-64")
+ set(CMAKE_SHARED_LINKER_FLAGS_INIT "-64")
+ set(CMAKE_MODULE_LINKER_FLAGS_INIT "-64")
+ endif()
+ endif()
+
# Set remaining defaults.
- SET(CMAKE_CXX_CREATE_STATIC_LIBRARY
+ set(CMAKE_CXX_CREATE_STATIC_LIBRARY
"<CMAKE_CXX_COMPILER> -ar -o <TARGET> <OBJECTS>")
- SET (CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
- SET (CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-O3 -DNDEBUG")
- SET (CMAKE_CXX_FLAGS_RELEASE_INIT "-O2 -DNDEBUG")
- SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2")
-ENDIF(NOT CMAKE_COMPILER_IS_GNUCC)
-INCLUDE(Platform/UnixPaths)
+ set (CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
+ set (CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-O3 -DNDEBUG")
+ set (CMAKE_CXX_FLAGS_RELEASE_INIT "-O2 -DNDEBUG")
+ set (CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2")
+endif()
+include(Platform/UnixPaths)
-IF(NOT CMAKE_COMPILER_IS_GNUCC)
- SET (CMAKE_C_CREATE_PREPROCESSED_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
- SET (CMAKE_C_CREATE_ASSEMBLY_SOURCE
+if(NOT CMAKE_COMPILER_IS_GNUCC)
+ set (CMAKE_C_CREATE_PREPROCESSED_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
+ set (CMAKE_C_CREATE_ASSEMBLY_SOURCE
"<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -S <SOURCE>"
"mv `basename \"<SOURCE>\" | sed 's/\\.[^./]*$$//'`.s <ASSEMBLY_SOURCE>"
)
-ENDIF(NOT CMAKE_COMPILER_IS_GNUCC)
+endif()
-IF(NOT CMAKE_COMPILER_IS_GNUCXX)
- SET (CMAKE_CXX_CREATE_PREPROCESSED_SOURCE "<CMAKE_CXX_COMPILER> <DEFINES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
- SET (CMAKE_CXX_CREATE_ASSEMBLY_SOURCE
+if(NOT CMAKE_COMPILER_IS_GNUCXX)
+ set (CMAKE_CXX_CREATE_PREPROCESSED_SOURCE "<CMAKE_CXX_COMPILER> <DEFINES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
+ set (CMAKE_CXX_CREATE_ASSEMBLY_SOURCE
"<CMAKE_CXX_COMPILER> <DEFINES> <FLAGS> -S <SOURCE>"
"mv `basename \"<SOURCE>\" | sed 's/\\.[^./]*$$//'`.s <ASSEMBLY_SOURCE>"
)
-ENDIF(NOT CMAKE_COMPILER_IS_GNUCXX)
+endif()
# Initialize C link type selection flags. These flags are used when
# building a shared library, shared module, or executable that links
# to other libraries to select whether to use the static or shared
# versions of the libraries.
-FOREACH(type SHARED_LIBRARY SHARED_MODULE EXE)
- SET(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Wl,-Bstatic")
- SET(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Wl,-Bdynamic")
-ENDFOREACH(type)
+foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
+ set(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Wl,-Bstatic")
+ set(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Wl,-Bdynamic")
+endforeach()
# The IRIX linker needs to find transitive shared library dependencies
# in the -L path.
-SET(CMAKE_LINK_DEPENDENT_LIBRARY_DIRS 1)
+set(CMAKE_LINK_DEPENDENT_LIBRARY_DIRS 1)
diff --git a/Modules/Platform/Linux-CXX.cmake b/Modules/Platform/Linux-CXX.cmake
new file mode 100644
index 000000000..b594daeb0
--- /dev/null
+++ b/Modules/Platform/Linux-CXX.cmake
@@ -0,0 +1,3 @@
+if(NOT CMAKE_CXX_COMPILER_NAMES)
+ set(CMAKE_CXX_COMPILER_NAMES c++)
+endif()
diff --git a/Modules/Platform/Linux-Clang-C.cmake b/Modules/Platform/Linux-Clang-C.cmake
index dbf89564a..2a77d2710 100644
--- a/Modules/Platform/Linux-Clang-C.cmake
+++ b/Modules/Platform/Linux-Clang-C.cmake
@@ -1 +1 @@
-INCLUDE(Platform/Linux-GNU-C)
+include(Platform/Linux-GNU-C)
diff --git a/Modules/Platform/Linux-Clang-CXX.cmake b/Modules/Platform/Linux-Clang-CXX.cmake
index 8fe251c4d..9d9a4df66 100644
--- a/Modules/Platform/Linux-Clang-CXX.cmake
+++ b/Modules/Platform/Linux-Clang-CXX.cmake
@@ -1 +1 @@
-INCLUDE(Platform/Linux-GNU-CXX)
+include(Platform/Linux-GNU-CXX)
diff --git a/Modules/Platform/Linux-GNU-C.cmake b/Modules/Platform/Linux-GNU-C.cmake
index 3ab142f13..84dd49269 100644
--- a/Modules/Platform/Linux-GNU-C.cmake
+++ b/Modules/Platform/Linux-GNU-C.cmake
@@ -1,2 +1,2 @@
-INCLUDE(Platform/Linux-GNU)
+include(Platform/Linux-GNU)
__linux_compiler_gnu(C)
diff --git a/Modules/Platform/Linux-GNU-CXX.cmake b/Modules/Platform/Linux-GNU-CXX.cmake
index 9e4f904f2..416233531 100644
--- a/Modules/Platform/Linux-GNU-CXX.cmake
+++ b/Modules/Platform/Linux-GNU-CXX.cmake
@@ -1,2 +1,2 @@
-INCLUDE(Platform/Linux-GNU)
+include(Platform/Linux-GNU)
__linux_compiler_gnu(CXX)
diff --git a/Modules/Platform/Linux-GNU-Fortran.cmake b/Modules/Platform/Linux-GNU-Fortran.cmake
index e364c872a..68e95404b 100644
--- a/Modules/Platform/Linux-GNU-Fortran.cmake
+++ b/Modules/Platform/Linux-GNU-Fortran.cmake
@@ -1,2 +1,2 @@
-INCLUDE(Platform/Linux-GNU)
+include(Platform/Linux-GNU)
__linux_compiler_gnu(Fortran)
diff --git a/Modules/Platform/Linux-Intel-C.cmake b/Modules/Platform/Linux-Intel-C.cmake
index c909e68fc..d1694d64a 100644
--- a/Modules/Platform/Linux-Intel-C.cmake
+++ b/Modules/Platform/Linux-Intel-C.cmake
@@ -1,2 +1,2 @@
-INCLUDE(Platform/Linux-Intel)
+include(Platform/Linux-Intel)
__linux_compiler_intel(C)
diff --git a/Modules/Platform/Linux-Intel-CXX.cmake b/Modules/Platform/Linux-Intel-CXX.cmake
index 0b7daf475..66df3ac2a 100644
--- a/Modules/Platform/Linux-Intel-CXX.cmake
+++ b/Modules/Platform/Linux-Intel-CXX.cmake
@@ -1,2 +1,2 @@
-INCLUDE(Platform/Linux-Intel)
+include(Platform/Linux-Intel)
__linux_compiler_intel(CXX)
diff --git a/Modules/Platform/Linux-Intel-Fortran.cmake b/Modules/Platform/Linux-Intel-Fortran.cmake
index 342b5c2fa..bb671eeb2 100644
--- a/Modules/Platform/Linux-Intel-Fortran.cmake
+++ b/Modules/Platform/Linux-Intel-Fortran.cmake
@@ -1,4 +1,4 @@
-INCLUDE(Platform/Linux-Intel)
+include(Platform/Linux-Intel)
__linux_compiler_intel(Fortran)
set(CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS "${CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS} -i_dynamic -nofor_main")
set(CMAKE_SHARED_LIBRARY_LINK_Fortran_FLAGS "-i_dynamic")
diff --git a/Modules/Platform/Linux-Intel.cmake b/Modules/Platform/Linux-Intel.cmake
index 47bf24659..2394f1050 100644
--- a/Modules/Platform/Linux-Intel.cmake
+++ b/Modules/Platform/Linux-Intel.cmake
@@ -28,7 +28,7 @@ if(NOT XIAR)
endforeach()
find_program(XIAR NAMES xiar HINTS ${_intel_xiar_hints})
mark_as_advanced(XIAR)
-endif(NOT XIAR)
+endif()
macro(__linux_compiler_intel lang)
set(CMAKE_${lang}_COMPILE_OPTIONS_PIC "-fPIC")
diff --git a/Modules/Platform/Linux-SunPro-CXX.cmake b/Modules/Platform/Linux-SunPro-CXX.cmake
index 8ee96586d..a07f1ec84 100644
--- a/Modules/Platform/Linux-SunPro-CXX.cmake
+++ b/Modules/Platform/Linux-SunPro-CXX.cmake
@@ -6,4 +6,4 @@ if("${_cxx_flags}" MATCHES "\n-W[^\n]*component")
else()
set(CMAKE_SHARED_LIBRARY_RPATH_LINK_CXX_FLAG "-rpath-link ")
endif()
-SET(CMAKE_EXE_EXPORTS_CXX_FLAG "--export-dynamic")
+set(CMAKE_EXE_EXPORTS_CXX_FLAG "--export-dynamic")
diff --git a/Modules/Platform/Linux-TinyCC-C.cmake b/Modules/Platform/Linux-TinyCC-C.cmake
index b753268ea..f78e708f9 100644
--- a/Modules/Platform/Linux-TinyCC-C.cmake
+++ b/Modules/Platform/Linux-TinyCC-C.cmake
@@ -1,4 +1,4 @@
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "")
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP "")
-SET(CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG "")
-SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-soname ")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP "")
+set(CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG "")
+set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-soname ")
diff --git a/Modules/Platform/Linux-XL-C.cmake b/Modules/Platform/Linux-XL-C.cmake
index b1b07f617..f1c584ce5 100644
--- a/Modules/Platform/Linux-XL-C.cmake
+++ b/Modules/Platform/Linux-XL-C.cmake
@@ -1 +1 @@
-SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-qmkshrobj")
+set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-qmkshrobj")
diff --git a/Modules/Platform/Linux-XL-CXX.cmake b/Modules/Platform/Linux-XL-CXX.cmake
index 071a975ed..abd3fa497 100644
--- a/Modules/Platform/Linux-XL-CXX.cmake
+++ b/Modules/Platform/Linux-XL-CXX.cmake
@@ -1 +1 @@
-SET(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "-qmkshrobj")
+set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "-qmkshrobj")
diff --git a/Modules/Platform/Linux-XL-Fortran.cmake b/Modules/Platform/Linux-XL-Fortran.cmake
index 5da574e2e..cdd1f702b 100644
--- a/Modules/Platform/Linux-XL-Fortran.cmake
+++ b/Modules/Platform/Linux-XL-Fortran.cmake
@@ -1 +1 @@
-SET(CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS "-qmkshrobj")
+set(CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS "-qmkshrobj")
diff --git a/Modules/Platform/Linux-como.cmake b/Modules/Platform/Linux-como.cmake
index 7ea732082..d1550d201 100644
--- a/Modules/Platform/Linux-como.cmake
+++ b/Modules/Platform/Linux-como.cmake
@@ -1,17 +1,17 @@
# create a shared C++ library
-SET(CMAKE_CXX_CREATE_SHARED_LIBRARY
+set(CMAKE_CXX_CREATE_SHARED_LIBRARY
"<CMAKE_CXX_COMPILER> --prelink_objects <OBJECTS>"
"<CMAKE_CXX_COMPILER> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <LINK_FLAGS> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
# create a C++ static library
-SET(CMAKE_CXX_CREATE_STATIC_LIBRARY
+set(CMAKE_CXX_CREATE_STATIC_LIBRARY
"<CMAKE_CXX_COMPILER> --prelink_objects <OBJECTS>"
"<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS> "
"<CMAKE_RANLIB> <TARGET> ")
-SET(CMAKE_CXX_LINK_EXECUTABLE
+set(CMAKE_CXX_LINK_EXECUTABLE
"<CMAKE_CXX_COMPILER> --prelink_objects <OBJECTS>"
"<CMAKE_CXX_COMPILER> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "")
-SET(CMAKE_SHARED_LIBRARY_C_FLAGS "")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "")
+set(CMAKE_SHARED_LIBRARY_C_FLAGS "")
diff --git a/Modules/Platform/Linux.cmake b/Modules/Platform/Linux.cmake
index 38f469b33..fe8e0039f 100644
--- a/Modules/Platform/Linux.cmake
+++ b/Modules/Platform/Linux.cmake
@@ -1,22 +1,22 @@
-SET(CMAKE_DL_LIBS "dl")
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
-SET(CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG "-Wl,-rpath-link,")
-SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
-SET(CMAKE_EXE_EXPORTS_C_FLAG "-Wl,--export-dynamic")
+set(CMAKE_DL_LIBS "dl")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
+set(CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG "-Wl,-rpath-link,")
+set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
+set(CMAKE_EXE_EXPORTS_C_FLAG "-Wl,--export-dynamic")
# Shared libraries with no builtin soname may not be linked safely by
# specifying the file path.
-SET(CMAKE_PLATFORM_USES_PATH_WHEN_NO_SONAME 1)
+set(CMAKE_PLATFORM_USES_PATH_WHEN_NO_SONAME 1)
# Initialize C link type selection flags. These flags are used when
# building a shared library, shared module, or executable that links
# to other libraries to select whether to use the static or shared
# versions of the libraries.
-FOREACH(type SHARED_LIBRARY SHARED_MODULE EXE)
- SET(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Wl,-Bstatic")
- SET(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Wl,-Bdynamic")
-ENDFOREACH(type)
+foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
+ set(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Wl,-Bstatic")
+ set(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Wl,-Bdynamic")
+endforeach()
# Debian policy requires that shared libraries be installed without
# executable permission. Fedora policy requires that shared libraries
@@ -26,32 +26,32 @@ ENDFOREACH(type)
# default. In order to support debian packages we provide an option
# here. The option default is based on the current distribution, but
# packagers can set it explicitly on the command line.
-IF(DEFINED CMAKE_INSTALL_SO_NO_EXE)
+if(DEFINED CMAKE_INSTALL_SO_NO_EXE)
# Store the decision variable in the cache. This preserves any
# setting the user provides on the command line.
- SET(CMAKE_INSTALL_SO_NO_EXE "${CMAKE_INSTALL_SO_NO_EXE}" CACHE INTERNAL
+ set(CMAKE_INSTALL_SO_NO_EXE "${CMAKE_INSTALL_SO_NO_EXE}" CACHE INTERNAL
"Install .so files without execute permission.")
-ELSE(DEFINED CMAKE_INSTALL_SO_NO_EXE)
+else()
# Store the decision variable as an internal cache entry to avoid
# checking the platform every time. This option is advanced enough
# that only package maintainers should need to adjust it. They are
# capable of providing a setting on the command line.
- IF(EXISTS "/etc/debian_version")
- SET(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL
+ if(EXISTS "/etc/debian_version")
+ set(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL
"Install .so files without execute permission.")
- ELSE(EXISTS "/etc/debian_version")
- SET(CMAKE_INSTALL_SO_NO_EXE 0 CACHE INTERNAL
+ else()
+ set(CMAKE_INSTALL_SO_NO_EXE 0 CACHE INTERNAL
"Install .so files without execute permission.")
- ENDIF(EXISTS "/etc/debian_version")
-ENDIF(DEFINED CMAKE_INSTALL_SO_NO_EXE)
+ endif()
+endif()
# Match multiarch library directory names.
-SET(CMAKE_LIBRARY_ARCHITECTURE_REGEX "[a-z0-9_]+(-[a-z0-9_]+)?-linux-gnu[a-z0-9_]*")
+set(CMAKE_LIBRARY_ARCHITECTURE_REGEX "[a-z0-9_]+(-[a-z0-9_]+)?-linux-gnu[a-z0-9_]*")
-INCLUDE(Platform/UnixPaths)
+include(Platform/UnixPaths)
# Debian has lib64 paths only for compatibility so they should not be
# searched.
-IF(EXISTS "/etc/debian_version")
- SET_PROPERTY(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
-ENDIF(EXISTS "/etc/debian_version")
+if(EXISTS "/etc/debian_version")
+ set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS FALSE)
+endif()
diff --git a/Modules/Platform/MP-RAS.cmake b/Modules/Platform/MP-RAS.cmake
index ff22a4fda..fe8d81a1b 100644
--- a/Modules/Platform/MP-RAS.cmake
+++ b/Modules/Platform/MP-RAS.cmake
@@ -1,14 +1,14 @@
-IF(CMAKE_SYSTEM MATCHES "MP-RAS-02*.")
- SET(CMAKE_C_COMPILE_OPTIONS_PIC -K PIC)
- SET(CMAKE_C_COMPILE_OPTIONS_PIE -K PIE)
- SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-K PIC")
-ELSE(CMAKE_SYSTEM MATCHES "MP-RAS-02*.")
- SET(CMAKE_C_COMPILE_OPTIONS_PIC -K PIC)
- SET(CMAKE_C_COMPILE_OPTIONS_PIE -K PIE)
- SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-K PIC")
- SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "-Wl,-Bexport")
-ENDIF(CMAKE_SYSTEM MATCHES "MP-RAS-02*.")
+if(CMAKE_SYSTEM MATCHES "MP-RAS-02*.")
+ set(CMAKE_C_COMPILE_OPTIONS_PIC -K PIC)
+ set(CMAKE_C_COMPILE_OPTIONS_PIE -K PIE)
+ set(CMAKE_SHARED_LIBRARY_C_FLAGS "-K PIC")
+else()
+ set(CMAKE_C_COMPILE_OPTIONS_PIC -K PIC)
+ set(CMAKE_C_COMPILE_OPTIONS_PIE -K PIE)
+ set(CMAKE_SHARED_LIBRARY_C_FLAGS "-K PIC")
+ set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "-Wl,-Bexport")
+endif()
-INCLUDE(Platform/UnixPaths)
+include(Platform/UnixPaths)
diff --git a/Modules/Platform/NetBSD.cmake b/Modules/Platform/NetBSD.cmake
index e1b66b84c..731827599 100644
--- a/Modules/Platform/NetBSD.cmake
+++ b/Modules/Platform/NetBSD.cmake
@@ -1,15 +1,15 @@
-IF(EXISTS /usr/include/dlfcn.h)
- SET(CMAKE_DL_LIBS "")
- SET(CMAKE_C_COMPILE_OPTIONS_PIC "-fPIC")
- SET(CMAKE_C_COMPILE_OPTIONS_PIE "-fPIE")
- SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC") # -pic
- SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared") # -shared
- SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") # +s, flag for exe link to use shared lib
- SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,") # -rpath
- SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":") # : or empty
- SET(CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG "-Wl,-rpath-link,")
- SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
- SET(CMAKE_EXE_EXPORTS_C_FLAG "-Wl,--export-dynamic")
-ENDIF(EXISTS /usr/include/dlfcn.h)
+if(EXISTS /usr/include/dlfcn.h)
+ set(CMAKE_DL_LIBS "")
+ set(CMAKE_C_COMPILE_OPTIONS_PIC "-fPIC")
+ set(CMAKE_C_COMPILE_OPTIONS_PIE "-fPIE")
+ set(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC") # -pic
+ set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared") # -shared
+ set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") # +s, flag for exe link to use shared lib
+ set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,") # -rpath
+ set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":") # : or empty
+ set(CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG "-Wl,-rpath-link,")
+ set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
+ set(CMAKE_EXE_EXPORTS_C_FLAG "-Wl,--export-dynamic")
+endif()
-INCLUDE(Platform/UnixPaths)
+include(Platform/UnixPaths)
diff --git a/Modules/Platform/OSF1.cmake b/Modules/Platform/OSF1.cmake
index 49a30e971..9c3255e36 100644
--- a/Modules/Platform/OSF1.cmake
+++ b/Modules/Platform/OSF1.cmake
@@ -1,47 +1,47 @@
-SET(CMAKE_DL_LIBS "")
+set(CMAKE_DL_LIBS "")
-IF(CMAKE_SYSTEM MATCHES "OSF1-1.[012]")
-ENDIF(CMAKE_SYSTEM MATCHES "OSF1-1.[012]")
-IF(CMAKE_SYSTEM MATCHES "OSF1-1.*")
+if(CMAKE_SYSTEM MATCHES "OSF1-1.[012]")
+endif()
+if(CMAKE_SYSTEM MATCHES "OSF1-1.*")
# OSF/1 1.3 from OSF using ELF, and derivatives, including AD2
- SET(CMAKE_C_COMPILE_OPTIONS_PIC "-fpic")
- SET(CMAKE_C_COMPILE_OPTIONS_PIE "-fpie")
- SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-fpic") # -pic
- SET(CMAKE_SHARED_LIBRARY_CXX_FLAGS "-fpic") # -pic
-ENDIF(CMAKE_SYSTEM MATCHES "OSF1-1.*")
+ set(CMAKE_C_COMPILE_OPTIONS_PIC "-fpic")
+ set(CMAKE_C_COMPILE_OPTIONS_PIE "-fpie")
+ set(CMAKE_SHARED_LIBRARY_C_FLAGS "-fpic") # -pic
+ set(CMAKE_SHARED_LIBRARY_CXX_FLAGS "-fpic") # -pic
+endif()
-IF(CMAKE_SYSTEM MATCHES "OSF1-V.*")
- SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared -Wl,-expect_unresolved,\\*") # -shared
- IF(CMAKE_COMPILER_IS_GNUCXX)
- SET(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG "-Wl,-rpath,")
- ELSE(CMAKE_COMPILER_IS_GNUCXX)
- SET(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG "-rpath ")
- ENDIF(CMAKE_COMPILER_IS_GNUCXX)
- IF(CMAKE_COMPILER_IS_GNUCC)
- SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
- ELSE(CMAKE_COMPILER_IS_GNUCC)
- SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-rpath ")
- ENDIF(CMAKE_COMPILER_IS_GNUCC)
- SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
-ENDIF(CMAKE_SYSTEM MATCHES "OSF1-V.*")
+if(CMAKE_SYSTEM MATCHES "OSF1-V.*")
+ set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared -Wl,-expect_unresolved,\\*") # -shared
+ if(CMAKE_COMPILER_IS_GNUCXX)
+ set(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG "-Wl,-rpath,")
+ else()
+ set(CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG "-rpath ")
+ endif()
+ if(CMAKE_COMPILER_IS_GNUCC)
+ set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
+ else()
+ set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-rpath ")
+ endif()
+ set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
+endif()
-SET(CMAKE_MAKE_INCLUDE_FROM_ROOT 1) # include $(CMAKE_BINARY_DIR)/...
+set(CMAKE_MAKE_INCLUDE_FROM_ROOT 1) # include $(CMAKE_BINARY_DIR)/...
-IF(CMAKE_COMPILER_IS_GNUCXX)
- # include the gcc flags
-ELSE (CMAKE_COMPILER_IS_GNUCXX)
+if(CMAKE_COMPILER_IS_GNUCXX)
+ # include the gcc flags
+else ()
# use default OSF compiler flags
- SET (CMAKE_C_FLAGS_INIT "")
- SET (CMAKE_C_FLAGS_DEBUG_INIT "-g")
- SET (CMAKE_C_FLAGS_MINSIZEREL_INIT "-O2 -DNDEBUG")
- SET (CMAKE_C_FLAGS_RELEASE_INIT "-O2 -DNDEBUG")
- SET (CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-O2")
- SET (CMAKE_CXX_FLAGS_INIT "")
- SET (CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
- SET (CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-O2 -DNDEBUG")
- SET (CMAKE_CXX_FLAGS_RELEASE_INIT "-O2 -DNDEBUG")
- SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2")
-ENDIF(CMAKE_COMPILER_IS_GNUCXX)
-INCLUDE(Platform/UnixPaths)
+ set (CMAKE_C_FLAGS_INIT "")
+ set (CMAKE_C_FLAGS_DEBUG_INIT "-g")
+ set (CMAKE_C_FLAGS_MINSIZEREL_INIT "-O2 -DNDEBUG")
+ set (CMAKE_C_FLAGS_RELEASE_INIT "-O2 -DNDEBUG")
+ set (CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-O2")
+ set (CMAKE_CXX_FLAGS_INIT "")
+ set (CMAKE_CXX_FLAGS_DEBUG_INIT "-g")
+ set (CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-O2 -DNDEBUG")
+ set (CMAKE_CXX_FLAGS_RELEASE_INIT "-O2 -DNDEBUG")
+ set (CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O2")
+endif()
+include(Platform/UnixPaths)
diff --git a/Modules/Platform/OpenBSD.cmake b/Modules/Platform/OpenBSD.cmake
index b4ed66fb0..df240e01b 100644
--- a/Modules/Platform/OpenBSD.cmake
+++ b/Modules/Platform/OpenBSD.cmake
@@ -1,18 +1,18 @@
-INCLUDE(Platform/NetBSD)
+include(Platform/NetBSD)
# On OpenBSD, the compile time linker does not share it's configuration with
# the runtime linker. This will extract the library search paths from the
# system's ld.so.hints file which will allow CMake to set the appropriate
# -rpath-link flags
-IF(NOT CMAKE_PLATFORM_RUNTIME_PATH)
- EXECUTE_PROCESS(COMMAND /sbin/ldconfig -r
+if(NOT CMAKE_PLATFORM_RUNTIME_PATH)
+ execute_process(COMMAND /sbin/ldconfig -r
OUTPUT_VARIABLE LDCONFIG_HINTS
ERROR_QUIET)
- STRING(REGEX REPLACE ".*search\\ directories:\\ ([^\n]*).*" "\\1"
+ string(REGEX REPLACE ".*search\\ directories:\\ ([^\n]*).*" "\\1"
LDCONFIG_HINTS "${LDCONFIG_HINTS}")
- STRING(REGEX REPLACE ":" ";"
+ string(REGEX REPLACE ":" ";"
CMAKE_PLATFORM_RUNTIME_PATH
"${LDCONFIG_HINTS}")
-ENDIF()
+endif()
-SET_PROPERTY(GLOBAL PROPERTY FIND_LIBRARY_USE_OPENBSD_VERSIONING 1)
+set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_OPENBSD_VERSIONING 1)
diff --git a/Modules/Platform/OpenVMS.cmake b/Modules/Platform/OpenVMS.cmake
index c52effab6..b10da2388 100644
--- a/Modules/Platform/OpenVMS.cmake
+++ b/Modules/Platform/OpenVMS.cmake
@@ -1,8 +1,8 @@
-INCLUDE(Platform/UnixPaths)
+include(Platform/UnixPaths)
-SET(CMAKE_C_CREATE_STATIC_LIBRARY
+set(CMAKE_C_CREATE_STATIC_LIBRARY
"<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS>"
"<CMAKE_RANLIB> <TARGET>"
)
-SET(CMAKE_CXX_CREATE_STATIC_LIBRARY ${CMAKE_C_CREATE_STATIC_LIBRARY})
-SET(CMAKE_EXECUTABLE_SUFFIX ".exe") # .exe
+set(CMAKE_CXX_CREATE_STATIC_LIBRARY ${CMAKE_C_CREATE_STATIC_LIBRARY})
+set(CMAKE_EXECUTABLE_SUFFIX ".exe") # .exe
diff --git a/Modules/Platform/QNX.cmake b/Modules/Platform/QNX.cmake
index 8cdbe02c1..2598411cd 100644
--- a/Modules/Platform/QNX.cmake
+++ b/Modules/Platform/QNX.cmake
@@ -1,33 +1,33 @@
-SET(QNXNTO 1)
+set(QNXNTO 1)
# The QNX GCC does not seem to have -isystem so remove the flag.
-SET(CMAKE_INCLUDE_SYSTEM_FLAG_C)
-SET(CMAKE_INCLUDE_SYSTEM_FLAG_CXX)
+set(CMAKE_INCLUDE_SYSTEM_FLAG_C)
+set(CMAKE_INCLUDE_SYSTEM_FLAG_CXX)
-SET(CMAKE_DL_LIBS "")
-SET(CMAKE_SHARED_LIBRARY_C_FLAGS "")
-SET(CMAKE_SHARED_LIBRARY_CXX_FLAGS "")
-SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared")
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
-SET(CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG "-Wl,-rpath-link,")
-SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
-SET(CMAKE_EXE_EXPORTS_C_FLAG "-Wl,--export-dynamic")
+set(CMAKE_DL_LIBS "")
+set(CMAKE_SHARED_LIBRARY_C_FLAGS "")
+set(CMAKE_SHARED_LIBRARY_CXX_FLAGS "")
+set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
+set(CMAKE_SHARED_LIBRARY_RPATH_LINK_C_FLAG "-Wl,-rpath-link,")
+set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
+set(CMAKE_EXE_EXPORTS_C_FLAG "-Wl,--export-dynamic")
# Shared libraries with no builtin soname may not be linked safely by
# specifying the file path.
-SET(CMAKE_PLATFORM_USES_PATH_WHEN_NO_SONAME 1)
+set(CMAKE_PLATFORM_USES_PATH_WHEN_NO_SONAME 1)
# Initialize C link type selection flags. These flags are used when
# building a shared library, shared module, or executable that links
# to other libraries to select whether to use the static or shared
# versions of the libraries.
-FOREACH(type SHARED_LIBRARY SHARED_MODULE EXE)
- SET(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Wl,-Bstatic")
- SET(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Wl,-Bdynamic")
-ENDFOREACH(type)
+foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
+ set(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Wl,-Bstatic")
+ set(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Wl,-Bdynamic")
+endforeach()
# force the language to be c++ since qnx only has gcc and not g++ and c++?
-SET(CMAKE_CXX_COMPILE_OBJECT
+set(CMAKE_CXX_COMPILE_OBJECT
"<CMAKE_CXX_COMPILER> -x c++ <DEFINES> <FLAGS> -o <OBJECT> -c <SOURCE>")
-INCLUDE(Platform/UnixPaths)
+include(Platform/UnixPaths)
diff --git a/Modules/Platform/RISCos.cmake b/Modules/Platform/RISCos.cmake
index 3b2a092bf..570cd7b5b 100644
--- a/Modules/Platform/RISCos.cmake
+++ b/Modules/Platform/RISCos.cmake
@@ -1,6 +1,6 @@
-SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-G 0")
-SET(CMAKE_SHARED_LIBRARY_SUFFIX "..o")
-SET(CMAKE_DL_LIBS "")
-SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "-Wl,-D,08000000")
+set(CMAKE_SHARED_LIBRARY_C_FLAGS "-G 0")
+set(CMAKE_SHARED_LIBRARY_SUFFIX "..o")
+set(CMAKE_DL_LIBS "")
+set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "-Wl,-D,08000000")
-INCLUDE(Platform/UnixPaths)
+include(Platform/UnixPaths)
diff --git a/Modules/Platform/SCO_SV.cmake b/Modules/Platform/SCO_SV.cmake
index cbdcb7dae..ddd960083 100644
--- a/Modules/Platform/SCO_SV.cmake
+++ b/Modules/Platform/SCO_SV.cmake
@@ -1,2 +1,2 @@
-SET(CMAKE_DL_LIBS "")
-INCLUDE(Platform/UnixPaths)
+set(CMAKE_DL_LIBS "")
+include(Platform/UnixPaths)
diff --git a/Modules/Platform/SINIX.cmake b/Modules/Platform/SINIX.cmake
index e0809f8e3..c37a113d3 100644
--- a/Modules/Platform/SINIX.cmake
+++ b/Modules/Platform/SINIX.cmake
@@ -1,4 +1,4 @@
-SET(CMAKE_C_COMPILE_OPTIONS_PIC -K PIC)
-SET(CMAKE_C_COMPILE_OPTIONS_PIE "")
-SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-K PIC")
-INCLUDE(Platform/UnixPaths)
+set(CMAKE_C_COMPILE_OPTIONS_PIC -K PIC)
+set(CMAKE_C_COMPILE_OPTIONS_PIE "")
+set(CMAKE_SHARED_LIBRARY_C_FLAGS "-K PIC")
+include(Platform/UnixPaths)
diff --git a/Modules/Platform/SunOS.cmake b/Modules/Platform/SunOS.cmake
index de287aa70..da20f97a1 100644
--- a/Modules/Platform/SunOS.cmake
+++ b/Modules/Platform/SunOS.cmake
@@ -1,32 +1,32 @@
-IF(CMAKE_SYSTEM MATCHES "SunOS-4.*")
- SET(CMAKE_C_COMPILE_OPTIONS_PIC "-PIC")
- SET(CMAKE_C_COMPILE_OPTIONS_PIE "-PIE")
- SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-PIC")
- SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared -Wl,-r")
- SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-R")
- SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
-ENDIF(CMAKE_SYSTEM MATCHES "SunOS-4.*")
+if(CMAKE_SYSTEM MATCHES "SunOS-4.*")
+ set(CMAKE_C_COMPILE_OPTIONS_PIC "-PIC")
+ set(CMAKE_C_COMPILE_OPTIONS_PIE "-PIE")
+ set(CMAKE_SHARED_LIBRARY_C_FLAGS "-PIC")
+ set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared -Wl,-r")
+ set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-R")
+ set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
+endif()
-IF(CMAKE_COMPILER_IS_GNUCXX)
- IF(CMAKE_COMPILER_IS_GNUCC)
- SET(CMAKE_CXX_CREATE_SHARED_LIBRARY
+if(CMAKE_COMPILER_IS_GNUCXX)
+ if(CMAKE_COMPILER_IS_GNUCC)
+ set(CMAKE_CXX_CREATE_SHARED_LIBRARY
"<CMAKE_C_COMPILER> <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <SONAME_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>")
- ELSE(CMAKE_COMPILER_IS_GNUCC)
+ else()
# Take default rule from CMakeDefaultMakeRuleVariables.cmake.
- ENDIF(CMAKE_COMPILER_IS_GNUCC)
-ENDIF(CMAKE_COMPILER_IS_GNUCXX)
-INCLUDE(Platform/UnixPaths)
+ endif()
+endif()
+include(Platform/UnixPaths)
# Add the compiler's implicit link directories.
-IF("${CMAKE_C_COMPILER_ID} ${CMAKE_CXX_COMPILER_ID}" MATCHES SunPro)
- LIST(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
+if("${CMAKE_C_COMPILER_ID} ${CMAKE_CXX_COMPILER_ID}" MATCHES SunPro)
+ list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
/opt/SUNWspro/lib /opt/SUNWspro/prod/lib /usr/ccs/lib)
-ENDIF("${CMAKE_C_COMPILER_ID} ${CMAKE_CXX_COMPILER_ID}" MATCHES SunPro)
+endif()
# The Sun linker needs to find transitive shared library dependencies
# in the -L path.
-SET(CMAKE_LINK_DEPENDENT_LIBRARY_DIRS 1)
+set(CMAKE_LINK_DEPENDENT_LIBRARY_DIRS 1)
# Shared libraries with no builtin soname may not be linked safely by
# specifying the file path.
-SET(CMAKE_PLATFORM_USES_PATH_WHEN_NO_SONAME 1)
+set(CMAKE_PLATFORM_USES_PATH_WHEN_NO_SONAME 1)
diff --git a/Modules/Platform/Tru64.cmake b/Modules/Platform/Tru64.cmake
index cf9d17bfd..47852f8e1 100644
--- a/Modules/Platform/Tru64.cmake
+++ b/Modules/Platform/Tru64.cmake
@@ -1,2 +1,2 @@
-INCLUDE(Platform/UnixPaths)
+include(Platform/UnixPaths)
diff --git a/Modules/Platform/ULTRIX.cmake b/Modules/Platform/ULTRIX.cmake
index 4d0cf755d..9db4c7c20 100644
--- a/Modules/Platform/ULTRIX.cmake
+++ b/Modules/Platform/ULTRIX.cmake
@@ -1,5 +1,5 @@
-SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-G 0")
-SET(CMAKE_SHARED_LIBRARY_SUFFIX "..o")
-SET(CMAKE_DL_LIBS "")
-SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "-Wl,-D,08000000")
-INCLUDE(Platform/UnixPaths)
+set(CMAKE_SHARED_LIBRARY_C_FLAGS "-G 0")
+set(CMAKE_SHARED_LIBRARY_SUFFIX "..o")
+set(CMAKE_DL_LIBS "")
+set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "-Wl,-D,08000000")
+include(Platform/UnixPaths)
diff --git a/Modules/Platform/UNIX_SV.cmake b/Modules/Platform/UNIX_SV.cmake
index 869b3a6a0..1ec96aea2 100644
--- a/Modules/Platform/UNIX_SV.cmake
+++ b/Modules/Platform/UNIX_SV.cmake
@@ -1,5 +1,5 @@
-SET(CMAKE_C_COMPILE_OPTIONS_PIC -K PIC)
-SET(CMAKE_C_COMPILE_OPTIONS_PIE "")
-SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-K PIC")
-SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "-Wl,-Bexport")
-INCLUDE(Platform/UnixPaths)
+set(CMAKE_C_COMPILE_OPTIONS_PIC -K PIC)
+set(CMAKE_C_COMPILE_OPTIONS_PIE "")
+set(CMAKE_SHARED_LIBRARY_C_FLAGS "-K PIC")
+set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "-Wl,-Bexport")
+include(Platform/UnixPaths)
diff --git a/Modules/Platform/UnixPaths.cmake b/Modules/Platform/UnixPaths.cmake
index 5ee7ddbd6..ccb266330 100644
--- a/Modules/Platform/UnixPaths.cmake
+++ b/Modules/Platform/UnixPaths.cmake
@@ -17,21 +17,21 @@
# "CMakeSystemSpecificInformation.cmake" already included it.
# The extra inclusion is a work-around documented next to the include()
# call, so this can be removed when the work-around is removed.
-IF(__UNIX_PATHS_INCLUDED)
- RETURN()
-ENDIF()
-SET(__UNIX_PATHS_INCLUDED 1)
+if(__UNIX_PATHS_INCLUDED)
+ return()
+endif()
+set(__UNIX_PATHS_INCLUDED 1)
-SET(UNIX 1)
+set(UNIX 1)
# also add the install directory of the running cmake to the search directories
# CMAKE_ROOT is CMAKE_INSTALL_PREFIX/share/cmake, so we need to go two levels up
-GET_FILENAME_COMPONENT(_CMAKE_INSTALL_DIR "${CMAKE_ROOT}" PATH)
-GET_FILENAME_COMPONENT(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
+get_filename_component(_CMAKE_INSTALL_DIR "${CMAKE_ROOT}" PATH)
+get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
# List common installation prefixes. These will be used for all
# search types.
-LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH
+list(APPEND CMAKE_SYSTEM_PREFIX_PATH
# Standard
/usr/local /usr /
@@ -43,7 +43,7 @@ LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH
)
# List common include file locations not under the common prefixes.
-LIST(APPEND CMAKE_SYSTEM_INCLUDE_PATH
+list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
# Windows API on Cygwin
/usr/include/w32api
@@ -52,11 +52,11 @@ LIST(APPEND CMAKE_SYSTEM_INCLUDE_PATH
# Other
/usr/pkg/include
- /opt/csw/include /opt/include
+ /opt/csw/include /opt/include
/usr/openwin/include
)
-LIST(APPEND CMAKE_SYSTEM_LIBRARY_PATH
+list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
# Windows API on Cygwin
/usr/lib/w32api
@@ -65,24 +65,24 @@ LIST(APPEND CMAKE_SYSTEM_LIBRARY_PATH
# Other
/usr/pkg/lib
- /opt/csw/lib /opt/lib
+ /opt/csw/lib /opt/lib
/usr/openwin/lib
)
-LIST(APPEND CMAKE_SYSTEM_PROGRAM_PATH
+list(APPEND CMAKE_SYSTEM_PROGRAM_PATH
/usr/pkg/bin
)
-LIST(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
+list(APPEND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES
/lib /usr/lib /usr/lib32 /usr/lib64
)
-LIST(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES
+list(APPEND CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES
/usr/include
)
-LIST(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
+list(APPEND CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES
/usr/include
)
# Enable use of lib64 search path variants by default.
-SET_PROPERTY(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS TRUE)
+set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS TRUE)
diff --git a/Modules/Platform/UnixWare.cmake b/Modules/Platform/UnixWare.cmake
index 3112ee1ef..e649bd2a4 100644
--- a/Modules/Platform/UnixWare.cmake
+++ b/Modules/Platform/UnixWare.cmake
@@ -1,5 +1,5 @@
-SET(CMAKE_C_COMPILE_OPTIONS_PIC -K PIC)
-SET(CMAKE_C_COMPILE_OPTIONS_PIE "")
-SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-K PIC")
-SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-Wl,-Bexport")
-INCLUDE(Platform/UnixPaths)
+set(CMAKE_C_COMPILE_OPTIONS_PIC -K PIC)
+set(CMAKE_C_COMPILE_OPTIONS_PIE "")
+set(CMAKE_SHARED_LIBRARY_C_FLAGS "-K PIC")
+set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-Wl,-Bexport")
+include(Platform/UnixPaths)
diff --git a/Modules/Platform/Windows-CXX.cmake b/Modules/Platform/Windows-CXX.cmake
new file mode 100644
index 000000000..bf37f7903
--- /dev/null
+++ b/Modules/Platform/Windows-CXX.cmake
@@ -0,0 +1,7 @@
+if(NOT CMAKE_CXX_COMPILER_NAMES)
+ set(CMAKE_CXX_COMPILER_NAMES c++)
+endif()
+
+# Exclude C++ compilers differing from C compiler only by case
+# because this platform may have a case-insensitive filesystem.
+set(CMAKE_CXX_COMPILER_EXCLUDE CC aCC xlC)
diff --git a/Modules/Platform/Windows-Embarcadero.cmake b/Modules/Platform/Windows-Embarcadero.cmake
index 62e8eb704..1662ac969 100644
--- a/Modules/Platform/Windows-Embarcadero.cmake
+++ b/Modules/Platform/Windows-Embarcadero.cmake
@@ -18,7 +18,7 @@ if(__WINDOWS_EMBARCADERO)
endif()
set(__WINDOWS_EMBARCADERO 1)
-SET(BORLAND 1)
+set(BORLAND 1)
if("${CMAKE_${_lang}_COMPILER_VERSION}" VERSION_LESS 6.30)
# Borland target type flags (bcc32 -h -t):
@@ -43,36 +43,36 @@ endif()
set(_COMPILE_C "-c")
set(_COMPILE_CXX "-P -c")
-SET(CMAKE_LIBRARY_PATH_FLAG "-L")
-SET(CMAKE_LINK_LIBRARY_FLAG "")
+set(CMAKE_LIBRARY_PATH_FLAG "-L")
+set(CMAKE_LINK_LIBRARY_FLAG "")
-SET(CMAKE_FIND_LIBRARY_SUFFIXES "-bcc.lib" ".lib")
+set(CMAKE_FIND_LIBRARY_SUFFIXES "-bcc.lib" ".lib")
# uncomment these out to debug makefiles
-#SET(CMAKE_START_TEMP_FILE "")
-#SET(CMAKE_END_TEMP_FILE "")
-#SET(CMAKE_VERBOSE_MAKEFILE 1)
+#set(CMAKE_START_TEMP_FILE "")
+#set(CMAKE_END_TEMP_FILE "")
+#set(CMAKE_VERBOSE_MAKEFILE 1)
# Borland cannot handle + in the file name, so mangle object file name
-SET (CMAKE_MANGLE_OBJECT_FILE_NAMES "ON")
+set (CMAKE_MANGLE_OBJECT_FILE_NAMES "ON")
# extra flags for a win32 exe
-SET(CMAKE_CREATE_WIN32_EXE "${_tW}" )
+set(CMAKE_CREATE_WIN32_EXE "${_tW}" )
# extra flags for a console app
-SET(CMAKE_CREATE_CONSOLE_EXE "${_tC}" )
+set(CMAKE_CREATE_CONSOLE_EXE "${_tC}" )
-SET (CMAKE_BUILD_TYPE Debug CACHE STRING
+set (CMAKE_BUILD_TYPE Debug CACHE STRING
"Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel.")
-SET (CMAKE_EXE_LINKER_FLAGS_INIT "${_tM} -lS:10000000 -lSc:10000000 ")
-SET (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "-v")
-SET (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "-v")
-SET (CMAKE_SHARED_LINKER_FLAGS_INIT ${CMAKE_EXE_LINKER_FLAGS_INIT})
-SET (CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
-SET (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT})
-SET (CMAKE_MODULE_LINKER_FLAGS_INIT ${CMAKE_SHARED_LINKER_FLAGS_INIT})
-SET (CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT})
-SET (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT})
+set (CMAKE_EXE_LINKER_FLAGS_INIT "${_tM} -lS:10000000 -lSc:10000000 ")
+set (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "-v")
+set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "-v")
+set (CMAKE_SHARED_LINKER_FLAGS_INIT ${CMAKE_EXE_LINKER_FLAGS_INIT})
+set (CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
+set (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT})
+set (CMAKE_MODULE_LINKER_FLAGS_INIT ${CMAKE_SHARED_LINKER_FLAGS_INIT})
+set (CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT})
+set (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT})
macro(__embarcadero_language lang)
diff --git a/Modules/Platform/Windows-GNU.cmake b/Modules/Platform/Windows-GNU.cmake
index 4a37eca87..2bb7a2076 100644
--- a/Modules/Platform/Windows-GNU.cmake
+++ b/Modules/Platform/Windows-GNU.cmake
@@ -57,6 +57,10 @@ if("${_help}" MATCHES "GNU ld .* 2\\.1[1-6]")
set(__WINDOWS_GNU_LD_RESPONSE 0)
endif()
+if(NOT CMAKE_GENERATOR_RC AND CMAKE_GENERATOR MATCHES "Unix Makefiles")
+ set(CMAKE_GENERATOR_RC windres)
+endif()
+
enable_language(RC)
macro(__windows_compiler_gnu lang)
@@ -74,7 +78,7 @@ macro(__windows_compiler_gnu lang)
foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
set(CMAKE_${type}_LINK_STATIC_${lang}_FLAGS "-Wl,-Bstatic")
set(CMAKE_${type}_LINK_DYNAMIC_${lang}_FLAGS "-Wl,-Bdynamic")
- endforeach(type)
+ endforeach()
endif()
# No -fPIC on Windows
diff --git a/Modules/Platform/Windows-Intel-Fortran.cmake b/Modules/Platform/Windows-Intel-Fortran.cmake
index 5c016a8fd..40523ffe5 100644
--- a/Modules/Platform/Windows-Intel-Fortran.cmake
+++ b/Modules/Platform/Windows-Intel-Fortran.cmake
@@ -4,8 +4,8 @@ set(_COMPILE_Fortran " /fpp")
set(CMAKE_Fortran_MODDIR_FLAG "-module:")
set(CMAKE_Fortran_STANDARD_LIBRARIES_INIT "user32.lib")
__windows_compiler_intel(Fortran)
-SET (CMAKE_Fortran_FLAGS_INIT "/W1 /nologo /fpp /libs:dll /threads")
-SET (CMAKE_Fortran_FLAGS_DEBUG_INIT "/debug:full /dbglibs")
-SET (CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "/O1 /D NDEBUG")
-SET (CMAKE_Fortran_FLAGS_RELEASE_INIT "/O2 /D NDEBUG")
-SET (CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT "/O2 /debug:full /D NDEBUG")
+set (CMAKE_Fortran_FLAGS_INIT "/W1 /nologo /fpp /libs:dll /threads")
+set (CMAKE_Fortran_FLAGS_DEBUG_INIT "/debug:full /dbglibs")
+set (CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "/O1 /D NDEBUG")
+set (CMAKE_Fortran_FLAGS_RELEASE_INIT "/O2 /D NDEBUG")
+set (CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT "/O2 /debug:full /D NDEBUG")
diff --git a/Modules/Platform/Windows-Intel.cmake b/Modules/Platform/Windows-Intel.cmake
index 2a54a981b..58da8c56d 100644
--- a/Modules/Platform/Windows-Intel.cmake
+++ b/Modules/Platform/Windows-Intel.cmake
@@ -19,65 +19,65 @@ endif()
set(__WINDOWS_INTEL 1)
# make sure to enable languages after setting configuration types
-ENABLE_LANGUAGE(RC)
-SET(CMAKE_COMPILE_RESOURCE "rc <FLAGS> /fo<OBJECT> <SOURCE>")
+enable_language(RC)
+set(CMAKE_COMPILE_RESOURCE "rc <FLAGS> /fo<OBJECT> <SOURCE>")
-SET(CMAKE_LIBRARY_PATH_FLAG "-LIBPATH:")
-SET(CMAKE_LINK_LIBRARY_FLAG "")
-SET(WIN32 1)
-IF(CMAKE_VERBOSE_MAKEFILE)
- SET(CMAKE_CL_NOLOGO)
-ELSE(CMAKE_VERBOSE_MAKEFILE)
- SET(CMAKE_CL_NOLOGO "/nologo")
-ENDIF(CMAKE_VERBOSE_MAKEFILE)
-SET(CMAKE_COMPILE_RESOURCE "rc <FLAGS> /fo<OBJECT> <SOURCE>")
-SET(CMAKE_CREATE_WIN32_EXE /subsystem:windows)
-SET(CMAKE_CREATE_CONSOLE_EXE /subsystem:console)
+set(CMAKE_LIBRARY_PATH_FLAG "-LIBPATH:")
+set(CMAKE_LINK_LIBRARY_FLAG "")
+set(WIN32 1)
+if(CMAKE_VERBOSE_MAKEFILE)
+ set(CMAKE_CL_NOLOGO)
+else()
+ set(CMAKE_CL_NOLOGO "/nologo")
+endif()
+set(CMAKE_COMPILE_RESOURCE "rc <FLAGS> /fo<OBJECT> <SOURCE>")
+set(CMAKE_CREATE_WIN32_EXE /subsystem:windows)
+set(CMAKE_CREATE_CONSOLE_EXE /subsystem:console)
# default to Debug builds
-#SET(CMAKE_BUILD_TYPE_INIT Debug)
-SET(CMAKE_BUILD_TYPE_INIT Release)
+#set(CMAKE_BUILD_TYPE_INIT Debug)
+set(CMAKE_BUILD_TYPE_INIT Release)
-SET(CMAKE_C_STANDARD_LIBRARIES_INIT "kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib")
-SET(CMAKE_CXX_STANDARD_LIBRARIES_INIT "${CMAKE_C_STANDARD_LIBRARIES_INIT}")
+set(CMAKE_C_STANDARD_LIBRARIES_INIT "kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib")
+set(CMAKE_CXX_STANDARD_LIBRARIES_INIT "${CMAKE_C_STANDARD_LIBRARIES_INIT}")
# executable linker flags
-SET (CMAKE_LINK_DEF_FILE_FLAG "/DEF:")
-IF(MSVC_C_ARCHITECTURE_ID)
- SET(_MACHINE_ARCH_FLAG "/machine:${MSVC_C_ARCHITECTURE_ID}")
-ELSEIF(MSVC_CXX_ARCHITECTURE_ID)
- SET(_MACHINE_ARCH_FLAG "/machine:${MSVC_CXX_ARCHITECTURE_ID}")
-ELSEIF(MSVC_Fortran_ARCHITECTURE_ID)
- SET(_MACHINE_ARCH_FLAG "/machine:${MSVC_Fortran_ARCHITECTURE_ID}")
-ENDIF()
-SET (CMAKE_EXE_LINKER_FLAGS_INIT "/STACK:10000000 /INCREMENTAL:YES ${_MACHINE_ARCH_FLAG}")
-SET (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug")
-SET (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug")
+set (CMAKE_LINK_DEF_FILE_FLAG "/DEF:")
+if(MSVC_C_ARCHITECTURE_ID)
+ set(_MACHINE_ARCH_FLAG "/machine:${MSVC_C_ARCHITECTURE_ID}")
+elseif(MSVC_CXX_ARCHITECTURE_ID)
+ set(_MACHINE_ARCH_FLAG "/machine:${MSVC_CXX_ARCHITECTURE_ID}")
+elseif(MSVC_Fortran_ARCHITECTURE_ID)
+ set(_MACHINE_ARCH_FLAG "/machine:${MSVC_Fortran_ARCHITECTURE_ID}")
+endif()
+set (CMAKE_EXE_LINKER_FLAGS_INIT "/STACK:10000000 /INCREMENTAL:YES ${_MACHINE_ARCH_FLAG}")
+set (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug")
+set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug")
-SET (CMAKE_SHARED_LINKER_FLAGS_INIT ${CMAKE_EXE_LINKER_FLAGS_INIT})
-SET (CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
-SET (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
-SET (CMAKE_MODULE_LINKER_FLAGS_INIT ${CMAKE_SHARED_LINKER_FLAGS_INIT})
-SET (CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT})
-SET (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT})
+set (CMAKE_SHARED_LINKER_FLAGS_INIT ${CMAKE_EXE_LINKER_FLAGS_INIT})
+set (CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
+set (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
+set (CMAKE_MODULE_LINKER_FLAGS_INIT ${CMAKE_SHARED_LINKER_FLAGS_INIT})
+set (CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT})
+set (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT})
-INCLUDE("${CMAKE_PLATFORM_ROOT_BIN}/CMakeIntelInformation.cmake" OPTIONAL)
+include("${CMAKE_PLATFORM_INFO_DIR}/CMakeIntelInformation.cmake" OPTIONAL)
-IF(NOT _INTEL_XILINK_TEST_RUN)
- EXECUTE_PROCESS(COMMAND xilink /?
+if(NOT _INTEL_XILINK_TEST_RUN)
+ execute_process(COMMAND xilink /?
ERROR_VARIABLE _XILINK_ERR
OUTPUT_VARIABLE _XILINK_HELP)
- IF(_XILINK_HELP MATCHES MANIFEST)
- SET(_INTEL_COMPILER_SUPPORTS_MANIFEST 1)
- ENDIF(_XILINK_HELP MATCHES MANIFEST)
- IF(NOT EXISTS "${CMAKE_PLATFORM_ROOT_BIN}/CMakeIntelInformation.cmake")
- FILE(WRITE ${CMAKE_PLATFORM_ROOT_BIN}/CMakeIntelInformation.cmake
+ if(_XILINK_HELP MATCHES MANIFEST)
+ set(_INTEL_COMPILER_SUPPORTS_MANIFEST 1)
+ endif()
+ if(NOT EXISTS "${CMAKE_PLATFORM_INFO_DIR}/CMakeIntelInformation.cmake")
+ file(WRITE ${CMAKE_PLATFORM_INFO_DIR}/CMakeIntelInformation.cmake
"
-SET(_INTEL_XILINK_TEST_RUN 1)
-SET(_INTEL_COMPILER_SUPPORTS_MANIFEST ${_INTEL_COMPILER_SUPPORTS_MANIFEST})
+set(_INTEL_XILINK_TEST_RUN 1)
+set(_INTEL_COMPILER_SUPPORTS_MANIFEST ${_INTEL_COMPILER_SUPPORTS_MANIFEST})
")
- ENDIF(NOT EXISTS "${CMAKE_PLATFORM_ROOT_BIN}/CMakeIntelInformation.cmake")
-ENDIF(NOT _INTEL_XILINK_TEST_RUN)
+ endif()
+endif()
macro(__windows_compiler_intel lang)
set(CMAKE_${lang}_COMPILE_OBJECT
@@ -89,8 +89,9 @@ macro(__windows_compiler_intel lang)
set(CMAKE_${lang}_CREATE_SHARED_LIBRARY
"xilink ${CMAKE_CL_NOLOGO} ${CMAKE_START_TEMP_FILE} /out:<TARGET> /implib:<TARGET_IMPLIB> /pdb:<TARGET_PDB> /dll <LINK_FLAGS> <OBJECTS> <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}")
set(CMAKE_${lang}_CREATE_SHARED_MODULE "${CMAKE_${lang}_CREATE_SHARED_LIBRARY}")
+ set(CMAKE_${lang}_COMPILER_LINKER_OPTION_FLAG_EXECUTABLE "/link")
set(CMAKE_${lang}_LINK_EXECUTABLE
- "<CMAKE_${lang}_COMPILER> ${CMAKE_CL_NOLOGO} ${CMAKE_START_TEMP_FILE} <FLAGS> <OBJECTS> /Fe<TARGET> -link /implib:<TARGET_IMPLIB> <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}")
+ "<CMAKE_${lang}_COMPILER> ${CMAKE_CL_NOLOGO} ${CMAKE_START_TEMP_FILE} <FLAGS> /Fe<TARGET> <OBJECTS> /link /implib:<TARGET_IMPLIB> <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}")
set(CMAKE_${lang}_FLAGS_INIT "/DWIN32 /D_WINDOWS /W3 /Zm1000${_FLAGS_${lang}}")
set(CMAKE_${lang}_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Zi /Od /RTC1")
set(CMAKE_${lang}_FLAGS_MINSIZEREL_INIT "/DNDEBUG /MD /O1")
@@ -98,11 +99,11 @@ macro(__windows_compiler_intel lang)
set(CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT "/DNDEBUG /MD /Zi /O2")
if(_INTEL_COMPILER_SUPPORTS_MANIFEST)
- SET(CMAKE_${lang}_LINK_EXECUTABLE
+ set(CMAKE_${lang}_LINK_EXECUTABLE
"<CMAKE_COMMAND> -E vs_link_exe ${CMAKE_${lang}_LINK_EXECUTABLE}")
- SET(CMAKE_${lang}_CREATE_SHARED_LIBRARY
+ set(CMAKE_${lang}_CREATE_SHARED_LIBRARY
"<CMAKE_COMMAND> -E vs_link_dll ${CMAKE_${lang}_CREATE_SHARED_LIBRARY}")
- SET(CMAKE_${lang}_CREATE_SHARED_MODULE
+ set(CMAKE_${lang}_CREATE_SHARED_MODULE
"<CMAKE_COMMAND> -E vs_link_dll ${CMAKE_${lang}_CREATE_SHARED_MODULE}")
endif()
endmacro()
diff --git a/Modules/Platform/Windows-MSVC-C.cmake b/Modules/Platform/Windows-MSVC-C.cmake
new file mode 100644
index 000000000..e81df9f83
--- /dev/null
+++ b/Modules/Platform/Windows-MSVC-C.cmake
@@ -0,0 +1,2 @@
+include(Platform/Windows-MSVC)
+__windows_compiler_msvc(C)
diff --git a/Modules/Platform/Windows-MSVC-CXX.cmake b/Modules/Platform/Windows-MSVC-CXX.cmake
new file mode 100644
index 000000000..fdd1dae05
--- /dev/null
+++ b/Modules/Platform/Windows-MSVC-CXX.cmake
@@ -0,0 +1,3 @@
+include(Platform/Windows-MSVC)
+set(_COMPILE_CXX " /TP")
+__windows_compiler_msvc(CXX)
diff --git a/Modules/Platform/Windows-MSVC.cmake b/Modules/Platform/Windows-MSVC.cmake
new file mode 100644
index 000000000..1f28c503b
--- /dev/null
+++ b/Modules/Platform/Windows-MSVC.cmake
@@ -0,0 +1,241 @@
+
+#=============================================================================
+# Copyright 2001-2012 Kitware, Inc.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distribute this file outside of CMake, substitute the full
+# License text for the above reference.)
+
+# This module is shared by multiple languages; use include blocker.
+if(__WINDOWS_MSVC)
+ return()
+endif()
+set(__WINDOWS_MSVC 1)
+
+set(CMAKE_LIBRARY_PATH_FLAG "-LIBPATH:")
+set(CMAKE_LINK_LIBRARY_FLAG "")
+set(MSVC 1)
+
+# hack: if a new cmake (which uses CMAKE__LINKER) runs on an old build tree
+# (where link was hardcoded) and where CMAKE_LINKER isn't in the cache
+# and still cmake didn't fail in CMakeFindBinUtils.cmake (because it isn't rerun)
+# hardcode CMAKE_LINKER here to link, so it behaves as it did before, Alex
+if(NOT DEFINED CMAKE_LINKER)
+ set(CMAKE_LINKER link)
+endif()
+
+if(CMAKE_VERBOSE_MAKEFILE)
+ set(CMAKE_CL_NOLOGO)
+else()
+ set(CMAKE_CL_NOLOGO "/nologo")
+endif()
+
+set(WIN32 1)
+
+if(CMAKE_SYSTEM_NAME MATCHES "WindowsCE")
+ set(CMAKE_CREATE_WIN32_EXE "/subsystem:windowsce /entry:WinMainCRTStartup")
+ set(CMAKE_CREATE_CONSOLE_EXE "/subsystem:windowsce /entry:mainACRTStartup")
+else()
+ set(CMAKE_CREATE_WIN32_EXE "/subsystem:windows")
+ set(CMAKE_CREATE_CONSOLE_EXE "/subsystem:console")
+endif()
+
+if(CMAKE_GENERATOR MATCHES "Visual Studio 6")
+ set (CMAKE_NO_BUILD_TYPE 1)
+endif()
+if(NOT CMAKE_NO_BUILD_TYPE AND CMAKE_GENERATOR MATCHES "Visual Studio")
+ set (CMAKE_NO_BUILD_TYPE 1)
+ set (CMAKE_CONFIGURATION_TYPES "Debug;Release;MinSizeRel;RelWithDebInfo" CACHE STRING
+ "Semicolon separated list of supported configuration types, only supports Debug, Release, MinSizeRel, and RelWithDebInfo, anything else will be ignored.")
+ mark_as_advanced(CMAKE_CONFIGURATION_TYPES)
+endif()
+
+# make sure to enable languages after setting configuration types
+enable_language(RC)
+set(CMAKE_COMPILE_RESOURCE "rc <FLAGS> /fo<OBJECT> <SOURCE>")
+
+if("${CMAKE_GENERATOR}" MATCHES "Visual Studio")
+ set(MSVC_IDE 1)
+else()
+ set(MSVC_IDE 0)
+endif()
+
+if(NOT MSVC_VERSION)
+ if(CMAKE_C_COMPILER_VERSION)
+ set(_compiler_version ${CMAKE_C_COMPILER_VERSION})
+ else()
+ set(_compiler_version ${CMAKE_CXX_COMPILER_VERSION})
+ endif()
+ if("${_compiler_version}" MATCHES "^([0-9]+)\\.([0-9]+)")
+ math(EXPR MSVC_VERSION "${CMAKE_MATCH_1}*100 + ${CMAKE_MATCH_2}")
+ else()
+ message(FATAL_ERROR "MSVC compiler version not detected properly: ${_compiler_version}")
+ endif()
+
+ set(MSVC10)
+ set(MSVC11)
+ set(MSVC60)
+ set(MSVC70)
+ set(MSVC71)
+ set(MSVC80)
+ set(MSVC90)
+ set(CMAKE_COMPILER_2005)
+ set(CMAKE_COMPILER_SUPPORTS_PDBTYPE)
+ if(NOT "${_compiler_version}" VERSION_LESS 17)
+ set(MSVC11 1)
+ elseif(NOT "${_compiler_version}" VERSION_LESS 16)
+ set(MSVC10 1)
+ elseif(NOT "${_compiler_version}" VERSION_LESS 15)
+ set(MSVC90 1)
+ elseif(NOT "${_compiler_version}" VERSION_LESS 14)
+ set(MSVC80 1)
+ set(CMAKE_COMPILER_2005 1)
+ elseif(NOT "${_compiler_version}" VERSION_LESS 13.10)
+ set(MSVC71 1)
+ elseif(NOT "${_compiler_version}" VERSION_LESS 13)
+ set(MSVC70 1)
+ else()
+ set(MSVC60 1)
+ set(CMAKE_COMPILER_SUPPORTS_PDBTYPE 1)
+ endif()
+endif()
+
+if(MSVC_C_ARCHITECTURE_ID MATCHES 64)
+ set(CMAKE_CL_64 1)
+else()
+ set(CMAKE_CL_64 0)
+endif()
+if(CMAKE_FORCE_WIN64 OR CMAKE_FORCE_IA64)
+ set(CMAKE_CL_64 1)
+endif()
+
+if("${MSVC_VERSION}" GREATER 1599)
+ set(MSVC_INCREMENTAL_DEFAULT ON)
+endif()
+
+# default to Debug builds
+set(CMAKE_BUILD_TYPE_INIT Debug)
+
+if(CMAKE_SYSTEM_NAME MATCHES "WindowsCE")
+ string(TOUPPER "${MSVC_C_ARCHITECTURE_ID}" _MSVC_C_ARCHITECTURE_ID_UPPER)
+ string(TOUPPER "${MSVC_CXX_ARCHITECTURE_ID}" _MSVC_CXX_ARCHITECTURE_ID_UPPER)
+
+ if("${CMAKE_SYSTEM_VERSION}" MATCHES "^([0-9]+)\\.([0-9]+)")
+ math(EXPR _CE_VERSION "${CMAKE_MATCH_1}*100 + ${CMAKE_MATCH_2}")
+ elseif("${CMAKE_SYSTEM_VERSION}" STREQUAL "")
+ set(_CE_VERSION "500")
+ else()
+ message(FATAL_ERROR "Invalid Windows CE version: ${CMAKE_SYSTEM_VERSION}")
+ endif()
+
+ set(_PLATFORM_DEFINES "/D_WIN32_WCE=0x${_CE_VERSION} /DUNDER_CE")
+ set(_PLATFORM_DEFINES_C " /D${MSVC_C_ARCHITECTURE_ID} /D_${_MSVC_C_ARCHITECTURE_ID_UPPER}_")
+ set(_PLATFORM_DEFINES_CXX " /D${MSVC_CXX_ARCHITECTURE_ID} /D_${_MSVC_CXX_ARCHITECTURE_ID_UPPER}_")
+
+ set(_RTC1 "")
+ set(_FLAGS_CXX " /GR /EHsc")
+ set(CMAKE_C_STANDARD_LIBRARIES_INIT "coredll.lib corelibc.lib ole32.lib oleaut32.lib uuid.lib commctrl.lib")
+ set(CMAKE_EXE_LINKER_FLAGS_INIT "${CMAKE_EXE_LINKER_FLAGS_INIT} /NODEFAULTLIB:libc.lib /NODEFAULTLIB:oldnames.lib")
+else()
+ set(_PLATFORM_DEFINES "/DWIN32")
+
+ if(MSVC_VERSION GREATER 1310)
+ set(_RTC1 "/RTC1")
+ set(_FLAGS_CXX " /GR /EHsc")
+ set(CMAKE_C_STANDARD_LIBRARIES_INIT "kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib")
+ else()
+ set(_RTC1 "/GZ")
+ set(_FLAGS_CXX " /GR /GX")
+ set(CMAKE_C_STANDARD_LIBRARIES_INIT "kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib")
+ endif()
+endif()
+
+set(CMAKE_CXX_STANDARD_LIBRARIES_INIT "${CMAKE_C_STANDARD_LIBRARIES_INIT}")
+
+# executable linker flags
+set (CMAKE_LINK_DEF_FILE_FLAG "/DEF:")
+# set the stack size and the machine type
+set(_MACHINE_ARCH_FLAG ${MSVC_C_ARCHITECTURE_ID})
+if(NOT _MACHINE_ARCH_FLAG)
+ set(_MACHINE_ARCH_FLAG ${MSVC_CXX_ARCHITECTURE_ID})
+endif()
+if(CMAKE_SYSTEM_NAME MATCHES "WindowsCE")
+ if(_MACHINE_ARCH_FLAG MATCHES "ARM")
+ set(_MACHINE_ARCH_FLAG "THUMB")
+ elseif(_MACHINE_ARCH_FLAG MATCHES "SH")
+ set(_MACHINE_ARCH_FLAG "SH4")
+ endif()
+endif()
+set (CMAKE_EXE_LINKER_FLAGS_INIT
+ "${CMAKE_EXE_LINKER_FLAGS_INIT} /STACK:10000000 /machine:${_MACHINE_ARCH_FLAG}")
+
+# add /debug and /INCREMENTAL:YES to DEBUG and RELWITHDEBINFO also add pdbtype
+# on versions that support it
+set( MSVC_INCREMENTAL_YES_FLAG "")
+if(NOT MSVC_INCREMENTAL_DEFAULT)
+ set( MSVC_INCREMENTAL_YES_FLAG "/INCREMENTAL:YES")
+else()
+ set( MSVC_INCREMENTAL_YES_FLAG "/INCREMENTAL" )
+endif()
+
+if (CMAKE_COMPILER_SUPPORTS_PDBTYPE)
+ set (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug /pdbtype:sept ${MSVC_INCREMENTAL_YES_FLAG}")
+ set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug /pdbtype:sept ${MSVC_INCREMENTAL_YES_FLAG}")
+else ()
+ set (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug ${MSVC_INCREMENTAL_YES_FLAG}")
+ set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug ${MSVC_INCREMENTAL_YES_FLAG}")
+endif ()
+# for release and minsize release default to no incremental linking
+set(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL_INIT "/INCREMENTAL:NO")
+set(CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT "/INCREMENTAL:NO")
+
+# copy the EXE_LINKER flags to SHARED and MODULE linker flags
+# shared linker flags
+set (CMAKE_SHARED_LINKER_FLAGS_INIT ${CMAKE_EXE_LINKER_FLAGS_INIT})
+set (CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
+set (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
+set (CMAKE_SHARED_LINKER_FLAGS_RELEASE_INIT ${CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT})
+set (CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL_INIT ${CMAKE_EXE_LINKER_FLAGS_MINSIZEREL_INIT})
+# module linker flags
+set (CMAKE_MODULE_LINKER_FLAGS_INIT ${CMAKE_SHARED_LINKER_FLAGS_INIT})
+set (CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT})
+set (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT})
+set (CMAKE_MODULE_LINKER_FLAGS_RELEASE_INIT ${CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT})
+set (CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL_INIT ${CMAKE_EXE_LINKER_FLAGS_MINSIZEREL_INIT})
+
+macro(__windows_compiler_msvc lang)
+ if(NOT "${CMAKE_${lang}_COMPILER_VERSION}" VERSION_LESS 14)
+ # for 2005 make sure the manifest is put in the dll with mt
+ set(_CMAKE_VS_LINK_DLL "<CMAKE_COMMAND> -E vs_link_dll ")
+ set(_CMAKE_VS_LINK_EXE "<CMAKE_COMMAND> -E vs_link_exe ")
+ endif()
+ set(CMAKE_${lang}_CREATE_SHARED_LIBRARY
+ "${_CMAKE_VS_LINK_DLL}<CMAKE_LINKER> ${CMAKE_CL_NOLOGO} <OBJECTS> ${CMAKE_START_TEMP_FILE} /out:<TARGET> /implib:<TARGET_IMPLIB> /pdb:<TARGET_PDB> /dll /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR> <LINK_FLAGS> <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}")
+
+ set(CMAKE_${lang}_CREATE_SHARED_MODULE ${CMAKE_${lang}_CREATE_SHARED_LIBRARY})
+ set(CMAKE_${lang}_CREATE_STATIC_LIBRARY "<CMAKE_LINKER> /lib ${CMAKE_CL_NOLOGO} <LINK_FLAGS> /out:<TARGET> <OBJECTS> ")
+
+ set(CMAKE_${lang}_COMPILE_OBJECT
+ "<CMAKE_${lang}_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO}${_COMPILE_${lang}} <FLAGS> <DEFINES> /Fo<OBJECT> /Fd<TARGET_PDB> -c <SOURCE>${CMAKE_END_TEMP_FILE}")
+ set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE
+ "<CMAKE_${lang}_COMPILER> > <PREPROCESSED_SOURCE> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO}${_COMPILE_${lang}} <FLAGS> <DEFINES> -E <SOURCE>${CMAKE_END_TEMP_FILE}")
+ set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE
+ "<CMAKE_${lang}_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO}${_COMPILE_${lang}} <FLAGS> <DEFINES> /FoNUL /FAs /Fa<ASSEMBLY_SOURCE> /c <SOURCE>${CMAKE_END_TEMP_FILE}")
+
+ set(CMAKE_${lang}_COMPILER_LINKER_OPTION_FLAG_EXECUTABLE "/link")
+ set(CMAKE_${lang}_USE_RESPONSE_FILE_FOR_OBJECTS 1)
+ set(CMAKE_${lang}_LINK_EXECUTABLE
+ "${_CMAKE_VS_LINK_EXE}<CMAKE_${lang}_COMPILER> ${CMAKE_CL_NOLOGO} ${CMAKE_START_TEMP_FILE} <FLAGS> /Fe<TARGET> /Fd<TARGET_PDB> <OBJECTS> /link /implib:<TARGET_IMPLIB> /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR> <CMAKE_${lang}_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}")
+
+ set(CMAKE_${lang}_FLAGS_INIT "${_PLATFORM_DEFINES}${_PLATFORM_DEFINES_${lang}} /D_WINDOWS /W3 /Zm1000${_FLAGS_${lang}}")
+ set(CMAKE_${lang}_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Zi /Ob0 /Od ${_RTC1}")
+ set(CMAKE_${lang}_FLAGS_RELEASE_INIT "/MD /O2 /Ob2 /D NDEBUG")
+ set(CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT "/MD /Zi /O2 /Ob1 /D NDEBUG")
+ set(CMAKE_${lang}_FLAGS_MINSIZEREL_INIT "/MD /O1 /Ob1 /D NDEBUG")
+endmacro()
diff --git a/Modules/Platform/Windows-cl.cmake b/Modules/Platform/Windows-cl.cmake
deleted file mode 100644
index be6abb690..000000000
--- a/Modules/Platform/Windows-cl.cmake
+++ /dev/null
@@ -1,253 +0,0 @@
-# try to load any previously computed information for C on this platform
-INCLUDE( ${CMAKE_PLATFORM_ROOT_BIN}/CMakeCPlatform.cmake OPTIONAL)
-# try to load any previously computed information for CXX on this platform
-INCLUDE( ${CMAKE_PLATFORM_ROOT_BIN}/CMakeCXXPlatform.cmake OPTIONAL)
-
-SET(WIN32 1)
-
-INCLUDE(Platform/cl)
-
-SET(CMAKE_CREATE_WIN32_EXE /subsystem:windows)
-SET(CMAKE_CREATE_CONSOLE_EXE /subsystem:console)
-
-IF(CMAKE_GENERATOR MATCHES "Visual Studio 6")
- SET (CMAKE_NO_BUILD_TYPE 1)
-ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 6")
-IF(NOT CMAKE_NO_BUILD_TYPE AND CMAKE_GENERATOR MATCHES "Visual Studio")
- SET (CMAKE_NO_BUILD_TYPE 1)
- SET (CMAKE_CONFIGURATION_TYPES "Debug;Release;MinSizeRel;RelWithDebInfo" CACHE STRING
- "Semicolon separated list of supported configuration types, only supports Debug, Release, MinSizeRel, and RelWithDebInfo, anything else will be ignored.")
- MARK_AS_ADVANCED(CMAKE_CONFIGURATION_TYPES)
-ENDIF(NOT CMAKE_NO_BUILD_TYPE AND CMAKE_GENERATOR MATCHES "Visual Studio")
-# does the compiler support pdbtype and is it the newer compiler
-IF(CMAKE_GENERATOR MATCHES "Visual Studio 8")
- SET(CMAKE_COMPILER_2005 1)
-ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 8")
-
-# make sure to enable languages after setting configuration types
-ENABLE_LANGUAGE(RC)
-SET(CMAKE_COMPILE_RESOURCE "rc <FLAGS> /fo<OBJECT> <SOURCE>")
-
-# for nmake we need to compute some information about the compiler
-# that is being used.
-# the compiler may be free command line, 6, 7, or 71, and
-# each have properties that must be determined.
-# to avoid running these tests with each cmake run, the
-# test results are saved in CMakeCPlatform.cmake, a file
-# that is automatically copied into try_compile directories
-# by the global generator.
-SET(MSVC_IDE 1)
-IF(CMAKE_GENERATOR MATCHES "Makefiles" OR CMAKE_GENERATOR MATCHES "Ninja")
- SET(MSVC_IDE 0)
- IF(NOT CMAKE_VC_COMPILER_TESTS_RUN)
- SET(CMAKE_VC_COMPILER_TESTS 1)
- SET(testNmakeCLVersionFile
- "${CMAKE_ROOT}/Modules/CMakeTestNMakeCLVersion.c")
- STRING(REGEX REPLACE "/" "\\\\" testNmakeCLVersionFile "${testNmakeCLVersionFile}")
- MESSAGE(STATUS "Check for CL compiler version")
- SET(CMAKE_TEST_COMPILER ${CMAKE_C_COMPILER})
- IF (NOT CMAKE_C_COMPILER)
- SET(CMAKE_TEST_COMPILER ${CMAKE_CXX_COMPILER})
- ENDIF(NOT CMAKE_C_COMPILER)
- EXEC_PROGRAM(${CMAKE_TEST_COMPILER}
- ARGS /nologo -EP \"${testNmakeCLVersionFile}\"
- OUTPUT_VARIABLE CMAKE_COMPILER_OUTPUT
- RETURN_VALUE CMAKE_COMPILER_RETURN
- )
- IF(NOT CMAKE_COMPILER_RETURN)
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
- "Determining the version of compiler passed with the following output:\n"
- "${CMAKE_COMPILER_OUTPUT}\n\n")
- STRING(REGEX REPLACE "\n" " " compilerVersion "${CMAKE_COMPILER_OUTPUT}")
- STRING(REGEX REPLACE ".*VERSION=(.*)" "\\1"
- compilerVersion "${compilerVersion}")
- MESSAGE(STATUS "Check for CL compiler version - ${compilerVersion}")
- SET(MSVC60)
- SET(MSVC70)
- SET(MSVC71)
- SET(MSVC80)
- SET(CMAKE_COMPILER_2005)
- IF("${compilerVersion}" LESS 1300)
- SET(MSVC60 1)
- SET(CMAKE_COMPILER_SUPPORTS_PDBTYPE 1)
- ENDIF("${compilerVersion}" LESS 1300)
- IF("${compilerVersion}" EQUAL 1300)
- SET(MSVC70 1)
- SET(CMAKE_COMPILER_SUPPORTS_PDBTYPE 0)
- ENDIF("${compilerVersion}" EQUAL 1300)
- IF("${compilerVersion}" EQUAL 1310)
- SET(MSVC71 1)
- SET(CMAKE_COMPILER_SUPPORTS_PDBTYPE 0)
- ENDIF("${compilerVersion}" EQUAL 1310)
- IF("${compilerVersion}" EQUAL 1400)
- SET(MSVC80 1)
- SET(CMAKE_COMPILER_2005 1)
- ENDIF("${compilerVersion}" EQUAL 1400)
- IF("${compilerVersion}" EQUAL 1500)
- SET(MSVC90 1)
- ENDIF("${compilerVersion}" EQUAL 1500)
- IF("${compilerVersion}" EQUAL 1600)
- SET(MSVC10 1)
- ENDIF("${compilerVersion}" EQUAL 1600)
- SET(MSVC_VERSION "${compilerVersion}")
- ELSE(NOT CMAKE_COMPILER_RETURN)
- MESSAGE(STATUS "Check for CL compiler version - failed")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
- "Determining the version of compiler failed with the following output:\n"
- "${CMAKE_COMPILER_OUTPUT}\n\n")
- ENDIF(NOT CMAKE_COMPILER_RETURN)
- # try to figure out if we are running the free command line
- # tools from Microsoft. These tools do not provide debug libraries,
- # so the link flags used have to be different.
- MAKE_DIRECTORY("${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp2")
- SET(testForFreeVCFile
- "${CMAKE_ROOT}/Modules/CMakeTestForFreeVC.cxx")
- STRING(REGEX REPLACE "/" "\\\\" testForFreeVCFile "${testForFreeVCFile}")
- MESSAGE(STATUS "Check if this is a free VC compiler")
- EXEC_PROGRAM(${CMAKE_TEST_COMPILER} ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp2
- ARGS /nologo /MD /EHsc
- \"${testForFreeVCFile}\"
- OUTPUT_VARIABLE CMAKE_COMPILER_OUTPUT
- RETURN_VALUE CMAKE_COMPILER_RETURN
- )
- IF(CMAKE_COMPILER_RETURN)
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
- "Determining if this is a free VC compiler failed with the following output:\n"
- "${CMAKE_COMPILER_OUTPUT}\n\n")
- MESSAGE(STATUS "Check if this is a free VC compiler - yes")
- SET(CMAKE_USING_VC_FREE_TOOLS 1)
- ELSE(CMAKE_COMPILER_RETURN)
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
- "Determining if this is a free VC compiler passed with the following output:\n"
- "${CMAKE_COMPILER_OUTPUT}\n\n")
- MESSAGE(STATUS "Check if this is a free VC compiler - no")
- SET(CMAKE_USING_VC_FREE_TOOLS 0)
- ENDIF(CMAKE_COMPILER_RETURN)
- MAKE_DIRECTORY("${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp3")
- ENDIF(NOT CMAKE_VC_COMPILER_TESTS_RUN)
-ENDIF(CMAKE_GENERATOR MATCHES "Makefiles" OR CMAKE_GENERATOR MATCHES "Ninja")
-
-IF(MSVC_C_ARCHITECTURE_ID MATCHES 64)
- SET(CMAKE_CL_64 1)
-ELSE(MSVC_C_ARCHITECTURE_ID MATCHES 64)
- SET(CMAKE_CL_64 0)
-ENDIF(MSVC_C_ARCHITECTURE_ID MATCHES 64)
-IF(CMAKE_FORCE_WIN64 OR CMAKE_FORCE_IA64)
- SET(CMAKE_CL_64 1)
-ENDIF(CMAKE_FORCE_WIN64 OR CMAKE_FORCE_IA64)
-
-IF("${MSVC_VERSION}" GREATER 1599)
- SET(MSVC_INCREMENTAL_DEFAULT ON)
-ENDIF()
-
-# default to Debug builds
-IF(MSVC_VERSION GREATER 1310)
- # for 2005 make sure the manifest is put in the dll with mt
- SET(CMAKE_CXX_CREATE_SHARED_LIBRARY "<CMAKE_COMMAND> -E vs_link_dll ${CMAKE_CXX_CREATE_SHARED_LIBRARY}")
- SET(CMAKE_CXX_CREATE_SHARED_MODULE "<CMAKE_COMMAND> -E vs_link_dll ${CMAKE_CXX_CREATE_SHARED_MODULE}")
- # create a C shared library
- SET(CMAKE_C_CREATE_SHARED_LIBRARY "${CMAKE_CXX_CREATE_SHARED_LIBRARY}")
- # create a C shared module just copy the shared library rule
- SET(CMAKE_C_CREATE_SHARED_MODULE "${CMAKE_CXX_CREATE_SHARED_MODULE}")
- SET(CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_COMMAND> -E vs_link_exe ${CMAKE_CXX_LINK_EXECUTABLE}")
- SET(CMAKE_C_LINK_EXECUTABLE "<CMAKE_COMMAND> -E vs_link_exe ${CMAKE_C_LINK_EXECUTABLE}")
-
- SET(CMAKE_BUILD_TYPE_INIT Debug)
- SET (CMAKE_CXX_FLAGS_INIT "/DWIN32 /D_WINDOWS /W3 /Zm1000 /EHsc /GR")
- SET (CMAKE_CXX_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Zi /Ob0 /Od /RTC1")
- SET (CMAKE_CXX_FLAGS_MINSIZEREL_INIT "/MD /O1 /Ob1 /D NDEBUG")
- SET (CMAKE_CXX_FLAGS_RELEASE_INIT "/MD /O2 /Ob2 /D NDEBUG")
- SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "/MD /Zi /O2 /Ob1 /D NDEBUG")
- SET (CMAKE_C_FLAGS_INIT "/DWIN32 /D_WINDOWS /W3 /Zm1000")
- SET (CMAKE_C_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Zi /Ob0 /Od /RTC1")
- SET (CMAKE_C_FLAGS_MINSIZEREL_INIT "/MD /O1 /Ob1 /D NDEBUG")
- SET (CMAKE_C_FLAGS_RELEASE_INIT "/MD /O2 /Ob2 /D NDEBUG")
- SET (CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "/MD /Zi /O2 /Ob1 /D NDEBUG")
- SET (CMAKE_C_STANDARD_LIBRARIES_INIT "kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib ")
- SET (CMAKE_EXE_LINKER_FLAGS_INIT "${CMAKE_EXE_LINKER_FLAGS_INIT}")
-ELSE(MSVC_VERSION GREATER 1310)
- IF(CMAKE_USING_VC_FREE_TOOLS)
- MESSAGE(STATUS "Using FREE VC TOOLS, NO DEBUG available")
- SET(CMAKE_BUILD_TYPE_INIT Release)
- SET (CMAKE_CXX_FLAGS_INIT "/DWIN32 /D_WINDOWS /W3 /Zm1000 /GX /GR")
- SET (CMAKE_CXX_FLAGS_DEBUG_INIT "/D_DEBUG /MTd /Zi /Ob0 /Od /GZ")
- SET (CMAKE_CXX_FLAGS_MINSIZEREL_INIT "/MT /O1 /Ob1 /D NDEBUG")
- SET (CMAKE_CXX_FLAGS_RELEASE_INIT "/MT /O2 /Ob2 /D NDEBUG")
- SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "/MT /Zi /O2 /Ob1 /D NDEBUG")
- SET (CMAKE_C_FLAGS_INIT "/DWIN32 /D_WINDOWS /W3 /Zm1000")
- SET (CMAKE_C_FLAGS_DEBUG_INIT "/D_DEBUG /MTd /Zi /Ob0 /Od /GZ")
- SET (CMAKE_C_FLAGS_MINSIZEREL_INIT "/MT /O1 /Ob1 /D NDEBUG")
- SET (CMAKE_C_FLAGS_RELEASE_INIT "/MT /O2 /Ob2 /D NDEBUG")
- SET (CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "/MT /Zi /O2 /Ob1 /D NDEBUG")
- ELSE(CMAKE_USING_VC_FREE_TOOLS)
- SET(CMAKE_BUILD_TYPE_INIT Debug)
- SET (CMAKE_CXX_FLAGS_INIT "/DWIN32 /D_WINDOWS /W3 /Zm1000 /GX /GR")
- SET (CMAKE_CXX_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Zi /Ob0 /Od /GZ")
- SET (CMAKE_CXX_FLAGS_MINSIZEREL_INIT "/MD /O1 /Ob1 /D NDEBUG")
- SET (CMAKE_CXX_FLAGS_RELEASE_INIT "/MD /O2 /Ob2 /D NDEBUG")
- SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "/MD /Zi /O2 /Ob1 /D NDEBUG")
- SET (CMAKE_C_FLAGS_INIT "/DWIN32 /D_WINDOWS /W3 /Zm1000")
- SET (CMAKE_C_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Zi /Ob0 /Od /GZ")
- SET (CMAKE_C_FLAGS_MINSIZEREL_INIT "/MD /O1 /Ob1 /D NDEBUG")
- SET (CMAKE_C_FLAGS_RELEASE_INIT "/MD /O2 /Ob2 /D NDEBUG")
- SET (CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "/MD /Zi /O2 /Ob1 /D NDEBUG")
- ENDIF(CMAKE_USING_VC_FREE_TOOLS)
- SET (CMAKE_C_STANDARD_LIBRARIES_INIT "kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib")
-ENDIF(MSVC_VERSION GREATER 1310)
-
-SET(CMAKE_CXX_STANDARD_LIBRARIES_INIT "${CMAKE_C_STANDARD_LIBRARIES_INIT}")
-
-# executable linker flags
-SET (CMAKE_LINK_DEF_FILE_FLAG "/DEF:")
-# set the stack size and the machine type
-SET(_MACHINE_ARCH_FLAG ${MSVC_C_ARCHITECTURE_ID})
-IF(NOT _MACHINE_ARCH_FLAG)
- SET(_MACHINE_ARCH_FLAG ${MSVC_CXX_ARCHITECTURE_ID})
-ENDIF(NOT _MACHINE_ARCH_FLAG)
-SET (CMAKE_EXE_LINKER_FLAGS_INIT
- "${CMAKE_EXE_LINKER_FLAGS_INIT} /STACK:10000000 /machine:${_MACHINE_ARCH_FLAG}")
-
-# add /debug and /INCREMENTAL:YES to DEBUG and RELWITHDEBINFO also add pdbtype
-# on versions that support it
-SET( MSVC_INCREMENTAL_YES_FLAG "")
-IF(NOT MSVC_INCREMENTAL_DEFAULT)
- SET( MSVC_INCREMENTAL_YES_FLAG "/INCREMENTAL:YES")
-ELSE()
- SET( MSVC_INCREMENTAL_YES_FLAG "/INCREMENTAL" )
-ENDIF()
-
-IF (CMAKE_COMPILER_SUPPORTS_PDBTYPE)
- SET (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug /pdbtype:sept ${MSVC_INCREMENTAL_YES_FLAG}")
- SET (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug /pdbtype:sept ${MSVC_INCREMENTAL_YES_FLAG}")
-ELSE (CMAKE_COMPILER_SUPPORTS_PDBTYPE)
- SET (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug ${MSVC_INCREMENTAL_YES_FLAG}")
- SET (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug ${MSVC_INCREMENTAL_YES_FLAG}")
-ENDIF (CMAKE_COMPILER_SUPPORTS_PDBTYPE)
-# for release and minsize release default to no incremental linking
-SET(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL_INIT "/INCREMENTAL:NO")
-SET(CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT "/INCREMENTAL:NO")
-
-# copy the EXE_LINKER flags to SHARED and MODULE linker flags
-# shared linker flags
-SET (CMAKE_SHARED_LINKER_FLAGS_INIT ${CMAKE_EXE_LINKER_FLAGS_INIT})
-SET (CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
-SET (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
-SET (CMAKE_SHARED_LINKER_FLAGS_RELEASE_INIT ${CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT})
-SET (CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL_INIT ${CMAKE_EXE_LINKER_FLAGS_MINSIZEREL_INIT})
-# module linker flags
-SET (CMAKE_MODULE_LINKER_FLAGS_INIT ${CMAKE_SHARED_LINKER_FLAGS_INIT})
-SET (CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT})
-SET (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT})
-SET (CMAKE_MODULE_LINKER_FLAGS_RELEASE_INIT ${CMAKE_EXE_LINKER_FLAGS_RELEASE_INIT})
-SET (CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL_INIT ${CMAKE_EXE_LINKER_FLAGS_MINSIZEREL_INIT})
-
-# save computed information for this platform
-IF(NOT EXISTS "${CMAKE_PLATFORM_ROOT_BIN}/CMakeCPlatform.cmake")
- CONFIGURE_FILE(${CMAKE_ROOT}/Modules/Platform/Windows-cl.cmake.in
- ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeCPlatform.cmake IMMEDIATE)
-ENDIF(NOT EXISTS "${CMAKE_PLATFORM_ROOT_BIN}/CMakeCPlatform.cmake")
-
-IF(NOT EXISTS "${CMAKE_PLATFORM_ROOT_BIN}/CMakeCXXPlatform.cmake")
- CONFIGURE_FILE(${CMAKE_ROOT}/Modules/Platform/Windows-cl.cmake.in
- ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeCXXPlatform.cmake IMMEDIATE)
-ENDIF(NOT EXISTS "${CMAKE_PLATFORM_ROOT_BIN}/CMakeCXXPlatform.cmake")
diff --git a/Modules/Platform/Windows-cl.cmake.in b/Modules/Platform/Windows-cl.cmake.in
deleted file mode 100644
index 82a0e595f..000000000
--- a/Modules/Platform/Windows-cl.cmake.in
+++ /dev/null
@@ -1,14 +0,0 @@
-SET(CMAKE_VC_COMPILER_TESTS_RUN 1)
-SET(CMAKE_COMPILER_SUPPORTS_PDBTYPE @CMAKE_COMPILER_SUPPORTS_PDBTYPE@)
-SET(CMAKE_COMPILER_2005 @CMAKE_COMPILER_2005@)
-SET(CMAKE_USING_VC_FREE_TOOLS @CMAKE_USING_VC_FREE_TOOLS@)
-SET(CMAKE_CL_64 @CMAKE_CL_64@)
-SET(MSVC60 @MSVC60@)
-SET(MSVC70 @MSVC70@)
-SET(MSVC71 @MSVC71@)
-SET(MSVC80 @MSVC80@)
-SET(MSVC90 @MSVC90@)
-SET(MSVC10 @MSVC10@)
-SET(MSVC_IDE @MSVC_IDE@)
-SET(MSVC_VERSION @MSVC_VERSION@)
-SET(WIN32 1)
diff --git a/Modules/Platform/Windows-df.cmake b/Modules/Platform/Windows-df.cmake
index f5046bf35..7e2ac9fe4 100644
--- a/Modules/Platform/Windows-df.cmake
+++ b/Modules/Platform/Windows-df.cmake
@@ -1,70 +1,71 @@
# compiler support for fortran CVF compiler on windows
-SET(CMAKE_WINDOWS_OBJECT_PATH 1)
-SET(CMAKE_LIBRARY_PATH_FLAG "-LIBPATH:")
-SET(CMAKE_LINK_LIBRARY_FLAG "")
-SET(WIN32 1)
-IF(CMAKE_VERBOSE_MAKEFILE)
- SET(CMAKE_CL_NOLOGO)
-ELSE(CMAKE_VERBOSE_MAKEFILE)
- SET(CMAKE_CL_NOLOGO "/nologo")
-ENDIF(CMAKE_VERBOSE_MAKEFILE)
+set(CMAKE_WINDOWS_OBJECT_PATH 1)
+set(CMAKE_LIBRARY_PATH_FLAG "-LIBPATH:")
+set(CMAKE_LINK_LIBRARY_FLAG "")
+set(WIN32 1)
+if(CMAKE_VERBOSE_MAKEFILE)
+ set(CMAKE_CL_NOLOGO)
+else()
+ set(CMAKE_CL_NOLOGO "/nologo")
+endif()
-SET(CMAKE_Fortran_MODDIR_FLAG "-module:")
+set(CMAKE_Fortran_MODDIR_FLAG "-module:")
-SET(CMAKE_Fortran_CREATE_SHARED_LIBRARY
+set(CMAKE_Fortran_CREATE_SHARED_LIBRARY
"link ${CMAKE_CL_NOLOGO} ${CMAKE_START_TEMP_FILE} /out:<TARGET> /dll <LINK_FLAGS> <OBJECTS> <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}")
-SET(CMAKE_Fortran_CREATE_SHARED_MODULE ${CMAKE_Fortran_CREATE_SHARED_LIBRARY})
+set(CMAKE_Fortran_CREATE_SHARED_MODULE ${CMAKE_Fortran_CREATE_SHARED_LIBRARY})
# create a C++ static library
-SET(CMAKE_Fortran_CREATE_STATIC_LIBRARY "lib ${CMAKE_CL_NOLOGO} <LINK_FLAGS> /out:<TARGET> <OBJECTS> ")
+set(CMAKE_Fortran_CREATE_STATIC_LIBRARY "lib ${CMAKE_CL_NOLOGO} <LINK_FLAGS> /out:<TARGET> <OBJECTS> ")
# compile a C++ file into an object file
-SET(CMAKE_Fortran_COMPILE_OBJECT
+set(CMAKE_Fortran_COMPILE_OBJECT
"<CMAKE_Fortran_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO} /object:<OBJECT> <FLAGS> /compile_only <SOURCE>${CMAKE_END_TEMP_FILE}")
-SET(CMAKE_COMPILE_RESOURCE "rc <FLAGS> /fo<OBJECT> <SOURCE>")
+set(CMAKE_COMPILE_RESOURCE "rc <FLAGS> /fo<OBJECT> <SOURCE>")
-SET(CMAKE_Fortran_LINK_EXECUTABLE
- "<CMAKE_Fortran_COMPILER> ${CMAKE_CL_NOLOGO} ${CMAKE_START_TEMP_FILE} <FLAGS> <OBJECTS> /exe:<TARGET> /link <CMAKE_Fortran_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}")
+set(CMAKE_${lang}_COMPILER_LINKER_OPTION_FLAG_EXECUTABLE "/link")
+set(CMAKE_Fortran_LINK_EXECUTABLE
+ "<CMAKE_Fortran_COMPILER> ${CMAKE_CL_NOLOGO} ${CMAKE_START_TEMP_FILE} <FLAGS> /exe:<TARGET> <OBJECTS> /link <CMAKE_Fortran_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}")
-SET(CMAKE_CREATE_WIN32_EXE /winapp)
-SET(CMAKE_CREATE_CONSOLE_EXE )
+set(CMAKE_CREATE_WIN32_EXE /winapp)
+set(CMAKE_CREATE_CONSOLE_EXE )
-IF(CMAKE_GENERATOR MATCHES "Visual Studio 6")
- SET (CMAKE_NO_BUILD_TYPE 1)
-ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 6")
-IF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR CMAKE_GENERATOR MATCHES "Visual Studio 8")
- SET (CMAKE_NO_BUILD_TYPE 1)
- SET (CMAKE_CONFIGURATION_TYPES "Debug;Release;MinSizeRel;RelWithDebInfo" CACHE STRING
+if(CMAKE_GENERATOR MATCHES "Visual Studio 6")
+ set (CMAKE_NO_BUILD_TYPE 1)
+endif()
+if(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR CMAKE_GENERATOR MATCHES "Visual Studio 8")
+ set (CMAKE_NO_BUILD_TYPE 1)
+ set (CMAKE_CONFIGURATION_TYPES "Debug;Release;MinSizeRel;RelWithDebInfo" CACHE STRING
"Semicolon separated list of supported configuration types, only supports Debug, Release, MinSizeRel, and RelWithDebInfo, anything else will be ignored.")
-ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 7" OR CMAKE_GENERATOR MATCHES "Visual Studio 8")
+endif()
# does the compiler support pdbtype and is it the newer compiler
-SET(CMAKE_BUILD_TYPE_INIT Debug)
-SET (CMAKE_Fortran_FLAGS_INIT "")
-SET (CMAKE_Fortran_FLAGS_DEBUG_INIT "/debug:full")
-SET (CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "/Optimize:2 /Define:NDEBUG")
-SET (CMAKE_Fortran_FLAGS_RELEASE_INIT "/Optimize:1 /Define:NDEBUG")
-SET (CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT "/Optimize:1 /debug:full /Define:NDEBUG")
+set(CMAKE_BUILD_TYPE_INIT Debug)
+set (CMAKE_Fortran_FLAGS_INIT "")
+set (CMAKE_Fortran_FLAGS_DEBUG_INIT "/debug:full")
+set (CMAKE_Fortran_FLAGS_MINSIZEREL_INIT "/Optimize:2 /Define:NDEBUG")
+set (CMAKE_Fortran_FLAGS_RELEASE_INIT "/Optimize:1 /Define:NDEBUG")
+set (CMAKE_Fortran_FLAGS_RELWITHDEBINFO_INIT "/Optimize:1 /debug:full /Define:NDEBUG")
-SET (CMAKE_Fortran_STANDARD_LIBRARIES_INIT "user32.lib")
+set (CMAKE_Fortran_STANDARD_LIBRARIES_INIT "user32.lib")
# executable linker flags
-SET (CMAKE_LINK_DEF_FILE_FLAG "/DEF:")
-SET (CMAKE_EXE_LINKER_FLAGS_INIT " /INCREMENTAL:YES")
-IF (CMAKE_COMPILER_SUPPORTS_PDBTYPE)
- SET (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug /pdbtype:sept")
- SET (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug /pdbtype:sept")
-ELSE (CMAKE_COMPILER_SUPPORTS_PDBTYPE)
- SET (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug")
- SET (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug")
-ENDIF (CMAKE_COMPILER_SUPPORTS_PDBTYPE)
+set (CMAKE_LINK_DEF_FILE_FLAG "/DEF:")
+set (CMAKE_EXE_LINKER_FLAGS_INIT " /INCREMENTAL:YES")
+if (CMAKE_COMPILER_SUPPORTS_PDBTYPE)
+ set (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug /pdbtype:sept")
+ set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug /pdbtype:sept")
+else ()
+ set (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "/debug")
+ set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "/debug")
+endif ()
-SET (CMAKE_SHARED_LINKER_FLAGS_INIT ${CMAKE_EXE_LINKER_FLAGS_INIT})
-SET (CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
-SET (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
-SET (CMAKE_MODULE_LINKER_FLAGS_INIT ${CMAKE_SHARED_LINKER_FLAGS_INIT})
-SET (CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT})
-SET (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT})
+set (CMAKE_SHARED_LINKER_FLAGS_INIT ${CMAKE_EXE_LINKER_FLAGS_INIT})
+set (CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
+set (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT})
+set (CMAKE_MODULE_LINKER_FLAGS_INIT ${CMAKE_SHARED_LINKER_FLAGS_INIT})
+set (CMAKE_MODULE_LINKER_FLAGS_DEBUG_INIT ${CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT})
+set (CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO_INIT ${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT})
diff --git a/Modules/Platform/Windows-wcl386.cmake b/Modules/Platform/Windows-wcl386.cmake
index 14b3b81d5..8a03b2972 100644
--- a/Modules/Platform/Windows-wcl386.cmake
+++ b/Modules/Platform/Windows-wcl386.cmake
@@ -1,122 +1,109 @@
-SET(CMAKE_LIBRARY_PATH_FLAG "libpath ")
-SET(CMAKE_LINK_LIBRARY_FLAG "library ")
-SET(CMAKE_LINK_LIBRARY_FILE_FLAG "library")
-
-IF(CMAKE_VERBOSE_MAKEFILE)
- SET(CMAKE_WCL_QUIET)
- SET(CMAKE_WLINK_QUIET)
- SET(CMAKE_LIB_QUIET)
-ELSE(CMAKE_VERBOSE_MAKEFILE)
- SET(CMAKE_WCL_QUIET "-zq")
- SET(CMAKE_WLINK_QUIET "option quiet")
- SET(CMAKE_LIB_QUIET "-q")
-ENDIF(CMAKE_VERBOSE_MAKEFILE)
+set(CMAKE_LIBRARY_PATH_FLAG "libpath ")
+set(CMAKE_LINK_LIBRARY_FLAG "library ")
+set(CMAKE_LINK_LIBRARY_FILE_FLAG "library")
+
+if(CMAKE_VERBOSE_MAKEFILE)
+ set(CMAKE_WCL_QUIET)
+ set(CMAKE_WLINK_QUIET)
+ set(CMAKE_LIB_QUIET)
+else()
+ set(CMAKE_WCL_QUIET "-zq")
+ set(CMAKE_WLINK_QUIET "option quiet")
+ set(CMAKE_LIB_QUIET "-q")
+endif()
set(CMAKE_CREATE_WIN32_EXE "system nt_win" )
-SET(CMAKE_CREATE_CONSOLE_EXE "system nt" )
+set(CMAKE_CREATE_CONSOLE_EXE "system nt" )
-SET (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "debug all" )
-SET (CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT "debug all" )
-SET (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "debug all" )
-SET (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT "debug all" )
+set (CMAKE_EXE_LINKER_FLAGS_DEBUG_INIT "debug all" )
+set (CMAKE_SHARED_LINKER_FLAGS_DEBUG_INIT "debug all" )
+set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT "debug all" )
+set (CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT "debug all" )
set(CMAKE_C_COMPILE_OPTIONS_DLL "-bd") # Note: This variable is a ';' separated list
set(CMAKE_SHARED_LIBRARY_C_FLAGS "-bd") # ... while this is a space separated string.
-SET(CMAKE_RC_COMPILER "rc" )
-
-SET(CMAKE_BUILD_TYPE_INIT Debug)
-SET (CMAKE_CXX_FLAGS_INIT "-w=3 -xs")
-SET (CMAKE_CXX_FLAGS_DEBUG_INIT "-br -bm -d2")
-SET (CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-br -bm -os -dNDEBUG")
-SET (CMAKE_CXX_FLAGS_RELEASE_INIT "-br -bm -ot -dNDEBUG")
-SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-br -bm -d2 -ot -dNDEBUG")
-SET (CMAKE_C_FLAGS_INIT "-w=3 ")
-SET (CMAKE_C_FLAGS_DEBUG_INIT "-br -bm -d2 -od")
-SET (CMAKE_C_FLAGS_MINSIZEREL_INIT "-br -bm -os -dNDEBUG")
-SET (CMAKE_C_FLAGS_RELEASE_INIT "-br -bm -ot -dNDEBUG")
-SET (CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-br -bm -d2 -ot -dNDEBUG")
-SET (CMAKE_C_STANDARD_LIBRARIES_INIT "library clbrdll.lib library plbrdll.lib library kernel32.lib library user32.lib library gdi32.lib library winspool.lib library comdlg32.lib library advapi32.lib library shell32.lib library ole32.lib library oleaut32.lib library uuid.lib library odbc32.lib library odbccp32.lib")
-SET (CMAKE_CXX_STANDARD_LIBRARIES_INIT "${CMAKE_C_STANDARD_LIBRARIES_INIT}")
-
-SET(CMAKE_C_CREATE_IMPORT_LIBRARY
+set(CMAKE_RC_COMPILER "rc" )
+
+set(CMAKE_BUILD_TYPE_INIT Debug)
+set (CMAKE_CXX_FLAGS_INIT "-w=3 -xs")
+set (CMAKE_CXX_FLAGS_DEBUG_INIT "-br -bm -d2")
+set (CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-br -bm -os -dNDEBUG")
+set (CMAKE_CXX_FLAGS_RELEASE_INIT "-br -bm -ot -dNDEBUG")
+set (CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-br -bm -d2 -ot -dNDEBUG")
+set (CMAKE_C_FLAGS_INIT "-w=3 ")
+set (CMAKE_C_FLAGS_DEBUG_INIT "-br -bm -d2 -od")
+set (CMAKE_C_FLAGS_MINSIZEREL_INIT "-br -bm -os -dNDEBUG")
+set (CMAKE_C_FLAGS_RELEASE_INIT "-br -bm -ot -dNDEBUG")
+set (CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-br -bm -d2 -ot -dNDEBUG")
+set (CMAKE_C_STANDARD_LIBRARIES_INIT "library clbrdll.lib library plbrdll.lib library kernel32.lib library user32.lib library gdi32.lib library winspool.lib library comdlg32.lib library advapi32.lib library shell32.lib library ole32.lib library oleaut32.lib library uuid.lib library odbc32.lib library odbccp32.lib")
+set (CMAKE_CXX_STANDARD_LIBRARIES_INIT "${CMAKE_C_STANDARD_LIBRARIES_INIT}")
+
+set(CMAKE_C_CREATE_IMPORT_LIBRARY
"wlib -c -q -n -b <TARGET_IMPLIB> +'<TARGET_UNQUOTED>'")
-SET(CMAKE_CXX_CREATE_IMPORT_LIBRARY ${CMAKE_C_CREATE_IMPORT_LIBRARY})
+set(CMAKE_CXX_CREATE_IMPORT_LIBRARY ${CMAKE_C_CREATE_IMPORT_LIBRARY})
-SET(CMAKE_C_LINK_EXECUTABLE
+set(CMAKE_C_LINK_EXECUTABLE
"wlink ${CMAKE_START_TEMP_FILE} ${CMAKE_WLINK_QUIET} name '<TARGET_UNQUOTED>' <LINK_FLAGS> option caseexact file {<OBJECTS>} <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}")
-SET(CMAKE_CXX_LINK_EXECUTABLE ${CMAKE_C_LINK_EXECUTABLE})
+set(CMAKE_CXX_LINK_EXECUTABLE ${CMAKE_C_LINK_EXECUTABLE})
# compile a C++ file into an object file
-SET(CMAKE_CXX_COMPILE_OBJECT
+set(CMAKE_CXX_COMPILE_OBJECT
"<CMAKE_CXX_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_WCL_QUIET} <FLAGS> -dWIN32 -d+ <DEFINES> -fo<OBJECT> -c -cc++ <SOURCE>${CMAKE_END_TEMP_FILE}")
# compile a C file into an object file
-SET(CMAKE_C_COMPILE_OBJECT
+set(CMAKE_C_COMPILE_OBJECT
"<CMAKE_C_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_WCL_QUIET} <FLAGS> -dWIN32 -d+ <DEFINES> -fo<OBJECT> -c -cc <SOURCE>${CMAKE_END_TEMP_FILE}")
# preprocess a C source file
-SET(CMAKE_C_CREATE_PREPROCESSED_SOURCE
+set(CMAKE_C_CREATE_PREPROCESSED_SOURCE
"<CMAKE_C_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_WCL_QUIET} <FLAGS> -dWIN32 -d+ <DEFINES> -fo<PREPROCESSED_SOURCE> -pl -cc <SOURCE>${CMAKE_END_TEMP_FILE}")
# preprocess a C++ source file
-SET(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE
+set(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE
"<CMAKE_CXX_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_WCL_QUIET} <FLAGS> -dWIN32 -d+ <DEFINES> -fo<PREPROCESSED_SOURCE> -pl -cc++ <SOURCE>${CMAKE_END_TEMP_FILE}")
-SET(CMAKE_CXX_CREATE_SHARED_MODULE
+set(CMAKE_CXX_CREATE_SHARED_MODULE
"wlink ${CMAKE_START_TEMP_FILE} system nt_dll ${CMAKE_WLINK_QUIET} name '<TARGET_UNQUOTED>' <LINK_FLAGS> option caseexact file {<OBJECTS>} <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}")
-SET(CMAKE_CXX_CREATE_SHARED_LIBRARY
+set(CMAKE_CXX_CREATE_SHARED_LIBRARY
${CMAKE_CXX_CREATE_SHARED_MODULE}
${CMAKE_CXX_CREATE_IMPORT_LIBRARY})
# create a C shared library
-SET(CMAKE_C_CREATE_SHARED_LIBRARY ${CMAKE_CXX_CREATE_SHARED_LIBRARY})
+set(CMAKE_C_CREATE_SHARED_LIBRARY ${CMAKE_CXX_CREATE_SHARED_LIBRARY})
# create a C shared module
-SET(CMAKE_C_CREATE_SHARED_MODULE ${CMAKE_CXX_CREATE_SHARED_MODULE})
+set(CMAKE_C_CREATE_SHARED_MODULE ${CMAKE_CXX_CREATE_SHARED_MODULE})
# create a C++ static library
-SET(CMAKE_CXX_CREATE_STATIC_LIBRARY "wlib ${CMAKE_LIB_QUIET} -c -n -b '<TARGET_UNQUOTED>' <LINK_FLAGS> <OBJECTS> ")
+set(CMAKE_CXX_CREATE_STATIC_LIBRARY "wlib ${CMAKE_LIB_QUIET} -c -n -b '<TARGET_UNQUOTED>' <LINK_FLAGS> <OBJECTS> ")
# create a C static library
-SET(CMAKE_C_CREATE_STATIC_LIBRARY ${CMAKE_CXX_CREATE_STATIC_LIBRARY})
-
-IF(NOT CMAKE_WATCOM_COMPILER_TESTS_RUN)
- SET(CMAKE_WATCOM_COMPILER_TESTS_RUN 1)
- SET(testWatcomVersionFile
- "${CMAKE_ROOT}/Modules/CMakeTestWatcomVersion.c")
- STRING(REGEX REPLACE "/" "\\\\" testWatcomVersionFile "${testWatcomVersionFile}")
- MESSAGE(STATUS "Check for Watcom compiler version")
- SET(CMAKE_TEST_COMPILER ${CMAKE_C_COMPILER})
- IF (NOT CMAKE_C_COMPILER)
- SET(CMAKE_TEST_COMPILER ${CMAKE_CXX_COMPILER})
- ENDIF()
- EXECUTE_PROCESS(COMMAND ${CMAKE_TEST_COMPILER}
- -q -pc \"${testWatcomVersionFile}\"
- OUTPUT_VARIABLE CMAKE_COMPILER_OUTPUT
- RESULT_VARIABLE CMAKE_COMPILER_RETURN
- )
- STRING(REGEX REPLACE "\n" " " compilerVersion "${CMAKE_COMPILER_OUTPUT}")
- STRING(REGEX REPLACE ".*VERSION=(.*)" "\\1"
- compilerVersion "${compilerVersion}")
- IF("${CMAKE_COMPILER_RETURN}" STREQUAL "0")
- SET(WATCOM16)
- SET(WATCOM17)
- SET(WATCOM18)
- SET(WATCOM19)
- IF("${compilerVersion}" LESS 1270)
- SET(WATCOM16 1)
- ENDIF()
- IF("${compilerVersion}" EQUAL 1270)
- SET(WATCOM17 1)
- ENDIF()
- IF("${compilerVersion}" EQUAL 1280)
- SET(WATCOM18 1)
- ENDIF()
- IF("${compilerVersion}" EQUAL 1290)
- SET(WATCOM19 1)
- ENDIF()
- ENDIF()
-ENDIF()
+set(CMAKE_C_CREATE_STATIC_LIBRARY ${CMAKE_CXX_CREATE_STATIC_LIBRARY})
+
+if(NOT _CMAKE_WATCOM_VERSION)
+ set(_CMAKE_WATCOM_VERSION 1)
+ if(CMAKE_C_COMPILER_VERSION)
+ set(_compiler_version ${CMAKE_C_COMPILER_VERSION})
+ else()
+ set(_compiler_version ${CMAKE_CXX_COMPILER_VERSION})
+ endif()
+ set(WATCOM16)
+ set(WATCOM17)
+ set(WATCOM18)
+ set(WATCOM19)
+ if("${_compiler_version}" LESS 12.70)
+ set(WATCOM16 1)
+ endif()
+ if("${_compiler_version}" EQUAL 12.70)
+ set(WATCOM17 1)
+ endif()
+ if("${_compiler_version}" EQUAL 12.80)
+ set(WATCOM18 1)
+ endif()
+ if("${_compiler_version}" EQUAL 12.90)
+ set(WATCOM19 1)
+ endif()
+endif()
diff --git a/Modules/Platform/Windows-windres.cmake b/Modules/Platform/Windows-windres.cmake
index 8bc1b15e9..01d6be3df 100644
--- a/Modules/Platform/Windows-windres.cmake
+++ b/Modules/Platform/Windows-windres.cmake
@@ -1 +1 @@
-SET(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> -O coff <FLAGS> <DEFINES> <SOURCE> <OBJECT>")
+set(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> -O coff <FLAGS> <DEFINES> <SOURCE> <OBJECT>")
diff --git a/Modules/Platform/Windows.cmake b/Modules/Platform/Windows.cmake
index 09cb8d303..b158a9dfb 100644
--- a/Modules/Platform/Windows.cmake
+++ b/Modules/Platform/Windows.cmake
@@ -1,36 +1,36 @@
-SET(WIN32 1)
+set(WIN32 1)
-SET(CMAKE_STATIC_LIBRARY_PREFIX "")
-SET(CMAKE_STATIC_LIBRARY_SUFFIX ".lib")
-SET(CMAKE_SHARED_LIBRARY_PREFIX "") # lib
-SET(CMAKE_SHARED_LIBRARY_SUFFIX ".dll") # .so
-SET(CMAKE_IMPORT_LIBRARY_PREFIX "")
-SET(CMAKE_IMPORT_LIBRARY_SUFFIX ".lib")
-SET(CMAKE_EXECUTABLE_SUFFIX ".exe") # .exe
-SET(CMAKE_LINK_LIBRARY_SUFFIX ".lib")
-SET(CMAKE_DL_LIBS "")
+set(CMAKE_STATIC_LIBRARY_PREFIX "")
+set(CMAKE_STATIC_LIBRARY_SUFFIX ".lib")
+set(CMAKE_SHARED_LIBRARY_PREFIX "") # lib
+set(CMAKE_SHARED_LIBRARY_SUFFIX ".dll") # .so
+set(CMAKE_IMPORT_LIBRARY_PREFIX "")
+set(CMAKE_IMPORT_LIBRARY_SUFFIX ".lib")
+set(CMAKE_EXECUTABLE_SUFFIX ".exe") # .exe
+set(CMAKE_LINK_LIBRARY_SUFFIX ".lib")
+set(CMAKE_DL_LIBS "")
-SET(CMAKE_FIND_LIBRARY_PREFIXES "")
-SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib")
+set(CMAKE_FIND_LIBRARY_PREFIXES "")
+set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib")
# for borland make long command lines are redirected to a file
# with the following syntax, see Windows-bcc32.cmake for use
-IF(CMAKE_GENERATOR MATCHES "Borland")
- SET(CMAKE_START_TEMP_FILE "@&&|\n")
- SET(CMAKE_END_TEMP_FILE "\n|")
-ENDIF(CMAKE_GENERATOR MATCHES "Borland")
+if(CMAKE_GENERATOR MATCHES "Borland")
+ set(CMAKE_START_TEMP_FILE "@&&|\n")
+ set(CMAKE_END_TEMP_FILE "\n|")
+endif()
# for nmake make long command lines are redirected to a file
# with the following syntax, see Windows-bcc32.cmake for use
-IF(CMAKE_GENERATOR MATCHES "NMake")
- SET(CMAKE_START_TEMP_FILE "@<<\n")
- SET(CMAKE_END_TEMP_FILE "\n<<")
-ENDIF(CMAKE_GENERATOR MATCHES "NMake")
+if(CMAKE_GENERATOR MATCHES "NMake")
+ set(CMAKE_START_TEMP_FILE "@<<\n")
+ set(CMAKE_END_TEMP_FILE "\n<<")
+endif()
-INCLUDE(Platform/WindowsPaths)
+include(Platform/WindowsPaths)
# uncomment these out to debug nmake and borland makefiles
-#SET(CMAKE_START_TEMP_FILE "")
-#SET(CMAKE_END_TEMP_FILE "")
-#SET(CMAKE_VERBOSE_MAKEFILE 1)
+#set(CMAKE_START_TEMP_FILE "")
+#set(CMAKE_END_TEMP_FILE "")
+#set(CMAKE_VERBOSE_MAKEFILE 1)
diff --git a/Modules/Platform/WindowsCE-MSVC-C.cmake b/Modules/Platform/WindowsCE-MSVC-C.cmake
new file mode 100644
index 000000000..ce8060bed
--- /dev/null
+++ b/Modules/Platform/WindowsCE-MSVC-C.cmake
@@ -0,0 +1 @@
+include(Platform/Windows-MSVC-C)
diff --git a/Modules/Platform/WindowsCE-MSVC-CXX.cmake b/Modules/Platform/WindowsCE-MSVC-CXX.cmake
new file mode 100644
index 000000000..281eadc10
--- /dev/null
+++ b/Modules/Platform/WindowsCE-MSVC-CXX.cmake
@@ -0,0 +1 @@
+include(Platform/Windows-MSVC-CXX)
diff --git a/Modules/Platform/WindowsCE-MSVC.cmake b/Modules/Platform/WindowsCE-MSVC.cmake
new file mode 100644
index 000000000..d28b4aba0
--- /dev/null
+++ b/Modules/Platform/WindowsCE-MSVC.cmake
@@ -0,0 +1 @@
+include(Platform/Windows-MSVC)
diff --git a/Modules/Platform/WindowsCE.cmake b/Modules/Platform/WindowsCE.cmake
new file mode 100644
index 000000000..65b2eaed4
--- /dev/null
+++ b/Modules/Platform/WindowsCE.cmake
@@ -0,0 +1 @@
+include(Platform/Windows)
diff --git a/Modules/Platform/WindowsPaths.cmake b/Modules/Platform/WindowsPaths.cmake
index c7b15b342..bd31da021 100644
--- a/Modules/Platform/WindowsPaths.cmake
+++ b/Modules/Platform/WindowsPaths.cmake
@@ -17,10 +17,10 @@
# "CMakeSystemSpecificInformation.cmake" already included it.
# The extra inclusion is a work-around documented next to the include()
# call, so this can be removed when the work-around is removed.
-IF(__WINDOWS_PATHS_INCLUDED)
- RETURN()
-ENDIF()
-SET(__WINDOWS_PATHS_INCLUDED 1)
+if(__WINDOWS_PATHS_INCLUDED)
+ return()
+endif()
+set(__WINDOWS_PATHS_INCLUDED 1)
# Add the program-files folder(s) to the list of installation
# prefixes.
@@ -42,39 +42,39 @@ SET(__WINDOWS_PATHS_INCLUDED 1)
# ENV{ProgramFiles(x86)} = <not set>
# ENV{ProgramFiles} = [C:\Program Files (x86)]
# ENV{ProgramW6432} = [C:\Program Files]
-IF(DEFINED "ENV{ProgramW6432}")
+if(DEFINED "ENV{ProgramW6432}")
# 32-bit binary on 64-bit windows.
# The 64-bit program files are in ProgramW6432.
- LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH "$ENV{ProgramW6432}")
+ list(APPEND CMAKE_SYSTEM_PREFIX_PATH "$ENV{ProgramW6432}")
# The 32-bit program files are in ProgramFiles.
- IF(DEFINED "ENV{ProgramFiles}")
- LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH "$ENV{ProgramFiles}")
- ENDIF()
-ELSE()
+ if(DEFINED "ENV{ProgramFiles}")
+ list(APPEND CMAKE_SYSTEM_PREFIX_PATH "$ENV{ProgramFiles}")
+ endif()
+else()
# 64-bit binary, or 32-bit binary on 32-bit windows.
- IF(DEFINED "ENV{ProgramFiles}")
- LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH "$ENV{ProgramFiles}")
- ENDIF()
- IF(DEFINED "ENV{ProgramFiles(x86)}")
+ if(DEFINED "ENV{ProgramFiles}")
+ list(APPEND CMAKE_SYSTEM_PREFIX_PATH "$ENV{ProgramFiles}")
+ endif()
+ if(DEFINED "ENV{ProgramFiles(x86)}")
# 64-bit binary. 32-bit program files are in ProgramFiles(x86).
- LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH "$ENV{ProgramFiles(x86)}")
- ELSEIF(DEFINED "ENV{SystemDrive}")
+ list(APPEND CMAKE_SYSTEM_PREFIX_PATH "$ENV{ProgramFiles(x86)}")
+ elseif(DEFINED "ENV{SystemDrive}")
# Guess the 32-bit program files location.
- IF(EXISTS "$ENV{SystemDrive}/Program Files (x86)")
- LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH
+ if(EXISTS "$ENV{SystemDrive}/Program Files (x86)")
+ list(APPEND CMAKE_SYSTEM_PREFIX_PATH
"$ENV{SystemDrive}/Program Files (x86)")
- ENDIF()
- ENDIF()
-ENDIF()
+ endif()
+ endif()
+endif()
# Add the CMake install location.
-GET_FILENAME_COMPONENT(_CMAKE_INSTALL_DIR "${CMAKE_ROOT}" PATH)
-GET_FILENAME_COMPONENT(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
-LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH "${_CMAKE_INSTALL_DIR}")
+get_filename_component(_CMAKE_INSTALL_DIR "${CMAKE_ROOT}" PATH)
+get_filename_component(_CMAKE_INSTALL_DIR "${_CMAKE_INSTALL_DIR}" PATH)
+list(APPEND CMAKE_SYSTEM_PREFIX_PATH "${_CMAKE_INSTALL_DIR}")
# Add other locations.
-LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH
+list(APPEND CMAKE_SYSTEM_PREFIX_PATH
# Project install destination.
"${CMAKE_INSTALL_PREFIX}"
@@ -82,15 +82,15 @@ LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH
/
)
-LIST(APPEND CMAKE_SYSTEM_INCLUDE_PATH
+list(APPEND CMAKE_SYSTEM_INCLUDE_PATH
)
# mingw can also link against dlls which can also be in /bin, so list this too
-LIST(APPEND CMAKE_SYSTEM_LIBRARY_PATH
+list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
"${CMAKE_INSTALL_PREFIX}/bin"
"${_CMAKE_INSTALL_DIR}/bin"
/bin
)
-LIST(APPEND CMAKE_SYSTEM_PROGRAM_PATH
+list(APPEND CMAKE_SYSTEM_PROGRAM_PATH
)
diff --git a/Modules/Platform/Xenix.cmake b/Modules/Platform/Xenix.cmake
index cf9d17bfd..47852f8e1 100644
--- a/Modules/Platform/Xenix.cmake
+++ b/Modules/Platform/Xenix.cmake
@@ -1,2 +1,2 @@
-INCLUDE(Platform/UnixPaths)
+include(Platform/UnixPaths)
diff --git a/Modules/Platform/cl.cmake b/Modules/Platform/cl.cmake
deleted file mode 100644
index c0f014b58..000000000
--- a/Modules/Platform/cl.cmake
+++ /dev/null
@@ -1,62 +0,0 @@
-SET(CMAKE_LIBRARY_PATH_FLAG "-LIBPATH:")
-SET(CMAKE_LINK_LIBRARY_FLAG "")
-SET(MSVC 1)
-
-# hack: if a new cmake (which uses CMAKE__LINKER) runs on an old build tree
-# (where link was hardcoded) and where CMAKE_LINKER isn't in the cache
-# and still cmake didn't fail in CMakeFindBinUtils.cmake (because it isn't rerun)
-# hardcode CMAKE_LINKER here to link, so it behaves as it did before, Alex
-IF(NOT DEFINED CMAKE_LINKER)
- SET(CMAKE_LINKER link)
-ENDIF(NOT DEFINED CMAKE_LINKER)
-
-IF(CMAKE_VERBOSE_MAKEFILE)
- SET(CMAKE_CL_NOLOGO)
-ELSE(CMAKE_VERBOSE_MAKEFILE)
- SET(CMAKE_CL_NOLOGO "/nologo")
-ENDIF(CMAKE_VERBOSE_MAKEFILE)
-# create a shared C++ library
-SET(CMAKE_CXX_CREATE_SHARED_LIBRARY
- "<CMAKE_LINKER> ${CMAKE_CL_NOLOGO} <OBJECTS> ${CMAKE_START_TEMP_FILE} /out:<TARGET> /implib:<TARGET_IMPLIB> /pdb:<TARGET_PDB> /dll /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR> <LINK_FLAGS> <LINK_LIBRARIES> ${CMAKE_END_TEMP_FILE}")
-SET(CMAKE_CXX_CREATE_SHARED_MODULE ${CMAKE_CXX_CREATE_SHARED_LIBRARY})
-
-# create a C shared library
-SET(CMAKE_C_CREATE_SHARED_LIBRARY "${CMAKE_CXX_CREATE_SHARED_LIBRARY}")
-
-# create a C shared module
-SET(CMAKE_C_CREATE_SHARED_MODULE "${CMAKE_CXX_CREATE_SHARED_MODULE}")
-
-# create a C++ static library
-SET(CMAKE_CXX_CREATE_STATIC_LIBRARY "<CMAKE_LINKER> /lib ${CMAKE_CL_NOLOGO} <LINK_FLAGS> /out:<TARGET> <OBJECTS> ")
-
-# create a C static library
-SET(CMAKE_C_CREATE_STATIC_LIBRARY "${CMAKE_CXX_CREATE_STATIC_LIBRARY}")
-
-# compile a C++ file into an object file
-SET(CMAKE_CXX_COMPILE_OBJECT
- "<CMAKE_CXX_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO} <FLAGS> <DEFINES> /TP /Fo<OBJECT> /Fd<TARGET_PDB> -c <SOURCE>${CMAKE_END_TEMP_FILE}")
-
-# compile a C file into an object file
-SET(CMAKE_C_COMPILE_OBJECT
- "<CMAKE_C_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO} <FLAGS> <DEFINES> /Fo<OBJECT> /Fd<TARGET_PDB> -c <SOURCE>${CMAKE_END_TEMP_FILE}")
-
-SET(CMAKE_C_USE_RESPONSE_FILE_FOR_OBJECTS 1)
-SET(CMAKE_C_LINK_EXECUTABLE
- "<CMAKE_C_COMPILER> ${CMAKE_CL_NOLOGO} <OBJECTS> ${CMAKE_START_TEMP_FILE} <FLAGS> /Fe<TARGET> /Fd<TARGET_PDB> -link /implib:<TARGET_IMPLIB> /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}")
-
-SET(CMAKE_CXX_USE_RESPONSE_FILE_FOR_OBJECTS 1)
-SET(CMAKE_CXX_LINK_EXECUTABLE
- "<CMAKE_CXX_COMPILER> ${CMAKE_CL_NOLOGO} <OBJECTS> ${CMAKE_START_TEMP_FILE} <FLAGS> /Fe<TARGET> /Fd<TARGET_PDB> -link /implib:<TARGET_IMPLIB> /version:<TARGET_VERSION_MAJOR>.<TARGET_VERSION_MINOR> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <LINK_LIBRARIES>${CMAKE_END_TEMP_FILE}")
-
-SET(CMAKE_C_CREATE_PREPROCESSED_SOURCE
- "<CMAKE_C_COMPILER> > <PREPROCESSED_SOURCE> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO} <FLAGS> <DEFINES> -E <SOURCE>${CMAKE_END_TEMP_FILE}")
-
-SET(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE
- "<CMAKE_CXX_COMPILER> > <PREPROCESSED_SOURCE> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO} <FLAGS> <DEFINES> /TP -E <SOURCE>${CMAKE_END_TEMP_FILE}")
-
-SET(CMAKE_C_CREATE_ASSEMBLY_SOURCE
- "<CMAKE_C_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO} <FLAGS> /FAs /FoNUL /Fa<ASSEMBLY_SOURCE> /c <SOURCE>${CMAKE_END_TEMP_FILE}")
-
-SET(CMAKE_CXX_CREATE_ASSEMBLY_SOURCE
- "<CMAKE_CXX_COMPILER> ${CMAKE_START_TEMP_FILE} ${CMAKE_CL_NOLOGO} <FLAGS> /TP /FAs /FoNUL /Fa<ASSEMBLY_SOURCE> /c <SOURCE>${CMAKE_END_TEMP_FILE}")
-
diff --git a/Modules/Platform/eCos.cmake b/Modules/Platform/eCos.cmake
index b437c1a9b..a20382692 100644
--- a/Modules/Platform/eCos.cmake
+++ b/Modules/Platform/eCos.cmake
@@ -1,65 +1,65 @@
# support for eCos http://ecos.sourceware.org
# Guard against multiple inclusion, which e.g. leads to multiple calls to add_definition() #12987
-IF(__ECOS_CMAKE_INCLUDED)
- RETURN()
-ENDIF()
-SET(__ECOS_CMAKE_INCLUDED TRUE)
+if(__ECOS_CMAKE_INCLUDED)
+ return()
+endif()
+set(__ECOS_CMAKE_INCLUDED TRUE)
-SET(CMAKE_SHARED_LIBRARY_C_FLAGS "") # -pic
-SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "") # -shared
-SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") # +s, flag for exe link to use shared lib
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "") # -rpath
-SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP "") # : or empty
+set(CMAKE_SHARED_LIBRARY_C_FLAGS "") # -pic
+set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "") # -shared
+set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") # +s, flag for exe link to use shared lib
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "") # -rpath
+set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP "") # : or empty
-SET(CMAKE_LINK_LIBRARY_SUFFIX "")
-SET(CMAKE_STATIC_LIBRARY_PREFIX "lib")
-SET(CMAKE_STATIC_LIBRARY_SUFFIX ".a")
-SET(CMAKE_SHARED_LIBRARY_PREFIX "lib") # lib
-SET(CMAKE_SHARED_LIBRARY_SUFFIX ".a") # .a
-SET(CMAKE_EXECUTABLE_SUFFIX ".elf") # same suffix as if built using UseEcos.cmake
-SET(CMAKE_DL_LIBS "" )
+set(CMAKE_LINK_LIBRARY_SUFFIX "")
+set(CMAKE_STATIC_LIBRARY_PREFIX "lib")
+set(CMAKE_STATIC_LIBRARY_SUFFIX ".a")
+set(CMAKE_SHARED_LIBRARY_PREFIX "lib") # lib
+set(CMAKE_SHARED_LIBRARY_SUFFIX ".a") # .a
+set(CMAKE_EXECUTABLE_SUFFIX ".elf") # same suffix as if built using UseEcos.cmake
+set(CMAKE_DL_LIBS "" )
-SET(CMAKE_FIND_LIBRARY_PREFIXES "lib")
-SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
+set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
+set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
-INCLUDE(Platform/UnixPaths)
+include(Platform/UnixPaths)
# eCos can be built only with gcc
-GET_PROPERTY(_IN_TC GLOBAL PROPERTY IN_TRY_COMPILE)
-IF(CMAKE_C_COMPILER AND NOT "${CMAKE_C_COMPILER_ID}" MATCHES "GNU" AND NOT _IN_TC)
- MESSAGE(FATAL_ERROR "GNU gcc is required for eCos")
-ENDIF(CMAKE_C_COMPILER AND NOT "${CMAKE_C_COMPILER_ID}" MATCHES "GNU" AND NOT _IN_TC)
-IF(CMAKE_CXX_COMPILER AND NOT "${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU" AND NOT _IN_TC)
- MESSAGE(FATAL_ERROR "GNU g++ is required for eCos")
-ENDIF(CMAKE_CXX_COMPILER AND NOT "${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU" AND NOT _IN_TC)
+get_property(_IN_TC GLOBAL PROPERTY IN_TRY_COMPILE)
+if(CMAKE_C_COMPILER AND NOT "${CMAKE_C_COMPILER_ID}" MATCHES "GNU" AND NOT _IN_TC)
+ message(FATAL_ERROR "GNU gcc is required for eCos")
+endif()
+if(CMAKE_CXX_COMPILER AND NOT "${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU" AND NOT _IN_TC)
+ message(FATAL_ERROR "GNU g++ is required for eCos")
+endif()
# find eCos system files
-FIND_PATH(ECOS_SYSTEM_CONFIG_HEADER_PATH NAMES pkgconf/system.h)
-FIND_LIBRARY(ECOS_SYSTEM_TARGET_LIBRARY NAMES libtarget.a)
+find_path(ECOS_SYSTEM_CONFIG_HEADER_PATH NAMES pkgconf/system.h)
+find_library(ECOS_SYSTEM_TARGET_LIBRARY NAMES libtarget.a)
-IF(NOT ECOS_SYSTEM_CONFIG_HEADER_PATH)
- MESSAGE(FATAL_ERROR "Could not find eCos pkgconf/system.h. Build eCos first and set up CMAKE_FIND_ROOT_PATH correctly.")
-ENDIF(NOT ECOS_SYSTEM_CONFIG_HEADER_PATH)
+if(NOT ECOS_SYSTEM_CONFIG_HEADER_PATH)
+ message(FATAL_ERROR "Could not find eCos pkgconf/system.h. Build eCos first and set up CMAKE_FIND_ROOT_PATH correctly.")
+endif()
-IF(NOT ECOS_SYSTEM_TARGET_LIBRARY)
- MESSAGE(FATAL_ERROR "Could not find eCos \"libtarget.a\". Build eCos first and set up CMAKE_FIND_ROOT_PATH correctly.")
-ENDIF(NOT ECOS_SYSTEM_TARGET_LIBRARY)
+if(NOT ECOS_SYSTEM_TARGET_LIBRARY)
+ message(FATAL_ERROR "Could not find eCos \"libtarget.a\". Build eCos first and set up CMAKE_FIND_ROOT_PATH correctly.")
+endif()
-GET_FILENAME_COMPONENT(ECOS_LIBTARGET_DIRECTORY "${ECOS_SYSTEM_TARGET_LIBRARY}" PATH)
-INCLUDE_DIRECTORIES(${ECOS_SYSTEM_CONFIG_HEADER_PATH})
-ADD_DEFINITIONS(-D__ECOS__=1 -D__ECOS=1)
+get_filename_component(ECOS_LIBTARGET_DIRECTORY "${ECOS_SYSTEM_TARGET_LIBRARY}" PATH)
+include_directories(${ECOS_SYSTEM_CONFIG_HEADER_PATH})
+add_definitions(-D__ECOS__=1 -D__ECOS=1)
# special link commands for eCos executables
-SET(CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_CXX_COMPILER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> -nostdlib -nostartfiles -L${ECOS_LIBTARGET_DIRECTORY} -Ttarget.ld <LINK_LIBRARIES>")
-SET(CMAKE_C_LINK_EXECUTABLE "<CMAKE_C_COMPILER> <FLAGS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> -nostdlib -nostartfiles -L${ECOS_LIBTARGET_DIRECTORY} -Ttarget.ld <LINK_LIBRARIES>")
+set(CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_CXX_COMPILER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> -nostdlib -nostartfiles -L${ECOS_LIBTARGET_DIRECTORY} -Ttarget.ld <LINK_LIBRARIES>")
+set(CMAKE_C_LINK_EXECUTABLE "<CMAKE_C_COMPILER> <FLAGS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> -nostdlib -nostartfiles -L${ECOS_LIBTARGET_DIRECTORY} -Ttarget.ld <LINK_LIBRARIES>")
# eCos doesn't support shared libs
-SET_PROPERTY(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE)
+set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE)
-SET(CMAKE_CXX_LINK_SHARED_LIBRARY )
-SET(CMAKE_CXX_LINK_MODULE_LIBRARY )
-SET(CMAKE_C_LINK_SHARED_LIBRARY )
-SET(CMAKE_C_LINK_MODULE_LIBRARY )
+set(CMAKE_CXX_LINK_SHARED_LIBRARY )
+set(CMAKE_CXX_LINK_MODULE_LIBRARY )
+set(CMAKE_C_LINK_SHARED_LIBRARY )
+set(CMAKE_C_LINK_MODULE_LIBRARY )
diff --git a/Modules/Platform/gas.cmake b/Modules/Platform/gas.cmake
index c34aef17a..7d2bc8454 100644
--- a/Modules/Platform/gas.cmake
+++ b/Modules/Platform/gas.cmake
@@ -1,19 +1,19 @@
-IF(UNIX)
- SET(CMAKE_ASM${ASM_DIALECT}_OUTPUT_EXTENSION .o)
-ELSE(UNIX)
- SET(CMAKE_ASM${ASM_DIALECT}_OUTPUT_EXTENSION .obj)
-ENDIF(UNIX)
+if(UNIX)
+ set(CMAKE_ASM${ASM_DIALECT}_OUTPUT_EXTENSION .o)
+else()
+ set(CMAKE_ASM${ASM_DIALECT}_OUTPUT_EXTENSION .obj)
+endif()
-SET(CMAKE_ASM${ASM_DIALECT}_COMPILE_OBJECT "<CMAKE_ASM${ASM_DIALECT}_COMPILER> <FLAGS> -o <OBJECT> <SOURCE>")
+set(CMAKE_ASM${ASM_DIALECT}_COMPILE_OBJECT "<CMAKE_ASM${ASM_DIALECT}_COMPILER> <FLAGS> -o <OBJECT> <SOURCE>")
-SET(CMAKE_ASM${ASM_DIALECT}_CREATE_STATIC_LIBRARY
+set(CMAKE_ASM${ASM_DIALECT}_CREATE_STATIC_LIBRARY
"<CMAKE_AR> cr <TARGET> <LINK_FLAGS> <OBJECTS> "
"<CMAKE_RANLIB> <TARGET> ")
-SET(CMAKE_ASM${ASM_DIALECT}_LINK_EXECUTABLE
+set(CMAKE_ASM${ASM_DIALECT}_LINK_EXECUTABLE
"<CMAKE_LINKER> <FLAGS> <CMAKE_ASM${ASM_DIALECT}_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
# to be done
-SET(CMAKE_ASM${ASM_DIALECT}_CREATE_SHARED_LIBRARY)
-SET(CMAKE_ASM${ASM_DIALECT}_CREATE_SHARED_MODULE)
+set(CMAKE_ASM${ASM_DIALECT}_CREATE_SHARED_LIBRARY)
+set(CMAKE_ASM${ASM_DIALECT}_CREATE_SHARED_MODULE)
diff --git a/Modules/Platform/kFreeBSD.cmake b/Modules/Platform/kFreeBSD.cmake
index c1295fb0d..c1db2594d 100644
--- a/Modules/Platform/kFreeBSD.cmake
+++ b/Modules/Platform/kFreeBSD.cmake
@@ -1,4 +1,4 @@
# kFreeBSD looks just like Linux.
-INCLUDE(Platform/Linux)
+include(Platform/Linux)
-SET(CMAKE_LIBRARY_ARCHITECTURE_REGEX "[a-z0-9_]+(-[a-z0-9_]+)?-kfreebsd-gnu[a-z0-9_]*")
+set(CMAKE_LIBRARY_ARCHITECTURE_REGEX "[a-z0-9_]+(-[a-z0-9_]+)?-kfreebsd-gnu[a-z0-9_]*")
diff --git a/Modules/Platform/syllable.cmake b/Modules/Platform/syllable.cmake
index 2d11d08b3..69c108db0 100644
--- a/Modules/Platform/syllable.cmake
+++ b/Modules/Platform/syllable.cmake
@@ -9,25 +9,25 @@
# @bindir@/. and @bindir@/../lib are in DLL_PATH
-SET(CMAKE_DL_LIBS "dl")
-SET(CMAKE_C_COMPILE_OPTIONS_PIC "-fPIC")
-SET(CMAKE_C_COMPILE_OPTIONS_PIE "-fPIE")
-SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC") # -pic
-SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared") # -shared
-SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") # +s, flag for exe link to use shared lib
-SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
-#SET(CMAKE_EXE_EXPORTS_C_FLAG "-Wl,--export-dynamic")
+set(CMAKE_DL_LIBS "dl")
+set(CMAKE_C_COMPILE_OPTIONS_PIC "-fPIC")
+set(CMAKE_C_COMPILE_OPTIONS_PIE "-fPIE")
+set(CMAKE_SHARED_LIBRARY_C_FLAGS "-fPIC") # -pic
+set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-shared") # -shared
+set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") # +s, flag for exe link to use shared lib
+set(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-Wl,-soname,")
+#set(CMAKE_EXE_EXPORTS_C_FLAG "-Wl,--export-dynamic")
# Initialize C link type selection flags. These flags are used when
# building a shared library, shared module, or executable that links
# to other libraries to select whether to use the static or shared
# versions of the libraries.
-FOREACH(type SHARED_LIBRARY SHARED_MODULE EXE)
- SET(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Wl,-Bstatic")
- SET(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Wl,-Bdynamic")
-ENDFOREACH(type)
+foreach(type SHARED_LIBRARY SHARED_MODULE EXE)
+ set(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Wl,-Bstatic")
+ set(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Wl,-Bdynamic")
+endforeach()
-INCLUDE(Platform/UnixPaths)
+include(Platform/UnixPaths)
# these are Syllable specific:
-LIST(APPEND CMAKE_SYSTEM_PREFIX_PATH /usr/indexes)
+list(APPEND CMAKE_SYSTEM_PREFIX_PATH /usr/indexes)
diff --git a/Modules/ProcessorCount.cmake b/Modules/ProcessorCount.cmake
index eff4766b1..0d1dfda16 100644
--- a/Modules/ProcessorCount.cmake
+++ b/Modules/ProcessorCount.cmake
@@ -57,6 +57,7 @@ function(ProcessorCount var)
# Mac, FreeBSD, OpenBSD (systems with sysctl):
find_program(ProcessorCount_cmd_sysctl sysctl
PATHS /usr/sbin /sbin)
+ mark_as_advanced(ProcessorCount_cmd_sysctl)
if(ProcessorCount_cmd_sysctl)
execute_process(COMMAND ${ProcessorCount_cmd_sysctl} -n hw.ncpu
ERROR_QUIET
@@ -69,6 +70,7 @@ function(ProcessorCount var)
if(NOT count)
# Linux (systems with getconf):
find_program(ProcessorCount_cmd_getconf getconf)
+ mark_as_advanced(ProcessorCount_cmd_getconf)
if(ProcessorCount_cmd_getconf)
execute_process(COMMAND ${ProcessorCount_cmd_getconf} _NPROCESSORS_ONLN
ERROR_QUIET
@@ -82,6 +84,7 @@ function(ProcessorCount var)
# HPUX (systems with machinfo):
find_program(ProcessorCount_cmd_machinfo machinfo
PATHS /usr/contrib/bin)
+ mark_as_advanced(ProcessorCount_cmd_machinfo)
if(ProcessorCount_cmd_machinfo)
execute_process(COMMAND ${ProcessorCount_cmd_machinfo}
ERROR_QUIET
@@ -97,6 +100,7 @@ function(ProcessorCount var)
# IRIX (systems with hinv):
find_program(ProcessorCount_cmd_hinv hinv
PATHS /sbin)
+ mark_as_advanced(ProcessorCount_cmd_hinv)
if(ProcessorCount_cmd_hinv)
execute_process(COMMAND ${ProcessorCount_cmd_hinv}
ERROR_QUIET
@@ -112,6 +116,7 @@ function(ProcessorCount var)
# AIX (systems with lsconf):
find_program(ProcessorCount_cmd_lsconf lsconf
PATHS /usr/sbin)
+ mark_as_advanced(ProcessorCount_cmd_lsconf)
if(ProcessorCount_cmd_lsconf)
execute_process(COMMAND ${ProcessorCount_cmd_lsconf}
ERROR_QUIET
@@ -126,6 +131,7 @@ function(ProcessorCount var)
if(NOT count)
# QNX (systems with pidin):
find_program(ProcessorCount_cmd_pidin pidin)
+ mark_as_advanced(ProcessorCount_cmd_pidin)
if(ProcessorCount_cmd_pidin)
execute_process(COMMAND ${ProcessorCount_cmd_pidin} info
ERROR_QUIET
@@ -140,6 +146,7 @@ function(ProcessorCount var)
if(NOT count)
# Sun (systems where uname -X emits "NumCPU" in its output):
find_program(ProcessorCount_cmd_uname uname)
+ mark_as_advanced(ProcessorCount_cmd_uname)
if(ProcessorCount_cmd_uname)
execute_process(COMMAND ${ProcessorCount_cmd_uname} -X
ERROR_QUIET
diff --git a/Modules/Qt4ConfigDependentSettings.cmake b/Modules/Qt4ConfigDependentSettings.cmake
index 10af3bc95..6db5da18a 100644
--- a/Modules/Qt4ConfigDependentSettings.cmake
+++ b/Modules/Qt4ConfigDependentSettings.cmake
@@ -16,7 +16,7 @@
###############################################
#
-# configuration/system dependent settings
+# configuration/system dependent settings
#
###############################################
@@ -26,270 +26,270 @@
# 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 "")
-SET(QT_QTNETWORK_LIB_DEPENDENCIES "")
-SET(QT_QTOPENGL_LIB_DEPENDENCIES "")
-SET(QT_QTDBUS_LIB_DEPENDENCIES "")
-SET(QT_QTHELP_LIB_DEPENDENCIES ${QT_QTCLUCENE_LIBRARY})
+set(QT_QTGUI_LIB_DEPENDENCIES "")
+set(QT_QTCORE_LIB_DEPENDENCIES "")
+set(QT_QTNETWORK_LIB_DEPENDENCIES "")
+set(QT_QTOPENGL_LIB_DEPENDENCIES "")
+set(QT_QTDBUS_LIB_DEPENDENCIES "")
+set(QT_QTHELP_LIB_DEPENDENCIES ${QT_QTCLUCENE_LIBRARY})
-IF(Q_WS_WIN)
+if(Q_WS_WIN)
# On Windows, qconfig.pri has "shared" for shared library builds
- IF(NOT QT_CONFIG MATCHES "shared")
- SET(QT_IS_STATIC 1)
- ENDIF(NOT QT_CONFIG MATCHES "shared")
-ELSE(Q_WS_WIN)
+ if(NOT QT_CONFIG MATCHES "shared")
+ set(QT_IS_STATIC 1)
+ endif()
+else()
# On other platforms, check file extension to know if its static
- IF(QT_QTCORE_LIBRARY_RELEASE)
- GET_FILENAME_COMPONENT(qtcore_lib_ext "${QT_QTCORE_LIBRARY_RELEASE}" EXT)
- IF("${qtcore_lib_ext}" STREQUAL "${CMAKE_STATIC_LIBRARY_SUFFIX}")
- SET(QT_IS_STATIC 1)
- ENDIF("${qtcore_lib_ext}" STREQUAL "${CMAKE_STATIC_LIBRARY_SUFFIX}")
- ENDIF(QT_QTCORE_LIBRARY_RELEASE)
- IF(QT_QTCORE_LIBRARY_DEBUG)
- GET_FILENAME_COMPONENT(qtcore_lib_ext "${QT_QTCORE_LIBRARY_DEBUG}" EXT)
- IF(${qtcore_lib_ext} STREQUAL ${CMAKE_STATIC_LIBRARY_SUFFIX})
- SET(QT_IS_STATIC 1)
- ENDIF(${qtcore_lib_ext} STREQUAL ${CMAKE_STATIC_LIBRARY_SUFFIX})
- ENDIF(QT_QTCORE_LIBRARY_DEBUG)
-ENDIF(Q_WS_WIN)
+ if(QT_QTCORE_LIBRARY_RELEASE)
+ get_filename_component(qtcore_lib_ext "${QT_QTCORE_LIBRARY_RELEASE}" EXT)
+ if("${qtcore_lib_ext}" STREQUAL "${CMAKE_STATIC_LIBRARY_SUFFIX}")
+ set(QT_IS_STATIC 1)
+ endif()
+ endif()
+ if(QT_QTCORE_LIBRARY_DEBUG)
+ get_filename_component(qtcore_lib_ext "${QT_QTCORE_LIBRARY_DEBUG}" EXT)
+ if(${qtcore_lib_ext} STREQUAL ${CMAKE_STATIC_LIBRARY_SUFFIX})
+ set(QT_IS_STATIC 1)
+ endif()
+ endif()
+endif()
# build using shared Qt needs -DQT_DLL on Windows
-IF(Q_WS_WIN AND NOT QT_IS_STATIC)
- SET(QT_DEFINITIONS ${QT_DEFINITIONS} -DQT_DLL)
-ENDIF(Q_WS_WIN AND NOT QT_IS_STATIC)
+if(Q_WS_WIN AND NOT QT_IS_STATIC)
+ set(QT_DEFINITIONS ${QT_DEFINITIONS} -DQT_DLL)
+endif()
-IF(NOT QT_IS_STATIC)
- RETURN()
-ENDIF(NOT QT_IS_STATIC)
+if(NOT QT_IS_STATIC)
+ return()
+endif()
# QtOpenGL dependencies
find_package(OpenGL)
-SET (QT_QTOPENGL_LIB_DEPENDENCIES ${OPENGL_glu_LIBRARY} ${OPENGL_gl_LIBRARY})
+set (QT_QTOPENGL_LIB_DEPENDENCIES ${OPENGL_glu_LIBRARY} ${OPENGL_gl_LIBRARY})
## system png
-IF(QT_QCONFIG MATCHES "system-png")
+if(QT_QCONFIG MATCHES "system-png")
find_package(PNG)
- SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${PNG_LIBRARY})
-ENDIF(QT_QCONFIG MATCHES "system-png")
+ set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${PNG_LIBRARY})
+endif()
## system jpeg
-IF(QT_QCONFIG MATCHES "system-jpeg")
+if(QT_QCONFIG MATCHES "system-jpeg")
find_package(JPEG)
- SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${JPEG_LIBRARIES})
-ENDIF(QT_QCONFIG MATCHES "system-jpeg")
+ set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${JPEG_LIBRARIES})
+endif()
## system tiff
-IF(QT_QCONFIG MATCHES "system-tiff")
+if(QT_QCONFIG MATCHES "system-tiff")
find_package(TIFF)
- SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${TIFF_LIBRARIES})
-ENDIF(QT_QCONFIG MATCHES "system-tiff")
+ set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${TIFF_LIBRARIES})
+endif()
## system mng
-IF(QT_QCONFIG MATCHES "system-mng")
+if(QT_QCONFIG MATCHES "system-mng")
find_library(MNG_LIBRARY NAMES mng)
- SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${MNG_LIBRARY})
-ENDIF(QT_QCONFIG MATCHES "system-mng")
+ set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${MNG_LIBRARY})
+endif()
# for X11, get X11 library directory
-IF(Q_WS_X11)
- FIND_PACKAGE(X11)
-ENDIF(Q_WS_X11)
+if(Q_WS_X11)
+ find_package(X11)
+endif()
## X11 SM
-IF(QT_QCONFIG MATCHES "x11sm")
- IF(X11_SM_LIB AND X11_ICE_LIB)
- SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_SM_LIB} ${X11_ICE_LIB})
- ENDIF(X11_SM_LIB AND X11_ICE_LIB)
-ENDIF(QT_QCONFIG MATCHES "x11sm")
+if(QT_QCONFIG MATCHES "x11sm")
+ if(X11_SM_LIB AND X11_ICE_LIB)
+ set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_SM_LIB} ${X11_ICE_LIB})
+ endif()
+endif()
## Xi
-IF(QT_QCONFIG MATCHES "tablet")
- IF(X11_Xi_LIB)
- SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_Xi_LIB})
- ENDIF(X11_Xi_LIB)
-ENDIF(QT_QCONFIG MATCHES "tablet")
+if(QT_QCONFIG MATCHES "tablet")
+ if(X11_Xi_LIB)
+ set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_Xi_LIB})
+ endif()
+endif()
## Xrender
-IF(QT_QCONFIG MATCHES "xrender")
- IF(X11_Xrender_LIB)
- SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_Xrender_LIB})
- ENDIF(X11_Xrender_LIB)
-ENDIF(QT_QCONFIG MATCHES "xrender")
+if(QT_QCONFIG MATCHES "xrender")
+ if(X11_Xrender_LIB)
+ set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_Xrender_LIB})
+ endif()
+endif()
## Xrandr
-IF(QT_QCONFIG MATCHES "xrandr")
- IF(X11_Xrandr_LIB)
- SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_Xrandr_LIB})
- ENDIF(X11_Xrandr_LIB)
-ENDIF(QT_QCONFIG MATCHES "xrandr")
+if(QT_QCONFIG MATCHES "xrandr")
+ if(X11_Xrandr_LIB)
+ set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_Xrandr_LIB})
+ endif()
+endif()
## Xcursor
-IF(QT_QCONFIG MATCHES "xcursor")
- IF(X11_Xcursor_LIB)
- SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_Xcursor_LIB})
- ENDIF(X11_Xcursor_LIB)
-ENDIF(QT_QCONFIG MATCHES "xcursor")
+if(QT_QCONFIG MATCHES "xcursor")
+ if(X11_Xcursor_LIB)
+ set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_Xcursor_LIB})
+ endif()
+endif()
## Xinerama
-IF(QT_QCONFIG MATCHES "xinerama")
- IF(X11_Xinerama_LIB)
- SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_Xinerama_LIB})
- ENDIF(X11_Xinerama_LIB)
-ENDIF(QT_QCONFIG MATCHES "xinerama")
+if(QT_QCONFIG MATCHES "xinerama")
+ if(X11_Xinerama_LIB)
+ set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_Xinerama_LIB})
+ endif()
+endif()
## Xfixes
-IF(QT_QCONFIG MATCHES "xfixes")
- IF(X11_Xfixes_LIB)
- SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_Xfixes_LIB})
- ENDIF(X11_Xfixes_LIB)
-ENDIF(QT_QCONFIG MATCHES "xfixes")
+if(QT_QCONFIG MATCHES "xfixes")
+ if(X11_Xfixes_LIB)
+ set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_Xfixes_LIB})
+ endif()
+endif()
## fontconfig
-IF(QT_QCONFIG MATCHES "fontconfig")
- FIND_LIBRARY(QT_FONTCONFIG_LIBRARY NAMES fontconfig)
- 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")
+if(QT_QCONFIG MATCHES "fontconfig")
+ find_library(QT_FONTCONFIG_LIBRARY NAMES fontconfig)
+ mark_as_advanced(QT_FONTCONFIG_LIBRARY)
+ if(QT_FONTCONFIG_LIBRARY)
+ set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${QT_FONTCONFIG_LIBRARY})
+ endif()
+endif()
## system-freetype
-IF(QT_QCONFIG MATCHES "system-freetype")
+if(QT_QCONFIG MATCHES "system-freetype")
find_package(Freetype)
if(FREETYPE_LIBRARIES)
- SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${FREETYPE_LIBRARIES})
- endif(FREETYPE_LIBRARIES)
-ENDIF(QT_QCONFIG MATCHES "system-freetype")
+ set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${FREETYPE_LIBRARIES})
+ endif()
+endif()
## system-zlib
-IF(QT_QCONFIG MATCHES "system-zlib")
+if(QT_QCONFIG MATCHES "system-zlib")
find_package(ZLIB)
- SET(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ${ZLIB_LIBRARIES})
-ENDIF(QT_QCONFIG MATCHES "system-zlib")
+ set(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ${ZLIB_LIBRARIES})
+endif()
## openssl
-IF(NOT Q_WS_WIN)
- SET(_QT_NEED_OPENSSL 0)
- IF(QT_VERSION_MINOR LESS 4 AND QT_QCONFIG MATCHES "openssl")
- SET(_QT_NEED_OPENSSL 1)
- ENDIF(QT_VERSION_MINOR LESS 4 AND QT_QCONFIG MATCHES "openssl")
- IF(QT_VERSION_MINOR GREATER 3 AND QT_QCONFIG MATCHES "openssl-linked")
- SET(_QT_NEED_OPENSSL 1)
- ENDIF(QT_VERSION_MINOR GREATER 3 AND QT_QCONFIG MATCHES "openssl-linked")
- IF(_QT_NEED_OPENSSL)
- FIND_PACKAGE(OpenSSL)
- IF(OPENSSL_LIBRARIES)
- SET(QT_QTNETWORK_LIB_DEPENDENCIES ${QT_QTNETWORK_LIB_DEPENDENCIES} ${OPENSSL_LIBRARIES})
- ENDIF(OPENSSL_LIBRARIES)
- ENDIF(_QT_NEED_OPENSSL)
-ENDIF(NOT Q_WS_WIN)
+if(NOT Q_WS_WIN)
+ set(_QT_NEED_OPENSSL 0)
+ if(QT_VERSION_MINOR LESS 4 AND QT_QCONFIG MATCHES "openssl")
+ set(_QT_NEED_OPENSSL 1)
+ endif()
+ if(QT_VERSION_MINOR GREATER 3 AND QT_QCONFIG MATCHES "openssl-linked")
+ set(_QT_NEED_OPENSSL 1)
+ endif()
+ if(_QT_NEED_OPENSSL)
+ find_package(OpenSSL)
+ if(OPENSSL_LIBRARIES)
+ set(QT_QTNETWORK_LIB_DEPENDENCIES ${QT_QTNETWORK_LIB_DEPENDENCIES} ${OPENSSL_LIBRARIES})
+ endif()
+ endif()
+endif()
## dbus
-IF(QT_QCONFIG MATCHES "dbus")
+if(QT_QCONFIG MATCHES "dbus")
- FIND_LIBRARY(QT_DBUS_LIBRARY NAMES dbus-1 )
- IF(QT_DBUS_LIBRARY)
- SET(QT_QTDBUS_LIB_DEPENDENCIES ${QT_QTDBUS_LIB_DEPENDENCIES} ${QT_DBUS_LIBRARY})
- ENDIF(QT_DBUS_LIBRARY)
- MARK_AS_ADVANCED(QT_DBUS_LIBRARY)
+ find_library(QT_DBUS_LIBRARY NAMES dbus-1 )
+ if(QT_DBUS_LIBRARY)
+ set(QT_QTDBUS_LIB_DEPENDENCIES ${QT_QTDBUS_LIB_DEPENDENCIES} ${QT_DBUS_LIBRARY})
+ endif()
+ mark_as_advanced(QT_DBUS_LIBRARY)
-ENDIF(QT_QCONFIG MATCHES "dbus")
+endif()
## glib
-IF(QT_QCONFIG MATCHES "glib")
+if(QT_QCONFIG MATCHES "glib")
# Qt 4.2.0+ uses glib-2.0
- FIND_LIBRARY(QT_GLIB_LIBRARY NAMES glib-2.0 )
- FIND_LIBRARY(QT_GTHREAD_LIBRARY NAMES gthread-2.0 )
- MARK_AS_ADVANCED(QT_GLIB_LIBRARY)
- MARK_AS_ADVANCED(QT_GTHREAD_LIBRARY)
+ find_library(QT_GLIB_LIBRARY NAMES glib-2.0 )
+ find_library(QT_GTHREAD_LIBRARY NAMES gthread-2.0 )
+ mark_as_advanced(QT_GLIB_LIBRARY)
+ mark_as_advanced(QT_GTHREAD_LIBRARY)
- IF(QT_GLIB_LIBRARY AND QT_GTHREAD_LIBRARY)
- SET(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES}
+ if(QT_GLIB_LIBRARY AND QT_GTHREAD_LIBRARY)
+ set(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES}
${QT_GTHREAD_LIBRARY} ${QT_GLIB_LIBRARY})
- ENDIF(QT_GLIB_LIBRARY AND QT_GTHREAD_LIBRARY)
+ endif()
# Qt 4.5+ also links to gobject-2.0
- IF(QT_VERSION_MINOR GREATER 4)
- FIND_LIBRARY(QT_GOBJECT_LIBRARY NAMES gobject-2.0 PATHS ${_glib_query_output} )
- MARK_AS_ADVANCED(QT_GOBJECT_LIBRARY)
+ if(QT_VERSION_MINOR GREATER 4)
+ find_library(QT_GOBJECT_LIBRARY NAMES gobject-2.0 PATHS ${_glib_query_output} )
+ mark_as_advanced(QT_GOBJECT_LIBRARY)
- IF(QT_GOBJECT_LIBRARY)
- SET(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES}
+ if(QT_GOBJECT_LIBRARY)
+ set(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES}
${QT_GOBJECT_LIBRARY})
- ENDIF(QT_GOBJECT_LIBRARY)
- ENDIF(QT_VERSION_MINOR GREATER 4)
+ endif()
+ endif()
-ENDIF(QT_QCONFIG MATCHES "glib")
+endif()
## clock-monotonic, just see if we need to link with rt
-IF(QT_QCONFIG MATCHES "clock-monotonic")
- SET(CMAKE_REQUIRED_LIBRARIES_SAVE ${CMAKE_REQUIRED_LIBRARIES})
- SET(CMAKE_REQUIRED_LIBRARIES rt)
+if(QT_QCONFIG MATCHES "clock-monotonic")
+ set(CMAKE_REQUIRED_LIBRARIES_SAVE ${CMAKE_REQUIRED_LIBRARIES})
+ set(CMAKE_REQUIRED_LIBRARIES rt)
CHECK_SYMBOL_EXISTS(_POSIX_TIMERS "unistd.h;time.h" QT_POSIX_TIMERS)
- SET(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_SAVE})
- IF(QT_POSIX_TIMERS)
- FIND_LIBRARY(QT_RT_LIBRARY NAMES rt)
- 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")
-
-
-IF(Q_WS_X11)
+ set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_SAVE})
+ if(QT_POSIX_TIMERS)
+ find_library(QT_RT_LIBRARY NAMES rt)
+ mark_as_advanced(QT_RT_LIBRARY)
+ if(QT_RT_LIBRARY)
+ set(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ${QT_RT_LIBRARY})
+ endif()
+ endif()
+endif()
+
+
+if(Q_WS_X11)
# X11 libraries Qt always depends on
- SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_Xext_LIB} ${X11_X11_LIB})
+ set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} ${X11_Xext_LIB} ${X11_X11_LIB})
set(CMAKE_THREAD_PREFER_PTHREADS 1)
find_package(Threads)
if(CMAKE_USE_PTHREADS_INIT)
- SET(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ${CMAKE_THREAD_LIBS_INIT})
- endif(CMAKE_USE_PTHREADS_INIT)
+ set(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ${CMAKE_THREAD_LIBS_INIT})
+ endif()
- SET (QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ${CMAKE_DL_LIBS})
+ set (QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ${CMAKE_DL_LIBS})
-ENDIF(Q_WS_X11)
+endif()
-IF(Q_WS_WIN)
- SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} imm32 winmm)
- SET(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ws2_32)
-ENDIF(Q_WS_WIN)
+if(Q_WS_WIN)
+ set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} imm32 winmm)
+ set(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} ws2_32)
+endif()
-IF(Q_WS_MAC)
- SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} "-framework Carbon")
+if(Q_WS_MAC)
+ set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} "-framework Carbon")
# Qt 4.0, 4.1, 4.2 use QuickTime
- IF(QT_VERSION_MINOR LESS 3)
- SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} "-framework QuickTime")
- ENDIF(QT_VERSION_MINOR LESS 3)
+ if(QT_VERSION_MINOR LESS 3)
+ set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} "-framework QuickTime")
+ endif()
# Qt 4.2+ use AppKit
- IF(QT_VERSION_MINOR GREATER 1)
- SET(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} "-framework AppKit")
- ENDIF(QT_VERSION_MINOR GREATER 1)
+ if(QT_VERSION_MINOR GREATER 1)
+ set(QT_QTGUI_LIB_DEPENDENCIES ${QT_QTGUI_LIB_DEPENDENCIES} "-framework AppKit")
+ endif()
- SET(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} "-framework ApplicationServices")
-ENDIF(Q_WS_MAC)
+ set(QT_QTCORE_LIB_DEPENDENCIES ${QT_QTCORE_LIB_DEPENDENCIES} "-framework ApplicationServices")
+endif()
diff --git a/Modules/Qt4Macros.cmake b/Modules/Qt4Macros.cmake
index 68f3c8085..251d57c3d 100644
--- a/Modules/Qt4Macros.cmake
+++ b/Modules/Qt4Macros.cmake
@@ -21,322 +21,324 @@
######################################
-MACRO (QT4_EXTRACT_OPTIONS _qt4_files _qt4_options)
- SET(${_qt4_files})
- SET(${_qt4_options})
- SET(_QT4_DOING_OPTIONS FALSE)
- FOREACH(_currentArg ${ARGN})
- IF ("${_currentArg}" STREQUAL "OPTIONS")
- SET(_QT4_DOING_OPTIONS TRUE)
- ELSE ("${_currentArg}" STREQUAL "OPTIONS")
- IF(_QT4_DOING_OPTIONS)
- LIST(APPEND ${_qt4_options} "${_currentArg}")
- ELSE(_QT4_DOING_OPTIONS)
- LIST(APPEND ${_qt4_files} "${_currentArg}")
- ENDIF(_QT4_DOING_OPTIONS)
- ENDIF ("${_currentArg}" STREQUAL "OPTIONS")
- ENDFOREACH(_currentArg)
-ENDMACRO (QT4_EXTRACT_OPTIONS)
+macro (QT4_EXTRACT_OPTIONS _qt4_files _qt4_options)
+ set(${_qt4_files})
+ set(${_qt4_options})
+ set(_QT4_DOING_OPTIONS FALSE)
+ foreach(_currentArg ${ARGN})
+ if ("${_currentArg}" STREQUAL "OPTIONS")
+ set(_QT4_DOING_OPTIONS TRUE)
+ else ()
+ if(_QT4_DOING_OPTIONS)
+ list(APPEND ${_qt4_options} "${_currentArg}")
+ else()
+ list(APPEND ${_qt4_files} "${_currentArg}")
+ endif()
+ endif ()
+ endforeach()
+endmacro ()
# macro used to create the names of output files preserving relative dirs
-MACRO (QT4_MAKE_OUTPUT_FILE infile prefix ext outfile )
- STRING(LENGTH ${CMAKE_CURRENT_BINARY_DIR} _binlength)
- STRING(LENGTH ${infile} _infileLength)
- SET(_checkinfile ${CMAKE_CURRENT_SOURCE_DIR})
- IF(_infileLength GREATER _binlength)
- STRING(SUBSTRING "${infile}" 0 ${_binlength} _checkinfile)
- IF(_checkinfile STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
- FILE(RELATIVE_PATH rel ${CMAKE_CURRENT_BINARY_DIR} ${infile})
- ELSE(_checkinfile STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
- FILE(RELATIVE_PATH rel ${CMAKE_CURRENT_SOURCE_DIR} ${infile})
- ENDIF(_checkinfile STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
- ELSE(_infileLength GREATER _binlength)
- FILE(RELATIVE_PATH rel ${CMAKE_CURRENT_SOURCE_DIR} ${infile})
- ENDIF(_infileLength GREATER _binlength)
- IF(WIN32 AND rel MATCHES "^[a-zA-Z]:") # absolute path
- STRING(REGEX REPLACE "^([a-zA-Z]):(.*)$" "\\1_\\2" rel "${rel}")
- ENDIF(WIN32 AND rel MATCHES "^[a-zA-Z]:")
- 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_FLAGS _moc_flags)
- SET(${_moc_flags})
- GET_DIRECTORY_PROPERTY(_inc_DIRS INCLUDE_DIRECTORIES)
-
- FOREACH(_current ${_inc_DIRS})
- IF("${_current}" MATCHES "\\.framework/?$")
- STRING(REGEX REPLACE "/[^/]+\\.framework" "" framework_path "${_current}")
- SET(${_moc_flags} ${${_moc_flags}} "-F${framework_path}")
- ELSE("${_current}" MATCHES "\\.framework/?$")
- SET(${_moc_flags} ${${_moc_flags}} "-I${_current}")
- ENDIF("${_current}" MATCHES "\\.framework/?$")
- ENDFOREACH(_current ${_inc_DIRS})
-
- GET_DIRECTORY_PROPERTY(_defines COMPILE_DEFINITIONS)
- FOREACH(_current ${_defines})
- SET(${_moc_flags} ${${_moc_flags}} "-D${_current}")
- ENDFOREACH(_current ${_defines})
-
- IF(Q_WS_WIN)
- SET(${_moc_flags} ${${_moc_flags}} -DWIN32)
- ENDIF(Q_WS_WIN)
-
-ENDMACRO(QT4_GET_MOC_FLAGS)
+macro (QT4_MAKE_OUTPUT_FILE infile prefix ext outfile )
+ string(LENGTH ${CMAKE_CURRENT_BINARY_DIR} _binlength)
+ string(LENGTH ${infile} _infileLength)
+ set(_checkinfile ${CMAKE_CURRENT_SOURCE_DIR})
+ if(_infileLength GREATER _binlength)
+ string(SUBSTRING "${infile}" 0 ${_binlength} _checkinfile)
+ if(_checkinfile STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
+ file(RELATIVE_PATH rel ${CMAKE_CURRENT_BINARY_DIR} ${infile})
+ else()
+ file(RELATIVE_PATH rel ${CMAKE_CURRENT_SOURCE_DIR} ${infile})
+ endif()
+ else()
+ file(RELATIVE_PATH rel ${CMAKE_CURRENT_SOURCE_DIR} ${infile})
+ endif()
+ if(WIN32 AND rel MATCHES "^[a-zA-Z]:") # absolute path
+ string(REGEX REPLACE "^([a-zA-Z]):(.*)$" "\\1_\\2" rel "${rel}")
+ endif()
+ 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 ()
+
+
+macro (QT4_GET_MOC_FLAGS _moc_flags)
+ set(${_moc_flags})
+ get_directory_property(_inc_DIRS INCLUDE_DIRECTORIES)
+
+ foreach(_current ${_inc_DIRS})
+ if("${_current}" MATCHES "\\.framework/?$")
+ string(REGEX REPLACE "/[^/]+\\.framework" "" framework_path "${_current}")
+ set(${_moc_flags} ${${_moc_flags}} "-F${framework_path}")
+ else()
+ set(${_moc_flags} ${${_moc_flags}} "-I${_current}")
+ endif()
+ endforeach()
+
+ get_directory_property(_defines COMPILE_DEFINITIONS)
+ foreach(_current ${_defines})
+ set(${_moc_flags} ${${_moc_flags}} "-D${_current}")
+ endforeach()
+
+ if(Q_WS_WIN)
+ set(${_moc_flags} ${${_moc_flags}} -DWIN32)
+ endif()
+
+endmacro()
# helper macro to set up a moc rule
-MACRO (QT4_CREATE_MOC_COMMAND infile outfile moc_flags 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)
+ if (WIN32)
# Pass the parameters in a file. Set the working directory to
# be that containing the parameters file and reference it by
# just the file name. This is necessary because the moc tool on
# MinGW builds does not seem to handle spaces in the path to the
# file given with the @ syntax.
- GET_FILENAME_COMPONENT(_moc_outfile_name "${outfile}" NAME)
- GET_FILENAME_COMPONENT(_moc_outfile_dir "${outfile}" PATH)
- IF(_moc_outfile_dir)
- SET(_moc_working_dir WORKING_DIRECTORY ${_moc_outfile_dir})
- ENDIF(_moc_outfile_dir)
- SET (_moc_parameters_file ${outfile}_parameters)
- SET (_moc_parameters ${moc_flags} ${moc_options} -o "${outfile}" "${infile}")
- STRING (REPLACE ";" "\n" _moc_parameters "${_moc_parameters}")
- FILE (WRITE ${_moc_parameters_file} "${_moc_parameters}")
- ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
+ get_filename_component(_moc_outfile_name "${outfile}" NAME)
+ get_filename_component(_moc_outfile_dir "${outfile}" PATH)
+ if(_moc_outfile_dir)
+ set(_moc_working_dir WORKING_DIRECTORY ${_moc_outfile_dir})
+ endif()
+ set (_moc_parameters_file ${outfile}_parameters)
+ set (_moc_parameters ${moc_flags} ${moc_options} -o "${outfile}" "${infile}")
+ string (REPLACE ";" "\n" _moc_parameters "${_moc_parameters}")
+ file (WRITE ${_moc_parameters_file} "${_moc_parameters}")
+ add_custom_command(OUTPUT ${outfile}
COMMAND ${QT_MOC_EXECUTABLE} @${_moc_outfile_name}_parameters
DEPENDS ${infile}
${_moc_working_dir}
VERBATIM)
- ELSE (WIN32)
- ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
+ else ()
+ add_custom_command(OUTPUT ${outfile}
COMMAND ${QT_MOC_EXECUTABLE}
ARGS ${moc_flags} ${moc_options} -o ${outfile} ${infile}
DEPENDS ${infile} VERBATIM)
- ENDIF (WIN32)
-ENDMACRO (QT4_CREATE_MOC_COMMAND)
+ endif ()
+endmacro ()
-MACRO (QT4_GENERATE_MOC infile outfile )
+macro (QT4_GENERATE_MOC infile outfile )
# get include dirs and flags
QT4_GET_MOC_FLAGS(moc_flags)
- GET_FILENAME_COMPONENT(abs_infile ${infile} ABSOLUTE)
- SET(_outfile "${outfile}")
- IF(NOT IS_ABSOLUTE "${outfile}")
- SET(_outfile "${CMAKE_CURRENT_BINARY_DIR}/${outfile}")
- ENDIF(NOT IS_ABSOLUTE "${outfile}")
+ get_filename_component(abs_infile ${infile} ABSOLUTE)
+ set(_outfile "${outfile}")
+ if(NOT IS_ABSOLUTE "${outfile}")
+ set(_outfile "${CMAKE_CURRENT_BINARY_DIR}/${outfile}")
+ endif()
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)
+ set_source_files_properties(${outfile} PROPERTIES SKIP_AUTOMOC TRUE) # dont run automoc on this file
+endmacro ()
# QT4_WRAP_CPP(outfiles inputfile ... )
-MACRO (QT4_WRAP_CPP outfiles )
+macro (QT4_WRAP_CPP outfiles )
# get include dirs
QT4_GET_MOC_FLAGS(moc_flags)
QT4_EXTRACT_OPTIONS(moc_files moc_options ${ARGN})
- FOREACH (it ${moc_files})
- GET_FILENAME_COMPONENT(it ${it} ABSOLUTE)
+ 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_flags}" "${moc_options}")
- SET(${outfiles} ${${outfiles}} ${outfile})
- ENDFOREACH(it)
+ set(${outfiles} ${${outfiles}} ${outfile})
+ endforeach()
-ENDMACRO (QT4_WRAP_CPP)
+endmacro ()
# QT4_WRAP_UI(outfiles inputfile ... )
-MACRO (QT4_WRAP_UI outfiles )
+macro (QT4_WRAP_UI outfiles )
QT4_EXTRACT_OPTIONS(ui_files ui_options ${ARGN})
- FOREACH (it ${ui_files})
- GET_FILENAME_COMPONENT(outfile ${it} NAME_WE)
- GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
- SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/ui_${outfile}.h)
- ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
+ foreach (it ${ui_files})
+ get_filename_component(outfile ${it} NAME_WE)
+ get_filename_component(infile ${it} ABSOLUTE)
+ set(outfile ${CMAKE_CURRENT_BINARY_DIR}/ui_${outfile}.h)
+ add_custom_command(OUTPUT ${outfile}
COMMAND ${QT_UIC_EXECUTABLE}
ARGS ${ui_options} -o ${outfile} ${infile}
MAIN_DEPENDENCY ${infile} VERBATIM)
- SET(${outfiles} ${${outfiles}} ${outfile})
- ENDFOREACH (it)
+ set(${outfiles} ${${outfiles}} ${outfile})
+ endforeach ()
-ENDMACRO (QT4_WRAP_UI)
+endmacro ()
# QT4_ADD_RESOURCES(outfiles inputfile ... )
-MACRO (QT4_ADD_RESOURCES outfiles )
+macro (QT4_ADD_RESOURCES outfiles )
QT4_EXTRACT_OPTIONS(rcc_files rcc_options ${ARGN})
- FOREACH (it ${rcc_files})
- GET_FILENAME_COMPONENT(outfilename ${it} NAME_WE)
- GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
- GET_FILENAME_COMPONENT(rc_path ${infile} PATH)
- SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/qrc_${outfilename}.cxx)
+ foreach (it ${rcc_files})
+ get_filename_component(outfilename ${it} NAME_WE)
+ get_filename_component(infile ${it} ABSOLUTE)
+ get_filename_component(rc_path ${infile} PATH)
+ set(outfile ${CMAKE_CURRENT_BINARY_DIR}/qrc_${outfilename}.cxx)
- SET(_RC_DEPENDS)
- IF(EXISTS "${infile}")
+ set(_RC_DEPENDS)
+ if(EXISTS "${infile}")
# parse file for dependencies
# all files are absolute paths or relative to the location of the qrc file
- FILE(READ "${infile}" _RC_FILE_CONTENTS)
- STRING(REGEX MATCHALL "<file[^<]+" _RC_FILES "${_RC_FILE_CONTENTS}")
- FOREACH(_RC_FILE ${_RC_FILES})
- STRING(REGEX REPLACE "^<file[^>]*>" "" _RC_FILE "${_RC_FILE}")
- IF(NOT IS_ABSOLUTE "${_RC_FILE}")
- SET(_RC_FILE "${rc_path}/${_RC_FILE}")
- ENDIF(NOT IS_ABSOLUTE "${_RC_FILE}")
- SET(_RC_DEPENDS ${_RC_DEPENDS} "${_RC_FILE}")
- ENDFOREACH(_RC_FILE)
+ file(READ "${infile}" _RC_FILE_CONTENTS)
+ string(REGEX MATCHALL "<file[^<]+" _RC_FILES "${_RC_FILE_CONTENTS}")
+ foreach(_RC_FILE ${_RC_FILES})
+ string(REGEX REPLACE "^<file[^>]*>" "" _RC_FILE "${_RC_FILE}")
+ if(NOT IS_ABSOLUTE "${_RC_FILE}")
+ set(_RC_FILE "${rc_path}/${_RC_FILE}")
+ endif()
+ set(_RC_DEPENDS ${_RC_DEPENDS} "${_RC_FILE}")
+ endforeach()
+ unset(_RC_FILES)
+ unset(_RC_FILE_CONTENTS)
# Since this cmake macro is doing the dependency scanning for these files,
# let's make a configured file and add it as a dependency so cmake is run
# again when dependencies need to be recomputed.
QT4_MAKE_OUTPUT_FILE("${infile}" "" "qrc.depends" out_depends)
- CONFIGURE_FILE("${infile}" "${out_depends}" COPY_ONLY)
- ELSE(EXISTS "${infile}")
+ configure_file("${infile}" "${out_depends}" COPY_ONLY)
+ else()
# The .qrc file does not exist (yet). Let's add a dependency and hope
# that it will be generated later
- SET(out_depends)
- ENDIF(EXISTS "${infile}")
+ set(out_depends)
+ endif()
- ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
+ add_custom_command(OUTPUT ${outfile}
COMMAND ${QT_RCC_EXECUTABLE}
ARGS ${rcc_options} -name ${outfilename} -o ${outfile} ${infile}
MAIN_DEPENDENCY ${infile}
DEPENDS ${_RC_DEPENDS} "${out_depends}" VERBATIM)
- SET(${outfiles} ${${outfiles}} ${outfile})
- ENDFOREACH (it)
+ set(${outfiles} ${${outfiles}} ${outfile})
+ endforeach ()
-ENDMACRO (QT4_ADD_RESOURCES)
+endmacro ()
-MACRO(QT4_ADD_DBUS_INTERFACE _sources _interface _basename)
- GET_FILENAME_COMPONENT(_infile ${_interface} ABSOLUTE)
- SET(_header "${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h")
- SET(_impl "${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp")
- SET(_moc "${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc")
+macro(QT4_ADD_DBUS_INTERFACE _sources _interface _basename)
+ get_filename_component(_infile ${_interface} ABSOLUTE)
+ set(_header "${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h")
+ set(_impl "${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp")
+ set(_moc "${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc")
- GET_SOURCE_FILE_PROPERTY(_nonamespace ${_interface} NO_NAMESPACE)
- IF(_nonamespace)
- SET(_params -N -m)
- ELSE(_nonamespace)
- SET(_params -m)
- ENDIF(_nonamespace)
+ get_source_file_property(_nonamespace ${_interface} NO_NAMESPACE)
+ if(_nonamespace)
+ set(_params -N -m)
+ else()
+ set(_params -m)
+ endif()
- GET_SOURCE_FILE_PROPERTY(_classname ${_interface} CLASSNAME)
- IF(_classname)
- SET(_params ${_params} -c ${_classname})
- ENDIF(_classname)
+ get_source_file_property(_classname ${_interface} CLASSNAME)
+ if(_classname)
+ set(_params ${_params} -c ${_classname})
+ endif()
- GET_SOURCE_FILE_PROPERTY(_include ${_interface} INCLUDE)
- IF(_include)
- SET(_params ${_params} -i ${_include})
- ENDIF(_include)
+ get_source_file_property(_include ${_interface} INCLUDE)
+ if(_include)
+ set(_params ${_params} -i ${_include})
+ endif()
- ADD_CUSTOM_COMMAND(OUTPUT "${_impl}" "${_header}"
+ add_custom_command(OUTPUT "${_impl}" "${_header}"
COMMAND ${QT_DBUSXML2CPP_EXECUTABLE} ${_params} -p ${_basename} ${_infile}
DEPENDS ${_infile} VERBATIM)
- SET_SOURCE_FILES_PROPERTIES("${_impl}" PROPERTIES SKIP_AUTOMOC TRUE)
+ set_source_files_properties("${_impl}" PROPERTIES SKIP_AUTOMOC TRUE)
QT4_GENERATE_MOC("${_header}" "${_moc}")
- LIST(APPEND ${_sources} "${_impl}" "${_header}" "${_moc}")
+ list(APPEND ${_sources} "${_impl}" "${_header}" "${_moc}")
MACRO_ADD_FILE_DEPENDENCIES("${_impl}" "${_moc}")
-ENDMACRO(QT4_ADD_DBUS_INTERFACE)
+endmacro()
-MACRO(QT4_ADD_DBUS_INTERFACES _sources)
- FOREACH (_current_FILE ${ARGN})
- GET_FILENAME_COMPONENT(_infile ${_current_FILE} ABSOLUTE)
- GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME)
+macro(QT4_ADD_DBUS_INTERFACES _sources)
+ foreach (_current_FILE ${ARGN})
+ get_filename_component(_infile ${_current_FILE} ABSOLUTE)
+ get_filename_component(_basename ${_current_FILE} NAME)
# get the part before the ".xml" suffix
- STRING(TOLOWER ${_basename} _basename)
- STRING(REGEX REPLACE "(.*\\.)?([^\\.]+)\\.xml" "\\2" _basename ${_basename})
+ string(TOLOWER ${_basename} _basename)
+ string(REGEX REPLACE "(.*\\.)?([^\\.]+)\\.xml" "\\2" _basename ${_basename})
QT4_ADD_DBUS_INTERFACE(${_sources} ${_infile} ${_basename}interface)
- ENDFOREACH (_current_FILE)
-ENDMACRO(QT4_ADD_DBUS_INTERFACES)
+ endforeach ()
+endmacro()
-MACRO(QT4_GENERATE_DBUS_INTERFACE _header) # _customName OPTIONS -some -options )
+macro(QT4_GENERATE_DBUS_INTERFACE _header) # _customName OPTIONS -some -options )
QT4_EXTRACT_OPTIONS(_customName _qt4_dbus_options ${ARGN})
- GET_FILENAME_COMPONENT(_in_file ${_header} ABSOLUTE)
- GET_FILENAME_COMPONENT(_basename ${_header} NAME_WE)
+ get_filename_component(_in_file ${_header} ABSOLUTE)
+ get_filename_component(_basename ${_header} NAME_WE)
- IF (_customName)
+ if (_customName)
if (IS_ABSOLUTE ${_customName})
get_filename_component(_containingDir ${_customName} PATH)
if (NOT EXISTS ${_containingDir})
file(MAKE_DIRECTORY "${_containingDir}")
endif()
- SET(_target ${_customName})
+ set(_target ${_customName})
else()
- SET(_target ${CMAKE_CURRENT_BINARY_DIR}/${_customName})
+ set(_target ${CMAKE_CURRENT_BINARY_DIR}/${_customName})
endif()
- ELSE (_customName)
- SET(_target ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.xml)
- ENDIF (_customName)
+ else ()
+ set(_target ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.xml)
+ endif ()
- ADD_CUSTOM_COMMAND(OUTPUT ${_target}
+ add_custom_command(OUTPUT ${_target}
COMMAND ${QT_DBUSCPP2XML_EXECUTABLE} ${_qt4_dbus_options} ${_in_file} -o ${_target}
DEPENDS ${_in_file} VERBATIM
)
-ENDMACRO(QT4_GENERATE_DBUS_INTERFACE)
+endmacro()
-MACRO(QT4_ADD_DBUS_ADAPTOR _sources _xml_file _include _parentClass) # _optionalBasename _optionalClassName)
- GET_FILENAME_COMPONENT(_infile ${_xml_file} ABSOLUTE)
+macro(QT4_ADD_DBUS_ADAPTOR _sources _xml_file _include _parentClass) # _optionalBasename _optionalClassName)
+ get_filename_component(_infile ${_xml_file} ABSOLUTE)
- SET(_optionalBasename "${ARGV4}")
- IF (_optionalBasename)
- SET(_basename ${_optionalBasename} )
- ELSE (_optionalBasename)
- STRING(REGEX REPLACE "(.*[/\\.])?([^\\.]+)\\.xml" "\\2adaptor" _basename ${_infile})
- STRING(TOLOWER ${_basename} _basename)
- ENDIF (_optionalBasename)
+ set(_optionalBasename "${ARGV4}")
+ if (_optionalBasename)
+ set(_basename ${_optionalBasename} )
+ else ()
+ string(REGEX REPLACE "(.*[/\\.])?([^\\.]+)\\.xml" "\\2adaptor" _basename ${_infile})
+ string(TOLOWER ${_basename} _basename)
+ endif ()
- SET(_optionalClassName "${ARGV5}")
- SET(_header "${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h")
- SET(_impl "${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp")
- SET(_moc "${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc")
+ set(_optionalClassName "${ARGV5}")
+ set(_header "${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h")
+ set(_impl "${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp")
+ set(_moc "${CMAKE_CURRENT_BINARY_DIR}/${_basename}.moc")
- IF(_optionalClassName)
- ADD_CUSTOM_COMMAND(OUTPUT "${_impl}" "${_header}"
+ if(_optionalClassName)
+ add_custom_command(OUTPUT "${_impl}" "${_header}"
COMMAND ${QT_DBUSXML2CPP_EXECUTABLE} -m -a ${_basename} -c ${_optionalClassName} -i ${_include} -l ${_parentClass} ${_infile}
DEPENDS ${_infile} VERBATIM
)
- ELSE(_optionalClassName)
- ADD_CUSTOM_COMMAND(OUTPUT "${_impl}" "${_header}"
+ else()
+ add_custom_command(OUTPUT "${_impl}" "${_header}"
COMMAND ${QT_DBUSXML2CPP_EXECUTABLE} -m -a ${_basename} -i ${_include} -l ${_parentClass} ${_infile}
DEPENDS ${_infile} VERBATIM
)
- ENDIF(_optionalClassName)
+ endif()
QT4_GENERATE_MOC("${_header}" "${_moc}")
- SET_SOURCE_FILES_PROPERTIES("${_impl}" PROPERTIES SKIP_AUTOMOC TRUE)
+ set_source_files_properties("${_impl}" PROPERTIES SKIP_AUTOMOC TRUE)
MACRO_ADD_FILE_DEPENDENCIES("${_impl}" "${_moc}")
- LIST(APPEND ${_sources} "${_impl}" "${_header}" "${_moc}")
-ENDMACRO(QT4_ADD_DBUS_ADAPTOR)
+ list(APPEND ${_sources} "${_impl}" "${_header}" "${_moc}")
+endmacro()
-MACRO(QT4_AUTOMOC)
+macro(QT4_AUTOMOC)
QT4_GET_MOC_FLAGS(_moc_INCS)
- SET(_matching_FILES )
- FOREACH (_current_FILE ${ARGN})
+ set(_matching_FILES )
+ foreach (_current_FILE ${ARGN})
- GET_FILENAME_COMPONENT(_abs_FILE ${_current_FILE} ABSOLUTE)
+ get_filename_component(_abs_FILE ${_current_FILE} ABSOLUTE)
# if "SKIP_AUTOMOC" is set to true, we will not handle this file here.
# This is required to make uic work correctly:
# we need to add generated .cpp files to the sources (to compile them),
@@ -344,98 +346,119 @@ MACRO(QT4_AUTOMOC)
# cmake is run for the very first time on them -> however the .cpp files might
# exist at a later run. at that time we need to skip them, so that we don't add two
# different rules for the same moc file
- GET_SOURCE_FILE_PROPERTY(_skip ${_abs_FILE} SKIP_AUTOMOC)
+ get_source_file_property(_skip ${_abs_FILE} SKIP_AUTOMOC)
- IF ( NOT _skip AND EXISTS ${_abs_FILE} )
+ if ( NOT _skip AND EXISTS ${_abs_FILE} )
- FILE(READ ${_abs_FILE} _contents)
+ file(READ ${_abs_FILE} _contents)
- GET_FILENAME_COMPONENT(_abs_PATH ${_abs_FILE} PATH)
+ get_filename_component(_abs_PATH ${_abs_FILE} PATH)
- STRING(REGEX MATCHALL "# *include +[^ ]+\\.moc[\">]" _match "${_contents}")
- IF(_match)
- FOREACH (_current_MOC_INC ${_match})
- STRING(REGEX MATCH "[^ <\"]+\\.moc" _current_MOC "${_current_MOC_INC}")
+ string(REGEX MATCHALL "# *include +[^ ]+\\.moc[\">]" _match "${_contents}")
+ if(_match)
+ foreach (_current_MOC_INC ${_match})
+ string(REGEX MATCH "[^ <\"]+\\.moc" _current_MOC "${_current_MOC_INC}")
- GET_FILENAME_COMPONENT(_basename ${_current_MOC} NAME_WE)
- IF(EXISTS ${_abs_PATH}/${_basename}.hpp)
- SET(_header ${_abs_PATH}/${_basename}.hpp)
- ELSE(EXISTS ${_abs_PATH}/${_basename}.hpp)
- SET(_header ${_abs_PATH}/${_basename}.h)
- ENDIF(EXISTS ${_abs_PATH}/${_basename}.hpp)
- SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_current_MOC})
+ get_filename_component(_basename ${_current_MOC} NAME_WE)
+ if(EXISTS ${_abs_PATH}/${_basename}.hpp)
+ set(_header ${_abs_PATH}/${_basename}.hpp)
+ else()
+ set(_header ${_abs_PATH}/${_basename}.h)
+ endif()
+ set(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_current_MOC})
QT4_CREATE_MOC_COMMAND(${_header} ${_moc} "${_moc_INCS}" "")
MACRO_ADD_FILE_DEPENDENCIES(${_abs_FILE} ${_moc})
- ENDFOREACH (_current_MOC_INC)
- ENDIF(_match)
- ENDIF ( NOT _skip AND EXISTS ${_abs_FILE} )
- ENDFOREACH (_current_FILE)
-ENDMACRO(QT4_AUTOMOC)
+ endforeach ()
+ endif()
+ endif ()
+ endforeach ()
+endmacro()
-MACRO(QT4_CREATE_TRANSLATION _qm_files)
+macro(QT4_CREATE_TRANSLATION _qm_files)
QT4_EXTRACT_OPTIONS(_lupdate_files _lupdate_options ${ARGN})
- SET(_my_sources)
- SET(_my_dirs)
- SET(_my_tsfiles)
- SET(_ts_pro)
- FOREACH (_file ${_lupdate_files})
- GET_FILENAME_COMPONENT(_ext ${_file} EXT)
- GET_FILENAME_COMPONENT(_abs_FILE ${_file} ABSOLUTE)
- IF(_ext MATCHES "ts")
- LIST(APPEND _my_tsfiles ${_abs_FILE})
- ELSE(_ext MATCHES "ts")
- IF(NOT _ext)
- LIST(APPEND _my_dirs ${_abs_FILE})
- ELSE(NOT _ext)
- LIST(APPEND _my_sources ${_abs_FILE})
- ENDIF(NOT _ext)
- ENDIF(_ext MATCHES "ts")
- ENDFOREACH(_file)
- FOREACH(_ts_file ${_my_tsfiles})
- IF(_my_sources)
+ set(_my_sources)
+ set(_my_dirs)
+ set(_my_tsfiles)
+ set(_ts_pro)
+ foreach (_file ${_lupdate_files})
+ get_filename_component(_ext ${_file} EXT)
+ get_filename_component(_abs_FILE ${_file} ABSOLUTE)
+ if(_ext MATCHES "ts")
+ list(APPEND _my_tsfiles ${_abs_FILE})
+ else()
+ if(NOT _ext)
+ list(APPEND _my_dirs ${_abs_FILE})
+ else()
+ list(APPEND _my_sources ${_abs_FILE})
+ endif()
+ endif()
+ endforeach()
+ foreach(_ts_file ${_my_tsfiles})
+ if(_my_sources)
# make a .pro file to call lupdate on, so we don't make our commands too
# long for some systems
- GET_FILENAME_COMPONENT(_ts_name ${_ts_file} NAME_WE)
- SET(_ts_pro ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${_ts_name}_lupdate.pro)
- SET(_pro_srcs)
- FOREACH(_pro_src ${_my_sources})
- SET(_pro_srcs "${_pro_srcs} \"${_pro_src}\"")
- ENDFOREACH(_pro_src ${_my_sources})
- SET(_pro_includes)
- GET_DIRECTORY_PROPERTY(_inc_DIRS INCLUDE_DIRECTORIES)
- FOREACH(_pro_include ${_inc_DIRS})
- GET_FILENAME_COMPONENT(_abs_include "${_pro_include}" ABSOLUTE)
- SET(_pro_includes "${_pro_includes} \"${_abs_include}\"")
- ENDFOREACH(_pro_include ${CMAKE_CXX_INCLUDE_PATH})
- FILE(WRITE ${_ts_pro} "SOURCES = ${_pro_srcs}\nINCLUDEPATH = ${_pro_includes}\n")
- ENDIF(_my_sources)
- ADD_CUSTOM_COMMAND(OUTPUT ${_ts_file}
+ get_filename_component(_ts_name ${_ts_file} NAME_WE)
+ set(_ts_pro ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${_ts_name}_lupdate.pro)
+ set(_pro_srcs)
+ foreach(_pro_src ${_my_sources})
+ set(_pro_srcs "${_pro_srcs} \"${_pro_src}\"")
+ endforeach()
+ set(_pro_includes)
+ get_directory_property(_inc_DIRS INCLUDE_DIRECTORIES)
+ foreach(_pro_include ${_inc_DIRS})
+ get_filename_component(_abs_include "${_pro_include}" ABSOLUTE)
+ set(_pro_includes "${_pro_includes} \"${_abs_include}\"")
+ endforeach()
+ file(WRITE ${_ts_pro} "SOURCES = ${_pro_srcs}\nINCLUDEPATH = ${_pro_includes}\n")
+ endif()
+ add_custom_command(OUTPUT ${_ts_file}
COMMAND ${QT_LUPDATE_EXECUTABLE}
ARGS ${_lupdate_options} ${_ts_pro} ${_my_dirs} -ts ${_ts_file}
DEPENDS ${_my_sources} ${_ts_pro} VERBATIM)
- ENDFOREACH(_ts_file)
+ endforeach()
QT4_ADD_TRANSLATION(${_qm_files} ${_my_tsfiles})
-ENDMACRO(QT4_CREATE_TRANSLATION)
-
-
-MACRO(QT4_ADD_TRANSLATION _qm_files)
- FOREACH (_current_FILE ${ARGN})
- GET_FILENAME_COMPONENT(_abs_FILE ${_current_FILE} ABSOLUTE)
- GET_FILENAME_COMPONENT(qm ${_abs_FILE} NAME_WE)
- GET_SOURCE_FILE_PROPERTY(output_location ${_abs_FILE} OUTPUT_LOCATION)
- IF(output_location)
- FILE(MAKE_DIRECTORY "${output_location}")
- SET(qm "${output_location}/${qm}.qm")
- ELSE(output_location)
- SET(qm "${CMAKE_CURRENT_BINARY_DIR}/${qm}.qm")
- ENDIF(output_location)
-
- ADD_CUSTOM_COMMAND(OUTPUT ${qm}
+endmacro()
+
+
+macro(QT4_ADD_TRANSLATION _qm_files)
+ foreach (_current_FILE ${ARGN})
+ get_filename_component(_abs_FILE ${_current_FILE} ABSOLUTE)
+ get_filename_component(qm ${_abs_FILE} NAME_WE)
+ get_source_file_property(output_location ${_abs_FILE} OUTPUT_LOCATION)
+ if(output_location)
+ file(MAKE_DIRECTORY "${output_location}")
+ set(qm "${output_location}/${qm}.qm")
+ else()
+ set(qm "${CMAKE_CURRENT_BINARY_DIR}/${qm}.qm")
+ endif()
+
+ add_custom_command(OUTPUT ${qm}
COMMAND ${QT_LRELEASE_EXECUTABLE}
ARGS ${_abs_FILE} -qm ${qm}
DEPENDS ${_abs_FILE} VERBATIM
)
- SET(${_qm_files} ${${_qm_files}} ${qm})
- ENDFOREACH (_current_FILE)
-ENDMACRO(QT4_ADD_TRANSLATION)
+ set(${_qm_files} ${${_qm_files}} ${qm})
+ endforeach ()
+endmacro()
+
+function(qt4_use_modules _target _link_type)
+ if ("${_link_type}" STREQUAL "LINK_PUBLIC" OR "${_link_type}" STREQUAL "LINK_PRIVATE")
+ set(modules ${ARGN})
+ set(link_type ${_link_type})
+ else()
+ set(modules ${_link_type} ${ARGN})
+ endif()
+ foreach(_module ${modules})
+ string(TOUPPER ${_module} _ucmodule)
+ if (NOT QT_QT${_ucmodule}_FOUND)
+ message(FATAL_ERROR "Can not use \"${_module}\" module which has not yet been found.")
+ endif()
+ if ("${_ucmodule}" STREQUAL "MAIN")
+ message(FATAL_ERROR "Can not use \"${_module}\" module with qt4_use_modules.")
+ endif()
+ target_link_libraries(${_target} ${link_type} ${QT_QT${_ucmodule}_LIBRARY})
+ set_property(TARGET ${_target} APPEND PROPERTY INCLUDE_DIRECTORIES ${QT_QT${_ucmodule}_INCLUDE_DIR} ${QT_HEADERS_DIR} ${QT_MKSPECS_DIR}/default)
+ set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS ${QT_QT${_ucmodule}_COMPILE_DEFINITIONS})
+ endforeach()
+endfunction()
diff --git a/Modules/SelectLibraryConfigurations.cmake b/Modules/SelectLibraryConfigurations.cmake
index 2e8ade0df..62137bb28 100644
--- a/Modules/SelectLibraryConfigurations.cmake
+++ b/Modules/SelectLibraryConfigurations.cmake
@@ -6,7 +6,7 @@
# basename_LIBRARY_RELEASE is defined, basename_LIBRARY, basename_LIBRARY_DEBUG,
# and basename_LIBRARY_RELEASE will be set to the release value. If only
# basename_LIBRARY_DEBUG is defined, then basename_LIBRARY,
-# basename_LIBRARY_DEBUG and basename_LIBRARY_RELEASE will take the debug value.
+# basename_LIBRARY_DEBUG and basename_LIBRARY_RELEASE will take the debug value.
#
# If the generator supports configuration types, then basename_LIBRARY and
# basename_LIBRARIES will be set with debug and optimized flags specifying the
@@ -38,8 +38,8 @@ macro( _set_library_name basename GOOD BAD )
set( ${basename}_LIBRARY_${BAD} ${${basename}_LIBRARY_${GOOD}} )
set( ${basename}_LIBRARY ${${basename}_LIBRARY_${GOOD}} )
set( ${basename}_LIBRARIES ${${basename}_LIBRARY_${GOOD}} )
- endif( ${basename}_LIBRARY_${GOOD} AND NOT ${basename}_LIBRARY_${BAD} )
-endmacro( _set_library_name )
+ endif()
+endmacro()
macro( select_library_configurations basename )
# if only the release version was found, set the debug to be the release
@@ -48,34 +48,40 @@ macro( select_library_configurations basename )
# if only the debug version was found, set the release value to be the
# debug value.
_set_library_name( ${basename} DEBUG RELEASE )
- if (${basename}_LIBRARY_DEBUG AND ${basename}_LIBRARY_RELEASE AND
- NOT ${basename}_LIBRARY_DEBUG STREQUAL ${basename}_LIBRARY_RELEASE)
+
+ # Set a default case, which will come into effect if
+ # -no build type is set and the generator only supports one build type
+ # at a time (i.e. CMAKE_CONFIGURATION_TYPES is false)
+ # -${basename}_LIBRARY_DEBUG and ${basename}_LIBRARY_RELEASE are the same
+ # -${basename}_LIBRARY_DEBUG and ${basename}_LIBRARY_RELEASE are both empty
+ set( ${basename}_LIBRARY ${${basename}_LIBRARY_RELEASE} )
+ set( ${basename}_LIBRARIES ${${basename}_LIBRARY_RELEASE} )
+
+ if( ${basename}_LIBRARY_DEBUG AND ${basename}_LIBRARY_RELEASE AND
+ NOT ${basename}_LIBRARY_DEBUG STREQUAL ${basename}_LIBRARY_RELEASE )
# if the generator supports configuration types or CMAKE_BUILD_TYPE
# is set, then set optimized and debug options.
if( CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE )
- set( ${basename}_LIBRARY
- optimized ${${basename}_LIBRARY_RELEASE}
- debug ${${basename}_LIBRARY_DEBUG} )
- set( ${basename}_LIBRARIES
- optimized ${${basename}_LIBRARY_RELEASE}
- debug ${${basename}_LIBRARY_DEBUG} )
- else( CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE )
- # If there are no configuration types or build type, just use
- # the release version
- set( ${basename}_LIBRARY ${${basename}_LIBRARY_RELEASE} )
- set( ${basename}_LIBRARIES ${${basename}_LIBRARY_RELEASE} )
- endif( CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE )
+ set( ${basename}_LIBRARY )
+ foreach( _libname IN LISTS ${basename}_LIBRARY_RELEASE )
+ list( APPEND ${basename}_LIBRARY optimized "${_libname}" )
+ endforeach()
+ foreach( _libname IN LISTS ${basename}_LIBRARY_DEBUG )
+ list( APPEND ${basename}_LIBRARY debug "${_libname}" )
+ endforeach()
+ set( ${basename}_LIBRARIES "${${basename}_LIBRARY}" )
+ endif()
endif()
- set( ${basename}_LIBRARY ${${basename}_LIBRARY} CACHE FILEPATH
+ set( ${basename}_LIBRARY ${${basename}_LIBRARY} CACHE FILEPATH
"The ${basename} library" )
if( ${basename}_LIBRARY )
set( ${basename}_FOUND TRUE )
- endif( ${basename}_LIBRARY )
+ endif()
- mark_as_advanced( ${basename}_LIBRARY
+ mark_as_advanced( ${basename}_LIBRARY
${basename}_LIBRARY_RELEASE
${basename}_LIBRARY_DEBUG
)
-endmacro( select_library_configurations )
+endmacro()
diff --git a/Modules/SquishTestScript.cmake b/Modules/SquishTestScript.cmake
index 9eac9707f..d5653051b 100644
--- a/Modules/SquishTestScript.cmake
+++ b/Modules/SquishTestScript.cmake
@@ -44,9 +44,9 @@ foreach(i ${squish_env_vars})
endforeach()
if (QT4_INSTALLED)
- # record qt lib directory
+ # record Qt lib directory
set ( ENV{${SQUISH_LIBQTDIR}} ${squish_libqtdir} )
-endif (QT4_INSTALLED)
+endif ()
# run the test
if (WIN32)
@@ -54,19 +54,19 @@ if (WIN32)
COMMAND ${CMAKE_ROOT}/Modules/SquishRunTestCase.bat ${squish_server_executable} ${squish_client_executable} ${squish_test_case} ${squish_wrapper} ${squish_aut}
RESULT_VARIABLE test_rv
)
-endif (WIN32)
+endif ()
if (UNIX)
execute_process(
COMMAND ${CMAKE_ROOT}/Modules/SquishRunTestCase.sh ${squish_server_executable} ${squish_client_executable} ${squish_test_case} ${squish_wrapper} ${squish_aut}
RESULT_VARIABLE test_rv
)
-endif (UNIX)
+endif ()
# check for an error with running the test
if(NOT "${test_rv}" STREQUAL "0")
message(FATAL_ERROR "Error running Squish test")
-endif(NOT "${test_rv}" STREQUAL "0")
+endif()
diff --git a/Modules/SystemInformation.cmake b/Modules/SystemInformation.cmake
index d4f22331d..fa8507106 100644
--- a/Modules/SystemInformation.cmake
+++ b/Modules/SystemInformation.cmake
@@ -12,92 +12,92 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-CMAKE_MINIMUM_REQUIRED(VERSION ${CMAKE_VERSION})
-PROJECT(DumpInformation)
+cmake_minimum_required(VERSION ${CMAKE_VERSION})
+project(DumpInformation)
# first get the standard information for th platform
-INCLUDE_DIRECTORIES("This does not exists")
-GET_DIRECTORY_PROPERTY(incl INCLUDE_DIRECTORIES)
-SET_DIRECTORY_PROPERTIES(PROPERTIES INCLUDE_DIRECTORIES "${DumpInformation_BINARY_DIR};${DumpInformation_SOURCE_DIR}")
+include_directories("This does not exists")
+get_directory_property(incl INCLUDE_DIRECTORIES)
+set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES "${DumpInformation_BINARY_DIR};${DumpInformation_SOURCE_DIR}")
-CONFIGURE_FILE("${CMAKE_ROOT}/Modules/SystemInformation.in" "${RESULT_FILE}")
+configure_file("${CMAKE_ROOT}/Modules/SystemInformation.in" "${RESULT_FILE}")
-FILE(APPEND "${RESULT_FILE}"
+file(APPEND "${RESULT_FILE}"
"\n=================================================================\n")
-FILE(APPEND "${RESULT_FILE}"
+file(APPEND "${RESULT_FILE}"
"=== VARIABLES\n")
-FILE(APPEND "${RESULT_FILE}"
+file(APPEND "${RESULT_FILE}"
"=================================================================\n")
-GET_CMAKE_PROPERTY(res VARIABLES)
-FOREACH(var ${res})
- FILE(APPEND "${RESULT_FILE}" "${var} \"${${var}}\"\n")
-ENDFOREACH(var ${res})
+get_cmake_property(res VARIABLES)
+foreach(var ${res})
+ file(APPEND "${RESULT_FILE}" "${var} \"${${var}}\"\n")
+endforeach()
-FILE(APPEND "${RESULT_FILE}"
+file(APPEND "${RESULT_FILE}"
"\n=================================================================\n")
-FILE(APPEND "${RESULT_FILE}"
+file(APPEND "${RESULT_FILE}"
"=== COMMANDS\n")
-FILE(APPEND "${RESULT_FILE}"
+file(APPEND "${RESULT_FILE}"
"=================================================================\n")
-GET_CMAKE_PROPERTY(res COMMANDS)
-FOREACH(var ${res})
- FILE(APPEND "${RESULT_FILE}" "${var}\n")
-ENDFOREACH(var ${res})
+get_cmake_property(res COMMANDS)
+foreach(var ${res})
+ file(APPEND "${RESULT_FILE}" "${var}\n")
+endforeach()
-FILE(APPEND "${RESULT_FILE}"
+file(APPEND "${RESULT_FILE}"
"\n=================================================================\n")
-FILE(APPEND "${RESULT_FILE}"
+file(APPEND "${RESULT_FILE}"
"=== MACROS\n")
-FILE(APPEND "${RESULT_FILE}"
+file(APPEND "${RESULT_FILE}"
"=================================================================\n")
-FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/AllMacros.txt "")
-GET_CMAKE_PROPERTY(res MACROS)
-FOREACH(var ${res})
- FILE(APPEND "${RESULT_FILE}" "${var}\n")
-ENDFOREACH(var ${res})
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/AllMacros.txt "")
+get_cmake_property(res MACROS)
+foreach(var ${res})
+ file(APPEND "${RESULT_FILE}" "${var}\n")
+endforeach()
-FILE(APPEND "${RESULT_FILE}"
+file(APPEND "${RESULT_FILE}"
"\n=================================================================\n")
-FILE(APPEND "${RESULT_FILE}"
+file(APPEND "${RESULT_FILE}"
"=== OTHER\n")
-FILE(APPEND "${RESULT_FILE}"
+file(APPEND "${RESULT_FILE}"
"=================================================================\n")
-GET_DIRECTORY_PROPERTY(res INCLUDE_DIRECTORIES)
-FOREACH(var ${res})
- FILE(APPEND "${RESULT_FILE}" "INCLUDE_DIRECTORY: ${var}\n")
-ENDFOREACH(var)
+get_directory_property(res INCLUDE_DIRECTORIES)
+foreach(var ${res})
+ file(APPEND "${RESULT_FILE}" "INCLUDE_DIRECTORY: ${var}\n")
+endforeach()
-GET_DIRECTORY_PROPERTY(res LINK_DIRECTORIES)
-FOREACH(var ${res})
- FILE(APPEND "${RESULT_FILE}" "LINK_DIRECTORIES: ${var}\n")
-ENDFOREACH(var)
+get_directory_property(res LINK_DIRECTORIES)
+foreach(var ${res})
+ file(APPEND "${RESULT_FILE}" "LINK_DIRECTORIES: ${var}\n")
+endforeach()
-GET_DIRECTORY_PROPERTY(res INCLUDE_REGULAR_EXPRESSION)
-FILE(APPEND "${RESULT_FILE}" "INCLUDE_REGULAR_EXPRESSION: ${res}\n")
+get_directory_property(res INCLUDE_REGULAR_EXPRESSION)
+file(APPEND "${RESULT_FILE}" "INCLUDE_REGULAR_EXPRESSION: ${res}\n")
# include other files if they are present, such as when run from within the
# binary tree
-MACRO(DUMP_FILE THE_FILE)
- IF (EXISTS "${THE_FILE}")
- FILE(APPEND "${RESULT_FILE}"
+macro(DUMP_FILE THE_FILE)
+ if (EXISTS "${THE_FILE}")
+ file(APPEND "${RESULT_FILE}"
"\n=================================================================\n")
- FILE(APPEND "${RESULT_FILE}"
+ file(APPEND "${RESULT_FILE}"
"=== ${THE_FILE}\n")
- FILE(APPEND "${RESULT_FILE}"
+ file(APPEND "${RESULT_FILE}"
"=================================================================\n")
-
- FILE(READ "${THE_FILE}" FILE_CONTENTS LIMIT 50000)
- FILE(APPEND "${RESULT_FILE}" "${FILE_CONTENTS}")
- ENDIF (EXISTS "${THE_FILE}")
-ENDMACRO(DUMP_FILE)
+
+ file(READ "${THE_FILE}" FILE_CONTENTS LIMIT 50000)
+ file(APPEND "${RESULT_FILE}" "${FILE_CONTENTS}")
+ endif ()
+endmacro()
DUMP_FILE("../CMakeCache.txt")
DUMP_FILE("../CMakeFiles/CMakeOutput.log")
DUMP_FILE("../CMakeFiles/CMakeError.log")
DUMP_FILE("../CMakeFiles/CMakeSystem.cmake")
-FOREACH (EXTRA_FILE ${EXTRA_DUMP_FILES})
+foreach (EXTRA_FILE ${EXTRA_DUMP_FILES})
DUMP_FILE("${EXTRA_FILE}")
-ENDFOREACH (EXTRA_FILE)
+endforeach ()
diff --git a/Modules/TestBigEndian.cmake b/Modules/TestBigEndian.cmake
index 996060210..193df8fda 100644
--- a/Modules/TestBigEndian.cmake
+++ b/Modules/TestBigEndian.cmake
@@ -17,96 +17,96 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-MACRO(TEST_BIG_ENDIAN VARIABLE)
- IF("HAVE_${VARIABLE}" MATCHES "^HAVE_${VARIABLE}$")
- MESSAGE(STATUS "Check if the system is big endian")
- MESSAGE(STATUS "Searching 16 bit integer")
-
- INCLUDE(CheckTypeSize)
+macro(TEST_BIG_ENDIAN VARIABLE)
+ if("HAVE_${VARIABLE}" MATCHES "^HAVE_${VARIABLE}$")
+ message(STATUS "Check if the system is big endian")
+ message(STATUS "Searching 16 bit integer")
+
+ include(CheckTypeSize)
CHECK_TYPE_SIZE("unsigned short" CMAKE_SIZEOF_UNSIGNED_SHORT)
- IF(CMAKE_SIZEOF_UNSIGNED_SHORT EQUAL 2)
- MESSAGE(STATUS "Using unsigned short")
- SET(CMAKE_16BIT_TYPE "unsigned short")
- ELSE(CMAKE_SIZEOF_UNSIGNED_SHORT EQUAL 2)
+ if(CMAKE_SIZEOF_UNSIGNED_SHORT EQUAL 2)
+ message(STATUS "Using unsigned short")
+ set(CMAKE_16BIT_TYPE "unsigned short")
+ else()
CHECK_TYPE_SIZE("unsigned int" CMAKE_SIZEOF_UNSIGNED_INT)
- IF(CMAKE_SIZEOF_UNSIGNED_INT)
- MESSAGE(STATUS "Using unsigned int")
- SET(CMAKE_16BIT_TYPE "unsigned int")
+ if(CMAKE_SIZEOF_UNSIGNED_INT)
+ message(STATUS "Using unsigned int")
+ set(CMAKE_16BIT_TYPE "unsigned int")
+
+ else()
- ELSE(CMAKE_SIZEOF_UNSIGNED_INT)
-
CHECK_TYPE_SIZE("unsigned long" CMAKE_SIZEOF_UNSIGNED_LONG)
- IF(CMAKE_SIZEOF_UNSIGNED_LONG)
- MESSAGE(STATUS "Using unsigned long")
- SET(CMAKE_16BIT_TYPE "unsigned long")
- ELSE(CMAKE_SIZEOF_UNSIGNED_LONG)
- MESSAGE(FATAL_ERROR "no suitable type found")
- ENDIF(CMAKE_SIZEOF_UNSIGNED_LONG)
-
- ENDIF(CMAKE_SIZEOF_UNSIGNED_INT)
-
- ENDIF(CMAKE_SIZEOF_UNSIGNED_SHORT EQUAL 2)
-
-
- CONFIGURE_FILE("${CMAKE_ROOT}/Modules/TestEndianess.c.in"
+ if(CMAKE_SIZEOF_UNSIGNED_LONG)
+ message(STATUS "Using unsigned long")
+ set(CMAKE_16BIT_TYPE "unsigned long")
+ else()
+ message(FATAL_ERROR "no suitable type found")
+ endif()
+
+ endif()
+
+ endif()
+
+
+ configure_file("${CMAKE_ROOT}/Modules/TestEndianess.c.in"
"${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/TestEndianess.c"
IMMEDIATE @ONLY)
-
- FILE(READ "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/TestEndianess.c"
+
+ file(READ "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/TestEndianess.c"
TEST_ENDIANESS_FILE_CONTENT)
- TRY_COMPILE(HAVE_${VARIABLE}
+ try_compile(HAVE_${VARIABLE}
"${CMAKE_BINARY_DIR}"
"${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/TestEndianess.c"
OUTPUT_VARIABLE OUTPUT
COPY_FILE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/TestEndianess.bin" )
- IF(HAVE_${VARIABLE})
+ if(HAVE_${VARIABLE})
- FILE(STRINGS "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/TestEndianess.bin"
+ file(STRINGS "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/TestEndianess.bin"
CMAKE_TEST_ENDIANESS_STRINGS_LE LIMIT_COUNT 1 REGEX "THIS IS LITTLE ENDIAN")
- FILE(STRINGS "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/TestEndianess.bin"
+ file(STRINGS "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/TestEndianess.bin"
CMAKE_TEST_ENDIANESS_STRINGS_BE LIMIT_COUNT 1 REGEX "THIS IS BIG ENDIAN")
# on mac, if there are universal binaries built both will be true
# return the result depending on the machine on which cmake runs
- IF(CMAKE_TEST_ENDIANESS_STRINGS_BE AND CMAKE_TEST_ENDIANESS_STRINGS_LE)
- IF(CMAKE_SYSTEM_PROCESSOR MATCHES powerpc)
- SET(CMAKE_TEST_ENDIANESS_STRINGS_BE TRUE)
- SET(CMAKE_TEST_ENDIANESS_STRINGS_LE FALSE)
- ELSE(CMAKE_SYSTEM_PROCESSOR MATCHES powerpc)
- SET(CMAKE_TEST_ENDIANESS_STRINGS_BE FALSE)
- SET(CMAKE_TEST_ENDIANESS_STRINGS_LE TRUE)
- ENDIF(CMAKE_SYSTEM_PROCESSOR MATCHES powerpc)
- MESSAGE(STATUS "TEST_BIG_ENDIAN found different results, consider setting CMAKE_OSX_ARCHITECTURES or CMAKE_TRY_COMPILE_OSX_ARCHITECTURES to one or no architecture !")
- ENDIF(CMAKE_TEST_ENDIANESS_STRINGS_BE AND CMAKE_TEST_ENDIANESS_STRINGS_LE)
-
- IF(CMAKE_TEST_ENDIANESS_STRINGS_LE)
- SET(${VARIABLE} 0 CACHE INTERNAL "Result of TEST_BIG_ENDIAN" FORCE)
- MESSAGE(STATUS "Check if the system is big endian - little endian")
- ENDIF(CMAKE_TEST_ENDIANESS_STRINGS_LE)
-
- IF(CMAKE_TEST_ENDIANESS_STRINGS_BE)
- SET(${VARIABLE} 1 CACHE INTERNAL "Result of TEST_BIG_ENDIAN" FORCE)
- MESSAGE(STATUS "Check if the system is big endian - big endian")
- ENDIF(CMAKE_TEST_ENDIANESS_STRINGS_BE)
-
- IF(NOT CMAKE_TEST_ENDIANESS_STRINGS_BE AND NOT CMAKE_TEST_ENDIANESS_STRINGS_LE)
- MESSAGE(SEND_ERROR "TEST_BIG_ENDIAN found no result!")
- ENDIF(NOT CMAKE_TEST_ENDIANESS_STRINGS_BE AND NOT CMAKE_TEST_ENDIANESS_STRINGS_LE)
-
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ if(CMAKE_TEST_ENDIANESS_STRINGS_BE AND CMAKE_TEST_ENDIANESS_STRINGS_LE)
+ if(CMAKE_SYSTEM_PROCESSOR MATCHES powerpc)
+ set(CMAKE_TEST_ENDIANESS_STRINGS_BE TRUE)
+ set(CMAKE_TEST_ENDIANESS_STRINGS_LE FALSE)
+ else()
+ set(CMAKE_TEST_ENDIANESS_STRINGS_BE FALSE)
+ set(CMAKE_TEST_ENDIANESS_STRINGS_LE TRUE)
+ endif()
+ message(STATUS "TEST_BIG_ENDIAN found different results, consider setting CMAKE_OSX_ARCHITECTURES or CMAKE_TRY_COMPILE_OSX_ARCHITECTURES to one or no architecture !")
+ endif()
+
+ if(CMAKE_TEST_ENDIANESS_STRINGS_LE)
+ set(${VARIABLE} 0 CACHE INTERNAL "Result of TEST_BIG_ENDIAN" FORCE)
+ message(STATUS "Check if the system is big endian - little endian")
+ endif()
+
+ if(CMAKE_TEST_ENDIANESS_STRINGS_BE)
+ set(${VARIABLE} 1 CACHE INTERNAL "Result of TEST_BIG_ENDIAN" FORCE)
+ message(STATUS "Check if the system is big endian - big endian")
+ endif()
+
+ if(NOT CMAKE_TEST_ENDIANESS_STRINGS_BE AND NOT CMAKE_TEST_ENDIANESS_STRINGS_LE)
+ message(SEND_ERROR "TEST_BIG_ENDIAN found no result!")
+ endif()
+
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Determining if the system is big endian passed with the following output:\n${OUTPUT}\nTestEndianess.c:\n${TEST_ENDIANESS_FILE_CONTENT}\n\n")
-
- ELSE(HAVE_${VARIABLE})
- MESSAGE(STATUS "Check if the system is big endian - failed")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+
+ else()
+ message(STATUS "Check if the system is big endian - failed")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Determining if the system is big endian failed with the following output:\n${OUTPUT}\nTestEndianess.c:\n${TEST_ENDIANESS_FILE_CONTENT}\n\n")
- SET(${VARIABLE})
- ENDIF(HAVE_${VARIABLE})
- ENDIF("HAVE_${VARIABLE}" MATCHES "^HAVE_${VARIABLE}$")
-ENDMACRO(TEST_BIG_ENDIAN)
+ set(${VARIABLE})
+ endif()
+ endif()
+endmacro()
diff --git a/Modules/TestCXXAcceptsFlag.cmake b/Modules/TestCXXAcceptsFlag.cmake
index 52d0cf3e6..2694737ef 100644
--- a/Modules/TestCXXAcceptsFlag.cmake
+++ b/Modules/TestCXXAcceptsFlag.cmake
@@ -20,24 +20,24 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-MACRO(CHECK_CXX_ACCEPTS_FLAG FLAGS VARIABLE)
- IF(NOT DEFINED ${VARIABLE})
- MESSAGE(STATUS "Checking to see if CXX compiler accepts flag ${FLAGS}")
- TRY_COMPILE(${VARIABLE}
+macro(CHECK_CXX_ACCEPTS_FLAG FLAGS VARIABLE)
+ if(NOT DEFINED ${VARIABLE})
+ message(STATUS "Checking to see if CXX compiler accepts flag ${FLAGS}")
+ try_compile(${VARIABLE}
${CMAKE_BINARY_DIR}
${CMAKE_ROOT}/Modules/DummyCXXFile.cxx
CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${FLAGS}
- OUTPUT_VARIABLE OUTPUT)
- IF(${VARIABLE})
- MESSAGE(STATUS "Checking to see if CXX compiler accepts flag ${FLAGS} - yes")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ OUTPUT_VARIABLE OUTPUT)
+ if(${VARIABLE})
+ message(STATUS "Checking to see if CXX compiler accepts flag ${FLAGS} - yes")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Determining if the CXX compiler accepts the flag ${FLAGS} passed with "
"the following output:\n${OUTPUT}\n\n")
- ELSE(${VARIABLE})
- MESSAGE(STATUS "Checking to see if CXX compiler accepts flag ${FLAGS} - no")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ else()
+ message(STATUS "Checking to see if CXX compiler accepts flag ${FLAGS} - no")
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Determining if the CXX compiler accepts the flag ${FLAGS} failed with "
"the following output:\n${OUTPUT}\n\n")
- ENDIF(${VARIABLE})
- ENDIF(NOT DEFINED ${VARIABLE})
-ENDMACRO(CHECK_CXX_ACCEPTS_FLAG)
+ endif()
+ endif()
+endmacro()
diff --git a/Modules/TestForANSIForScope.cmake b/Modules/TestForANSIForScope.cmake
index ae2acef7e..9b4d51cda 100644
--- a/Modules/TestForANSIForScope.cmake
+++ b/Modules/TestForANSIForScope.cmake
@@ -16,27 +16,27 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-IF("CMAKE_ANSI_FOR_SCOPE" MATCHES "^CMAKE_ANSI_FOR_SCOPE$")
- MESSAGE(STATUS "Check for ANSI scope")
- TRY_COMPILE(CMAKE_ANSI_FOR_SCOPE ${CMAKE_BINARY_DIR}
+if("CMAKE_ANSI_FOR_SCOPE" MATCHES "^CMAKE_ANSI_FOR_SCOPE$")
+ message(STATUS "Check for ANSI scope")
+ try_compile(CMAKE_ANSI_FOR_SCOPE ${CMAKE_BINARY_DIR}
${CMAKE_ROOT}/Modules/TestForAnsiForScope.cxx
OUTPUT_VARIABLE OUTPUT)
- IF (CMAKE_ANSI_FOR_SCOPE)
- MESSAGE(STATUS "Check for ANSI scope - found")
- SET (CMAKE_NO_ANSI_FOR_SCOPE 0 CACHE INTERNAL
+ if (CMAKE_ANSI_FOR_SCOPE)
+ message(STATUS "Check for ANSI scope - found")
+ set (CMAKE_NO_ANSI_FOR_SCOPE 0 CACHE INTERNAL
"Does the compiler support ansi for scope.")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Determining if the CXX compiler understands ansi for scopes passed with "
"the following output:\n${OUTPUT}\n\n")
- ELSE (CMAKE_ANSI_FOR_SCOPE)
- MESSAGE(STATUS "Check for ANSI scope - not found")
- SET (CMAKE_NO_ANSI_FOR_SCOPE 1 CACHE INTERNAL
+ else ()
+ message(STATUS "Check for ANSI scope - not found")
+ set (CMAKE_NO_ANSI_FOR_SCOPE 1 CACHE INTERNAL
"Does the compiler support ansi for scope.")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Determining if the CXX compiler understands ansi for scopes failed with "
"the following output:\n${OUTPUT}\n\n")
- ENDIF (CMAKE_ANSI_FOR_SCOPE)
-ENDIF("CMAKE_ANSI_FOR_SCOPE" MATCHES "^CMAKE_ANSI_FOR_SCOPE$")
+ endif ()
+endif()
diff --git a/Modules/TestForANSIStreamHeaders.cmake b/Modules/TestForANSIStreamHeaders.cmake
index 19c1ab2f2..4aa4023e7 100644
--- a/Modules/TestForANSIStreamHeaders.cmake
+++ b/Modules/TestForANSIStreamHeaders.cmake
@@ -16,19 +16,19 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-INCLUDE(CheckIncludeFileCXX)
+include(CheckIncludeFileCXX)
-IF(NOT CMAKE_NO_ANSI_STREAM_HEADERS)
+if(NOT CMAKE_NO_ANSI_STREAM_HEADERS)
CHECK_INCLUDE_FILE_CXX(iostream CMAKE_ANSI_STREAM_HEADERS)
- IF (CMAKE_ANSI_STREAM_HEADERS)
- SET (CMAKE_NO_ANSI_STREAM_HEADERS 0 CACHE INTERNAL
+ if (CMAKE_ANSI_STREAM_HEADERS)
+ set (CMAKE_NO_ANSI_STREAM_HEADERS 0 CACHE INTERNAL
"Does the compiler support headers like iostream.")
- ELSE (CMAKE_ANSI_STREAM_HEADERS)
- SET (CMAKE_NO_ANSI_STREAM_HEADERS 1 CACHE INTERNAL
+ else ()
+ set (CMAKE_NO_ANSI_STREAM_HEADERS 1 CACHE INTERNAL
"Does the compiler support headers like iostream.")
- ENDIF (CMAKE_ANSI_STREAM_HEADERS)
+ endif ()
- MARK_AS_ADVANCED(CMAKE_NO_ANSI_STREAM_HEADERS)
-ENDIF(NOT CMAKE_NO_ANSI_STREAM_HEADERS)
+ mark_as_advanced(CMAKE_NO_ANSI_STREAM_HEADERS)
+endif()
diff --git a/Modules/TestForAnsiForScope.cxx b/Modules/TestForAnsiForScope.cxx
index f2ec76077..e8807ab4a 100644
--- a/Modules/TestForAnsiForScope.cxx
+++ b/Modules/TestForAnsiForScope.cxx
@@ -1,5 +1,5 @@
int main(int, char*[])
-{
+{
int i;
for(int i=0; i < 1; ++i);
(void)i;
diff --git a/Modules/TestForSSTREAM.cmake b/Modules/TestForSSTREAM.cmake
index 8dd53e744..db39c1e70 100644
--- a/Modules/TestForSSTREAM.cmake
+++ b/Modules/TestForSSTREAM.cmake
@@ -16,27 +16,27 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-IF("CMAKE_HAS_ANSI_STRING_STREAM" MATCHES "^CMAKE_HAS_ANSI_STRING_STREAM$")
- MESSAGE(STATUS "Check for sstream")
- TRY_COMPILE(CMAKE_HAS_ANSI_STRING_STREAM ${CMAKE_BINARY_DIR}
+if("CMAKE_HAS_ANSI_STRING_STREAM" MATCHES "^CMAKE_HAS_ANSI_STRING_STREAM$")
+ message(STATUS "Check for sstream")
+ try_compile(CMAKE_HAS_ANSI_STRING_STREAM ${CMAKE_BINARY_DIR}
${CMAKE_ROOT}/Modules/TestForSSTREAM.cxx
OUTPUT_VARIABLE OUTPUT)
- IF (CMAKE_HAS_ANSI_STRING_STREAM)
- MESSAGE(STATUS "Check for sstream - found")
- SET (CMAKE_NO_ANSI_STRING_STREAM 0 CACHE INTERNAL
+ if (CMAKE_HAS_ANSI_STRING_STREAM)
+ message(STATUS "Check for sstream - found")
+ set (CMAKE_NO_ANSI_STRING_STREAM 0 CACHE INTERNAL
"Does the compiler support sstream")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Determining if the CXX compiler has sstream passed with "
"the following output:\n${OUTPUT}\n\n")
- ELSE (CMAKE_HAS_ANSI_STRING_STREAM)
- MESSAGE(STATUS "Check for sstream - not found")
- SET (CMAKE_NO_ANSI_STRING_STREAM 1 CACHE INTERNAL
+ else ()
+ message(STATUS "Check for sstream - not found")
+ set (CMAKE_NO_ANSI_STRING_STREAM 1 CACHE INTERNAL
"Does the compiler support sstream")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Determining if the CXX compiler has sstream failed with "
"the following output:\n${OUTPUT}\n\n")
- ENDIF (CMAKE_HAS_ANSI_STRING_STREAM)
-ENDIF("CMAKE_HAS_ANSI_STRING_STREAM" MATCHES "^CMAKE_HAS_ANSI_STRING_STREAM$")
+ endif ()
+endif()
diff --git a/Modules/TestForSSTREAM.cxx b/Modules/TestForSSTREAM.cxx
index af4a4bbef..1c939da23 100644
--- a/Modules/TestForSSTREAM.cxx
+++ b/Modules/TestForSSTREAM.cxx
@@ -1,6 +1,6 @@
#include <sstream>
int main(int, char*[])
-{
+{
std::ostringstream os;
os << "12345";
if(os.str().size() == 5)
diff --git a/Modules/TestForSTDNamespace.cmake b/Modules/TestForSTDNamespace.cmake
index 932d6e994..6a7564445 100644
--- a/Modules/TestForSTDNamespace.cmake
+++ b/Modules/TestForSTDNamespace.cmake
@@ -16,27 +16,27 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-IF("CMAKE_STD_NAMESPACE" MATCHES "^CMAKE_STD_NAMESPACE$")
- MESSAGE(STATUS "Check for STD namespace")
- TRY_COMPILE(CMAKE_STD_NAMESPACE ${CMAKE_BINARY_DIR}
+if("CMAKE_STD_NAMESPACE" MATCHES "^CMAKE_STD_NAMESPACE$")
+ message(STATUS "Check for STD namespace")
+ try_compile(CMAKE_STD_NAMESPACE ${CMAKE_BINARY_DIR}
${CMAKE_ROOT}/Modules/TestForSTDNamespace.cxx
OUTPUT_VARIABLE OUTPUT)
- IF (CMAKE_STD_NAMESPACE)
- MESSAGE(STATUS "Check for STD namespace - found")
- SET (CMAKE_NO_STD_NAMESPACE 0 CACHE INTERNAL
+ if (CMAKE_STD_NAMESPACE)
+ message(STATUS "Check for STD namespace - found")
+ set (CMAKE_NO_STD_NAMESPACE 0 CACHE INTERNAL
"Does the compiler support std::.")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Determining if the CXX compiler has std namespace passed with "
"the following output:\n${OUTPUT}\n\n")
- ELSE (CMAKE_STD_NAMESPACE)
- MESSAGE(STATUS "Check for STD namespace - not found")
- SET (CMAKE_NO_STD_NAMESPACE 1 CACHE INTERNAL
+ else ()
+ message(STATUS "Check for STD namespace - not found")
+ set (CMAKE_NO_STD_NAMESPACE 1 CACHE INTERNAL
"Does the compiler support std::.")
- FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
+ file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Determining if the CXX compiler has std namespace failed with "
"the following output:\n${OUTPUT}\n\n")
- ENDIF (CMAKE_STD_NAMESPACE)
-ENDIF("CMAKE_STD_NAMESPACE" MATCHES "^CMAKE_STD_NAMESPACE$")
+ endif ()
+endif()
diff --git a/Modules/TestForSTDNamespace.cxx b/Modules/TestForSTDNamespace.cxx
index fc3ac5911..b537d44a9 100644
--- a/Modules/TestForSTDNamespace.cxx
+++ b/Modules/TestForSTDNamespace.cxx
@@ -1,6 +1,6 @@
#include <list>
int main(int, char*[])
-{
+{
std::list<int>();
return 0;
}
diff --git a/Modules/UseEcos.cmake b/Modules/UseEcos.cmake
index 60e1e46b4..028df8202 100644
--- a/Modules/UseEcos.cmake
+++ b/Modules/UseEcos.cmake
@@ -30,89 +30,89 @@
# License text for the above reference.)
# first check that ecosconfig is available
-FIND_PROGRAM(ECOSCONFIG_EXECUTABLE NAMES ecosconfig)
-IF(NOT ECOSCONFIG_EXECUTABLE)
- MESSAGE(SEND_ERROR "ecosconfig was not found. Either include it in the system path or set it manually using ccmake.")
-ELSE(NOT ECOSCONFIG_EXECUTABLE)
- MESSAGE(STATUS "Found ecosconfig: ${ECOSCONFIG_EXECUTABLE}")
-ENDIF(NOT ECOSCONFIG_EXECUTABLE)
+find_program(ECOSCONFIG_EXECUTABLE NAMES ecosconfig)
+if(NOT ECOSCONFIG_EXECUTABLE)
+ message(SEND_ERROR "ecosconfig was not found. Either include it in the system path or set it manually using ccmake.")
+else()
+ message(STATUS "Found ecosconfig: ${ECOSCONFIG_EXECUTABLE}")
+endif()
# check that ECOS_REPOSITORY is set correctly
-IF (NOT EXISTS $ENV{ECOS_REPOSITORY}/ecos.db)
- MESSAGE(SEND_ERROR "The environment variable ECOS_REPOSITORY is not set correctly. Set it to the directory which contains the file ecos.db")
-ELSE (NOT EXISTS $ENV{ECOS_REPOSITORY}/ecos.db)
- MESSAGE(STATUS "ECOS_REPOSITORY is set to $ENV{ECOS_REPOSITORY}")
-ENDIF (NOT EXISTS $ENV{ECOS_REPOSITORY}/ecos.db)
+if (NOT EXISTS $ENV{ECOS_REPOSITORY}/ecos.db)
+ message(SEND_ERROR "The environment variable ECOS_REPOSITORY is not set correctly. Set it to the directory which contains the file ecos.db")
+else ()
+ message(STATUS "ECOS_REPOSITORY is set to $ENV{ECOS_REPOSITORY}")
+endif ()
# check that tclsh (coming with TCL) is available, otherwise ecosconfig doesn't work
-FIND_PACKAGE(Tclsh)
-IF (NOT TCL_TCLSH)
- MESSAGE(SEND_ERROR "The TCL tclsh was not found. Please install TCL, it is required for building eCos applications.")
-ELSE (NOT TCL_TCLSH)
- MESSAGE(STATUS "tlcsh found: ${TCL_TCLSH}")
-ENDIF (NOT TCL_TCLSH)
+find_package(Tclsh)
+if (NOT TCL_TCLSH)
+ message(SEND_ERROR "The TCL tclsh was not found. Please install TCL, it is required for building eCos applications.")
+else ()
+ message(STATUS "tlcsh found: ${TCL_TCLSH}")
+endif ()
#add the globale include-diretories
#usage: ECOS_ADD_INCLUDE_DIRECTORIES()
-MACRO(ECOS_ADD_INCLUDE_DIRECTORIES)
+macro(ECOS_ADD_INCLUDE_DIRECTORIES)
#check for ProjectSources.txt one level higher
- IF (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../ProjectSources.txt)
- INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../)
- ELSE (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../ProjectSources.txt)
- INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/)
- ENDIF (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../ProjectSources.txt)
+ if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../ProjectSources.txt)
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../)
+ else ()
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/)
+ endif ()
#the ecos include directory
- INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}/ecos/install/include/)
+ include_directories(${CMAKE_CURRENT_BINARY_DIR}/ecos/install/include/)
-ENDMACRO(ECOS_ADD_INCLUDE_DIRECTORIES)
+endmacro()
#we want to compile for the xscale processor, in this case the following macro has to be called
#usage: ECOS_USE_ARM_ELF_TOOLS()
-MACRO (ECOS_USE_ARM_ELF_TOOLS)
- SET(CMAKE_CXX_COMPILER "arm-elf-c++")
- SET(CMAKE_COMPILER_IS_GNUCXX 1)
- SET(CMAKE_C_COMPILER "arm-elf-gcc")
- SET(CMAKE_AR "arm-elf-ar")
- SET(CMAKE_RANLIB "arm-elf-ranlib")
+macro (ECOS_USE_ARM_ELF_TOOLS)
+ set(CMAKE_CXX_COMPILER "arm-elf-c++")
+ set(CMAKE_COMPILER_IS_GNUCXX 1)
+ set(CMAKE_C_COMPILER "arm-elf-gcc")
+ set(CMAKE_AR "arm-elf-ar")
+ set(CMAKE_RANLIB "arm-elf-ranlib")
#for linking
- SET(ECOS_LD_MCPU "-mcpu=xscale")
+ set(ECOS_LD_MCPU "-mcpu=xscale")
#for compiling
- ADD_DEFINITIONS(-mcpu=xscale -mapcs-frame)
+ add_definitions(-mcpu=xscale -mapcs-frame)
#for the obj-tools
- SET(ECOS_ARCH_PREFIX "arm-elf-")
-ENDMACRO (ECOS_USE_ARM_ELF_TOOLS)
+ set(ECOS_ARCH_PREFIX "arm-elf-")
+endmacro ()
#usage: ECOS_USE_PPC_EABI_TOOLS()
-MACRO (ECOS_USE_PPC_EABI_TOOLS)
- SET(CMAKE_CXX_COMPILER "powerpc-eabi-c++")
- SET(CMAKE_COMPILER_IS_GNUCXX 1)
- SET(CMAKE_C_COMPILER "powerpc-eabi-gcc")
- SET(CMAKE_AR "powerpc-eabi-ar")
- SET(CMAKE_RANLIB "powerpc-eabi-ranlib")
+macro (ECOS_USE_PPC_EABI_TOOLS)
+ set(CMAKE_CXX_COMPILER "powerpc-eabi-c++")
+ set(CMAKE_COMPILER_IS_GNUCXX 1)
+ set(CMAKE_C_COMPILER "powerpc-eabi-gcc")
+ set(CMAKE_AR "powerpc-eabi-ar")
+ set(CMAKE_RANLIB "powerpc-eabi-ranlib")
#for linking
- SET(ECOS_LD_MCPU "")
+ set(ECOS_LD_MCPU "")
#for compiling
- ADD_DEFINITIONS()
+ add_definitions()
#for the obj-tools
- SET(ECOS_ARCH_PREFIX "powerpc-eabi-")
-ENDMACRO (ECOS_USE_PPC_EABI_TOOLS)
+ set(ECOS_ARCH_PREFIX "powerpc-eabi-")
+endmacro ()
#usage: ECOS_USE_I386_ELF_TOOLS()
-MACRO (ECOS_USE_I386_ELF_TOOLS)
- SET(CMAKE_CXX_COMPILER "i386-elf-c++")
- SET(CMAKE_COMPILER_IS_GNUCXX 1)
- SET(CMAKE_C_COMPILER "i386-elf-gcc")
- SET(CMAKE_AR "i386-elf-ar")
- SET(CMAKE_RANLIB "i386-elf-ranlib")
+macro (ECOS_USE_I386_ELF_TOOLS)
+ set(CMAKE_CXX_COMPILER "i386-elf-c++")
+ set(CMAKE_COMPILER_IS_GNUCXX 1)
+ set(CMAKE_C_COMPILER "i386-elf-gcc")
+ set(CMAKE_AR "i386-elf-ar")
+ set(CMAKE_RANLIB "i386-elf-ranlib")
#for linking
- SET(ECOS_LD_MCPU "")
+ set(ECOS_LD_MCPU "")
#for compiling
- ADD_DEFINITIONS()
+ add_definitions()
#for the obj-tools
- SET(ECOS_ARCH_PREFIX "i386-elf-")
-ENDMACRO (ECOS_USE_I386_ELF_TOOLS)
+ set(ECOS_ARCH_PREFIX "i386-elf-")
+endmacro ()
#since the actual sources are located one level upwards
@@ -121,84 +121,84 @@ ENDMACRO (ECOS_USE_I386_ELF_TOOLS)
#is the name of the new list of source files with adjusted paths,
#followed by all source files
#usage: ECOS_ADJUST_DIRECTORY(adjusted_SRCS ${my_srcs})
-MACRO(ECOS_ADJUST_DIRECTORY _target_FILES )
- FOREACH (_current_FILE ${ARGN})
- GET_FILENAME_COMPONENT(_abs_FILE ${_current_FILE} ABSOLUTE)
- IF (NOT ${_abs_FILE} STREQUAL ${_current_FILE})
- GET_FILENAME_COMPONENT(_abs_FILE ${CMAKE_CURRENT_SOURCE_DIR}/../${_current_FILE} ABSOLUTE)
- ENDIF (NOT ${_abs_FILE} STREQUAL ${_current_FILE})
- LIST(APPEND ${_target_FILES} ${_abs_FILE})
- ENDFOREACH (_current_FILE)
-ENDMACRO(ECOS_ADJUST_DIRECTORY)
+macro(ECOS_ADJUST_DIRECTORY _target_FILES )
+ foreach (_current_FILE ${ARGN})
+ get_filename_component(_abs_FILE ${_current_FILE} ABSOLUTE)
+ if (NOT ${_abs_FILE} STREQUAL ${_current_FILE})
+ get_filename_component(_abs_FILE ${CMAKE_CURRENT_SOURCE_DIR}/../${_current_FILE} ABSOLUTE)
+ endif ()
+ list(APPEND ${_target_FILES} ${_abs_FILE})
+ endforeach ()
+endmacro()
# the default ecos config file name
# maybe in the future also out-of-source builds may be possible
-SET(ECOS_CONFIG_FILE ecos.ecc)
+set(ECOS_CONFIG_FILE ecos.ecc)
#creates the dependancy from all source files on the ecos target.ld,
#adds the command for compiling ecos
-MACRO(ECOS_ADD_TARGET_LIB)
+macro(ECOS_ADD_TARGET_LIB)
# when building out-of-source, create the ecos/ subdir
- IF(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/ecos)
- FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/ecos)
- ENDIF(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/ecos)
+ if(NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/ecos)
+ file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/ecos)
+ endif()
#sources depend on target.ld
- SET_SOURCE_FILES_PROPERTIES(
+ set_source_files_properties(
${ARGN}
PROPERTIES
OBJECT_DEPENDS
${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib/target.ld
)
- ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib/target.ld
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib/target.ld
COMMAND sh -c \"make -C ${CMAKE_CURRENT_BINARY_DIR}/ecos || exit -1\; if [ -e ${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib/target.ld ] \; then touch ${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib/target.ld\; fi\"
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ecos/makefile
)
- ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ecos/makefile
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/ecos/makefile
COMMAND sh -c \" cd ${CMAKE_CURRENT_BINARY_DIR}/ecos\; ${ECOSCONFIG_EXECUTABLE} --config=${CMAKE_CURRENT_SOURCE_DIR}/ecos/${ECOS_CONFIG_FILE} tree || exit -1\;\"
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/ecos/${ECOS_CONFIG_FILE}
)
- ADD_CUSTOM_TARGET( ecos make -C ${CMAKE_CURRENT_BINARY_DIR}/ecos/ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ecos/makefile )
-ENDMACRO(ECOS_ADD_TARGET_LIB)
+ add_custom_target( ecos make -C ${CMAKE_CURRENT_BINARY_DIR}/ecos/ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ecos/makefile )
+endmacro()
# get the directory of the current file, used later on in the file
-GET_FILENAME_COMPONENT( ECOS_CMAKE_MODULE_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
+get_filename_component( ECOS_CMAKE_MODULE_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
#macro for creating an executable ecos application
#the first parameter is the name of the executable,
#the second is the list of all source files (where the path
#has been adjusted beforehand by calling ECOS_ADJUST_DIRECTORY()
#usage: ECOS_ADD_EXECUTABLE(my_app ${adjusted_SRCS})
-MACRO(ECOS_ADD_EXECUTABLE _exe_NAME )
+macro(ECOS_ADD_EXECUTABLE _exe_NAME )
#definitions, valid for all ecos projects
#the optimization and "-g" for debugging has to be enabled
#in the project-specific CMakeLists.txt
- ADD_DEFINITIONS(-D__ECOS__=1 -D__ECOS=1)
- SET(ECOS_DEFINITIONS -Wall -Wno-long-long -pipe -fno-builtin)
+ add_definitions(-D__ECOS__=1 -D__ECOS=1)
+ set(ECOS_DEFINITIONS -Wall -Wno-long-long -pipe -fno-builtin)
#the executable depends on ecos target.ld
ECOS_ADD_TARGET_LIB(${ARGN})
# when using nmake makefiles, the custom buildtype supresses the default cl.exe flags
# and the rules for creating objects are adjusted for gcc
- SET(CMAKE_BUILD_TYPE CUSTOM_ECOS_BUILD)
- SET(CMAKE_C_COMPILE_OBJECT "<CMAKE_C_COMPILER> <FLAGS> -o <OBJECT> -c <SOURCE>")
- SET(CMAKE_CXX_COMPILE_OBJECT "<CMAKE_CXX_COMPILER> <FLAGS> -o <OBJECT> -c <SOURCE>")
+ set(CMAKE_BUILD_TYPE CUSTOM_ECOS_BUILD)
+ set(CMAKE_C_COMPILE_OBJECT "<CMAKE_C_COMPILER> <FLAGS> -o <OBJECT> -c <SOURCE>")
+ set(CMAKE_CXX_COMPILE_OBJECT "<CMAKE_CXX_COMPILER> <FLAGS> -o <OBJECT> -c <SOURCE>")
# special link commands for ecos-executables
- SET(CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_CXX_COMPILER> <CMAKE_CXX_LINK_FLAGS> <OBJECTS> -o <TARGET> ${_ecos_EXTRA_LIBS} -nostdlib -nostartfiles -L${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib -Ttarget.ld ${ECOS_LD_MCPU}")
- SET(CMAKE_C_LINK_EXECUTABLE "<CMAKE_C_COMPILER> <CMAKE_C_LINK_FLAGS> <OBJECTS> -o <TARGET> ${_ecos_EXTRA_LIBS} -nostdlib -nostartfiles -L${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib -Ttarget.ld ${ECOS_LD_MCPU}")
+ set(CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_CXX_COMPILER> <CMAKE_CXX_LINK_FLAGS> <OBJECTS> -o <TARGET> ${_ecos_EXTRA_LIBS} -nostdlib -nostartfiles -L${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib -Ttarget.ld ${ECOS_LD_MCPU}")
+ set(CMAKE_C_LINK_EXECUTABLE "<CMAKE_C_COMPILER> <CMAKE_C_LINK_FLAGS> <OBJECTS> -o <TARGET> ${_ecos_EXTRA_LIBS} -nostdlib -nostartfiles -L${CMAKE_CURRENT_BINARY_DIR}/ecos/install/lib -Ttarget.ld ${ECOS_LD_MCPU}")
# some strict compiler flags
- SET (CMAKE_C_FLAGS "-Wstrict-prototypes")
- SET (CMAKE_CXX_FLAGS "-Woverloaded-virtual -fno-rtti -Wctor-dtor-privacy -fno-strict-aliasing -fno-exceptions")
+ set (CMAKE_C_FLAGS "-Wstrict-prototypes")
+ set (CMAKE_CXX_FLAGS "-Woverloaded-virtual -fno-rtti -Wctor-dtor-privacy -fno-strict-aliasing -fno-exceptions")
- ADD_EXECUTABLE(${_exe_NAME} ${ARGN})
- SET_TARGET_PROPERTIES(${_exe_NAME} PROPERTIES SUFFIX ".elf")
+ add_executable(${_exe_NAME} ${ARGN})
+ set_target_properties(${_exe_NAME} PROPERTIES SUFFIX ".elf")
#create a binary file
- ADD_CUSTOM_COMMAND(
+ add_custom_command(
TARGET ${_exe_NAME}
POST_BUILD
COMMAND ${ECOS_ARCH_PREFIX}objcopy
@@ -206,7 +206,7 @@ MACRO(ECOS_ADD_EXECUTABLE _exe_NAME )
)
#and an srec file
- ADD_CUSTOM_COMMAND(
+ add_custom_command(
TARGET ${_exe_NAME}
POST_BUILD
COMMAND ${ECOS_ARCH_PREFIX}objcopy
@@ -214,17 +214,17 @@ MACRO(ECOS_ADD_EXECUTABLE _exe_NAME )
)
#add the created files to the clean-files
- SET_DIRECTORY_PROPERTIES(
+ set_directory_properties(
PROPERTIES
ADDITIONAL_MAKE_CLEAN_FILES "${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.bin;${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.srec;${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst;"
)
- ADD_CUSTOM_TARGET(ecosclean ${CMAKE_COMMAND} -DECOS_DIR=${CMAKE_CURRENT_BINARY_DIR}/ecos/ -P ${ECOS_CMAKE_MODULE_DIR}/ecos_clean.cmake )
- ADD_CUSTOM_TARGET(normalclean ${CMAKE_MAKE_PROGRAM} clean WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
- ADD_DEPENDENCIES (ecosclean normalclean)
+ add_custom_target(ecosclean ${CMAKE_COMMAND} -DECOS_DIR=${CMAKE_CURRENT_BINARY_DIR}/ecos/ -P ${ECOS_CMAKE_MODULE_DIR}/ecos_clean.cmake )
+ add_custom_target(normalclean ${CMAKE_MAKE_PROGRAM} clean WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+ add_dependencies (ecosclean normalclean)
- ADD_CUSTOM_TARGET( listing
+ add_custom_target( listing
COMMAND echo -e \"\\n--- Symbols sorted by address ---\\n\" > ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst
COMMAND ${ECOS_ARCH_PREFIX}nm -S -C -n ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.elf >> ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst
COMMAND echo -e \"\\n--- Symbols sorted by size ---\\n\" >> ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst
@@ -232,5 +232,5 @@ MACRO(ECOS_ADD_EXECUTABLE _exe_NAME )
COMMAND echo -e \"\\n--- Full assembly listing ---\\n\" >> ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst
COMMAND ${ECOS_ARCH_PREFIX}objdump -S -x -d -C ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.elf >> ${CMAKE_CURRENT_BINARY_DIR}/${_exe_NAME}.lst )
-ENDMACRO(ECOS_ADD_EXECUTABLE)
+endmacro()
diff --git a/Modules/UseJava.cmake b/Modules/UseJava.cmake
index 0b2d1b833..1b823a8e9 100644
--- a/Modules/UseJava.cmake
+++ b/Modules/UseJava.cmake
@@ -198,7 +198,7 @@ function (__java_copy_file src dest comment)
${dest}
DEPENDS ${src}
COMMENT ${comment})
-endfunction (__java_copy_file src dest comment)
+endfunction ()
# define helper scripts
set(_JAVA_CLASS_FILELIST_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/UseJavaClassFilelist.cmake)
@@ -209,18 +209,18 @@ function(add_jar _TARGET_NAME)
if (NOT DEFINED CMAKE_JAVA_TARGET_OUTPUT_DIR)
set(CMAKE_JAVA_TARGET_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR})
- endif(NOT DEFINED CMAKE_JAVA_TARGET_OUTPUT_DIR)
+ endif()
if (CMAKE_JAVA_JAR_ENTRY_POINT)
set(_ENTRY_POINT_OPTION e)
set(_ENTRY_POINT_VALUE ${CMAKE_JAVA_JAR_ENTRY_POINT})
- endif (CMAKE_JAVA_JAR_ENTRY_POINT)
+ endif ()
if (LIBRARY_OUTPUT_PATH)
set(CMAKE_JAVA_LIBRARY_OUTPUT_PATH ${LIBRARY_OUTPUT_PATH})
- else (LIBRARY_OUTPUT_PATH)
+ else ()
set(CMAKE_JAVA_LIBRARY_OUTPUT_PATH ${CMAKE_JAVA_TARGET_OUTPUT_DIR})
- endif (LIBRARY_OUTPUT_PATH)
+ endif ()
set(CMAKE_JAVA_INCLUDE_PATH
${CMAKE_JAVA_INCLUDE_PATH}
@@ -231,13 +231,13 @@ function(add_jar _TARGET_NAME)
if (WIN32 AND NOT CYGWIN)
set(CMAKE_JAVA_INCLUDE_FLAG_SEP ";")
- else (WIN32 AND NOT CYGWIN)
+ else ()
set(CMAKE_JAVA_INCLUDE_FLAG_SEP ":")
- endif(WIN32 AND NOT CYGWIN)
+ endif()
foreach (JAVA_INCLUDE_DIR ${CMAKE_JAVA_INCLUDE_PATH})
set(CMAKE_JAVA_INCLUDE_PATH_FINAL "${CMAKE_JAVA_INCLUDE_PATH_FINAL}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${JAVA_INCLUDE_DIR}")
- endforeach(JAVA_INCLUDE_DIR)
+ endforeach()
set(CMAKE_JAVA_CLASS_OUTPUT_PATH "${CMAKE_JAVA_TARGET_OUTPUT_DIR}${CMAKE_FILES_DIRECTORY}/${_TARGET_NAME}.dir")
@@ -250,7 +250,7 @@ function(add_jar _TARGET_NAME)
set(_JAVA_TARGET_OUTPUT_LINK "${_TARGET_NAME}.jar")
elseif (CMAKE_JAVA_TARGET_OUTPUT_NAME)
set(_JAVA_TARGET_OUTPUT_NAME "${CMAKE_JAVA_TARGET_OUTPUT_NAME}.jar")
- endif (CMAKE_JAVA_TARGET_OUTPUT_NAME AND CMAKE_JAVA_TARGET_VERSION)
+ endif ()
# reset
set(CMAKE_JAVA_TARGET_OUTPUT_NAME)
@@ -270,9 +270,9 @@ function(add_jar _TARGET_NAME)
string(LENGTH ${_JAVA_REL_SOURCE_PATH} _SRC_LEN)
if (${_BIN_LEN} LESS ${_SRC_LEN})
set(_JAVA_REL_PATH ${_JAVA_REL_BINARY_PATH})
- else (${_BIN_LEN} LESS ${_SRC_LEN})
+ else ()
set(_JAVA_REL_PATH ${_JAVA_REL_SOURCE_PATH})
- endif (${_BIN_LEN} LESS ${_SRC_LEN})
+ endif ()
get_filename_component(_JAVA_REL_PATH ${_JAVA_REL_PATH} PATH)
if (_JAVA_EXT MATCHES ".java")
@@ -290,13 +290,13 @@ function(add_jar _TARGET_NAME)
list(APPEND CMAKE_JAVA_INCLUDE_PATH ${JAVA_JAR_TARGET_${_JAVA_SOURCE_FILE}} ${JAVA_JAR_TARGET_${_JAVA_SOURCE_FILE}_CLASSPATH})
list(APPEND _JAVA_DEPENDS ${JAVA_JAR_TARGET_${_JAVA_SOURCE_FILE}})
- else (_JAVA_EXT MATCHES ".java")
+ else ()
__java_copy_file(${CMAKE_CURRENT_SOURCE_DIR}/${_JAVA_SOURCE_FILE}
${CMAKE_JAVA_CLASS_OUTPUT_PATH}/${_JAVA_SOURCE_FILE}
"Copying ${_JAVA_SOURCE_FILE} to the build directory")
list(APPEND _JAVA_RESOURCE_FILES ${_JAVA_SOURCE_FILE})
- endif (_JAVA_EXT MATCHES ".java")
- endforeach(_JAVA_SOURCE_FILE)
+ endif ()
+ endforeach()
# create an empty java_class_filelist
if (NOT EXISTS ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_class_filelist)
@@ -327,7 +327,7 @@ function(add_jar _TARGET_NAME)
DEPENDS ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_compiled_${_TARGET_NAME}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
- endif (_JAVA_COMPILE_FILES)
+ endif ()
# create the jar file
set(_JAVA_JAR_OUTPUT_PATH
@@ -367,7 +367,7 @@ function(add_jar _TARGET_NAME)
DEPENDS ${_JAVA_RESOURCE_FILES} ${_JAVA_DEPENDS} ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_class_filelist
COMMENT "Creating Java archive ${_JAVA_TARGET_OUTPUT_NAME}"
)
- endif (CMAKE_JNI_TARGET)
+ endif ()
# Add the target and make sure we have the latest resource files.
add_custom_target(${_TARGET_NAME} ALL DEPENDS ${_JAVA_JAR_OUTPUT_PATH})
@@ -398,8 +398,8 @@ function(add_jar _TARGET_NAME)
JNI_SYMLINK
${CMAKE_JAVA_TARGET_OUTPUT_DIR}/${_JAVA_TARGET_OUTPUT_LINK}
)
- endif (CMAKE_JNI_TARGET)
- endif (_JAVA_TARGET_OUTPUT_LINK)
+ endif ()
+ endif ()
set_property(
TARGET
@@ -417,7 +417,7 @@ function(add_jar _TARGET_NAME)
${CMAKE_JAVA_CLASS_OUTPUT_PATH}
)
-endfunction(add_jar)
+endfunction()
function(INSTALL_JAR _TARGET_NAME _DESTINATION)
get_property(__FILES
@@ -434,10 +434,10 @@ function(INSTALL_JAR _TARGET_NAME _DESTINATION)
DESTINATION
${_DESTINATION}
)
- else (__FILES)
+ else ()
message(SEND_ERROR "The target ${_TARGET_NAME} is not known in this scope.")
- endif (__FILES)
-endfunction(INSTALL_JAR _TARGET_NAME _DESTINATION)
+ endif ()
+endfunction()
function(INSTALL_JNI_SYMLINK _TARGET_NAME _DESTINATION)
get_property(__SYMLINK
@@ -454,10 +454,10 @@ function(INSTALL_JNI_SYMLINK _TARGET_NAME _DESTINATION)
DESTINATION
${_DESTINATION}
)
- else (__SYMLINK)
+ else ()
message(SEND_ERROR "The target ${_TARGET_NAME} is not known in this scope.")
- endif (__SYMLINK)
-endfunction(INSTALL_JNI_SYMLINK _TARGET_NAME _DESTINATION)
+ endif ()
+endfunction()
function (find_jar VARIABLE)
set(_jar_names)
@@ -481,12 +481,12 @@ function (find_jar VARIABLE)
set(_state "paths")
elseif (${arg} STREQUAL "DOC")
set(_state "doc")
- else (${arg} STREQUAL "NAMES")
+ else ()
set(_jar_names ${arg})
if (_jar_doc STREQUAL "NOTSET")
set(_jar_doc "Finding ${arg} jar")
- endif (_jar_doc STREQUAL "NOTSET")
- endif (${arg} STREQUAL "VERSIONS")
+ endif ()
+ endif ()
elseif (${_state} STREQUAL "versions")
if (${arg} STREQUAL "NAMES")
set(_state "names")
@@ -494,9 +494,9 @@ function (find_jar VARIABLE)
set(_state "paths")
elseif (${arg} STREQUAL "DOC")
set(_state "doc")
- else (${arg} STREQUAL "NAMES")
+ else ()
set(_jar_versions ${_jar_versions} ${arg})
- endif (${arg} STREQUAL "NAMES")
+ endif ()
elseif (${_state} STREQUAL "names")
if (${arg} STREQUAL "VERSIONS")
set(_state "versions")
@@ -504,12 +504,12 @@ function (find_jar VARIABLE)
set(_state "paths")
elseif (${arg} STREQUAL "DOC")
set(_state "doc")
- else (${arg} STREQUAL "VERSIONS")
+ else ()
set(_jar_names ${_jar_names} ${arg})
if (_jar_doc STREQUAL "NOTSET")
set(_jar_doc "Finding ${arg} jar")
- endif (_jar_doc STREQUAL "NOTSET")
- endif (${arg} STREQUAL "VERSIONS")
+ endif ()
+ endif ()
elseif (${_state} STREQUAL "paths")
if (${arg} STREQUAL "VERSIONS")
set(_state "versions")
@@ -517,9 +517,9 @@ function (find_jar VARIABLE)
set(_state "names")
elseif (${arg} STREQUAL "DOC")
set(_state "doc")
- else (${arg} STREQUAL "VERSIONS")
+ else ()
set(_jar_paths ${_jar_paths} ${arg})
- endif (${arg} STREQUAL "VERSIONS")
+ endif ()
elseif (${_state} STREQUAL "doc")
if (${arg} STREQUAL "VERSIONS")
set(_state "versions")
@@ -527,29 +527,29 @@ function (find_jar VARIABLE)
set(_state "names")
elseif (${arg} STREQUAL "PATHS")
set(_state "paths")
- else (${arg} STREQUAL "VERSIONS")
+ else ()
set(_jar_doc ${arg})
- endif (${arg} STREQUAL "VERSIONS")
- endif (${_state} STREQUAL "name")
- endforeach (arg ${ARGN})
+ endif ()
+ endif ()
+ endforeach ()
if (NOT _jar_names)
message(FATAL_ERROR "find_jar: No name to search for given")
- endif (NOT _jar_names)
+ endif ()
foreach (jar_name ${_jar_names})
foreach (version ${_jar_versions})
set(_jar_files ${_jar_files} ${jar_name}-${version}.jar)
- endforeach (version ${_jar_versions})
+ endforeach ()
set(_jar_files ${_jar_files} ${jar_name}.jar)
- endforeach (jar_name ${_jar_names})
+ endforeach ()
find_file(${VARIABLE}
NAMES ${_jar_files}
PATHS ${_jar_paths}
DOC ${_jar_doc}
NO_DEFAULT_PATH)
-endfunction (find_jar VARIABLE)
+endfunction ()
function(create_javadoc _target)
set(_javadoc_packages)
@@ -815,8 +815,8 @@ function(create_javadoc _target)
else ()
set(_javadoc_version ${arg})
endif ()
- endif (${_state} STREQUAL "package")
- endforeach (arg ${ARGN})
+ endif ()
+ endforeach ()
set(_javadoc_builddir ${CMAKE_CURRENT_BINARY_DIR}/javadoc/${_target})
set(_javadoc_options -d ${_javadoc_builddir})
@@ -827,12 +827,12 @@ function(create_javadoc _target)
if (_start)
set(_sourcepath ${_path})
set(_start FALSE)
- else (_start)
+ else ()
set(_sourcepath ${_sourcepath}:${_path})
- endif (_start)
- endforeach(_path ${_javadoc_sourcepath})
+ endif ()
+ endforeach()
set(_javadoc_options ${_javadoc_options} -sourcepath ${_sourcepath})
- endif (_javadoc_sourcepath)
+ endif ()
if (_javadoc_classpath)
set(_start TRUE)
@@ -840,32 +840,32 @@ function(create_javadoc _target)
if (_start)
set(_classpath ${_path})
set(_start FALSE)
- else (_start)
+ else ()
set(_classpath ${_classpath}:${_path})
- endif (_start)
- endforeach(_path ${_javadoc_classpath})
+ endif ()
+ endforeach()
set(_javadoc_options ${_javadoc_options} -classpath "${_classpath}")
- endif (_javadoc_classpath)
+ endif ()
if (_javadoc_doctitle)
set(_javadoc_options ${_javadoc_options} -doctitle '${_javadoc_doctitle}')
- endif (_javadoc_doctitle)
+ endif ()
if (_javadoc_windowtitle)
set(_javadoc_options ${_javadoc_options} -windowtitle '${_javadoc_windowtitle}')
- endif (_javadoc_windowtitle)
+ endif ()
if (_javadoc_author)
set(_javadoc_options ${_javadoc_options} -author)
- endif (_javadoc_author)
+ endif ()
if (_javadoc_use)
set(_javadoc_options ${_javadoc_options} -use)
- endif (_javadoc_use)
+ endif ()
if (_javadoc_version)
set(_javadoc_options ${_javadoc_options} -version)
- endif (_javadoc_version)
+ endif ()
add_custom_target(${_target}_javadoc ALL
COMMAND ${Java_JAVADOC_EXECUTABLE} ${_javadoc_options}
@@ -878,4 +878,4 @@ function(create_javadoc _target)
DIRECTORY ${_javadoc_builddir}
DESTINATION ${_javadoc_installpath}
)
-endfunction(create_javadoc)
+endfunction()
diff --git a/Modules/UseJavaClassFilelist.cmake b/Modules/UseJavaClassFilelist.cmake
index c842bf71a..6f3a4e7a9 100644
--- a/Modules/UseJavaClassFilelist.cmake
+++ b/Modules/UseJavaClassFilelist.cmake
@@ -28,25 +28,25 @@ if (CMAKE_JAVA_CLASS_OUTPUT_PATH)
file(GLOB_RECURSE _JAVA_GLOBBED_TMP_FILES "${CMAKE_JAVA_CLASS_OUTPUT_PATH}/${JAR_CLASS_PREFIX}/*.class")
if (_JAVA_GLOBBED_TMP_FILES)
list(APPEND _JAVA_GLOBBED_FILES ${_JAVA_GLOBBED_TMP_FILES})
- endif (_JAVA_GLOBBED_TMP_FILES)
- endforeach(JAR_CLASS_PREFIX ${CMAKE_JAR_CLASSES_PREFIX})
+ endif ()
+ endforeach()
else()
file(GLOB_RECURSE _JAVA_GLOBBED_FILES "${CMAKE_JAVA_CLASS_OUTPUT_PATH}/*.class")
- endif (CMAKE_JAR_CLASSES_PREFIX)
+ endif ()
set(_JAVA_CLASS_FILES)
# file(GLOB_RECURSE foo RELATIVE) is broken so we need this.
foreach(_JAVA_GLOBBED_FILE ${_JAVA_GLOBBED_FILES})
file(RELATIVE_PATH _JAVA_CLASS_FILE ${CMAKE_JAVA_CLASS_OUTPUT_PATH} ${_JAVA_GLOBBED_FILE})
set(_JAVA_CLASS_FILES ${_JAVA_CLASS_FILES}${_JAVA_CLASS_FILE}\n)
- endforeach(_JAVA_GLOBBED_FILE ${_JAVA_GLOBBED_FILES})
+ endforeach()
# write to file
file(WRITE ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_class_filelist ${_JAVA_CLASS_FILES})
- else (EXISTS "${CMAKE_JAVA_CLASS_OUTPUT_PATH}")
+ else ()
message(SEND_ERROR "FATAL: Java class output path doesn't exist")
- endif (EXISTS "${CMAKE_JAVA_CLASS_OUTPUT_PATH}")
-else (CMAKE_JAVA_CLASS_OUTPUT_PATH)
+ endif ()
+else ()
message(SEND_ERROR "FATAL: Can't find CMAKE_JAVA_CLASS_OUTPUT_PATH")
-endif (CMAKE_JAVA_CLASS_OUTPUT_PATH)
+endif ()
diff --git a/Modules/UseJavaSymlinks.cmake b/Modules/UseJavaSymlinks.cmake
index c66ee1ea1..88dd7689c 100644
--- a/Modules/UseJavaSymlinks.cmake
+++ b/Modules/UseJavaSymlinks.cmake
@@ -26,7 +26,7 @@ if (UNIX AND _JAVA_TARGET_OUTPUT_LINK)
COMMAND ${LN_EXECUTABLE} -sf "${_JAVA_TARGET_OUTPUT_NAME}" "${_JAVA_TARGET_OUTPUT_LINK}"
WORKING_DIRECTORY ${_JAVA_TARGET_DIR}
)
- else (_JAVA_TARGET_OUTPUT_NAME)
+ else ()
message(SEND_ERROR "FATAL: Can't find _JAVA_TARGET_OUTPUT_NAME")
- endif (_JAVA_TARGET_OUTPUT_NAME)
-endif (UNIX AND _JAVA_TARGET_OUTPUT_LINK)
+ endif ()
+endif ()
diff --git a/Modules/UsePkgConfig.cmake b/Modules/UsePkgConfig.cmake
index 7f4318f05..b1569f9da 100644
--- a/Modules/UsePkgConfig.cmake
+++ b/Modules/UsePkgConfig.cmake
@@ -24,55 +24,55 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-FIND_PROGRAM(PKGCONFIG_EXECUTABLE NAMES pkg-config )
+find_program(PKGCONFIG_EXECUTABLE NAMES pkg-config )
-MACRO(PKGCONFIG _package _include_DIR _link_DIR _link_FLAGS _cflags)
- MESSAGE(STATUS
+macro(PKGCONFIG _package _include_DIR _link_DIR _link_FLAGS _cflags)
+ message(STATUS
"WARNING: you are using the obsolete 'PKGCONFIG' macro, use FindPkgConfig")
# reset the variables at the beginning
- SET(${_include_DIR})
- SET(${_link_DIR})
- SET(${_link_FLAGS})
- SET(${_cflags})
+ set(${_include_DIR})
+ set(${_link_DIR})
+ set(${_link_FLAGS})
+ set(${_cflags})
# if pkg-config has been found
- IF(PKGCONFIG_EXECUTABLE)
+ if(PKGCONFIG_EXECUTABLE)
- EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --exists RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _pkgconfigDevNull )
+ exec_program(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --exists RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _pkgconfigDevNull )
# and if the package of interest also exists for pkg-config, then get the information
- IF(NOT _return_VALUE)
+ if(NOT _return_VALUE)
- EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --variable=includedir
+ exec_program(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --variable=includedir
OUTPUT_VARIABLE ${_include_DIR} )
- STRING(REGEX REPLACE "[\r\n]" " " ${_include_DIR} "${${_include_DIR}}")
+ string(REGEX REPLACE "[\r\n]" " " ${_include_DIR} "${${_include_DIR}}")
- EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --variable=libdir
+ exec_program(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --variable=libdir
OUTPUT_VARIABLE ${_link_DIR} )
- STRING(REGEX REPLACE "[\r\n]" " " ${_link_DIR} "${${_link_DIR}}")
+ string(REGEX REPLACE "[\r\n]" " " ${_link_DIR} "${${_link_DIR}}")
- EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --libs
+ exec_program(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --libs
OUTPUT_VARIABLE ${_link_FLAGS} )
- STRING(REGEX REPLACE "[\r\n]" " " ${_link_FLAGS} "${${_link_FLAGS}}")
+ string(REGEX REPLACE "[\r\n]" " " ${_link_FLAGS} "${${_link_FLAGS}}")
- EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --cflags
+ exec_program(${PKGCONFIG_EXECUTABLE} ARGS ${_package} --cflags
OUTPUT_VARIABLE ${_cflags} )
- STRING(REGEX REPLACE "[\r\n]" " " ${_cflags} "${${_cflags}}")
+ string(REGEX REPLACE "[\r\n]" " " ${_cflags} "${${_cflags}}")
- ELSE( NOT _return_VALUE)
+ else()
- MESSAGE(STATUS "PKGCONFIG() indicates that ${_package} is not installed (install the package which contains ${_package}.pc if you want to support this feature)")
+ message(STATUS "PKGCONFIG() indicates that ${_package} is not installed (install the package which contains ${_package}.pc if you want to support this feature)")
- ENDIF(NOT _return_VALUE)
+ endif()
# if pkg-config has NOT been found, INFORM the user
- ELSE(PKGCONFIG_EXECUTABLE)
+ else()
- MESSAGE(STATUS "WARNING: PKGCONFIG() indicates that the tool pkg-config has not been found on your system. You should install it.")
+ message(STATUS "WARNING: PKGCONFIG() indicates that the tool pkg-config has not been found on your system. You should install it.")
- ENDIF(PKGCONFIG_EXECUTABLE)
+ endif()
-ENDMACRO(PKGCONFIG _include_DIR _link_DIR _link_FLAGS _cflags)
+endmacro()
-MARK_AS_ADVANCED(PKGCONFIG_EXECUTABLE)
+mark_as_advanced(PKGCONFIG_EXECUTABLE)
diff --git a/Modules/UseQt4.cmake b/Modules/UseQt4.cmake
index 027504fc5..e8166f4fc 100644
--- a/Modules/UseQt4.cmake
+++ b/Modules/UseQt4.cmake
@@ -16,93 +16,93 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-ADD_DEFINITIONS(${QT_DEFINITIONS})
-SET_PROPERTY(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_DEBUG QT_DEBUG)
-SET_PROPERTY(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_RELEASE QT_NO_DEBUG)
-SET_PROPERTY(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_RELWITHDEBINFO QT_NO_DEBUG)
-SET_PROPERTY(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_MINSIZEREL QT_NO_DEBUG)
-IF(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
- SET_PROPERTY(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS QT_NO_DEBUG)
-ENDIF()
+add_definitions(${QT_DEFINITIONS})
+set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_DEBUG QT_DEBUG)
+set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_RELEASE QT_NO_DEBUG)
+set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_RELWITHDEBINFO QT_NO_DEBUG)
+set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_MINSIZEREL QT_NO_DEBUG)
+if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
+ set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS QT_NO_DEBUG)
+endif()
-INCLUDE_DIRECTORIES(${QT_INCLUDE_DIR})
+include_directories(${QT_INCLUDE_DIR})
-SET(QT_LIBRARIES "")
-SET(QT_LIBRARIES_PLUGINS "")
+set(QT_LIBRARIES "")
+set(QT_LIBRARIES_PLUGINS "")
-IF (QT_USE_QTMAIN)
- IF (Q_WS_WIN)
- SET(QT_LIBRARIES ${QT_LIBRARIES} ${QT_QTMAIN_LIBRARY})
- ENDIF (Q_WS_WIN)
-ENDIF (QT_USE_QTMAIN)
+if (QT_USE_QTMAIN)
+ if (Q_WS_WIN)
+ set(QT_LIBRARIES ${QT_LIBRARIES} ${QT_QTMAIN_LIBRARY})
+ endif ()
+endif ()
-IF(QT_DONT_USE_QTGUI)
- SET(QT_USE_QTGUI 0)
-ELSE(QT_DONT_USE_QTGUI)
- SET(QT_USE_QTGUI 1)
-ENDIF(QT_DONT_USE_QTGUI)
+if(QT_DONT_USE_QTGUI)
+ set(QT_USE_QTGUI 0)
+else()
+ set(QT_USE_QTGUI 1)
+endif()
-IF(QT_DONT_USE_QTCORE)
- SET(QT_USE_QTCORE 0)
-ELSE(QT_DONT_USE_QTCORE)
- SET(QT_USE_QTCORE 1)
-ENDIF(QT_DONT_USE_QTCORE)
+if(QT_DONT_USE_QTCORE)
+ set(QT_USE_QTCORE 0)
+else()
+ set(QT_USE_QTCORE 1)
+endif()
-IF (QT_USE_QT3SUPPORT)
- ADD_DEFINITIONS(-DQT3_SUPPORT)
-ENDIF (QT_USE_QT3SUPPORT)
+if (QT_USE_QT3SUPPORT)
+ add_definitions(-DQT3_SUPPORT)
+endif ()
# list dependent modules, so dependent libraries are added
-SET(QT_QT3SUPPORT_MODULE_DEPENDS QTGUI QTSQL QTXML QTNETWORK QTCORE)
-SET(QT_QTSVG_MODULE_DEPENDS QTGUI QTXML QTCORE)
-SET(QT_QTUITOOLS_MODULE_DEPENDS QTGUI QTXML QTCORE)
-SET(QT_QTHELP_MODULE_DEPENDS QTGUI QTSQL QTXML QTNETWORK QTCORE)
-IF(QT_QTDBUS_FOUND)
- SET(QT_PHONON_MODULE_DEPENDS QTGUI QTDBUS QTCORE)
-ELSE(QT_QTDBUS_FOUND)
- SET(QT_PHONON_MODULE_DEPENDS QTGUI QTCORE)
-ENDIF(QT_QTDBUS_FOUND)
-SET(QT_QTDBUS_MODULE_DEPENDS QTXML QTCORE)
-SET(QT_QTXMLPATTERNS_MODULE_DEPENDS QTNETWORK QTCORE)
-SET(QT_QAXCONTAINER_MODULE_DEPENDS QTGUI QTCORE)
-SET(QT_QAXSERVER_MODULE_DEPENDS QTGUI QTCORE)
-SET(QT_QTSCRIPTTOOLS_MODULE_DEPENDS QTGUI QTCORE)
-SET(QT_QTWEBKIT_MODULE_DEPENDS QTXMLPATTERNS QTGUI QTCORE)
-SET(QT_QTDECLARATIVE_MODULE_DEPENDS QTSCRIPT QTSVG QTSQL QTXMLPATTERNS QTGUI QTCORE)
-SET(QT_QTMULTIMEDIA_MODULE_DEPENDS QTGUI QTCORE)
-SET(QT_QTOPENGL_MODULE_DEPENDS QTGUI QTCORE)
-SET(QT_QTSCRIPT_MODULE_DEPENDS QTCORE)
-SET(QT_QTGUI_MODULE_DEPENDS QTCORE)
-SET(QT_QTTEST_MODULE_DEPENDS QTCORE)
-SET(QT_QTXML_MODULE_DEPENDS QTCORE)
-SET(QT_QTSQL_MODULE_DEPENDS QTCORE)
-SET(QT_QTNETWORK_MODULE_DEPENDS QTCORE)
+set(QT_QT3SUPPORT_MODULE_DEPENDS QTGUI QTSQL QTXML QTNETWORK QTCORE)
+set(QT_QTSVG_MODULE_DEPENDS QTGUI QTXML QTCORE)
+set(QT_QTUITOOLS_MODULE_DEPENDS QTGUI QTXML QTCORE)
+set(QT_QTHELP_MODULE_DEPENDS QTGUI QTSQL QTXML QTNETWORK QTCORE)
+if(QT_QTDBUS_FOUND)
+ set(QT_PHONON_MODULE_DEPENDS QTGUI QTDBUS QTCORE)
+else()
+ set(QT_PHONON_MODULE_DEPENDS QTGUI QTCORE)
+endif()
+set(QT_QTDBUS_MODULE_DEPENDS QTXML QTCORE)
+set(QT_QTXMLPATTERNS_MODULE_DEPENDS QTNETWORK QTCORE)
+set(QT_QAXCONTAINER_MODULE_DEPENDS QTGUI QTCORE)
+set(QT_QAXSERVER_MODULE_DEPENDS QTGUI QTCORE)
+set(QT_QTSCRIPTTOOLS_MODULE_DEPENDS QTGUI QTCORE)
+set(QT_QTWEBKIT_MODULE_DEPENDS QTXMLPATTERNS QTGUI QTCORE)
+set(QT_QTDECLARATIVE_MODULE_DEPENDS QTSCRIPT QTSVG QTSQL QTXMLPATTERNS QTGUI QTCORE)
+set(QT_QTMULTIMEDIA_MODULE_DEPENDS QTGUI QTCORE)
+set(QT_QTOPENGL_MODULE_DEPENDS QTGUI QTCORE)
+set(QT_QTSCRIPT_MODULE_DEPENDS QTCORE)
+set(QT_QTGUI_MODULE_DEPENDS QTCORE)
+set(QT_QTTEST_MODULE_DEPENDS QTCORE)
+set(QT_QTXML_MODULE_DEPENDS QTCORE)
+set(QT_QTSQL_MODULE_DEPENDS QTCORE)
+set(QT_QTNETWORK_MODULE_DEPENDS QTCORE)
# Qt modules (in order of dependence)
-FOREACH(module QT3SUPPORT QTOPENGL QTASSISTANT QTDESIGNER QTMOTIF QTNSPLUGIN
+foreach(module QT3SUPPORT QTOPENGL QTASSISTANT QTDESIGNER QTMOTIF QTNSPLUGIN
QAXSERVER QAXCONTAINER QTDECLARATIVE QTSCRIPT QTSVG QTUITOOLS QTHELP
QTWEBKIT PHONON QTSCRIPTTOOLS QTMULTIMEDIA QTXMLPATTERNS QTGUI QTTEST
QTDBUS QTXML QTSQL QTNETWORK QTCORE)
- IF (QT_USE_${module} OR QT_USE_${module}_DEPENDS)
- IF (QT_${module}_FOUND)
- IF(QT_USE_${module})
- STRING(REPLACE "QT" "" qt_module_def "${module}")
- ADD_DEFINITIONS(-DQT_${qt_module_def}_LIB)
- INCLUDE_DIRECTORIES(${QT_${module}_INCLUDE_DIR})
- ENDIF(QT_USE_${module})
- SET(QT_LIBRARIES ${QT_LIBRARIES} ${QT_${module}_LIBRARY})
- SET(QT_LIBRARIES_PLUGINS ${QT_LIBRARIES_PLUGINS} ${QT_${module}_PLUGINS})
- IF(QT_IS_STATIC)
- SET(QT_LIBRARIES ${QT_LIBRARIES} ${QT_${module}_LIB_DEPENDENCIES})
- ENDIF(QT_IS_STATIC)
- FOREACH(depend_module ${QT_${module}_MODULE_DEPENDS})
- SET(QT_USE_${depend_module}_DEPENDS 1)
- ENDFOREACH(depend_module ${QT_${module}_MODULE_DEPENDS})
- ELSE (QT_${module}_FOUND)
- MESSAGE("Qt ${module} library not found.")
- ENDIF (QT_${module}_FOUND)
- ENDIF (QT_USE_${module} OR QT_USE_${module}_DEPENDS)
-
-ENDFOREACH(module)
+ if (QT_USE_${module} OR QT_USE_${module}_DEPENDS)
+ if (QT_${module}_FOUND)
+ if(QT_USE_${module})
+ string(REPLACE "QT" "" qt_module_def "${module}")
+ add_definitions(-DQT_${qt_module_def}_LIB)
+ include_directories(${QT_${module}_INCLUDE_DIR})
+ endif()
+ set(QT_LIBRARIES ${QT_LIBRARIES} ${QT_${module}_LIBRARY})
+ set(QT_LIBRARIES_PLUGINS ${QT_LIBRARIES_PLUGINS} ${QT_${module}_PLUGINS})
+ if(QT_IS_STATIC)
+ set(QT_LIBRARIES ${QT_LIBRARIES} ${QT_${module}_LIB_DEPENDENCIES})
+ endif()
+ foreach(depend_module ${QT_${module}_MODULE_DEPENDS})
+ set(QT_USE_${depend_module}_DEPENDS 1)
+ endforeach()
+ else ()
+ message("Qt ${module} library not found.")
+ endif ()
+ endif ()
+
+endforeach()
diff --git a/Modules/UseSWIG.cmake b/Modules/UseSWIG.cmake
index ef7672440..2a095854c 100644
--- a/Modules/UseSWIG.cmake
+++ b/Modules/UseSWIG.cmake
@@ -10,12 +10,12 @@
# Set Source files properties such as CPLUSPLUS and SWIG_FLAGS to specify
# special behavior of SWIG. Also global CMAKE_SWIG_FLAGS can be used to add
# special flags to all swig calls.
-# Another special variable is CMAKE_SWIG_OUTDIR, it allows one to specify
+# Another special variable is CMAKE_SWIG_OUTDIR, it allows one to specify
# where to write all the swig generated module (swig -outdir option)
# The name-specific variable SWIG_MODULE_<name>_EXTRA_DEPS may be used
# to specify extra dependencies for the generated modules.
# If the source file generated by swig need some special flag you can use
-# SET_SOURCE_FILES_PROPERTIES( ${swig_generated_file_fullname}
+# set_source_files_properties( ${swig_generated_file_fullname}
# PROPERTIES COMPILE_FLAGS "-bla")
@@ -33,136 +33,136 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-SET(SWIG_CXX_EXTENSION "cxx")
-SET(SWIG_EXTRA_LIBRARIES "")
+set(SWIG_CXX_EXTENSION "cxx")
+set(SWIG_EXTRA_LIBRARIES "")
-SET(SWIG_PYTHON_EXTRA_FILE_EXTENSION "py")
+set(SWIG_PYTHON_EXTRA_FILE_EXTENSION "py")
#
# For given swig module initialize variables associated with it
#
-MACRO(SWIG_MODULE_INITIALIZE name language)
- STRING(TOUPPER "${language}" swig_uppercase_language)
- STRING(TOLOWER "${language}" swig_lowercase_language)
- SET(SWIG_MODULE_${name}_LANGUAGE "${swig_uppercase_language}")
- SET(SWIG_MODULE_${name}_SWIG_LANGUAGE_FLAG "${swig_lowercase_language}")
-
- SET(SWIG_MODULE_${name}_REAL_NAME "${name}")
- IF("${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "UNKNOWN")
- MESSAGE(FATAL_ERROR "SWIG Error: Language \"${language}\" not found")
- ELSEIF("${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "PYTHON")
+macro(SWIG_MODULE_INITIALIZE name language)
+ string(TOUPPER "${language}" swig_uppercase_language)
+ string(TOLOWER "${language}" swig_lowercase_language)
+ set(SWIG_MODULE_${name}_LANGUAGE "${swig_uppercase_language}")
+ set(SWIG_MODULE_${name}_SWIG_LANGUAGE_FLAG "${swig_lowercase_language}")
+
+ set(SWIG_MODULE_${name}_REAL_NAME "${name}")
+ if("${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "UNKNOWN")
+ message(FATAL_ERROR "SWIG Error: Language \"${language}\" not found")
+ elseif("${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "PYTHON")
# when swig is used without the -interface it will produce in the module.py
- # a 'import _modulename' statement, which implies having a corresponding
+ # a 'import _modulename' statement, which implies having a corresponding
# _modulename.so (*NIX), _modulename.pyd (Win32).
- SET(SWIG_MODULE_${name}_REAL_NAME "_${name}")
- ELSEIF("${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "PERL")
- SET(SWIG_MODULE_${name}_EXTRA_FLAGS "-shadow")
- ENDIF()
-ENDMACRO(SWIG_MODULE_INITIALIZE)
+ set(SWIG_MODULE_${name}_REAL_NAME "_${name}")
+ elseif("${SWIG_MODULE_${name}_LANGUAGE}" STREQUAL "PERL")
+ set(SWIG_MODULE_${name}_EXTRA_FLAGS "-shadow")
+ endif()
+endmacro()
#
# For a given language, input file, and output file, determine extra files that
# will be generated. This is internal swig macro.
#
-MACRO(SWIG_GET_EXTRA_OUTPUT_FILES language outfiles generatedpath infile)
- SET(${outfiles} "")
- GET_SOURCE_FILE_PROPERTY(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename
+macro(SWIG_GET_EXTRA_OUTPUT_FILES language outfiles generatedpath infile)
+ set(${outfiles} "")
+ get_source_file_property(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename
${infile} SWIG_MODULE_NAME)
- IF(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename STREQUAL "NOTFOUND")
- GET_FILENAME_COMPONENT(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename "${infile}" NAME_WE)
- ENDIF(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename STREQUAL "NOTFOUND")
- FOREACH(it ${SWIG_${language}_EXTRA_FILE_EXTENSION})
- SET(${outfiles} ${${outfiles}}
+ if(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename STREQUAL "NOTFOUND")
+ get_filename_component(SWIG_GET_EXTRA_OUTPUT_FILES_module_basename "${infile}" NAME_WE)
+ endif()
+ foreach(it ${SWIG_${language}_EXTRA_FILE_EXTENSION})
+ set(${outfiles} ${${outfiles}}
"${generatedpath}/${SWIG_GET_EXTRA_OUTPUT_FILES_module_basename}.${it}")
- ENDFOREACH(it)
-ENDMACRO(SWIG_GET_EXTRA_OUTPUT_FILES)
+ endforeach()
+endmacro()
#
# Take swig (*.i) file and add proper custom commands for it
#
-MACRO(SWIG_ADD_SOURCE_TO_MODULE name outfiles infile)
- SET(swig_full_infile ${infile})
- GET_FILENAME_COMPONENT(swig_source_file_path "${infile}" PATH)
- GET_FILENAME_COMPONENT(swig_source_file_name_we "${infile}" NAME_WE)
- GET_SOURCE_FILE_PROPERTY(swig_source_file_generated ${infile} GENERATED)
- GET_SOURCE_FILE_PROPERTY(swig_source_file_cplusplus ${infile} CPLUSPLUS)
- GET_SOURCE_FILE_PROPERTY(swig_source_file_flags ${infile} SWIG_FLAGS)
- IF("${swig_source_file_flags}" STREQUAL "NOTFOUND")
- SET(swig_source_file_flags "")
- ENDIF("${swig_source_file_flags}" STREQUAL "NOTFOUND")
- SET(swig_source_file_fullname "${infile}")
- IF(${swig_source_file_path} MATCHES "^${CMAKE_CURRENT_SOURCE_DIR}")
- STRING(REGEX REPLACE
+macro(SWIG_ADD_SOURCE_TO_MODULE name outfiles infile)
+ set(swig_full_infile ${infile})
+ get_filename_component(swig_source_file_path "${infile}" PATH)
+ get_filename_component(swig_source_file_name_we "${infile}" NAME_WE)
+ get_source_file_property(swig_source_file_generated ${infile} GENERATED)
+ get_source_file_property(swig_source_file_cplusplus ${infile} CPLUSPLUS)
+ get_source_file_property(swig_source_file_flags ${infile} SWIG_FLAGS)
+ if("${swig_source_file_flags}" STREQUAL "NOTFOUND")
+ set(swig_source_file_flags "")
+ endif()
+ set(swig_source_file_fullname "${infile}")
+ if(${swig_source_file_path} MATCHES "^${CMAKE_CURRENT_SOURCE_DIR}")
+ string(REGEX REPLACE
"^${CMAKE_CURRENT_SOURCE_DIR}" ""
swig_source_file_relative_path
"${swig_source_file_path}")
- ELSE(${swig_source_file_path} MATCHES "^${CMAKE_CURRENT_SOURCE_DIR}")
- IF(${swig_source_file_path} MATCHES "^${CMAKE_CURRENT_BINARY_DIR}")
- STRING(REGEX REPLACE
+ else()
+ if(${swig_source_file_path} MATCHES "^${CMAKE_CURRENT_BINARY_DIR}")
+ string(REGEX REPLACE
"^${CMAKE_CURRENT_BINARY_DIR}" ""
swig_source_file_relative_path
"${swig_source_file_path}")
- SET(swig_source_file_generated 1)
- ELSE(${swig_source_file_path} MATCHES "^${CMAKE_CURRENT_BINARY_DIR}")
- SET(swig_source_file_relative_path "${swig_source_file_path}")
- IF(swig_source_file_generated)
- SET(swig_source_file_fullname "${CMAKE_CURRENT_BINARY_DIR}/${infile}")
- ELSE(swig_source_file_generated)
- SET(swig_source_file_fullname "${CMAKE_CURRENT_SOURCE_DIR}/${infile}")
- ENDIF(swig_source_file_generated)
- ENDIF(${swig_source_file_path} MATCHES "^${CMAKE_CURRENT_BINARY_DIR}")
- ENDIF(${swig_source_file_path} MATCHES "^${CMAKE_CURRENT_SOURCE_DIR}")
-
- SET(swig_generated_file_fullname
+ set(swig_source_file_generated 1)
+ else()
+ set(swig_source_file_relative_path "${swig_source_file_path}")
+ if(swig_source_file_generated)
+ set(swig_source_file_fullname "${CMAKE_CURRENT_BINARY_DIR}/${infile}")
+ else()
+ set(swig_source_file_fullname "${CMAKE_CURRENT_SOURCE_DIR}/${infile}")
+ endif()
+ endif()
+ endif()
+
+ set(swig_generated_file_fullname
"${CMAKE_CURRENT_BINARY_DIR}")
- IF(swig_source_file_relative_path)
- SET(swig_generated_file_fullname
+ if(swig_source_file_relative_path)
+ set(swig_generated_file_fullname
"${swig_generated_file_fullname}/${swig_source_file_relative_path}")
- ENDIF(swig_source_file_relative_path)
+ endif()
# If CMAKE_SWIG_OUTDIR was specified then pass it to -outdir
- IF(CMAKE_SWIG_OUTDIR)
- SET(swig_outdir ${CMAKE_SWIG_OUTDIR})
- ELSE(CMAKE_SWIG_OUTDIR)
- SET(swig_outdir ${CMAKE_CURRENT_BINARY_DIR})
- ENDIF(CMAKE_SWIG_OUTDIR)
+ if(CMAKE_SWIG_OUTDIR)
+ set(swig_outdir ${CMAKE_SWIG_OUTDIR})
+ else()
+ set(swig_outdir ${CMAKE_CURRENT_BINARY_DIR})
+ endif()
SWIG_GET_EXTRA_OUTPUT_FILES(${SWIG_MODULE_${name}_LANGUAGE}
swig_extra_generated_files
"${swig_outdir}"
"${infile}")
- SET(swig_generated_file_fullname
+ set(swig_generated_file_fullname
"${swig_generated_file_fullname}/${swig_source_file_name_we}")
# add the language into the name of the file (i.e. TCL_wrap)
# this allows for the same .i file to be wrapped into different languages
- SET(swig_generated_file_fullname
+ set(swig_generated_file_fullname
"${swig_generated_file_fullname}${SWIG_MODULE_${name}_LANGUAGE}_wrap")
- IF(swig_source_file_cplusplus)
- SET(swig_generated_file_fullname
+ if(swig_source_file_cplusplus)
+ set(swig_generated_file_fullname
"${swig_generated_file_fullname}.${SWIG_CXX_EXTENSION}")
- ELSE(swig_source_file_cplusplus)
- SET(swig_generated_file_fullname
+ else()
+ set(swig_generated_file_fullname
"${swig_generated_file_fullname}.c")
- ENDIF(swig_source_file_cplusplus)
+ endif()
- #MESSAGE("Full path to source file: ${swig_source_file_fullname}")
- #MESSAGE("Full path to the output file: ${swig_generated_file_fullname}")
- GET_DIRECTORY_PROPERTY(cmake_include_directories INCLUDE_DIRECTORIES)
- SET(swig_include_dirs)
- FOREACH(it ${cmake_include_directories})
- SET(swig_include_dirs ${swig_include_dirs} "-I${it}")
- ENDFOREACH(it)
+ #message("Full path to source file: ${swig_source_file_fullname}")
+ #message("Full path to the output file: ${swig_generated_file_fullname}")
+ get_directory_property(cmake_include_directories INCLUDE_DIRECTORIES)
+ set(swig_include_dirs)
+ foreach(it ${cmake_include_directories})
+ set(swig_include_dirs ${swig_include_dirs} "-I${it}")
+ endforeach()
- SET(swig_special_flags)
+ set(swig_special_flags)
# default is c, so add c++ flag if it is c++
- IF(swig_source_file_cplusplus)
- SET(swig_special_flags ${swig_special_flags} "-c++")
- ENDIF(swig_source_file_cplusplus)
- SET(swig_extra_flags)
- IF(SWIG_MODULE_${name}_EXTRA_FLAGS)
- SET(swig_extra_flags ${swig_extra_flags} ${SWIG_MODULE_${name}_EXTRA_FLAGS})
- ENDIF(SWIG_MODULE_${name}_EXTRA_FLAGS)
- ADD_CUSTOM_COMMAND(
+ if(swig_source_file_cplusplus)
+ set(swig_special_flags ${swig_special_flags} "-c++")
+ endif()
+ set(swig_extra_flags)
+ if(SWIG_MODULE_${name}_EXTRA_FLAGS)
+ set(swig_extra_flags ${swig_extra_flags} ${SWIG_MODULE_${name}_EXTRA_FLAGS})
+ endif()
+ add_custom_command(
OUTPUT "${swig_generated_file_fullname}" ${swig_extra_generated_files}
# Let's create the ${swig_outdir} at execution time, in case dir contains $(OutDir)
COMMAND ${CMAKE_COMMAND} -E make_directory ${swig_outdir}
@@ -178,54 +178,54 @@ MACRO(SWIG_ADD_SOURCE_TO_MODULE name outfiles infile)
"${swig_source_file_fullname}"
MAIN_DEPENDENCY "${swig_source_file_fullname}"
DEPENDS ${SWIG_MODULE_${name}_EXTRA_DEPS}
- COMMENT "Swig source")
- SET_SOURCE_FILES_PROPERTIES("${swig_generated_file_fullname}" ${swig_extra_generated_files}
+ COMMENT "Swig source")
+ set_source_files_properties("${swig_generated_file_fullname}" ${swig_extra_generated_files}
PROPERTIES GENERATED 1)
- SET(${outfiles} "${swig_generated_file_fullname}" ${swig_extra_generated_files})
-ENDMACRO(SWIG_ADD_SOURCE_TO_MODULE)
+ set(${outfiles} "${swig_generated_file_fullname}" ${swig_extra_generated_files})
+endmacro()
#
# Create Swig module
#
-MACRO(SWIG_ADD_MODULE name language)
+macro(SWIG_ADD_MODULE name language)
SWIG_MODULE_INITIALIZE(${name} ${language})
- SET(swig_dot_i_sources)
- SET(swig_other_sources)
- FOREACH(it ${ARGN})
- IF(${it} MATCHES ".*\\.i$")
- SET(swig_dot_i_sources ${swig_dot_i_sources} "${it}")
- ELSE(${it} MATCHES ".*\\.i$")
- SET(swig_other_sources ${swig_other_sources} "${it}")
- ENDIF(${it} MATCHES ".*\\.i$")
- ENDFOREACH(it)
-
- SET(swig_generated_sources)
- FOREACH(it ${swig_dot_i_sources})
+ set(swig_dot_i_sources)
+ set(swig_other_sources)
+ foreach(it ${ARGN})
+ if(${it} MATCHES ".*\\.i$")
+ set(swig_dot_i_sources ${swig_dot_i_sources} "${it}")
+ else()
+ set(swig_other_sources ${swig_other_sources} "${it}")
+ endif()
+ endforeach()
+
+ set(swig_generated_sources)
+ foreach(it ${swig_dot_i_sources})
SWIG_ADD_SOURCE_TO_MODULE(${name} swig_generated_source ${it})
- SET(swig_generated_sources ${swig_generated_sources} "${swig_generated_source}")
- ENDFOREACH(it)
- GET_DIRECTORY_PROPERTY(swig_extra_clean_files ADDITIONAL_MAKE_CLEAN_FILES)
- SET_DIRECTORY_PROPERTIES(PROPERTIES
+ set(swig_generated_sources ${swig_generated_sources} "${swig_generated_source}")
+ endforeach()
+ get_directory_property(swig_extra_clean_files ADDITIONAL_MAKE_CLEAN_FILES)
+ set_directory_properties(PROPERTIES
ADDITIONAL_MAKE_CLEAN_FILES "${swig_extra_clean_files};${swig_generated_sources}")
- ADD_LIBRARY(${SWIG_MODULE_${name}_REAL_NAME}
+ add_library(${SWIG_MODULE_${name}_REAL_NAME}
MODULE
${swig_generated_sources}
${swig_other_sources})
- STRING(TOLOWER "${language}" swig_lowercase_language)
- IF ("${swig_lowercase_language}" STREQUAL "java")
- IF (APPLE)
+ string(TOLOWER "${language}" swig_lowercase_language)
+ if ("${swig_lowercase_language}" STREQUAL "java")
+ if (APPLE)
# In java you want:
# System.loadLibrary("LIBRARY");
# then JNI will look for a library whose name is platform dependent, namely
# MacOS : libLIBRARY.jnilib
# Windows: LIBRARY.dll
# Linux : libLIBRARY.so
- SET_TARGET_PROPERTIES (${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".jnilib")
- ENDIF (APPLE)
- ENDIF ("${swig_lowercase_language}" STREQUAL "java")
- IF ("${swig_lowercase_language}" STREQUAL "python")
+ set_target_properties (${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".jnilib")
+ endif ()
+ endif ()
+ if ("${swig_lowercase_language}" STREQUAL "python")
# this is only needed for the python case where a _modulename.so is generated
- SET_TARGET_PROPERTIES(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "")
+ set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES PREFIX "")
# Python extension modules on Windows must have the extension ".pyd"
# instead of ".dll" as of Python 2.5. Older python versions do support
# this suffix.
@@ -234,20 +234,20 @@ MACRO(SWIG_ADD_MODULE name language)
# Windows: .dll is no longer supported as a filename extension for extension modules.
# .pyd is now the only filename extension that will be searched for.
# </quote>
- IF(WIN32 AND NOT CYGWIN)
- SET_TARGET_PROPERTIES(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".pyd")
- ENDIF(WIN32 AND NOT CYGWIN)
- ENDIF ("${swig_lowercase_language}" STREQUAL "python")
-ENDMACRO(SWIG_ADD_MODULE)
+ if(WIN32 AND NOT CYGWIN)
+ set_target_properties(${SWIG_MODULE_${name}_REAL_NAME} PROPERTIES SUFFIX ".pyd")
+ endif()
+ endif ()
+endmacro()
#
# Like TARGET_LINK_LIBRARIES but for swig modules
#
-MACRO(SWIG_LINK_LIBRARIES name)
- IF(SWIG_MODULE_${name}_REAL_NAME)
- TARGET_LINK_LIBRARIES(${SWIG_MODULE_${name}_REAL_NAME} ${ARGN})
- ELSE(SWIG_MODULE_${name}_REAL_NAME)
- MESSAGE(SEND_ERROR "Cannot find Swig library \"${name}\".")
- ENDIF(SWIG_MODULE_${name}_REAL_NAME)
-ENDMACRO(SWIG_LINK_LIBRARIES name)
+macro(SWIG_LINK_LIBRARIES name)
+ if(SWIG_MODULE_${name}_REAL_NAME)
+ target_link_libraries(${SWIG_MODULE_${name}_REAL_NAME} ${ARGN})
+ else()
+ message(SEND_ERROR "Cannot find Swig library \"${name}\".")
+ endif()
+endmacro()
diff --git a/Modules/UseVTK40.cmake b/Modules/UseVTK40.cmake
index c1157d6be..d6bdaaa52 100644
--- a/Modules/UseVTK40.cmake
+++ b/Modules/UseVTK40.cmake
@@ -19,11 +19,11 @@
# to point here.
# Add compiler flags needed to use VTK.
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${VTK_REQUIRED_C_FLAGS}")
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${VTK_REQUIRED_CXX_FLAGS}")
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${VTK_REQUIRED_C_FLAGS}")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${VTK_REQUIRED_CXX_FLAGS}")
# Add include directories needed to use VTK.
-INCLUDE_DIRECTORIES(${VTK_INCLUDE_DIRS})
+include_directories(${VTK_INCLUDE_DIRS})
# Add link directories needed to use VTK.
-LINK_DIRECTORIES(${VTK_LIBRARY_DIRS})
+link_directories(${VTK_LIBRARY_DIRS})
diff --git a/Modules/UseVTKBuildSettings40.cmake b/Modules/UseVTKBuildSettings40.cmake
index 4df59b9dd..474f67c9c 100644
--- a/Modules/UseVTKBuildSettings40.cmake
+++ b/Modules/UseVTKBuildSettings40.cmake
@@ -16,23 +16,23 @@
# Implementation detail for FindVTK.cmake to let it provide a
# VTK_BUILD_SETTINGS_FILE for VTK 4.0.
-SET(CMAKE_BUILD_SETTING_CMAKE_MAJOR_VERSION "${VTK40_CMAKE_MAJOR_VERSION}")
-SET(CMAKE_BUILD_SETTING_CMAKE_MINOR_VERSION "${VTK40_CMAKE_MINOR_VERSION}")
-SET(CMAKE_BUILD_SETTING_PROJECT_NAME "VTK")
+set(CMAKE_BUILD_SETTING_CMAKE_MAJOR_VERSION "${VTK40_CMAKE_MAJOR_VERSION}")
+set(CMAKE_BUILD_SETTING_CMAKE_MINOR_VERSION "${VTK40_CMAKE_MINOR_VERSION}")
+set(CMAKE_BUILD_SETTING_PROJECT_NAME "VTK")
-SET(CMAKE_BUILD_SETTING_C_COMPILER "${VTK40_CMAKE_C_COMPILER}")
-SET(CMAKE_BUILD_SETTING_C_FLAGS "${VTK40_CMAKE_C_FLAGS}")
-SET(CMAKE_BUILD_SETTING_C_FLAGS_DEBUG "${VTK40_CMAKE_C_FLAGS_DEBUG}")
-SET(CMAKE_BUILD_SETTING_C_FLAGS_RELEASE "${VTK40_CMAKE_C_FLAGS_RELEASE}")
-SET(CMAKE_BUILD_SETTING_C_FLAGS_MINSIZEREL "${VTK40_CMAKE_C_FLAGS_MINSIZEREL}")
-SET(CMAKE_BUILD_SETTING_C_FLAGS_RELWITHDEBINFO "${VTK40_CMAKE_C_FLAGS_RELWITHDEBINFO}")
+set(CMAKE_BUILD_SETTING_C_COMPILER "${VTK40_CMAKE_C_COMPILER}")
+set(CMAKE_BUILD_SETTING_C_FLAGS "${VTK40_CMAKE_C_FLAGS}")
+set(CMAKE_BUILD_SETTING_C_FLAGS_DEBUG "${VTK40_CMAKE_C_FLAGS_DEBUG}")
+set(CMAKE_BUILD_SETTING_C_FLAGS_RELEASE "${VTK40_CMAKE_C_FLAGS_RELEASE}")
+set(CMAKE_BUILD_SETTING_C_FLAGS_MINSIZEREL "${VTK40_CMAKE_C_FLAGS_MINSIZEREL}")
+set(CMAKE_BUILD_SETTING_C_FLAGS_RELWITHDEBINFO "${VTK40_CMAKE_C_FLAGS_RELWITHDEBINFO}")
-SET(CMAKE_BUILD_SETTING_CXX_COMPILER "${VTK40_CMAKE_CXX_COMPILER}")
-SET(CMAKE_BUILD_SETTING_CXX_FLAGS "${VTK40_CMAKE_CXX_FLAGS}")
-SET(CMAKE_BUILD_SETTING_CXX_FLAGS_DEBUG "${VTK40_CMAKE_CXX_FLAGS_DEBUG}")
-SET(CMAKE_BUILD_SETTING_CXX_FLAGS_RELEASE "${VTK40_CMAKE_CXX_FLAGS_RELEASE}")
-SET(CMAKE_BUILD_SETTING_CXX_FLAGS_MINSIZEREL "${VTK40_CMAKE_CXX_FLAGS_MINSIZEREL}")
-SET(CMAKE_BUILD_SETTING_CXX_FLAGS_RELWITHDEBINFO "${VTK40_CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
+set(CMAKE_BUILD_SETTING_CXX_COMPILER "${VTK40_CMAKE_CXX_COMPILER}")
+set(CMAKE_BUILD_SETTING_CXX_FLAGS "${VTK40_CMAKE_CXX_FLAGS}")
+set(CMAKE_BUILD_SETTING_CXX_FLAGS_DEBUG "${VTK40_CMAKE_CXX_FLAGS_DEBUG}")
+set(CMAKE_BUILD_SETTING_CXX_FLAGS_RELEASE "${VTK40_CMAKE_CXX_FLAGS_RELEASE}")
+set(CMAKE_BUILD_SETTING_CXX_FLAGS_MINSIZEREL "${VTK40_CMAKE_CXX_FLAGS_MINSIZEREL}")
+set(CMAKE_BUILD_SETTING_CXX_FLAGS_RELWITHDEBINFO "${VTK40_CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
-SET(CMAKE_BUILD_SETTING_BUILD_TYPE "${VTK40_CMAKE_BUILD_TYPE}")
-SET(CMAKE_BUILD_SETTING_BUILD_TOOL "${VTK40_CMAKE_BUILD_TOOL}")
+set(CMAKE_BUILD_SETTING_BUILD_TYPE "${VTK40_CMAKE_BUILD_TYPE}")
+set(CMAKE_BUILD_SETTING_BUILD_TOOL "${VTK40_CMAKE_BUILD_TOOL}")
diff --git a/Modules/UseVTKConfig40.cmake b/Modules/UseVTKConfig40.cmake
index ca5e7aa3c..554b8c447 100644
--- a/Modules/UseVTKConfig40.cmake
+++ b/Modules/UseVTKConfig40.cmake
@@ -17,21 +17,21 @@
# FindVTK.cmake module. Do not include directly.
# Hard-code the version number since it isn't provided by VTK 4.0.
-SET(VTK_MAJOR_VERSION 4)
-SET(VTK_MINOR_VERSION 0)
-SET(VTK_BUILD_VERSION 2)
+set(VTK_MAJOR_VERSION 4)
+set(VTK_MINOR_VERSION 0)
+set(VTK_BUILD_VERSION 2)
# Provide a new UseVTK file that doesn't do a full LOAD_CACHE.
-SET(VTK_USE_FILE ${CMAKE_ROOT}/Modules/UseVTK40.cmake)
+set(VTK_USE_FILE ${CMAKE_ROOT}/Modules/UseVTK40.cmake)
# Provide a build settings file.
-SET(VTK_BUILD_SETTINGS_FILE ${CMAKE_ROOT}/Modules/UseVTKBuildSettings40.cmake)
+set(VTK_BUILD_SETTINGS_FILE ${CMAKE_ROOT}/Modules/UseVTKBuildSettings40.cmake)
# There are no CMake extensions for VTK 4.0.
-SET(VTK_CMAKE_EXTENSIONS_DIR "")
+set(VTK_CMAKE_EXTENSIONS_DIR "")
# grep "VTK40_" UseVTKConfig40.cmake |sed 's/.*VTK40_\([A-Za-z0-9_]*\).*/ \1/'
-LOAD_CACHE(${VTK_DIR} READ_WITH_PREFIX VTK40_
+load_cache(${VTK_DIR} READ_WITH_PREFIX VTK40_
BUILD_SHARED_LIBS
CMAKE_BUILD_TOOL
CMAKE_BUILD_TYPE
@@ -132,124 +132,124 @@ LOAD_CACHE(${VTK_DIR} READ_WITH_PREFIX VTK40_
)
# Copy needed settings from the VTK 4.0 cache.
-SET(VTK_BUILD_SHARED ${VTK40_BUILD_SHARED_LIBS})
-SET(VTK_DEBUG_LEAKS ${VTK40_VTK_DEBUG_LEAKS})
-SET(VTK_HAVE_VG500 ${VTK40_VTK_HAVE_VG500})
-SET(VTK_HAVE_VP1000 ${VTK40_VTK_HAVE_VP1000})
-SET(VTK_USE_MANGLED_MESA ${VTK40_VTK_MANGLE_MESA})
-SET(VTK_MPIRUN_EXE ${VTK40_MPIRUN})
-SET(VTK_MPI_POSTFLAGS ${VTK40_MPI_POSTFLAGS})
-SET(VTK_MPI_PREFLAGS ${VTK40_MPI_PREFLAGS})
-SET(VTK_OPENGL_HAS_OSMESA ${VTK40_VTK_OPENGL_HAS_OSMESA})
-SET(VTK_USE_64BIT_IDS ${VTK40_VTK_USE_64BIT_IDS})
-SET(VTK_USE_ANSI_STDLIB ${VTK40_VTK_USE_ANSI_STDLIB})
-SET(VTK_USE_HYBRID ${VTK40_VTK_USE_HYBRID})
-SET(VTK_USE_MATROX_IMAGING ${VTK40_VTK_USE_MATROX_IMAGING})
-SET(VTK_USE_MPI ${VTK40_VTK_USE_MPI})
-SET(VTK_USE_PARALLEL ${VTK40_VTK_USE_PARALLEL})
-SET(VTK_USE_PATENTED ${VTK40_VTK_USE_PATENTED})
-SET(VTK_USE_RENDERING ${VTK40_VTK_USE_RENDERING})
-SET(VTK_USE_VIDEO_FOR_WINDOWS ${VTK40_VTK_USE_VIDEO_FOR_WINDOWS})
-SET(VTK_USE_VOLUMEPRO ${VTK40_VTK_USE_VOLUMEPRO})
-SET(VTK_USE_X ${VTK40_VTK_USE_X})
-SET(VTK_WRAP_JAVA ${VTK40_VTK_WRAP_JAVA})
-SET(VTK_WRAP_PYTHON ${VTK40_VTK_WRAP_PYTHON})
-SET(VTK_WRAP_TCL ${VTK40_VTK_WRAP_TCL})
+set(VTK_BUILD_SHARED ${VTK40_BUILD_SHARED_LIBS})
+set(VTK_DEBUG_LEAKS ${VTK40_VTK_DEBUG_LEAKS})
+set(VTK_HAVE_VG500 ${VTK40_VTK_HAVE_VG500})
+set(VTK_HAVE_VP1000 ${VTK40_VTK_HAVE_VP1000})
+set(VTK_USE_MANGLED_MESA ${VTK40_VTK_MANGLE_MESA})
+set(VTK_MPIRUN_EXE ${VTK40_MPIRUN})
+set(VTK_MPI_POSTFLAGS ${VTK40_MPI_POSTFLAGS})
+set(VTK_MPI_PREFLAGS ${VTK40_MPI_PREFLAGS})
+set(VTK_OPENGL_HAS_OSMESA ${VTK40_VTK_OPENGL_HAS_OSMESA})
+set(VTK_USE_64BIT_IDS ${VTK40_VTK_USE_64BIT_IDS})
+set(VTK_USE_ANSI_STDLIB ${VTK40_VTK_USE_ANSI_STDLIB})
+set(VTK_USE_HYBRID ${VTK40_VTK_USE_HYBRID})
+set(VTK_USE_MATROX_IMAGING ${VTK40_VTK_USE_MATROX_IMAGING})
+set(VTK_USE_MPI ${VTK40_VTK_USE_MPI})
+set(VTK_USE_PARALLEL ${VTK40_VTK_USE_PARALLEL})
+set(VTK_USE_PATENTED ${VTK40_VTK_USE_PATENTED})
+set(VTK_USE_RENDERING ${VTK40_VTK_USE_RENDERING})
+set(VTK_USE_VIDEO_FOR_WINDOWS ${VTK40_VTK_USE_VIDEO_FOR_WINDOWS})
+set(VTK_USE_VOLUMEPRO ${VTK40_VTK_USE_VOLUMEPRO})
+set(VTK_USE_X ${VTK40_VTK_USE_X})
+set(VTK_WRAP_JAVA ${VTK40_VTK_WRAP_JAVA})
+set(VTK_WRAP_PYTHON ${VTK40_VTK_WRAP_PYTHON})
+set(VTK_WRAP_TCL ${VTK40_VTK_WRAP_TCL})
# Create the list of available kits.
-SET(VTK_KITS COMMON FILTERING GRAPHICS IMAGING IO)
-IF(VTK_USE_RENDERING)
- SET(VTK_KITS ${VTK_KITS} RENDERING)
-ENDIF(VTK_USE_RENDERING)
-IF(VTK_USE_HYBRID)
- SET(VTK_KITS ${VTK_KITS} HYBRID)
-ENDIF(VTK_USE_HYBRID)
-IF(VTK_USE_PARALLEL)
- SET(VTK_KITS ${VTK_KITS} PARALLEL)
-ENDIF(VTK_USE_PARALLEL)
-IF(VTK_USE_PATENTED)
- SET(VTK_KITS ${VTK_KITS} PATENTED)
-ENDIF(VTK_USE_PATENTED)
+set(VTK_KITS COMMON FILTERING GRAPHICS IMAGING IO)
+if(VTK_USE_RENDERING)
+ set(VTK_KITS ${VTK_KITS} RENDERING)
+endif()
+if(VTK_USE_HYBRID)
+ set(VTK_KITS ${VTK_KITS} HYBRID)
+endif()
+if(VTK_USE_PARALLEL)
+ set(VTK_KITS ${VTK_KITS} PARALLEL)
+endif()
+if(VTK_USE_PATENTED)
+ set(VTK_KITS ${VTK_KITS} PATENTED)
+endif()
# Create the list of available languages.
-SET(VTK_LANGUAGES "")
-IF(VTK_WRAP_TCL)
- SET(VTK_LANGUAGES ${VTK_LANGUAGES} TCL)
-ENDIF(VTK_WRAP_TCL)
-IF(VTK_WRAP_PYTHON)
- SET(VTK_LANGUAGES ${VTK_LANGUAGES} PYTHON)
-ENDIF(VTK_WRAP_PYTHON)
-IF(VTK_WRAP_JAVA)
- SET(VTK_LANGUAGES ${VTK_LANGUAGES} JAVA)
-ENDIF(VTK_WRAP_JAVA)
+set(VTK_LANGUAGES "")
+if(VTK_WRAP_TCL)
+ set(VTK_LANGUAGES ${VTK_LANGUAGES} TCL)
+endif()
+if(VTK_WRAP_PYTHON)
+ set(VTK_LANGUAGES ${VTK_LANGUAGES} PYTHON)
+endif()
+if(VTK_WRAP_JAVA)
+ set(VTK_LANGUAGES ${VTK_LANGUAGES} JAVA)
+endif()
# Include directories for other projects installed on the system and
# used by VTK.
-SET(VTK_INCLUDE_DIRS_SYS "")
-IF(VTK_USE_RENDERING)
- SET(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
+set(VTK_INCLUDE_DIRS_SYS "")
+if(VTK_USE_RENDERING)
+ set(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
${VTK40_OPENGL_INCLUDE_PATH} ${VTK40_OPENGL_INCLUDE_DIR})
- IF(VTK_USE_X)
- SET(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
+ if(VTK_USE_X)
+ set(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
${VTK40_CMAKE_Xlib_INCLUDE_PATH} ${VTK40_CMAKE_Xutil_INCLUDE_PATH})
- ENDIF(VTK_USE_X)
-ENDIF(VTK_USE_RENDERING)
+ endif()
+endif()
-IF(VTK_OPENGL_HAS_OSMESA)
- SET(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
+if(VTK_OPENGL_HAS_OSMESA)
+ set(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
${VTK40_OSMESA_INCLUDE_PATH})
-ENDIF(VTK_OPENGL_HAS_OSMESA)
+endif()
-IF(VTK_USE_MPI)
- SET(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS} ${VTK40_MPI_INCLUDE_PATH})
-ENDIF(VTK_USE_MPI)
+if(VTK_USE_MPI)
+ set(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS} ${VTK40_MPI_INCLUDE_PATH})
+endif()
-IF(VTK_WRAP_TCL)
- SET(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS} ${VTK40_TCL_INCLUDE_PATH})
-ENDIF(VTK_WRAP_TCL)
+if(VTK_WRAP_TCL)
+ set(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS} ${VTK40_TCL_INCLUDE_PATH})
+endif()
-IF(VTK_WRAP_PYTHON)
- SET(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS} ${VTK40_PYTHON_INCLUDE_PATH})
-ENDIF(VTK_WRAP_PYTHON)
+if(VTK_WRAP_PYTHON)
+ set(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS} ${VTK40_PYTHON_INCLUDE_PATH})
+endif()
-IF(VTK_WRAP_JAVA)
- SET(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
+if(VTK_WRAP_JAVA)
+ set(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
${VTK40_JAVA_INCLUDE_PATH} ${VTK40_JAVA_INCLUDE_PATH2})
-ENDIF(VTK_WRAP_JAVA)
+endif()
-IF(VTK_HAVE_VG500)
- SET(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
+if(VTK_HAVE_VG500)
+ set(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
${VTK40_VLI_INCLUDE_PATH_FOR_VG500})
-ENDIF(VTK_HAVE_VG500)
+endif()
-IF(VTK_HAVE_VP1000)
- SET(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
+if(VTK_HAVE_VP1000)
+ set(VTK_INCLUDE_DIRS_SYS ${VTK_INCLUDE_DIRS_SYS}
${VTK40_VLI_INCLUDE_PATH_FOR_VP1000})
-ENDIF(VTK_HAVE_VP1000)
+endif()
# See if this is a build tree or install tree.
-IF(EXISTS ${VTK_DIR}/Common)
+if(EXISTS ${VTK_DIR}/Common)
# This is a VTK 4.0 build tree.
- SET(VTK_LIBRARY_DIRS ${VTK40_LIBRARY_OUTPUT_PATH})
+ set(VTK_LIBRARY_DIRS ${VTK40_LIBRARY_OUTPUT_PATH})
# Determine the include directories needed.
- SET(VTK_INCLUDE_DIRS ${VTK40_VTK_BINARY_DIR})
- IF(VTK_USE_PARALLEL)
- SET(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS} ${VTK40_VTK_SOURCE_DIR}/Parallel)
- ENDIF(VTK_USE_PARALLEL)
- IF(VTK_USE_HYBRID)
- SET(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS} ${VTK40_VTK_SOURCE_DIR}/Hybrid)
- ENDIF(VTK_USE_HYBRID)
- IF(VTK_USE_PATENTED)
- SET(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS} ${VTK40_VTK_SOURCE_DIR}/Patented)
- ENDIF(VTK_USE_PATENTED)
- IF(VTK_USE_RENDERING)
- SET(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS} ${VTK40_VTK_SOURCE_DIR}/Rendering)
- ENDIF(VTK_USE_RENDERING)
+ set(VTK_INCLUDE_DIRS ${VTK40_VTK_BINARY_DIR})
+ if(VTK_USE_PARALLEL)
+ set(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS} ${VTK40_VTK_SOURCE_DIR}/Parallel)
+ endif()
+ if(VTK_USE_HYBRID)
+ set(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS} ${VTK40_VTK_SOURCE_DIR}/Hybrid)
+ endif()
+ if(VTK_USE_PATENTED)
+ set(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS} ${VTK40_VTK_SOURCE_DIR}/Patented)
+ endif()
+ if(VTK_USE_RENDERING)
+ set(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS} ${VTK40_VTK_SOURCE_DIR}/Rendering)
+ endif()
# These directories are always needed.
- SET(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS}
+ set(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS}
${VTK40_VTK_SOURCE_DIR}/IO
${VTK40_VTK_SOURCE_DIR}/Imaging
${VTK40_VTK_SOURCE_DIR}/Graphics
@@ -257,119 +257,119 @@ IF(EXISTS ${VTK_DIR}/Common)
${VTK40_VTK_SOURCE_DIR}/Common)
# Give access to a few utilities.
- SET(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS}
+ set(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS}
${VTK40_VTK_BINARY_DIR}/Utilities/png
${VTK40_VTK_SOURCE_DIR}/Utilities/png
${VTK40_VTK_BINARY_DIR}/Utilities/zlib
${VTK40_VTK_SOURCE_DIR}/Utilities/zlib)
# Executable locations.
- IF(VTK_WRAP_TCL)
- SET(VTK_TCL_EXE ${VTK40_EXECUTABLE_OUTPUT_PATH}/vtk)
- SET(VTK_WRAP_TCL_EXE ${VTK40_VTK_WRAP_TCL_EXE})
- SET(VTK_TCL_HOME ${VTK40_VTK_SOURCE_DIR}/Wrapping/Tcl)
- ENDIF(VTK_WRAP_TCL)
- IF(VTK_WRAP_PYTHON)
- SET(VTK_WRAP_PYTHON_EXE ${VTK40_VTK_WRAP_PYTHON_EXE})
- ENDIF(VTK_WRAP_PYTHON)
- IF(VTK_WRAP_JAVA)
- SET(VTK_PARSE_JAVA_EXE ${VTK40_VTK_PARSE_JAVA_EXE})
- SET(VTK_WRAP_JAVA_EXE ${VTK40_VTK_WRAP_JAVA_EXE})
- ENDIF(VTK_WRAP_JAVA)
-
-ELSE(EXISTS ${VTK_DIR}/Common)
+ if(VTK_WRAP_TCL)
+ set(VTK_TCL_EXE ${VTK40_EXECUTABLE_OUTPUT_PATH}/vtk)
+ set(VTK_WRAP_TCL_EXE ${VTK40_VTK_WRAP_TCL_EXE})
+ set(VTK_TCL_HOME ${VTK40_VTK_SOURCE_DIR}/Wrapping/Tcl)
+ endif()
+ if(VTK_WRAP_PYTHON)
+ set(VTK_WRAP_PYTHON_EXE ${VTK40_VTK_WRAP_PYTHON_EXE})
+ endif()
+ if(VTK_WRAP_JAVA)
+ set(VTK_PARSE_JAVA_EXE ${VTK40_VTK_PARSE_JAVA_EXE})
+ set(VTK_WRAP_JAVA_EXE ${VTK40_VTK_WRAP_JAVA_EXE})
+ endif()
+
+else()
# This is a VTK 4.0 install tree.
- SET(VTK_INCLUDE_DIRS ${VTK_DIR})
- SET(VTK_LIBRARY_DIRS ${VTK40_CMAKE_INSTALL_PREFIX}/lib/vtk)
+ set(VTK_INCLUDE_DIRS ${VTK_DIR})
+ set(VTK_LIBRARY_DIRS ${VTK40_CMAKE_INSTALL_PREFIX}/lib/vtk)
# Executable locations.
- IF(VTK_WRAP_TCL)
- SET(VTK_TCL_EXE ${VTK40_CMAKE_INSTALL_PREFIX}/bin/vtk)
- SET(VTK_WRAP_TCL_EXE ${VTK40_CMAKE_INSTALL_PREFIX}/bin/vtkWrapTcl)
- SET(VTK_TCL_HOME ${VTK40_CMAKE_INSTALL_PREFIX}/lib/vtk/tcl)
- ENDIF(VTK_WRAP_TCL)
- IF(VTK_WRAP_PYTHON)
- SET(VTK_WRAP_PYTHON_EXE ${VTK40_CMAKE_INSTALL_PREFIX}/bin/vtkWrapPython)
- ENDIF(VTK_WRAP_PYTHON)
- IF(VTK_WRAP_JAVA)
- SET(VTK_PARSE_JAVA_EXE ${VTK40_CMAKE_INSTALL_PREFIX}/bin/vtkParseJava)
- SET(VTK_WRAP_JAVA_EXE ${VTK40_CMAKE_INSTALL_PREFIX}/bin/vtkWrapJava)
- ENDIF(VTK_WRAP_JAVA)
-ENDIF(EXISTS ${VTK_DIR}/Common)
+ if(VTK_WRAP_TCL)
+ set(VTK_TCL_EXE ${VTK40_CMAKE_INSTALL_PREFIX}/bin/vtk)
+ set(VTK_WRAP_TCL_EXE ${VTK40_CMAKE_INSTALL_PREFIX}/bin/vtkWrapTcl)
+ set(VTK_TCL_HOME ${VTK40_CMAKE_INSTALL_PREFIX}/lib/vtk/tcl)
+ endif()
+ if(VTK_WRAP_PYTHON)
+ set(VTK_WRAP_PYTHON_EXE ${VTK40_CMAKE_INSTALL_PREFIX}/bin/vtkWrapPython)
+ endif()
+ if(VTK_WRAP_JAVA)
+ set(VTK_PARSE_JAVA_EXE ${VTK40_CMAKE_INSTALL_PREFIX}/bin/vtkParseJava)
+ set(VTK_WRAP_JAVA_EXE ${VTK40_CMAKE_INSTALL_PREFIX}/bin/vtkWrapJava)
+ endif()
+endif()
# Add the system include directories last.
-SET(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS} ${VTK_INCLUDE_DIRS_SYS})
+set(VTK_INCLUDE_DIRS ${VTK_INCLUDE_DIRS} ${VTK_INCLUDE_DIRS_SYS})
# Find the required C and C++ compiler flags.
-IF(CMAKE_COMPILER_IS_GNUCXX)
- IF(WIN32)
+if(CMAKE_COMPILER_IS_GNUCXX)
+ if(WIN32)
# The platform is gcc on cygwin.
- SET(VTK_REQUIRED_CXX_FLAGS "${VTK_REQUIRED_CXX_FLAGS} -mwin32")
- SET(VTK_REQUIRED_C_FLAGS "${VTK_REQUIRED_C_FLAGS} -mwin32")
- ENDIF(WIN32)
-ELSE(CMAKE_COMPILER_IS_GNUCXX)
- IF(CMAKE_ANSI_CFLAGS)
- SET(VTK_REQUIRED_C_FLAGS "${VTK_REQUIRED_C_FLAGS} ${CMAKE_ANSI_CFLAGS}")
- ENDIF(CMAKE_ANSI_CFLAGS)
- IF(CMAKE_SYSTEM MATCHES "OSF1-V.*")
- SET(VTK_REQUIRED_CXX_FLAGS
+ set(VTK_REQUIRED_CXX_FLAGS "${VTK_REQUIRED_CXX_FLAGS} -mwin32")
+ set(VTK_REQUIRED_C_FLAGS "${VTK_REQUIRED_C_FLAGS} -mwin32")
+ endif()
+else()
+ if(CMAKE_ANSI_CFLAGS)
+ set(VTK_REQUIRED_C_FLAGS "${VTK_REQUIRED_C_FLAGS} ${CMAKE_ANSI_CFLAGS}")
+ endif()
+ if(CMAKE_SYSTEM MATCHES "OSF1-V.*")
+ set(VTK_REQUIRED_CXX_FLAGS
"${VTK_REQUIRED_CXX_FLAGS} -timplicit_local -no_implicit_include")
- ENDIF(CMAKE_SYSTEM MATCHES "OSF1-V.*")
-ENDIF(CMAKE_COMPILER_IS_GNUCXX)
+ endif()
+endif()
-IF(VTK_USE_X)
- IF(CMAKE_X_CFLAGS)
- SET(VTK_REQUIRED_C_FLAGS "${VTK_REQUIRED_C_FLAGS} ${CMAKE_X_CFLAGS}")
- SET(VTK_REQUIRED_CXX_FLAGS "${VTK_REQUIRED_CXX_FLAGS} ${CMAKE_X_CFLAGS}")
- ENDIF(CMAKE_X_CFLAGS)
-ENDIF(VTK_USE_X)
+if(VTK_USE_X)
+ if(CMAKE_X_CFLAGS)
+ set(VTK_REQUIRED_C_FLAGS "${VTK_REQUIRED_C_FLAGS} ${CMAKE_X_CFLAGS}")
+ set(VTK_REQUIRED_CXX_FLAGS "${VTK_REQUIRED_CXX_FLAGS} ${CMAKE_X_CFLAGS}")
+ endif()
+endif()
# Copy library dependencies.
-SET(vtkCommonJava_LIB_DEPENDS "${VTK40_vtkCommonJava_LIB_DEPENDS}")
-SET(vtkCommonPython_LIB_DEPENDS "${VTK40_vtkCommonPython_LIB_DEPENDS}")
-SET(vtkCommonTCL_LIB_DEPENDS "${VTK40_vtkCommonTCL_LIB_DEPENDS}")
-SET(vtkCommon_LIB_DEPENDS "${VTK40_vtkCommon_LIB_DEPENDS}")
-SET(vtkFilteringJava_LIB_DEPENDS "${VTK40_vtkFilteringJava_LIB_DEPENDS}")
-SET(vtkFilteringPython_LIB_DEPENDS "${VTK40_vtkFilteringPython_LIB_DEPENDS}")
-SET(vtkFilteringTCL_LIB_DEPENDS "${VTK40_vtkFilteringTCL_LIB_DEPENDS}")
-SET(vtkFiltering_LIB_DEPENDS "${VTK40_vtkFiltering_LIB_DEPENDS}")
-SET(vtkGraphicsJava_LIB_DEPENDS "${VTK40_vtkGraphicsJava_LIB_DEPENDS}")
-SET(vtkGraphicsPython_LIB_DEPENDS "${VTK40_vtkGraphicsPython_LIB_DEPENDS}")
-SET(vtkGraphicsTCL_LIB_DEPENDS "${VTK40_vtkGraphicsTCL_LIB_DEPENDS}")
-SET(vtkGraphics_LIB_DEPENDS "${VTK40_vtkGraphics_LIB_DEPENDS}")
-SET(vtkHybridJava_LIB_DEPENDS "${VTK40_vtkHybridJava_LIB_DEPENDS}")
-SET(vtkHybridPython_LIB_DEPENDS "${VTK40_vtkHybridPython_LIB_DEPENDS}")
-SET(vtkHybridTCL_LIB_DEPENDS "${VTK40_vtkHybridTCL_LIB_DEPENDS}")
-SET(vtkHybrid_LIB_DEPENDS "${VTK40_vtkHybrid_LIB_DEPENDS}")
-SET(vtkIOJava_LIB_DEPENDS "${VTK40_vtkIOJava_LIB_DEPENDS}")
-SET(vtkIOPython_LIB_DEPENDS "${VTK40_vtkIOPython_LIB_DEPENDS}")
-SET(vtkIOTCL_LIB_DEPENDS "${VTK40_vtkIOTCL_LIB_DEPENDS}")
-SET(vtkIO_LIB_DEPENDS "${VTK40_vtkIO_LIB_DEPENDS}")
-SET(vtkImagingJava_LIB_DEPENDS "${VTK40_vtkImagingJava_LIB_DEPENDS}")
-SET(vtkImagingPython_LIB_DEPENDS "${VTK40_vtkImagingPython_LIB_DEPENDS}")
-SET(vtkImagingTCL_LIB_DEPENDS "${VTK40_vtkImagingTCL_LIB_DEPENDS}")
-SET(vtkImaging_LIB_DEPENDS "${VTK40_vtkImaging_LIB_DEPENDS}")
-SET(vtkParallelJava_LIB_DEPENDS "${VTK40_vtkParallelJava_LIB_DEPENDS}")
-SET(vtkParallelPython_LIB_DEPENDS "${VTK40_vtkParallelPython_LIB_DEPENDS}")
-SET(vtkParallelTCL_LIB_DEPENDS "${VTK40_vtkParallelTCL_LIB_DEPENDS}")
-SET(vtkParallel_LIB_DEPENDS "${VTK40_vtkParallel_LIB_DEPENDS}")
-SET(vtkPatentedJava_LIB_DEPENDS "${VTK40_vtkPatentedJava_LIB_DEPENDS}")
-SET(vtkPatentedPython_LIB_DEPENDS "${VTK40_vtkPatentedPython_LIB_DEPENDS}")
-SET(vtkPatentedTCL_LIB_DEPENDS "${VTK40_vtkPatentedTCL_LIB_DEPENDS}")
-SET(vtkPatented_LIB_DEPENDS "${VTK40_vtkPatented_LIB_DEPENDS}")
-SET(vtkRenderingJava_LIB_DEPENDS "${VTK40_vtkRenderingJava_LIB_DEPENDS}")
-SET(vtkRenderingPythonTkWidgets_LIB_DEPENDS "${VTK40_vtkRenderingPythonTkWidgets_LIB_DEPENDS}")
-SET(vtkRenderingPython_LIB_DEPENDS "${VTK40_vtkRenderingPython_LIB_DEPENDS}")
-SET(vtkRenderingTCL_LIB_DEPENDS "${VTK40_vtkRenderingTCL_LIB_DEPENDS}")
-SET(vtkRendering_LIB_DEPENDS "${VTK40_vtkRendering_LIB_DEPENDS}")
-SET(vtkjpeg_LIB_DEPENDS "${VTK40_vtkjpeg_LIB_DEPENDS}")
-SET(vtkpng_LIB_DEPENDS "${VTK40_vtkpng_LIB_DEPENDS}")
-SET(vtkzlib_LIB_DEPENDS "${VTK40_vtkzlib_LIB_DEPENDS}")
+set(vtkCommonJava_LIB_DEPENDS "${VTK40_vtkCommonJava_LIB_DEPENDS}")
+set(vtkCommonPython_LIB_DEPENDS "${VTK40_vtkCommonPython_LIB_DEPENDS}")
+set(vtkCommonTCL_LIB_DEPENDS "${VTK40_vtkCommonTCL_LIB_DEPENDS}")
+set(vtkCommon_LIB_DEPENDS "${VTK40_vtkCommon_LIB_DEPENDS}")
+set(vtkFilteringJava_LIB_DEPENDS "${VTK40_vtkFilteringJava_LIB_DEPENDS}")
+set(vtkFilteringPython_LIB_DEPENDS "${VTK40_vtkFilteringPython_LIB_DEPENDS}")
+set(vtkFilteringTCL_LIB_DEPENDS "${VTK40_vtkFilteringTCL_LIB_DEPENDS}")
+set(vtkFiltering_LIB_DEPENDS "${VTK40_vtkFiltering_LIB_DEPENDS}")
+set(vtkGraphicsJava_LIB_DEPENDS "${VTK40_vtkGraphicsJava_LIB_DEPENDS}")
+set(vtkGraphicsPython_LIB_DEPENDS "${VTK40_vtkGraphicsPython_LIB_DEPENDS}")
+set(vtkGraphicsTCL_LIB_DEPENDS "${VTK40_vtkGraphicsTCL_LIB_DEPENDS}")
+set(vtkGraphics_LIB_DEPENDS "${VTK40_vtkGraphics_LIB_DEPENDS}")
+set(vtkHybridJava_LIB_DEPENDS "${VTK40_vtkHybridJava_LIB_DEPENDS}")
+set(vtkHybridPython_LIB_DEPENDS "${VTK40_vtkHybridPython_LIB_DEPENDS}")
+set(vtkHybridTCL_LIB_DEPENDS "${VTK40_vtkHybridTCL_LIB_DEPENDS}")
+set(vtkHybrid_LIB_DEPENDS "${VTK40_vtkHybrid_LIB_DEPENDS}")
+set(vtkIOJava_LIB_DEPENDS "${VTK40_vtkIOJava_LIB_DEPENDS}")
+set(vtkIOPython_LIB_DEPENDS "${VTK40_vtkIOPython_LIB_DEPENDS}")
+set(vtkIOTCL_LIB_DEPENDS "${VTK40_vtkIOTCL_LIB_DEPENDS}")
+set(vtkIO_LIB_DEPENDS "${VTK40_vtkIO_LIB_DEPENDS}")
+set(vtkImagingJava_LIB_DEPENDS "${VTK40_vtkImagingJava_LIB_DEPENDS}")
+set(vtkImagingPython_LIB_DEPENDS "${VTK40_vtkImagingPython_LIB_DEPENDS}")
+set(vtkImagingTCL_LIB_DEPENDS "${VTK40_vtkImagingTCL_LIB_DEPENDS}")
+set(vtkImaging_LIB_DEPENDS "${VTK40_vtkImaging_LIB_DEPENDS}")
+set(vtkParallelJava_LIB_DEPENDS "${VTK40_vtkParallelJava_LIB_DEPENDS}")
+set(vtkParallelPython_LIB_DEPENDS "${VTK40_vtkParallelPython_LIB_DEPENDS}")
+set(vtkParallelTCL_LIB_DEPENDS "${VTK40_vtkParallelTCL_LIB_DEPENDS}")
+set(vtkParallel_LIB_DEPENDS "${VTK40_vtkParallel_LIB_DEPENDS}")
+set(vtkPatentedJava_LIB_DEPENDS "${VTK40_vtkPatentedJava_LIB_DEPENDS}")
+set(vtkPatentedPython_LIB_DEPENDS "${VTK40_vtkPatentedPython_LIB_DEPENDS}")
+set(vtkPatentedTCL_LIB_DEPENDS "${VTK40_vtkPatentedTCL_LIB_DEPENDS}")
+set(vtkPatented_LIB_DEPENDS "${VTK40_vtkPatented_LIB_DEPENDS}")
+set(vtkRenderingJava_LIB_DEPENDS "${VTK40_vtkRenderingJava_LIB_DEPENDS}")
+set(vtkRenderingPythonTkWidgets_LIB_DEPENDS "${VTK40_vtkRenderingPythonTkWidgets_LIB_DEPENDS}")
+set(vtkRenderingPython_LIB_DEPENDS "${VTK40_vtkRenderingPython_LIB_DEPENDS}")
+set(vtkRenderingTCL_LIB_DEPENDS "${VTK40_vtkRenderingTCL_LIB_DEPENDS}")
+set(vtkRendering_LIB_DEPENDS "${VTK40_vtkRendering_LIB_DEPENDS}")
+set(vtkjpeg_LIB_DEPENDS "${VTK40_vtkjpeg_LIB_DEPENDS}")
+set(vtkpng_LIB_DEPENDS "${VTK40_vtkpng_LIB_DEPENDS}")
+set(vtkzlib_LIB_DEPENDS "${VTK40_vtkzlib_LIB_DEPENDS}")
# List of VTK configuration variables set above.
-# grep "^[ ]*SET(VTK" UseVTKConfig40.cmake |sed 's/[ ]*SET(\([^ ]*\) .*/ \1/'
-SET(VTK_SETTINGS
+# grep "^[ ]*set(VTK" UseVTKConfig40.cmake |sed 's/[ ]*set(\([^ ]*\) .*/ \1/'
+set(VTK_SETTINGS
VTK_BUILD_SHARED
VTK_BUILD_VERSION
VTK_DEBUG_LEAKS
diff --git a/Modules/Use_wxWindows.cmake b/Modules/Use_wxWindows.cmake
index 01a15168e..6c95681e2 100644
--- a/Modules/Use_wxWindows.cmake
+++ b/Modules/Use_wxWindows.cmake
@@ -7,10 +7,10 @@
# USAGE:
# just include Use_wxWindows.cmake
# in your projects CMakeLists.txt
-# INCLUDE( ${CMAKE_MODULE_PATH}/Use_wxWindows.cmake)
+# include( ${CMAKE_MODULE_PATH}/Use_wxWindows.cmake)
##
# if you are sure you need GL then
-# SET(WXWINDOWS_USE_GL 1)
+# set(WXWINDOWS_USE_GL 1)
# *before* you include this file.
#=============================================================================
@@ -31,34 +31,34 @@
# 16.Feb.2004: changed INCLUDE to FIND_PACKAGE to read from users own non-system CMAKE_MODULE_PATH (Jan Woetzel JW)
# 07/2006: rewrite as FindwxWidgets.cmake, kept for backward compatibility JW
-MESSAGE(STATUS "Use_wxWindows.cmake is DEPRECATED. \n"
-"Please use FIND_PACKAGE(wxWidgets) and INCLUDE(${wxWidgets_USE_FILE}) instead. (JW)")
+message(STATUS "Use_wxWindows.cmake is DEPRECATED. \n"
+"Please use find_package(wxWidgets) and include(${wxWidgets_USE_FILE}) instead. (JW)")
# ------------------------
-FIND_PACKAGE( wxWindows )
+find_package( wxWindows )
-IF(WXWINDOWS_FOUND)
+if(WXWINDOWS_FOUND)
-#MESSAGE("DBG Use_wxWindows.cmake: WXWINDOWS_INCLUDE_DIR=${WXWINDOWS_INCLUDE_DIR} WXWINDOWS_LINK_DIRECTORIES=${WXWINDOWS_LINK_DIRECTORIES} WXWINDOWS_LIBRARIES=${WXWINDOWS_LIBRARIES} CMAKE_WXWINDOWS_CXX_FLAGS=${CMAKE_WXWINDOWS_CXX_FLAGS} WXWINDOWS_DEFINITIONS=${WXWINDOWS_DEFINITIONS}")
+#message("DBG Use_wxWindows.cmake: WXWINDOWS_INCLUDE_DIR=${WXWINDOWS_INCLUDE_DIR} WXWINDOWS_LINK_DIRECTORIES=${WXWINDOWS_LINK_DIRECTORIES} WXWINDOWS_LIBRARIES=${WXWINDOWS_LIBRARIES} CMAKE_WXWINDOWS_CXX_FLAGS=${CMAKE_WXWINDOWS_CXX_FLAGS} WXWINDOWS_DEFINITIONS=${WXWINDOWS_DEFINITIONS}")
- IF(WXWINDOWS_INCLUDE_DIR)
- INCLUDE_DIRECTORIES(${WXWINDOWS_INCLUDE_DIR})
- ENDIF(WXWINDOWS_INCLUDE_DIR)
- IF(WXWINDOWS_LINK_DIRECTORIES)
- LINK_DIRECTORIES(${WXWINDOWS_LINK_DIRECTORIES})
- ENDIF(WXWINDOWS_LINK_DIRECTORIES)
- IF(WXWINDOWS_LIBRARIES)
- LINK_LIBRARIES(${WXWINDOWS_LIBRARIES})
- ENDIF(WXWINDOWS_LIBRARIES)
- IF (CMAKE_WXWINDOWS_CXX_FLAGS)
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_WXWINDOWS_CXX_FLAGS}")
- ENDIF(CMAKE_WXWINDOWS_CXX_FLAGS)
- IF(WXWINDOWS_DEFINITIONS)
- ADD_DEFINITIONS(${WXWINDOWS_DEFINITIONS})
- ENDIF(WXWINDOWS_DEFINITIONS)
-ELSE(WXWINDOWS_FOUND)
- MESSAGE(SEND_ERROR "wxWindows not found by Use_wxWindows.cmake")
-ENDIF(WXWINDOWS_FOUND)
+ if(WXWINDOWS_INCLUDE_DIR)
+ include_directories(${WXWINDOWS_INCLUDE_DIR})
+ endif()
+ if(WXWINDOWS_LINK_DIRECTORIES)
+ link_directories(${WXWINDOWS_LINK_DIRECTORIES})
+ endif()
+ if(WXWINDOWS_LIBRARIES)
+ link_libraries(${WXWINDOWS_LIBRARIES})
+ endif()
+ if (CMAKE_WXWINDOWS_CXX_FLAGS)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_WXWINDOWS_CXX_FLAGS}")
+ endif()
+ if(WXWINDOWS_DEFINITIONS)
+ add_definitions(${WXWINDOWS_DEFINITIONS})
+ endif()
+else()
+ message(SEND_ERROR "wxWindows not found by Use_wxWindows.cmake")
+endif()
diff --git a/Modules/UsewxWidgets.cmake b/Modules/UsewxWidgets.cmake
index a0f2e8632..bb8c29b3e 100644
--- a/Modules/UsewxWidgets.cmake
+++ b/Modules/UsewxWidgets.cmake
@@ -4,10 +4,10 @@
#
# USAGE
# # Note that for MinGW users the order of libs is important!
-# FIND_PACKAGE(wxWidgets REQUIRED net gl core base)
-# INCLUDE(${wxWidgets_USE_FILE})
+# find_package(wxWidgets REQUIRED net gl core base)
+# include(${wxWidgets_USE_FILE})
# # and for each of your dependent executable/library targets:
-# TARGET_LINK_LIBRARIES(<YourTarget> ${wxWidgets_LIBRARIES})
+# target_link_libraries(<YourTarget> ${wxWidgets_LIBRARIES})
#
# DEPRECATED
# LINK_LIBRARIES is not called in favor of adding dependencies per target.
@@ -31,59 +31,59 @@
# debug message and logging.
# comment these out for distribution
-IF (NOT LOGFILE )
- # SET(LOGFILE "${PROJECT_BINARY_DIR}/CMakeOutput.log")
-ENDIF (NOT LOGFILE )
-MACRO(MSG _MSG)
- # FILE(APPEND ${LOGFILE} "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): ${_MSG}\n")
- # MESSAGE(STATUS "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): ${_MSG}")
-ENDMACRO(MSG)
+if (NOT LOGFILE )
+ # set(LOGFILE "${PROJECT_BINARY_DIR}/CMakeOutput.log")
+endif ()
+macro(MSG _MSG)
+ # file(APPEND ${LOGFILE} "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): ${_MSG}\n")
+ # message(STATUS "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): ${_MSG}")
+endmacro()
MSG("wxWidgets_FOUND=${wxWidgets_FOUND}")
-IF (wxWidgets_FOUND)
- IF (wxWidgets_INCLUDE_DIRS)
- IF(wxWidgets_INCLUDE_DIRS_NO_SYSTEM)
- INCLUDE_DIRECTORIES(${wxWidgets_INCLUDE_DIRS})
- ELSE(wxWidgets_INCLUDE_DIRS_NO_SYSTEM)
- INCLUDE_DIRECTORIES(SYSTEM ${wxWidgets_INCLUDE_DIRS})
- ENDIF(wxWidgets_INCLUDE_DIRS_NO_SYSTEM)
+if (wxWidgets_FOUND)
+ if (wxWidgets_INCLUDE_DIRS)
+ if(wxWidgets_INCLUDE_DIRS_NO_SYSTEM)
+ include_directories(${wxWidgets_INCLUDE_DIRS})
+ else()
+ include_directories(SYSTEM ${wxWidgets_INCLUDE_DIRS})
+ endif()
MSG("wxWidgets_INCLUDE_DIRS=${wxWidgets_INCLUDE_DIRS}")
- ENDIF(wxWidgets_INCLUDE_DIRS)
+ endif()
- IF (wxWidgets_LIBRARY_DIRS)
- LINK_DIRECTORIES(${wxWidgets_LIBRARY_DIRS})
+ if (wxWidgets_LIBRARY_DIRS)
+ link_directories(${wxWidgets_LIBRARY_DIRS})
MSG("wxWidgets_LIBRARY_DIRS=${wxWidgets_LIBRARY_DIRS}")
- ENDIF(wxWidgets_LIBRARY_DIRS)
+ endif()
- IF (wxWidgets_DEFINITIONS)
- SET_PROPERTY(DIRECTORY APPEND
+ if (wxWidgets_DEFINITIONS)
+ set_property(DIRECTORY APPEND
PROPERTY COMPILE_DEFINITIONS ${wxWidgets_DEFINITIONS})
MSG("wxWidgets_DEFINITIONS=${wxWidgets_DEFINITIONS}")
- ENDIF(wxWidgets_DEFINITIONS)
+ endif()
- IF (wxWidgets_DEFINITIONS_DEBUG)
- SET_PROPERTY(DIRECTORY APPEND
+ if (wxWidgets_DEFINITIONS_DEBUG)
+ set_property(DIRECTORY APPEND
PROPERTY COMPILE_DEFINITIONS_DEBUG ${wxWidgets_DEFINITIONS_DEBUG})
MSG("wxWidgets_DEFINITIONS_DEBUG=${wxWidgets_DEFINITIONS_DEBUG}")
- ENDIF(wxWidgets_DEFINITIONS_DEBUG)
+ endif()
- IF (wxWidgets_CXX_FLAGS)
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${wxWidgets_CXX_FLAGS}")
+ if (wxWidgets_CXX_FLAGS)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${wxWidgets_CXX_FLAGS}")
MSG("wxWidgets_CXX_FLAGS=${wxWidgets_CXX_FLAGS}")
- ENDIF(wxWidgets_CXX_FLAGS)
+ endif()
# DEPRECATED JW
# just for backward compatibility: add deps to all targets
- # library projects better use advanced FIND_PACKAGE(wxWidgets) directly.
- #IF(wxWidgets_LIBRARIES)
- # LINK_LIBRARIES(${wxWidgets_LIBRARIES})
+ # library projects better use advanced find_package(wxWidgets) directly.
+ #if(wxWidgets_LIBRARIES)
+ # link_libraries(${wxWidgets_LIBRARIES})
# # BUG: str too long: MSG("wxWidgets_LIBRARIES=${wxWidgets_LIBRARIES}")
- # IF(LOGFILE)
- # FILE(APPEND ${LOGFILE} "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): ${wxWidgets_LIBRARIES}\n")
- # ENDIF(LOGFILE)
- #ENDIF(wxWidgets_LIBRARIES)
+ # if(LOGFILE)
+ # file(APPEND ${LOGFILE} "${CMAKE_CURRENT_LIST_FILE}(${CMAKE_CURRENT_LIST_LINE}): ${wxWidgets_LIBRARIES}\n")
+ # endif()
+ #endif()
-ELSE (wxWidgets_FOUND)
- MESSAGE("wxWidgets requested but not found.")
-ENDIF(wxWidgets_FOUND)
+else ()
+ message("wxWidgets requested but not found.")
+endif()
diff --git a/Modules/VTKCompatibility.cmake b/Modules/VTKCompatibility.cmake
index 802969f2f..b33bf2e16 100644
--- a/Modules/VTKCompatibility.cmake
+++ b/Modules/VTKCompatibility.cmake
@@ -12,41 +12,41 @@
# (To distribute this file outside of CMake, substitute the full
# License text for the above reference.)
-IF(APPLE)
- SET(CMAKE_CXX_CREATE_SHARED_LIBRARY "${CMAKE_C_CREATE_SHARED_LIBRARY}")
- SET(CMAKE_CXX_CREATE_SHARED_MODULE "${CMAKE_C_CREATE_SHARED_MODULE}")
- STRING( REGEX REPLACE "CMAKE_C_COMPILER"
+if(APPLE)
+ set(CMAKE_CXX_CREATE_SHARED_LIBRARY "${CMAKE_C_CREATE_SHARED_LIBRARY}")
+ set(CMAKE_CXX_CREATE_SHARED_MODULE "${CMAKE_C_CREATE_SHARED_MODULE}")
+ string( REGEX REPLACE "CMAKE_C_COMPILER"
CMAKE_CXX_COMPILER CMAKE_CXX_CREATE_SHARED_MODULE
"${CMAKE_CXX_CREATE_SHARED_MODULE}")
- STRING( REGEX REPLACE "CMAKE_C_COMPILER"
+ string( REGEX REPLACE "CMAKE_C_COMPILER"
CMAKE_CXX_COMPILER CMAKE_CXX_CREATE_SHARED_LIBRARY
"${CMAKE_CXX_CREATE_SHARED_LIBRARY}")
-ENDIF(APPLE)
+endif()
-SET(VTKFTGL_BINARY_DIR "${VTK_BINARY_DIR}/Utilities/ftgl"
+set(VTKFTGL_BINARY_DIR "${VTK_BINARY_DIR}/Utilities/ftgl"
CACHE INTERNAL "")
-SET(VTKFREETYPE_BINARY_DIR "${VTK_BINARY_DIR}/Utilities/freetype"
+set(VTKFREETYPE_BINARY_DIR "${VTK_BINARY_DIR}/Utilities/freetype"
CACHE INTERNAL "")
-SET(VTKFTGL_SOURCE_DIR "${VTK_SOURCE_DIR}/Utilities/ftgl"
+set(VTKFTGL_SOURCE_DIR "${VTK_SOURCE_DIR}/Utilities/ftgl"
CACHE INTERNAL "")
-SET(VTKFREETYPE_SOURCE_DIR "${VTK_SOURCE_DIR}/Utilities/freetype"
+set(VTKFREETYPE_SOURCE_DIR "${VTK_SOURCE_DIR}/Utilities/freetype"
CACHE INTERNAL "")
-SET(VTK_GLEXT_FILE "${VTK_SOURCE_DIR}/Utilities/ParseOGLExt/headers/glext.h"
+set(VTK_GLEXT_FILE "${VTK_SOURCE_DIR}/Utilities/ParseOGLExt/headers/glext.h"
CACHE FILEPATH
"Location of the OpenGL extensions header file (glext.h).")
-SET(VTK_GLXEXT_FILE
+set(VTK_GLXEXT_FILE
"${VTK_SOURCE_DIR}/Utilities/ParseOGLExt/headers/glxext.h" CACHE FILEPATH
"Location of the GLX extensions header file (glxext.h).")
-SET(VTK_WGLEXT_FILE "${VTK_SOURCE_DIR}/Utilities/ParseOGLExt/headers/wglext.h"
+set(VTK_WGLEXT_FILE "${VTK_SOURCE_DIR}/Utilities/ParseOGLExt/headers/wglext.h"
CACHE FILEPATH
"Location of the WGL extensions header file (wglext.h).")
# work around an old bug in VTK
-SET(TIFF_RIGHT_VERSION 1)
+set(TIFF_RIGHT_VERSION 1)
# for very old VTK (versions prior to 4.2)
-MACRO(SOURCE_FILES)
+macro(SOURCE_FILES)
message (FATAL_ERROR "You are trying to build a very old version of VTK (prior to VTK 4.2). To do this you need to use CMake 2.0 as it was the last version of CMake to support VTK 4.0.")
-ENDMACRO(SOURCE_FILES)
+endmacro()
diff --git a/Modules/WriteBasicConfigVersionFile.cmake b/Modules/WriteBasicConfigVersionFile.cmake
index 038cb5798..4466cd797 100644
--- a/Modules/WriteBasicConfigVersionFile.cmake
+++ b/Modules/WriteBasicConfigVersionFile.cmake
@@ -28,7 +28,7 @@ function(WRITE_BASIC_CONFIG_VERSION_FILE _filename)
if(CVF_UNPARSED_ARGUMENTS)
message(FATAL_ERROR "Unknown keywords given to WRITE_BASIC_CONFIG_VERSION_FILE(): \"${CVF_UNPARSED_ARGUMENTS}\"")
- endif(CVF_UNPARSED_ARGUMENTS)
+ endif()
set(versionTemplateFile "${CMAKE_ROOT}/Modules/BasicConfigVersion-${CVF_COMPATIBILITY}.cmake.in")
if(NOT EXISTS "${versionTemplateFile}")
@@ -41,4 +41,4 @@ function(WRITE_BASIC_CONFIG_VERSION_FILE _filename)
configure_file("${versionTemplateFile}" "${_filename}" @ONLY)
-endfunction(WRITE_BASIC_CONFIG_VERSION_FILE)
+endfunction()
diff --git a/Modules/ecos_clean.cmake b/Modules/ecos_clean.cmake
index 7a563ae23..37a1f93c2 100644
--- a/Modules/ecos_clean.cmake
+++ b/Modules/ecos_clean.cmake
@@ -21,6 +21,6 @@ foreach(_entry ${_files})
get_filename_component(dir ${_entry} NAME)
if(${dir} MATCHES "^[a-z]+$")
file(REMOVE_RECURSE ${_entry})
- endif(${dir} MATCHES "^[a-z]+$")
- endif(IS_DIRECTORY ${_entry})
-endforeach(_entry)
+ endif()
+ endif()
+endforeach()
diff --git a/Modules/kde3uic.cmake b/Modules/kde3uic.cmake
index 6f904ac92..4ad364b50 100644
--- a/Modules/kde3uic.cmake
+++ b/Modules/kde3uic.cmake
@@ -17,7 +17,7 @@
# neundorf@kde.org
-EXECUTE_PROCESS(COMMAND ${KDE_UIC_EXECUTABLE}
+execute_process(COMMAND ${KDE_UIC_EXECUTABLE}
-L ${KDE_UIC_PLUGIN_DIR} -nounload -tr tr2i18n
-impl ${KDE_UIC_H_FILE}
${KDE_UIC_FILE}
@@ -25,9 +25,9 @@ EXECUTE_PROCESS(COMMAND ${KDE_UIC_EXECUTABLE}
ERROR_QUIET
)
-STRING(REGEX REPLACE "tr2i18n\\(\"\"\\)" "QString::null" _uic_CONTENTS "${_uic_CONTENTS}" )
-STRING(REGEX REPLACE "tr2i18n\\(\"\", \"\"\\)" "QString::null" _uic_CONTENTS "${_uic_CONTENTS}" )
+string(REGEX REPLACE "tr2i18n\\(\"\"\\)" "QString::null" _uic_CONTENTS "${_uic_CONTENTS}" )
+string(REGEX REPLACE "tr2i18n\\(\"\", \"\"\\)" "QString::null" _uic_CONTENTS "${_uic_CONTENTS}" )
-FILE(WRITE ${KDE_UIC_CPP_FILE} "#include <kdialog.h>\n#include <klocale.h>\n\n")
-FILE(APPEND ${KDE_UIC_CPP_FILE} "${_uic_CONTENTS}")
+file(WRITE ${KDE_UIC_CPP_FILE} "#include <kdialog.h>\n#include <klocale.h>\n\n")
+file(APPEND ${KDE_UIC_CPP_FILE} "${_uic_CONTENTS}")
diff --git a/Modules/readme.txt b/Modules/readme.txt
index 7d61d8d27..9dc1c6ab3 100644
--- a/Modules/readme.txt
+++ b/Modules/readme.txt
@@ -18,6 +18,9 @@ XXX_VERSION_YY Expect Version YY if true. Make sure at most one of thes
XXX_WRAP_YY If False, do not try to use the relevent CMake wrapping command.
XXX_YY_FOUND If False, optional YY part of XXX sytem is not available.
XXX_FOUND Set to false, or undefined, if we haven't found, or don't want to use XXX.
+XXX_NOT_FOUND_MESSAGE Should be set by config-files in the case that it has set XXX_FOUND to FALSE.
+ The contained message will be printed by the find_package() command and by
+ find_package_handle_standard_args() to inform the user about the problem.
XXX_RUNTIME_LIBRARY_DIRS Optionally, the runtime library search path for use when running an executable linked to shared libraries.
The list should be used by user code to create the PATH on windows or LD_LIBRARY_PATH on unix.
This should not be a cache entry.
@@ -124,7 +127,10 @@ If neither the QUIET nor REQUIRED options are given then the
FindXXX.cmake module should look for the package and complain without
error if the module is not found.
-A package can be provide sub-components.
+FIND_PACKAGE() will set the variable CMAKE_FIND_PACKAGE_NAME to
+contain the actual name of the package.
+
+A package can provide sub-components.
Those components can be listed after the COMPONENTS (or REQUIRED)
or OPTIONAL_COMPONENTS keywords. The set of all listed components will be
specified in a XXX_FIND_COMPONENTS variable.
diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt
index e9c5a587e..8bf6c4084 100644
--- a/Source/CMakeLists.txt
+++ b/Source/CMakeLists.txt
@@ -9,33 +9,33 @@
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================
-INCLUDE(CheckIncludeFile)
+include(CheckIncludeFile)
# Check if we can build support for ELF parsing.
CHECK_INCLUDE_FILE("elf.h" HAVE_ELF_H)
-IF(HAVE_ELF_H)
- SET(CMAKE_USE_ELF_PARSER 1)
-ELSE(HAVE_ELF_H)
- SET(CMAKE_USE_ELF_PARSER)
-ENDIF(HAVE_ELF_H)
+if(HAVE_ELF_H)
+ set(CMAKE_USE_ELF_PARSER 1)
+else()
+ set(CMAKE_USE_ELF_PARSER)
+endif()
-SET(EXECUTABLE_OUTPUT_PATH ${CMake_BIN_DIR})
+set(EXECUTABLE_OUTPUT_PATH ${CMake_BIN_DIR})
# configure the .h file
-CONFIGURE_FILE(
+configure_file(
"${CMake_SOURCE_DIR}/Source/cmConfigure.cmake.h.in"
"${CMake_BINARY_DIR}/Source/cmConfigure.h"
)
-CONFIGURE_FILE(
+configure_file(
"${CMake_SOURCE_DIR}/Source/cmVersionConfig.h.in"
"${CMake_BINARY_DIR}/Source/cmVersionConfig.h"
)
-CONFIGURE_FILE(
+configure_file(
"${CMake_SOURCE_DIR}/Source/CPack/cmCPackConfigure.h.in"
"${CMake_BINARY_DIR}/Source/CPack/cmCPackConfigure.h"
)
# add the include path to find the .h
-INCLUDE_DIRECTORIES(
+include_directories(
"${CMake_BINARY_DIR}/Source"
"${CMake_SOURCE_DIR}/Source"
${CMAKE_ZLIB_INCLUDES}
@@ -45,72 +45,72 @@ INCLUDE_DIRECTORIES(
)
# let cmake know it is supposed to use it
-ADD_DEFINITIONS(-DCMAKE_BUILD_WITH_CMAKE)
+add_definitions(-DCMAKE_BUILD_WITH_CMAKE)
-OPTION(CMAKE_REGENERATE_YACCLEX
+option(CMAKE_REGENERATE_YACCLEX
"Regenerate YACC and LEXX files" OFF)
-MARK_AS_ADVANCED(CMAKE_REGENERATE_YACCLEX)
-IF(CMAKE_REGENERATE_YACCLEX)
- SET(parsersLexers cmDependsFortran cmCommandArgument cmExpr)
- FIND_PROGRAM(YACC_EXECUTABLE
+mark_as_advanced(CMAKE_REGENERATE_YACCLEX)
+if(CMAKE_REGENERATE_YACCLEX)
+ set(parsersLexers cmDependsFortran cmCommandArgument cmExpr)
+ find_program(YACC_EXECUTABLE
NAMES yacc bison
PATHS /usr/bin
DOC "Yacc or Bison executable")
- FIND_PROGRAM(FLEX_EXECUTABLE
+ find_program(FLEX_EXECUTABLE
NAMES flex
PATHS /usr/bin
DOC "Flex executable")
- MARK_AS_ADVANCED(YACC_EXECUTABLE FLEX_EXECUTABLE)
- IF(YACC_EXECUTABLE)
- SET(BISON_FLAGS)
- IF(YACC_EXECUTABLE MATCHES "bison")
- SET(BISON_FLAGS "--yacc")
- ENDIF(YACC_EXECUTABLE MATCHES "bison")
- SET(yacc_files)
- FOREACH(name ${parsersLexers})
- SET(src "${CMAKE_CURRENT_SOURCE_DIR}/${name}Parser.y")
- SET(dst "${CMAKE_CURRENT_BINARY_DIR}/${name}Parser.cxx")
- SET(hdr "${CMAKE_CURRENT_BINARY_DIR}/${name}ParserTokens.h")
- ADD_CUSTOM_COMMAND(
+ mark_as_advanced(YACC_EXECUTABLE FLEX_EXECUTABLE)
+ if(YACC_EXECUTABLE)
+ set(BISON_FLAGS)
+ if(YACC_EXECUTABLE MATCHES "bison")
+ set(BISON_FLAGS "--yacc")
+ endif()
+ set(yacc_files)
+ foreach(name ${parsersLexers})
+ set(src "${CMAKE_CURRENT_SOURCE_DIR}/${name}Parser.y")
+ set(dst "${CMAKE_CURRENT_BINARY_DIR}/${name}Parser.cxx")
+ set(hdr "${CMAKE_CURRENT_BINARY_DIR}/${name}ParserTokens.h")
+ add_custom_command(
OUTPUT "${dst}"
DEPENDS "${src}"
COMMAND
${YACC_EXECUTABLE}
--name-prefix=${name}_yy --defines=${hdr} -o${dst} ${src}
)
- SET(yacc_files ${yacc_files} "${dst}")
- ENDFOREACH(name)
- ADD_CUSTOM_TARGET(RerunYacc DEPENDS ${yacc_files})
- ENDIF(YACC_EXECUTABLE)
- IF(FLEX_EXECUTABLE)
- SET(lex_files)
- FOREACH(name ${parsersLexers})
- SET(src "${CMAKE_CURRENT_SOURCE_DIR}/${name}Lexer.in.l")
- SET(dst "${CMAKE_CURRENT_BINARY_DIR}/${name}Lexer.cxx")
- SET(hdr "${CMAKE_CURRENT_BINARY_DIR}/${name}Lexer.h")
- ADD_CUSTOM_COMMAND(
+ set(yacc_files ${yacc_files} "${dst}")
+ endforeach()
+ add_custom_target(RerunYacc DEPENDS ${yacc_files})
+ endif()
+ if(FLEX_EXECUTABLE)
+ set(lex_files)
+ foreach(name ${parsersLexers})
+ set(src "${CMAKE_CURRENT_SOURCE_DIR}/${name}Lexer.in.l")
+ set(dst "${CMAKE_CURRENT_BINARY_DIR}/${name}Lexer.cxx")
+ set(hdr "${CMAKE_CURRENT_BINARY_DIR}/${name}Lexer.h")
+ add_custom_command(
OUTPUT "${dst}"
DEPENDS "${src}"
COMMAND
${FLEX_EXECUTABLE}
--prefix=${name}_yy --header-file=${hdr} -o${dst} ${src}
)
- SET(lex_files ${lex_files} "${dst}")
- ENDFOREACH(name)
- ADD_CUSTOM_TARGET(RerunLex DEPENDS ${lex_files})
- ENDIF(FLEX_EXECUTABLE)
+ set(lex_files ${lex_files} "${dst}")
+ endforeach()
+ add_custom_target(RerunLex DEPENDS ${lex_files})
+ endif()
-ENDIF(CMAKE_REGENERATE_YACCLEX)
+endif()
# Check if we can build the ELF parser.
-IF(CMAKE_USE_ELF_PARSER)
- SET(ELF_SRCS cmELF.h cmELF.cxx)
-ENDIF(CMAKE_USE_ELF_PARSER)
+if(CMAKE_USE_ELF_PARSER)
+ set(ELF_SRCS cmELF.h cmELF.cxx)
+endif()
#
# Sources for CMakeLib
#
-SET(SRCS
+set(SRCS
cmStandardIncludes.cxx
cmArchiveWrite.cxx
cmBootstrapCommands.cxx
@@ -176,6 +176,10 @@ SET(SRCS
cmExportFileGenerator.cxx
cmExportInstallFileGenerator.h
cmExportInstallFileGenerator.cxx
+ cmExportSet.h
+ cmExportSet.cxx
+ cmExportSetMap.h
+ cmExportSetMap.cxx
cmExtraCodeBlocksGenerator.cxx
cmExtraCodeBlocksGenerator.h
cmExtraEclipseCDT4Generator.cxx
@@ -183,6 +187,14 @@ SET(SRCS
cmFileTimeComparison.cxx
cmFileTimeComparison.h
cmGeneratedFileStream.cxx
+ cmGeneratorExpressionDAGChecker.cxx
+ cmGeneratorExpressionDAGChecker.h
+ cmGeneratorExpressionEvaluator.cxx
+ cmGeneratorExpressionEvaluator.h
+ cmGeneratorExpressionLexer.cxx
+ cmGeneratorExpressionLexer.h
+ cmGeneratorExpressionParser.cxx
+ cmGeneratorExpressionParser.h
cmGeneratorExpression.cxx
cmGeneratorExpression.h
cmGeneratorTarget.cxx
@@ -251,6 +263,7 @@ SET(SRCS
cmSystemTools.h
cmTarget.cxx
cmTarget.h
+ cmTargetExport.h
cmTest.cxx
cmTest.h
cmTestGenerator.cxx
@@ -275,30 +288,30 @@ SET(SRCS
)
# Kdevelop only works on UNIX and not windows
-IF(UNIX)
- SET(SRCS ${SRCS} cmGlobalKdevelopGenerator.cxx)
-ENDIF(UNIX)
+if(UNIX)
+ set(SRCS ${SRCS} cmGlobalKdevelopGenerator.cxx)
+endif()
# Xcode only works on Apple
-IF(APPLE)
- SET(SRCS ${SRCS}
+if(APPLE)
+ set(SRCS ${SRCS}
cmXCodeObject.cxx
cmXCode21Object.cxx
cmGlobalXCodeGenerator.cxx
cmGlobalXCodeGenerator.h
cmLocalXCodeGenerator.cxx
cmLocalXCodeGenerator.h)
-ENDIF(APPLE)
+endif()
-IF (WIN32)
- SET(SRCS ${SRCS}
+if (WIN32)
+ set(SRCS ${SRCS}
cmCallVisualStudioMacro.cxx
cmCallVisualStudioMacro.h
)
- IF(NOT UNIX)
- SET(SRCS ${SRCS}
+ if(NOT UNIX)
+ set(SRCS ${SRCS}
cmGlobalBorlandMakefileGenerator.cxx
cmGlobalBorlandMakefileGenerator.h
cmGlobalMSYSMakefileGenerator.cxx
@@ -356,11 +369,11 @@ IF (WIN32)
cmWin32ProcessExecution.cxx
cmWin32ProcessExecution.h
)
- ENDIF(NOT UNIX)
-ENDIF (WIN32)
+ endif()
+endif ()
# Ninja support
-SET(SRCS ${SRCS}
+set(SRCS ${SRCS}
cmGlobalNinjaGenerator.cxx
cmGlobalNinjaGenerator.h
cmNinjaTypes.h
@@ -373,34 +386,34 @@ SET(SRCS ${SRCS}
cmNinjaUtilityTargetGenerator.cxx
cmNinjaUtilityTargetGenerator.h
)
-IF(WIN32 AND NOT CYGWIN AND NOT BORLAND)
- SET_SOURCE_FILES_PROPERTIES(cmcldeps.cxx PROPERTIES COMPILE_DEFINITIONS _WIN32_WINNT=0x0501)
- ADD_EXECUTABLE(cmcldeps cmcldeps.cxx)
- TARGET_LINK_LIBRARIES(cmcldeps CMakeLib)
- INSTALL_TARGETS(/bin cmcldeps)
-ENDIF()
+if(WIN32 AND NOT CYGWIN AND NOT BORLAND)
+ set_source_files_properties(cmcldeps.cxx PROPERTIES COMPILE_DEFINITIONS _WIN32_WINNT=0x0501)
+ add_executable(cmcldeps cmcldeps.cxx)
+ target_link_libraries(cmcldeps CMakeLib)
+ install_targets(/bin cmcldeps)
+endif()
# create a library used by the command line and the GUI
-ADD_LIBRARY(CMakeLib ${SRCS})
-TARGET_LINK_LIBRARIES(CMakeLib cmsys
+add_library(CMakeLib ${SRCS})
+target_link_libraries(CMakeLib cmsys
${CMAKE_EXPAT_LIBRARIES} ${CMAKE_ZLIB_LIBRARIES}
${CMAKE_TAR_LIBRARIES} ${CMAKE_COMPRESS_LIBRARIES}
${CMAKE_CURL_LIBRARIES} )
# On Apple we need CoreFoundation
-IF(APPLE)
- TARGET_LINK_LIBRARIES(CMakeLib "-framework CoreFoundation")
-ENDIF(APPLE)
+if(APPLE)
+ target_link_libraries(CMakeLib "-framework CoreFoundation")
+endif()
# On some platforms we need the rpcrt4 library for the VS 7 generators.
-IF(CMAKE_BUILD_ON_VISUAL_STUDIO OR MINGW)
- TARGET_LINK_LIBRARIES(CMakeLib rpcrt4)
-ENDIF(CMAKE_BUILD_ON_VISUAL_STUDIO OR MINGW)
+if(CMAKE_BUILD_ON_VISUAL_STUDIO OR MINGW)
+ target_link_libraries(CMakeLib rpcrt4)
+endif()
#
# CTestLib
#
-INCLUDE_DIRECTORIES(
+include_directories(
"${CMake_SOURCE_DIR}/Source/CTest"
${CMAKE_XMLRPC_INCLUDES}
${CMAKE_CURL_INCLUDES}
@@ -408,7 +421,7 @@ INCLUDE_DIRECTORIES(
#
# Sources for CTestLib
#
-SET(CTEST_SRCS cmCTest.cxx
+set(CTEST_SRCS cmCTest.cxx
CTest/cmProcess.cxx
CTest/cmCTestBatchTestHandler.cxx
CTest/cmCTestBuildAndTestHandler.cxx
@@ -461,13 +474,13 @@ SET(CTEST_SRCS cmCTest.cxx
)
# Build CTestLib
-ADD_LIBRARY(CTestLib ${CTEST_SRCS})
-TARGET_LINK_LIBRARIES(CTestLib CMakeLib ${CMAKE_CURL_LIBRARIES} ${CMAKE_XMLRPC_LIBRARIES})
+add_library(CTestLib ${CTEST_SRCS})
+target_link_libraries(CTestLib CMakeLib ${CMAKE_CURL_LIBRARIES} ${CMAKE_XMLRPC_LIBRARIES})
#
# Sources for CPack
#
-SET(CPACK_SRCS
+set(CPACK_SRCS
CPack/cmCPackArchiveGenerator.cxx
CPack/cmCPackComponentGroup.cxx
CPack/cmCPackGeneratorFactory.cxx
@@ -483,82 +496,82 @@ SET(CPACK_SRCS
CPack/cmCPackDocumentMacros.cxx
)
-IF(CYGWIN)
- SET(CPACK_SRCS ${CPACK_SRCS}
+if(CYGWIN)
+ set(CPACK_SRCS ${CPACK_SRCS}
CPack/cmCPackCygwinBinaryGenerator.cxx
CPack/cmCPackCygwinSourceGenerator.cxx
)
-ENDIF(CYGWIN)
+endif()
-IF(UNIX)
- SET(CPACK_SRCS ${CPACK_SRCS}
+if(UNIX)
+ set(CPACK_SRCS ${CPACK_SRCS}
CPack/cmCPackDebGenerator.cxx
CPack/cmCPackRPMGenerator.cxx
)
-ENDIF(UNIX)
+endif()
-IF(APPLE)
- SET(CPACK_SRCS ${CPACK_SRCS}
+if(APPLE)
+ set(CPACK_SRCS ${CPACK_SRCS}
CPack/cmCPackBundleGenerator.cxx
CPack/cmCPackDragNDropGenerator.cxx
CPack/cmCPackOSXX11Generator.cxx
CPack/cmCPackPackageMakerGenerator.cxx
)
-ENDIF(APPLE)
+endif()
# Build CPackLib
-ADD_LIBRARY(CPackLib ${CPACK_SRCS})
-TARGET_LINK_LIBRARIES(CPackLib CMakeLib)
+add_library(CPackLib ${CPACK_SRCS})
+target_link_libraries(CPackLib CMakeLib)
-IF(APPLE)
- ADD_EXECUTABLE(cmakexbuild cmakexbuild.cxx)
- TARGET_LINK_LIBRARIES(cmakexbuild CMakeLib)
- ADD_EXECUTABLE(OSXScriptLauncher
+if(APPLE)
+ add_executable(cmakexbuild cmakexbuild.cxx)
+ target_link_libraries(cmakexbuild CMakeLib)
+ add_executable(OSXScriptLauncher
CPack/OSXScriptLauncher.cxx)
- TARGET_LINK_LIBRARIES(OSXScriptLauncher cmsys)
- TARGET_LINK_LIBRARIES(OSXScriptLauncher "-framework CoreFoundation")
-ENDIF(APPLE)
+ target_link_libraries(OSXScriptLauncher cmsys)
+ target_link_libraries(OSXScriptLauncher "-framework CoreFoundation")
+endif()
# Build CMake executable
-ADD_EXECUTABLE(cmake cmakemain.cxx)
-TARGET_LINK_LIBRARIES(cmake CMakeLib)
+add_executable(cmake cmakemain.cxx)
+target_link_libraries(cmake CMakeLib)
# Build special executable for running programs on Windows 98
-IF(WIN32)
- IF(NOT UNIX)
- ADD_EXECUTABLE(cmw9xcom cmw9xcom.cxx)
- TARGET_LINK_LIBRARIES(cmw9xcom CMakeLib)
- INSTALL_TARGETS(/bin cmw9xcom)
- ENDIF(NOT UNIX)
-ENDIF(WIN32)
+if(WIN32)
+ if(NOT UNIX)
+ add_executable(cmw9xcom cmw9xcom.cxx)
+ target_link_libraries(cmw9xcom CMakeLib)
+ install_targets(/bin cmw9xcom)
+ endif()
+endif()
# Build CTest executable
-ADD_EXECUTABLE(ctest ctest.cxx)
-TARGET_LINK_LIBRARIES(ctest CTestLib)
+add_executable(ctest ctest.cxx)
+target_link_libraries(ctest CTestLib)
# Build CPack executable
-ADD_EXECUTABLE(cpack CPack/cpack.cxx)
-TARGET_LINK_LIBRARIES(cpack CPackLib)
+add_executable(cpack CPack/cpack.cxx)
+target_link_libraries(cpack CPackLib)
# Curses GUI
-IF(BUILD_CursesDialog)
- INCLUDE(${CMake_SOURCE_DIR}/Source/CursesDialog/CMakeLists.txt)
-ENDIF(BUILD_CursesDialog)
+if(BUILD_CursesDialog)
+ include(${CMake_SOURCE_DIR}/Source/CursesDialog/CMakeLists.txt)
+endif()
# Qt GUI
-OPTION(BUILD_QtDialog "Build Qt dialog for CMake" FALSE)
-IF(BUILD_QtDialog)
- SUBDIRS(QtDialog)
-ENDIF(BUILD_QtDialog)
-
-INCLUDE (${CMake_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
-INCLUDE (${CMake_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
-
-INSTALL_TARGETS(/bin cmake)
-INSTALL_TARGETS(/bin ctest)
-INSTALL_TARGETS(/bin cpack)
-IF(APPLE)
- INSTALL_TARGETS(/bin cmakexbuild)
-ENDIF(APPLE)
-
-INSTALL_FILES(${CMAKE_DATA_DIR}/include cmCPluginAPI.h)
+option(BUILD_QtDialog "Build Qt dialog for CMake" FALSE)
+if(BUILD_QtDialog)
+ add_subdirectory(QtDialog)
+endif()
+
+include (${CMake_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
+include (${CMake_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
+
+install_targets(/bin cmake)
+install_targets(/bin ctest)
+install_targets(/bin cpack)
+if(APPLE)
+ install_targets(/bin cmakexbuild)
+endif()
+
+install_files(${CMAKE_DATA_DIR}/include cmCPluginAPI.h)
diff --git a/Source/CMakeVersion.bash b/Source/CMakeVersion.bash
index 126adba8e..4794e608d 100755
--- a/Source/CMakeVersion.bash
+++ b/Source/CMakeVersion.bash
@@ -3,5 +3,5 @@
if test "x$1" = "x-f"; then shift ; n='*' ; else n='\{8\}' ; fi
if test "$#" -gt 0; then echo 1>&2 "usage: CMakeVersion.bash [-f]"; exit 1; fi
sed -i -e '
-s/\(^SET(CMake_VERSION_TWEAK\) [0-9]'"$n"'\(.*\)/\1 '"$(date +%Y%m%d)"'\2/
+s/\(^set(CMake_VERSION_TWEAK\) [0-9]'"$n"'\(.*\)/\1 '"$(date +%Y%m%d)"'\2/
' "${BASH_SOURCE%/*}/CMakeVersion.cmake"
diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index d124b660c..c59c618e2 100644
--- a/Source/CMakeVersion.cmake
+++ b/Source/CMakeVersion.cmake
@@ -1,6 +1,6 @@
# CMake version number components.
-SET(CMake_VERSION_MAJOR 2)
-SET(CMake_VERSION_MINOR 8)
-SET(CMake_VERSION_PATCH 9)
-SET(CMake_VERSION_TWEAK 0)
-#SET(CMake_VERSION_RC 3)
+set(CMake_VERSION_MAJOR 2)
+set(CMake_VERSION_MINOR 8)
+set(CMake_VERSION_PATCH 10)
+set(CMake_VERSION_TWEAK 2)
+#set(CMake_VERSION_RC 3)
diff --git a/Source/CPack/OSXScriptLauncher.cxx b/Source/CPack/OSXScriptLauncher.cxx
index e0fbe9b75..a9842c1df 100644
--- a/Source/CPack/OSXScriptLauncher.cxx
+++ b/Source/CPack/OSXScriptLauncher.cxx
@@ -93,7 +93,7 @@ int main(int argc, char* argv[])
cmsysProcess_SetOption(cp, cmsysProcess_Option_HideWindow, 1);
cmsysProcess_SetTimeout(cp, 0);
cmsysProcess_Execute(cp);
-
+
std::vector<char> tempOutput;
char* data;
int length;
@@ -111,9 +111,9 @@ int main(int argc, char* argv[])
}
cmsys_ios::cout.write(data, length);
}
-
+
cmsysProcess_WaitForExit(cp, 0);
-
+
bool result = true;
if(cmsysProcess_GetState(cp) == cmsysProcess_State_Exited)
{
@@ -140,7 +140,7 @@ int main(int argc, char* argv[])
std::cerr << error_str << std::endl;
result = false;
}
-
+
cmsysProcess_Delete(cp);
return 0;
diff --git a/Source/CPack/bills-comments.txt b/Source/CPack/bills-comments.txt
index f73499d01..c3b4ee8e7 100644
--- a/Source/CPack/bills-comments.txt
+++ b/Source/CPack/bills-comments.txt
@@ -1,18 +1,18 @@
cpack.cxx
-
-cmCPackGenerators -- creates cmCPackGenericGenerator's via NewGenerator
+
+cmCPackGenerators -- creates cmCPackGenericGenerator's via NewGenerator
- a cmCPackGenericGenerator factory
cmCPackGenericGenerator::Initialize
this->InitializeInternal
- CPACK_INCLUDE_TOPLEVEL_DIRECTORY = 0 turns off
+ CPACK_INCLUDE_TOPLEVEL_DIRECTORY = 0 turns off
// binary package run
cmCPackGenericGenerator::ProcessGenerator // DoPackage
cmCPackGenericGenerator::PrepareNames -- sets a bunch of CPACK_vars
- cmCPackGenericGenerator::InstallProject
+ cmCPackGenericGenerator::InstallProject
run preinstall (make preinstall/fast)
call ReadListFile(cmake_install.cmake)
glob recurse in install directory to get list of files
@@ -22,9 +22,9 @@ cmCPackGenericGenerator::ProcessGenerator // DoPackage
// source package run
cmCPackGenericGenerator::ProcessGenerator // DoPackage
cmCPackGenericGenerator::PrepareNames -- sets a bunch of CPACK_vars
- cmCPackGenericGenerator::InstallProject -->
+ cmCPackGenericGenerator::InstallProject -->
if set CPACK_INSTALLED_DIRECTORIES
- glob the files in that directory
+ glob the files in that directory
copy those files to the tmp install directory _CPack something
glob recurse in install directory to get list of files
this->CompressFiles with the list of files
@@ -35,12 +35,12 @@ packages. It is controled based on values set in CPACK_ variables.
InstallProject
- 1. CPACK_INSTALL_COMMANDS - a list of commands used to install the package
+ 1. CPACK_INSTALL_COMMANDS - a list of commands used to install the package
2. CPACK_INSTALLED_DIRECTORIES - copy this directory to CPACK_TEMPORARY_DIRECTORY
3. CPACK_INSTALL_CMAKE_PROJECTS - a cmake install script
- - run make preinstall
+ - run make preinstall
- run cmake_install.cmake
- set CMAKE_INSTALL_PREFIX to the temp directory
- CPACK_BUILD_CONFIG check this and set the BUILD_TYPE to it
@@ -59,10 +59,10 @@ rename cmCPackGenericGenerator::ProcessGenerator -> cmCPackGenerator::DoPackage
break up cmCPackGenerator::InstallProject so it calls the following:
// run user provided install commands
- cmCPackGenerator::RunInstallCommands();
+ cmCPackGenerator::RunInstallCommands();
// copy entire directories that need no processing like source trees
- cmCPackGenerator::CopyPreInstalledDirectories();
+ cmCPackGenerator::CopyPreInstalledDirectories();
// run the cmake install scripts if provided
- cmCPackGenerator::RunCMakeInstallScripts()
+ cmCPackGenerator::RunCMakeInstallScripts()
-
diff --git a/Source/CPack/cmCPackArchiveGenerator.h b/Source/CPack/cmCPackArchiveGenerator.h
index b1bbb8363..6411b1ebf 100644
--- a/Source/CPack/cmCPackArchiveGenerator.h
+++ b/Source/CPack/cmCPackArchiveGenerator.h
@@ -33,7 +33,7 @@ public:
*/
cmCPackArchiveGenerator(cmArchiveWrite::Compress, cmArchiveWrite::Type);
virtual ~cmCPackArchiveGenerator();
- // Used to add a header to the archive
+ // Used to add a header to the archive
virtual int GenerateHeader(std::ostream* os);
// component support
virtual bool SupportsComponentInstallation() const;
diff --git a/Source/CPack/cmCPackBundleGenerator.cxx b/Source/CPack/cmCPackBundleGenerator.cxx
index af78e7822..6c994f13f 100644
--- a/Source/CPack/cmCPackBundleGenerator.cxx
+++ b/Source/CPack/cmCPackBundleGenerator.cxx
@@ -91,8 +91,8 @@ int cmCPackBundleGenerator::PackageFiles()
}
// Get optional arguments ...
- const std::string cpack_bundle_startup_command =
- this->GetOption("CPACK_BUNDLE_STARTUP_COMMAND")
+ const std::string cpack_bundle_startup_command =
+ this->GetOption("CPACK_BUNDLE_STARTUP_COMMAND")
? this->GetOption("CPACK_BUNDLE_STARTUP_COMMAND") : "";
// The staging directory contains everything that will end-up inside the
diff --git a/Source/CPack/cmCPackComponentGroup.cxx b/Source/CPack/cmCPackComponentGroup.cxx
index 1d21fb11c..f93eca823 100644
--- a/Source/CPack/cmCPackComponentGroup.cxx
+++ b/Source/CPack/cmCPackComponentGroup.cxx
@@ -36,7 +36,7 @@ unsigned long cmCPackComponent::GetInstalledSize(const char* installDir) const
}
//----------------------------------------------------------------------
-unsigned long
+unsigned long
cmCPackComponent::GetInstalledSizeInKbytes(const char* installDir) const
{
unsigned long result = (GetInstalledSize(installDir) + 512) / 1024;
diff --git a/Source/CPack/cmCPackComponentGroup.h b/Source/CPack/cmCPackComponentGroup.h
index cebdd6d20..48d935cbe 100644
--- a/Source/CPack/cmCPackComponentGroup.h
+++ b/Source/CPack/cmCPackComponentGroup.h
@@ -18,7 +18,7 @@
class cmCPackComponentGroup;
/** \class cmCPackInstallationType
- * \brief A certain type of installation, which encompasses a
+ * \brief A certain type of installation, which encompasses a
* set of components.
*/
class cmCPackInstallationType
@@ -90,7 +90,7 @@ public:
std::vector<std::string> Directories;
/// Get the total installed size of all of the files in this
- /// component, in bytes. installDir is the directory into which the
+ /// component, in bytes. installDir is the directory into which the
/// component was installed.
unsigned long GetInstalledSize(const char* installDir) const;
diff --git a/Source/CPack/cmCPackCygwinBinaryGenerator.cxx b/Source/CPack/cmCPackCygwinBinaryGenerator.cxx
index 6c8fc54e0..6605f16e0 100644
--- a/Source/CPack/cmCPackCygwinBinaryGenerator.cxx
+++ b/Source/CPack/cmCPackCygwinBinaryGenerator.cxx
@@ -50,7 +50,7 @@ int cmCPackCygwinBinaryGenerator::PackageFiles()
std::string manifest = "/usr/share/doc/";
manifest += packageName;
manifest += "/MANIFEST";
- std::string manifestFile
+ std::string manifestFile
= this->GetOption("CPACK_TEMPORARY_DIRECTORY");
// Create a MANIFEST file that contains all of the files in
// the tar file
@@ -70,8 +70,8 @@ int cmCPackCygwinBinaryGenerator::PackageFiles()
}
// add the manifest file to the list of all files
files.push_back(manifestFile);
-
- // create the bzip2 tar file
+
+ // create the bzip2 tar file
return this->Superclass::PackageFiles();
}
@@ -81,8 +81,8 @@ const char* cmCPackCygwinBinaryGenerator::GetOutputExtension()
const char* patchNumber =this->GetOption("CPACK_CYGWIN_PATCH_NUMBER");
if(!patchNumber)
{
- patchNumber = "1";
- cmCPackLogger(cmCPackLog::LOG_WARNING,
+ patchNumber = "1";
+ cmCPackLogger(cmCPackLog::LOG_WARNING,
"CPACK_CYGWIN_PATCH_NUMBER not specified using 1"
<< std::endl);
}
diff --git a/Source/CPack/cmCPackCygwinSourceGenerator.cxx b/Source/CPack/cmCPackCygwinSourceGenerator.cxx
index 597972992..f1e8539b9 100644
--- a/Source/CPack/cmCPackCygwinSourceGenerator.cxx
+++ b/Source/CPack/cmCPackCygwinSourceGenerator.cxx
@@ -68,18 +68,18 @@ int cmCPackCygwinSourceGenerator::PackageFiles()
// and the CPACK_CYGWIN_PATCH_FILE and CPACK_TOPLEVEL_DIRECTORY
// files
std::string compressOutFile = packageDirFileName;
- // at this point compressOutFile is the full path to
+ // at this point compressOutFile is the full path to
// _CPack_Package/.../package-2.5.0.tar.bz2
// we want to create a tar _CPack_Package/.../package-2.5.0-1-src.tar.bz2
- // with these
- // _CPack_Package/.../package-2.5.0-1.patch
+ // with these
+ // _CPack_Package/.../package-2.5.0-1.patch
// _CPack_Package/.../package-2.5.0-1.sh
// _CPack_Package/.../package-2.5.0.tar.bz2
// the -1 is CPACK_CYGWIN_PATCH_NUMBER
-
+
// first copy the patch file and the .sh file
// to the toplevel cpack temp dir
-
+
// copy the patch file into place
if(!this->GetOption("CPACK_CYGWIN_PATCH_FILE"))
{
@@ -98,7 +98,7 @@ int cmCPackCygwinSourceGenerator::PackageFiles()
}
if(!this->GetOption("CPACK_CYGWIN_BUILD_SCRIPT"))
{
- cmCPackLogger(cmCPackLog::LOG_ERROR,
+ cmCPackLogger(cmCPackLog::LOG_ERROR,
"No build script specified for cygwin sources.");
return 0;
}
@@ -168,7 +168,7 @@ const char* cmCPackCygwinSourceGenerator::GetPackagingInstallPrefix()
const char* cmCPackCygwinSourceGenerator::GetOutputExtension()
{
this->OutputExtension = "-";
- const char* patch = this->GetOption("CPACK_CYGWIN_PATCH_NUMBER");
+ const char* patch = this->GetOption("CPACK_CYGWIN_PATCH_NUMBER");
if(!patch)
{
cmCPackLogger(cmCPackLog::LOG_WARNING, "CPACK_CYGWIN_PATCH_NUMBER"
@@ -179,4 +179,4 @@ const char* cmCPackCygwinSourceGenerator::GetOutputExtension()
this->OutputExtension += "-src.tar.bz2";
return this->OutputExtension.c_str();
}
-
+
diff --git a/Source/CPack/cmCPackDebGenerator.cxx b/Source/CPack/cmCPackDebGenerator.cxx
index fa456deff..4bd5d5c2f 100644
--- a/Source/CPack/cmCPackDebGenerator.cxx
+++ b/Source/CPack/cmCPackDebGenerator.cxx
@@ -293,15 +293,15 @@ int cmCPackDebGenerator::createDeb()
// debian policy enforce lower case for package name
// mandatory entries:
- std::string debian_pkg_name = cmsys::SystemTools::LowerCase(
+ std::string debian_pkg_name = cmsys::SystemTools::LowerCase(
this->GetOption("CPACK_DEBIAN_PACKAGE_NAME") );
- const char* debian_pkg_version =
+ const char* debian_pkg_version =
this->GetOption("CPACK_DEBIAN_PACKAGE_VERSION");
- const char* debian_pkg_section =
+ const char* debian_pkg_section =
this->GetOption("CPACK_DEBIAN_PACKAGE_SECTION");
- const char* debian_pkg_priority =
+ const char* debian_pkg_priority =
this->GetOption("CPACK_DEBIAN_PACKAGE_PRIORITY");
- const char* debian_pkg_arch =
+ const char* debian_pkg_arch =
this->GetOption("CPACK_DEBIAN_PACKAGE_ARCHITECTURE");
const char* maintainer = this->GetOption("CPACK_DEBIAN_PACKAGE_MAINTAINER");
const char* desc = this->GetOption("CPACK_DEBIAN_PACKAGE_DESCRIPTION");
@@ -719,8 +719,8 @@ static int copy_ar(CF *cfp, off_t size)
FILE* from = cfp->rFile;
FILE* to = cfp->wFile;
- while (sz &&
- (nr = fread(buf, 1, sz < static_cast<off_t>(sizeof(buf))
+ while (sz &&
+ (nr = fread(buf, 1, sz < static_cast<off_t>(sizeof(buf))
? static_cast<size_t>(sz) : sizeof(buf), from ))
> 0) {
sz -= nr;
@@ -731,7 +731,7 @@ static int copy_ar(CF *cfp, off_t size)
if (sz)
return -2;
- if (cfp->flags & WPAD && (size + ar_already_written) & 1
+ if (cfp->flags & WPAD && (size + ar_already_written) & 1
&& fwrite(&pad, 1, 1, to) != 1)
return -4;
@@ -767,8 +767,8 @@ static int put_arobj(CF *cfp, struct stat *sb)
(long long)sb->st_size + lname, ARFMAG);
else {
lname = 0;
- (void)sprintf(ar_hb, HDR2, name,
- (long int)sb->st_mtime, uid, gid, sb->st_mode,
+ (void)sprintf(ar_hb, HDR2, name,
+ (long int)sb->st_mtime, uid, gid, sb->st_mode,
(long long)sb->st_size, ARFMAG);
}
off_t size = sb->st_size;
@@ -790,7 +790,7 @@ static int put_arobj(CF *cfp, struct stat *sb)
/* append --
* Append files to the archive - modifies original archive or creates
- * a new archive if named archive does not exist.
+ * a new archive if named archive does not exist.
*/
static int ar_append(const char* archive,const std::vector<std::string>& files)
{
diff --git a/Source/CPack/cmCPackDocumentVariables.cxx b/Source/CPack/cmCPackDocumentVariables.cxx
index edbef45ef..6a841fa8d 100644
--- a/Source/CPack/cmCPackDocumentVariables.cxx
+++ b/Source/CPack/cmCPackDocumentVariables.cxx
@@ -31,31 +31,42 @@ void cmCPackDocumentVariables::DefineVariables(cmake* cm)
"Each CPack generator as a built-in default value for this"
" variable. E.g. Archive generators (ZIP, TGZ, ...) includes"
" the top level whereas RPM or DEB don't. The user may override"
- " the default value byt setting this variable.\n"
+ " the default value by setting this variable.\n"
"There is a similar variable "
- "CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY"
+ "CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY "
"which may be used to override the behavior for the component"
- "packaging case which may have different default value for"
- "historical (now backward compatibility) reason.", false,
+ " packaging case which may have different default value for"
+ " historical (now backward compatibility) reason.", false,
"Variables common to all CPack generators");
cm->DefineProperty
+ ("CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY", cmProperty::VARIABLE,
+ "Boolean toggle to include/exclude top level directory "
+ "(component case).",
+ "Similar usage as CPACK_INCLUDE_TOPLEVEL_DIRECTORY"
+ " but for the component case. "
+ "See CPACK_INCLUDE_TOPLEVEL_DIRECTORY documentation for"
+ " the detail.", false,
+ "Variables common to all CPack generators");
+
+ cm->DefineProperty
("CPACK_SET_DESTDIR", cmProperty::VARIABLE,
"Boolean toggle to make CPack use DESTDIR mechanism when"
" packaging.", "DESTDIR means DESTination DIRectory."
" It is commonly used by makefile "
"users in order to install software at non-default location. It "
- "is a basic relocation mechanism. "
+ "is a basic relocation mechanism that should not be used on"
+ " Windows (see CMAKE_INSTALL_PREFIX documentation). "
"It is usually invoked like this:\n"
" make DESTDIR=/home/john install\n"
"which will install the concerned software using the"
- " installation prefix, e.g. \"/usr/local\" prepended with "
+ " installation prefix, e.g. \"/usr/local\" pre-pended with "
"the DESTDIR value which finally gives \"/home/john/usr/local\"."
" When preparing a package, CPack first installs the items to be "
"packaged in a local (to the build tree) directory by using the "
"same DESTDIR mechanism. Nevertheless, if "
"CPACK_SET_DESTDIR is set then CPack will set DESTDIR before"
- " doing the local install. The most noticeable difference is"
+ " doing the local install. The most noticeable difference is"
" that without CPACK_SET_DESTDIR, CPack uses "
"CPACK_PACKAGING_INSTALL_PREFIX as a prefix whereas with "
"CPACK_SET_DESTDIR set, CPack will use CMAKE_INSTALL_PREFIX as"
diff --git a/Source/CPack/cmCPackDragNDropGenerator.cxx b/Source/CPack/cmCPackDragNDropGenerator.cxx
index 6aee401ff..78cb1b61c 100644
--- a/Source/CPack/cmCPackDragNDropGenerator.cxx
+++ b/Source/CPack/cmCPackDragNDropGenerator.cxx
@@ -17,7 +17,7 @@
#include <cmsys/RegularExpression.hxx>
-static const char* SLAHeader =
+static const char* SLAHeader =
"data 'LPic' (5000) {\n"
" $\"0002 0011 0003 0001 0000 0000 0002 0000\"\n"
" $\"0008 0003 0000 0001 0004 0000 0004 0005\"\n"
@@ -29,7 +29,7 @@ static const char* SLAHeader =
"};\n"
"\n";
-static const char* SLASTREnglish =
+static const char* SLASTREnglish =
"resource 'STR#' (5002, \"English\") {\n"
" {\n"
" \"English\",\n"
@@ -90,7 +90,7 @@ int cmCPackDragNDropGenerator::InitializeInternal()
return 0;
}
this->SetOptionIfNotSet("CPACK_COMMAND_SETFILE", setfile_path.c_str());
-
+
const std::string rez_path = cmSystemTools::FindProgram("Rez",
paths, false);
if(rez_path.empty())
@@ -222,7 +222,7 @@ int cmCPackDragNDropGenerator::CreateDMG(const std::string& src_dir,
// Get optional arguments ...
const std::string cpack_package_icon = this->GetOption("CPACK_PACKAGE_ICON")
? this->GetOption("CPACK_PACKAGE_ICON") : "";
-
+
const std::string cpack_dmg_volume_name =
this->GetOption("CPACK_DMG_VOLUME_NAME")
? this->GetOption("CPACK_DMG_VOLUME_NAME")
@@ -233,8 +233,8 @@ int cmCPackDragNDropGenerator::CreateDMG(const std::string& src_dir,
? this->GetOption("CPACK_DMG_FORMAT") : "UDZO";
// Get optional arguments ...
- std::string cpack_license_file =
- this->GetOption("CPACK_RESOURCE_FILE_LICENSE") ?
+ std::string cpack_license_file =
+ this->GetOption("CPACK_RESOURCE_FILE_LICENSE") ?
this->GetOption("CPACK_RESOURCE_FILE_LICENSE") : "";
const std::string cpack_dmg_background_image =
@@ -405,7 +405,7 @@ int cmCPackDragNDropGenerator::CreateDMG(const std::string& src_dir,
cmOStringStream detach_command;
detach_command << this->GetOption("CPACK_COMMAND_HDIUTIL");
detach_command << " detach";
- detach_command << " \"" << temp_mount.str() << "\"";
+ detach_command << " \"" << temp_mount.str() << "\"";
if(!this->RunCommand(detach_command))
{
@@ -416,7 +416,7 @@ int cmCPackDragNDropGenerator::CreateDMG(const std::string& src_dir,
return 0;
}
}
-
+
if(!cpack_license_file.empty())
{
std::string sla_r = this->GetOption("CPACK_TOPLEVEL_DIRECTORY");
@@ -460,7 +460,7 @@ int cmCPackDragNDropGenerator::CreateDMG(const std::string& src_dir,
udco_image_command << " convert \"" << temp_image << "\"";
udco_image_command << " -format UDCO";
udco_image_command << " -o \"" << temp_udco << "\"";
-
+
std::string error;
if(!this->RunCommand(udco_image_command, &error))
{
@@ -476,17 +476,17 @@ int cmCPackDragNDropGenerator::CreateDMG(const std::string& src_dir,
unflatten_command << this->GetOption("CPACK_COMMAND_HDIUTIL");
unflatten_command << " unflatten ";
unflatten_command << "\"" << temp_udco << "\"";
-
+
if(!this->RunCommand(unflatten_command, &error))
{
cmCPackLogger(cmCPackLog::LOG_ERROR,
"Error unflattening dmg for adding SLA." << std::endl
- << error
+ << error
<< std::endl);
return 0;
}
-
- // Rez the SLA
+
+ // Rez the SLA
cmOStringStream embed_sla_command;
embed_sla_command << this->GetOption("CPACK_COMMAND_REZ");
embed_sla_command << " \"" << sla_r << "\"";
@@ -496,8 +496,8 @@ int cmCPackDragNDropGenerator::CreateDMG(const std::string& src_dir,
if(!this->RunCommand(embed_sla_command, &error))
{
cmCPackLogger(cmCPackLog::LOG_ERROR,
- "Error adding SLA." << std::endl
- << error
+ "Error adding SLA." << std::endl
+ << error
<< std::endl);
return 0;
}
@@ -507,7 +507,7 @@ int cmCPackDragNDropGenerator::CreateDMG(const std::string& src_dir,
flatten_command << this->GetOption("CPACK_COMMAND_HDIUTIL");
flatten_command << " flatten ";
flatten_command << "\"" << temp_udco << "\"";
-
+
if(!this->RunCommand(flatten_command, &error))
{
cmCPackLogger(cmCPackLog::LOG_ERROR,
@@ -530,7 +530,7 @@ int cmCPackDragNDropGenerator::CreateDMG(const std::string& src_dir,
final_image_command << " -imagekey";
final_image_command << " zlib-level=9";
final_image_command << " -o \"" << output_file << "\"";
-
+
if(!this->RunCommand(final_image_command))
{
cmCPackLogger(cmCPackLog::LOG_ERROR,
diff --git a/Source/CPack/cmCPackGenerator.cxx b/Source/CPack/cmCPackGenerator.cxx
index 0177653f5..e96469600 100644
--- a/Source/CPack/cmCPackGenerator.cxx
+++ b/Source/CPack/cmCPackGenerator.cxx
@@ -105,7 +105,7 @@ int cmCPackGenerator::PrepareNames()
"CPACK_PACKAGE_FILE_NAME not specified" << std::endl);
return 0;
}
- std::string outName = pfname;
+ std::string outName = pfname;
tempDirectory += "/" + outName;
if(!this->GetOutputExtension())
{
@@ -149,7 +149,7 @@ int cmCPackGenerator::PrepareNames()
if ( !cmSystemTools::FileExists(descFileName) )
{
cmCPackLogger(cmCPackLog::LOG_ERROR,
- "Cannot find description file name: ["
+ "Cannot find description file name: ["
<< descFileName << "]" << std::endl);
return 0;
}
@@ -207,7 +207,7 @@ int cmCPackGenerator::InstallProject()
if ( !cmsys::SystemTools::MakeDirectory(bareTempInstallDirectory.c_str()))
{
cmCPackLogger(cmCPackLog::LOG_ERROR,
- "Problem creating temporary directory: "
+ "Problem creating temporary directory: "
<< (tempInstallDirectory ? tempInstallDirectory : "(NULL}")
<< std::endl);
return 0;
@@ -584,7 +584,7 @@ int cmCPackGenerator::InstallProjectViaInstallCMakeProjects(
!(this->IsSet("CPACK_MONOLITHIC_INSTALL")))
{
// Determine the installation types for this project (if provided).
- std::string installTypesVar = "CPACK_"
+ std::string installTypesVar = "CPACK_"
+ cmSystemTools::UpperCase(installComponent) + "_INSTALL_TYPES";
const char *installTypes = this->GetOption(installTypesVar.c_str());
if (installTypes && *installTypes)
@@ -596,16 +596,16 @@ int cmCPackGenerator::InstallProjectViaInstallCMakeProjects(
installTypeIt != installTypesVector.end();
++installTypeIt)
{
- this->GetInstallationType(installProjectName.c_str(),
+ this->GetInstallationType(installProjectName.c_str(),
installTypeIt->c_str());
}
}
// Determine the set of components that will be used in this project
- std::string componentsVar
+ std::string componentsVar
= "CPACK_COMPONENTS_" + cmSystemTools::UpperCase(installComponent);
const char *components = this->GetOption(componentsVar.c_str());
- if (components && *components)
+ if (components && *components)
{
cmSystemTools::ExpandListArgument(components, componentsVector);
std::vector<std::string>::iterator compIt;
@@ -688,10 +688,10 @@ int cmCPackGenerator::InstallProjectViaInstallCMakeProjects(
if (componentInstall)
{
cmCPackLogger(cmCPackLog::LOG_OUTPUT,
- "- Install component: " << installComponent
+ "- Install component: " << installComponent
<< std::endl);
}
-
+
cmake cm;
cm.AddCMakePaths();
cm.SetProgressCallback(cmCPackGeneratorProgress, this);
@@ -758,7 +758,7 @@ int cmCPackGenerator::InstallProjectViaInstallCMakeProjects(
"- Using DESTDIR + CPACK_INSTALL_PREFIX... (mf->AddDefinition)"
<< std::endl);
cmCPackLogger(cmCPackLog::LOG_DEBUG,
- "- Setting CMAKE_INSTALL_PREFIX to '" << dir << "'"
+ "- Setting CMAKE_INSTALL_PREFIX to '" << dir << "'"
<< std::endl);
// Make sure that DESTDIR + CPACK_INSTALL_PREFIX directory
@@ -792,7 +792,7 @@ int cmCPackGenerator::InstallProjectViaInstallCMakeProjects(
if ( !cmsys::SystemTools::MakeDirectory(dir.c_str()))
{
cmCPackLogger(cmCPackLog::LOG_ERROR,
- "Problem creating temporary directory: "
+ "Problem creating temporary directory: "
<< dir << std::endl);
return 0;
}
@@ -806,7 +806,7 @@ int cmCPackGenerator::InstallProjectViaInstallCMakeProjects(
tempInstallDirectory.c_str()))
{
cmCPackLogger(cmCPackLog::LOG_ERROR,
- "Problem creating temporary directory: "
+ "Problem creating temporary directory: "
<< tempInstallDirectory << std::endl);
return 0;
}
@@ -832,7 +832,7 @@ int cmCPackGenerator::InstallProjectViaInstallCMakeProjects(
installComponent.c_str());
}
- // strip on TRUE, ON, 1, one or several file names, but not on
+ // strip on TRUE, ON, 1, one or several file names, but not on
// FALSE, OFF, 0 and an empty string
if (!cmSystemTools::IsOff(this->GetOption("CPACK_STRIP_FILES")))
{
@@ -855,7 +855,7 @@ int cmCPackGenerator::InstallProjectViaInstallCMakeProjects(
// If CPack was asked to warn on ABSOLUTE INSTALL DESTINATION
// then forward request to cmake_install.cmake script
- if (this->GetOption("CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION"))
+ if (this->IsOn("CPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION"))
{
mf->AddDefinition("CMAKE_WARN_ON_ABSOLUTE_INSTALL_DESTINATION",
"1");
@@ -865,7 +865,7 @@ int cmCPackGenerator::InstallProjectViaInstallCMakeProjects(
// then ask cmake_install.cmake script to error out
// as soon as it occurs (before installing file)
if (!SupportsAbsoluteDestination() ||
- this->GetOption("CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION"))
+ this->IsOn("CPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION"))
{
mf->AddDefinition("CMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION",
"1");
@@ -905,7 +905,7 @@ int cmCPackGenerator::InstallProjectViaInstallCMakeProjects(
localFileName =
cmSystemTools::RelativePath(InstallPrefix, fit->c_str());
localFileName =
- localFileName.substr(localFileName.find('/')+1,
+ localFileName.substr(localFileName.find_first_not_of('/'),
std::string::npos);
Components[installComponent].Files.push_back(localFileName);
cmCPackLogger(cmCPackLog::LOG_DEBUG, "Adding file <"
@@ -1024,7 +1024,7 @@ int cmCPackGenerator::DoPackage()
= this->GetOption("CPACK_TOPLEVEL_DIRECTORY");
if ( cmSystemTools::FileExists(toplevelDirectory) )
{
- cmCPackLogger(cmCPackLog::LOG_VERBOSE,
+ cmCPackLogger(cmCPackLog::LOG_VERBOSE,
"Remove toplevel directory: "
<< toplevelDirectory << std::endl);
if ( !cmSystemTools::RepeatedRemoveDirectory(toplevelDirectory) )
@@ -1153,10 +1153,10 @@ int cmCPackGenerator::Initialize(const char* name, cmMakefile* mf)
// set the running generator name
this->SetOption("CPACK_GENERATOR", this->Name.c_str());
// Load the project specific config file
- const char* config =
+ const char* config =
this->GetOption("CPACK_PROJECT_CONFIG_FILE");
if(config)
- {
+ {
mf->ReadListFile(config);
}
int result = this->InitializeInternal();
@@ -1193,13 +1193,13 @@ bool cmCPackGenerator::IsOn(const char* name) const
//----------------------------------------------------------------------
const char* cmCPackGenerator::GetOption(const char* op) const
-{
+{
const char* ret = this->MakefileMap->GetDefinition(op);
if(!ret)
- {
- cmCPackLogger(cmCPackLog::LOG_DEBUG,
+ {
+ cmCPackLogger(cmCPackLog::LOG_DEBUG,
"Warning, GetOption return NULL for: "
- << op
+ << op
<< std::endl);
}
return ret;
@@ -1222,7 +1222,7 @@ int cmCPackGenerator::SetCMakeRoot()
return 1;
}
cmCPackLogger(cmCPackLog::LOG_ERROR,
- "Could not find CMAKE_ROOT !!!"
+ "Could not find CMAKE_ROOT !!!"
<< std::endl
<< "CMake has most likely not been installed correctly."
<< std::endl
@@ -1516,14 +1516,14 @@ cmCPackGenerator::GetInstallationType(const char *projectName,
(void) projectName;
bool hasInstallationType = this->InstallationTypes.count(name) != 0;
cmCPackInstallationType *installType = &this->InstallationTypes[name];
- if (!hasInstallationType)
+ if (!hasInstallationType)
{
// Define the installation type
- std::string macroPrefix = "CPACK_INSTALL_TYPE_"
+ std::string macroPrefix = "CPACK_INSTALL_TYPE_"
+ cmsys::SystemTools::UpperCase(name);
installType->Name = name;
- const char* displayName
+ const char* displayName
= this->GetOption((macroPrefix + "_DISPLAY_NAME").c_str());
if (displayName && *displayName)
{
@@ -1546,13 +1546,13 @@ cmCPackGenerator::GetComponent(const char *projectName, const char *name)
{
bool hasComponent = this->Components.count(name) != 0;
cmCPackComponent *component = &this->Components[name];
- if (!hasComponent)
+ if (!hasComponent)
{
// Define the component
- std::string macroPrefix = "CPACK_COMPONENT_"
+ std::string macroPrefix = "CPACK_COMPONENT_"
+ cmsys::SystemTools::UpperCase(name);
component->Name = name;
- const char* displayName
+ const char* displayName
= this->GetOption((macroPrefix + "_DISPLAY_NAME").c_str());
if (displayName && *displayName)
{
@@ -1562,7 +1562,7 @@ cmCPackGenerator::GetComponent(const char *projectName, const char *name)
{
component->DisplayName = component->Name;
}
- component->IsHidden
+ component->IsHidden
= this->IsSet((macroPrefix + "_HIDDEN").c_str());
component->IsRequired
= this->IsSet((macroPrefix + "_REQUIRED").c_str());
@@ -1572,7 +1572,7 @@ cmCPackGenerator::GetComponent(const char *projectName, const char *name)
= this->IsSet((macroPrefix + "_DOWNLOADED").c_str())
|| cmSystemTools::IsOn(this->GetOption("CPACK_DOWNLOAD_ALL"));
- const char* archiveFile = this->GetOption((macroPrefix +
+ const char* archiveFile = this->GetOption((macroPrefix +
"_ARCHIVE_FILE").c_str());
if (archiveFile && *archiveFile)
{
@@ -1580,7 +1580,7 @@ cmCPackGenerator::GetComponent(const char *projectName, const char *name)
}
const char* groupName = this->GetOption((macroPrefix + "_GROUP").c_str());
- if (groupName && *groupName)
+ if (groupName && *groupName)
{
component->Group = GetComponentGroup(projectName, groupName);
component->Group->Components.push_back(component);
@@ -1598,15 +1598,15 @@ cmCPackGenerator::GetComponent(const char *projectName, const char *name)
}
// Determine the installation types.
- const char *installTypes
+ const char *installTypes
= this->GetOption((macroPrefix + "_INSTALL_TYPES").c_str());
- if (installTypes && *installTypes)
+ if (installTypes && *installTypes)
{
std::vector<std::string> installTypesVector;
cmSystemTools::ExpandListArgument(installTypes, installTypesVector);
std::vector<std::string>::iterator installTypesIt;
- for (installTypesIt = installTypesVector.begin();
- installTypesIt != installTypesVector.end();
+ for (installTypesIt = installTypesVector.begin();
+ installTypesIt != installTypesVector.end();
++installTypesIt)
{
component->InstallationTypes.push_back(
@@ -1616,16 +1616,16 @@ cmCPackGenerator::GetComponent(const char *projectName, const char *name)
// Determine the component dependencies.
const char *depends = this->GetOption((macroPrefix + "_DEPENDS").c_str());
- if (depends && *depends)
+ if (depends && *depends)
{
std::vector<std::string> dependsVector;
cmSystemTools::ExpandListArgument(depends, dependsVector);
std::vector<std::string>::iterator dependIt;
- for (dependIt = dependsVector.begin();
- dependIt != dependsVector.end();
+ for (dependIt = dependsVector.begin();
+ dependIt != dependsVector.end();
++dependIt)
{
- cmCPackComponent *child = GetComponent(projectName,
+ cmCPackComponent *child = GetComponent(projectName,
dependIt->c_str());
component->Dependencies.push_back(child);
child->ReverseDependencies.push_back(component);
@@ -1640,15 +1640,15 @@ cmCPackComponentGroup*
cmCPackGenerator::GetComponentGroup(const char *projectName, const char *name)
{
(void) projectName;
- std::string macroPrefix = "CPACK_COMPONENT_GROUP_"
+ std::string macroPrefix = "CPACK_COMPONENT_GROUP_"
+ cmsys::SystemTools::UpperCase(name);
bool hasGroup = this->ComponentGroups.count(name) != 0;
cmCPackComponentGroup *group = &this->ComponentGroups[name];
- if (!hasGroup)
+ if (!hasGroup)
{
// Define the group
group->Name = name;
- const char* displayName
+ const char* displayName
= this->GetOption((macroPrefix + "_DISPLAY_NAME").c_str());
if (displayName && *displayName)
{
@@ -1669,7 +1669,7 @@ cmCPackGenerator::GetComponentGroup(const char *projectName, const char *name)
= this->IsSet((macroPrefix + "_BOLD_TITLE").c_str());
group->IsExpandedByDefault
= this->IsSet((macroPrefix + "_EXPANDED").c_str());
- const char* parentGroupName
+ const char* parentGroupName
= this->GetOption((macroPrefix + "_PARENT_GROUP").c_str());
if (parentGroupName && *parentGroupName)
{
diff --git a/Source/CPack/cmCPackGenerator.h b/Source/CPack/cmCPackGenerator.h
index 6748512d2..8fafef93d 100644
--- a/Source/CPack/cmCPackGenerator.h
+++ b/Source/CPack/cmCPackGenerator.h
@@ -113,7 +113,7 @@ public:
//! Display verbose information via logger
void DisplayVerboseOutput(const char* msg, float progress);
-
+
bool ReadListFile(const char* moduleName);
protected:
diff --git a/Source/CPack/cmCPackNSISGenerator.cxx b/Source/CPack/cmCPackNSISGenerator.cxx
index 7b5251148..b2e57a2b8 100644
--- a/Source/CPack/cmCPackNSISGenerator.cxx
+++ b/Source/CPack/cmCPackNSISGenerator.cxx
@@ -102,7 +102,7 @@ int cmCPackNSISGenerator::PackageFiles()
}
if (!Components.empty())
{
- // If this is a component installation, strip off the component
+ // If this is a component installation, strip off the component
// part of the path.
std::string::size_type slash = fileN.find('/');
if (slash != std::string::npos)
@@ -124,12 +124,12 @@ int cmCPackNSISGenerator::PackageFiles()
}
cmCPackLogger(cmCPackLog::LOG_DEBUG, "Uninstall Dirs: "
<< dstr.str().c_str() << std::endl);
- this->SetOptionIfNotSet("CPACK_NSIS_DELETE_DIRECTORIES",
+ this->SetOptionIfNotSet("CPACK_NSIS_DELETE_DIRECTORIES",
dstr.str().c_str());
cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Configure file: " << nsisInFileName
<< " to " << nsisFileName << std::endl);
- if(this->IsSet("CPACK_NSIS_MUI_ICON")
+ if(this->IsSet("CPACK_NSIS_MUI_ICON")
|| this->IsSet("CPACK_NSIS_MUI_UNIICON"))
{
std::string installerIconCode;
@@ -174,7 +174,7 @@ int cmCPackNSISGenerator::PackageFiles()
this->SetOptionIfNotSet("CPACK_NSIS_INSTALLATION_TYPES", "");
this->SetOptionIfNotSet("CPACK_NSIS_INSTALLER_MUI_COMPONENTS_DESC", "");
this->SetOptionIfNotSet("CPACK_NSIS_PAGE_COMPONENTS", "");
- this->SetOptionIfNotSet("CPACK_NSIS_FULL_INSTALL",
+ this->SetOptionIfNotSet("CPACK_NSIS_FULL_INSTALL",
"File /r \"${INST_DIR}\\*.*\"");
this->SetOptionIfNotSet("CPACK_NSIS_COMPONENT_SECTIONS", "");
this->SetOptionIfNotSet("CPACK_NSIS_COMPONENT_SECTION_LIST", "");
@@ -194,7 +194,7 @@ int cmCPackNSISGenerator::PackageFiles()
// Create installation types. The order is significant, so we first fill
// in a vector based on the indices, and print them in that order.
- std::vector<cmCPackInstallationType *>
+ std::vector<cmCPackInstallationType *>
installTypes(this->InstallationTypes.size());
std::map<std::string, cmCPackInstallationType>::iterator installTypeIt;
for (installTypeIt = this->InstallationTypes.begin();
@@ -221,15 +221,15 @@ int cmCPackNSISGenerator::PackageFiles()
{
if (groupIt->second.ParentGroup == 0)
{
- componentCode +=
+ componentCode +=
this->CreateComponentGroupDescription(&groupIt->second, macrosOut);
}
// Add the group description, if any.
if (!groupIt->second.Description.empty())
{
- groupDescriptions += " !insertmacro MUI_DESCRIPTION_TEXT ${"
- + groupIt->first + "} \""
+ groupDescriptions += " !insertmacro MUI_DESCRIPTION_TEXT ${"
+ + groupIt->first + "} \""
+ this->TranslateNewlines(groupIt->second.Description) + "\"\n";
}
}
@@ -251,7 +251,7 @@ int cmCPackNSISGenerator::PackageFiles()
if (!compIt->second.Group)
{
- componentCode
+ componentCode
+= this->CreateComponentDescription(&compIt->second, macrosOut);
}
@@ -265,8 +265,8 @@ int cmCPackNSISGenerator::PackageFiles()
// Add the component description, if any.
if (!compIt->second.Description.empty())
{
- componentDescriptions += " !insertmacro MUI_DESCRIPTION_TEXT ${"
- + compIt->first + "} \""
+ componentDescriptions += " !insertmacro MUI_DESCRIPTION_TEXT ${"
+ + compIt->first + "} \""
+ this->TranslateNewlines(compIt->second.Description) + "\"\n";
}
}
@@ -276,17 +276,17 @@ int cmCPackNSISGenerator::PackageFiles()
if (componentDescriptions.empty() && groupDescriptions.empty())
{
// Turn off the "Description" box
- this->SetOptionIfNotSet("CPACK_NSIS_INSTALLER_MUI_COMPONENTS_DESC",
+ this->SetOptionIfNotSet("CPACK_NSIS_INSTALLER_MUI_COMPONENTS_DESC",
"!define MUI_COMPONENTSPAGE_NODESC");
}
else
{
- componentDescriptions =
+ componentDescriptions =
"!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN\n"
+ componentDescriptions
+ groupDescriptions
+ "!insertmacro MUI_FUNCTION_DESCRIPTION_END\n";
- this->SetOptionIfNotSet("CPACK_NSIS_INSTALLER_MUI_COMPONENTS_DESC",
+ this->SetOptionIfNotSet("CPACK_NSIS_INSTALLER_MUI_COMPONENTS_DESC",
componentDescriptions.c_str());
}
@@ -308,12 +308,12 @@ int cmCPackNSISGenerator::PackageFiles()
componentCode.c_str());
this->SetOptionIfNotSet("CPACK_NSIS_COMPONENT_SECTION_LIST",
sectionList.c_str());
- this->SetOptionIfNotSet("CPACK_NSIS_SECTION_SELECTED_VARS",
+ this->SetOptionIfNotSet("CPACK_NSIS_SECTION_SELECTED_VARS",
selectedVarsList.c_str());
this->SetOption("CPACK_NSIS_DEFINES", defines.c_str());
}
- this->ConfigureFile(nsisInInstallOptions.c_str(),
+ this->ConfigureFile(nsisInInstallOptions.c_str(),
nsisInstallOptions.c_str());
this->ConfigureFile(nsisInFileName.c_str(), nsisFileName.c_str());
std::string nsisCmd = "\"";
@@ -445,11 +445,11 @@ int cmCPackNSISGenerator::InitializeInternal()
{
cmCPackLogger(cmCPackLog::LOG_DEBUG, "CPACK_CREATE_DESKTOP_LINKS: "
<< cpackPackageDeskTopLinks << std::endl);
-
+
cmSystemTools::
ExpandListArgument(cpackPackageDeskTopLinks,
cpackPackageDesktopLinksVector);
- for(std::vector<std::string>::iterator i =
+ for(std::vector<std::string>::iterator i =
cpackPackageDesktopLinksVector.begin(); i !=
cpackPackageDesktopLinksVector.end(); ++i)
{
@@ -499,7 +499,7 @@ int cmCPackNSISGenerator::InitializeInternal()
if(cpackPackageDesktopLinksVector.size() &&
std::find(cpackPackageDesktopLinksVector.begin(),
cpackPackageDesktopLinksVector.end(),
- execName)
+ execName)
!= cpackPackageDesktopLinksVector.end())
{
str << " StrCmp \"$INSTALL_DESKTOP\" \"1\" 0 +2\n";
@@ -579,7 +579,7 @@ void cmCPackNSISGenerator::CreateMenuLinks( cmOStringStream& str,
else
{
str << " WriteINIStr \"$SMPROGRAMS\\$STARTMENU_FOLDER\\"
- << linkName << ".url\" \"InternetShortcut\" \"URL\" \""
+ << linkName << ".url\" \"InternetShortcut\" \"URL\" \""
<< sourceName << "\""
<< std::endl;
deleteStr << " Delete \"$SMPROGRAMS\\$MUI_TEMP\\" << linkName
@@ -651,9 +651,9 @@ bool cmCPackNSISGenerator::SupportsComponentInstallation() const
}
//----------------------------------------------------------------------
-std::string
+std::string
cmCPackNSISGenerator::
-CreateComponentDescription(cmCPackComponent *component,
+CreateComponentDescription(cmCPackComponent *component,
cmOStringStream& macrosOut)
{
// Basic description of the component
@@ -668,7 +668,7 @@ CreateComponentDescription(cmCPackComponent *component,
componentCode += "-";
}
componentCode += component->DisplayName + "\" " + component->Name + "\n";
- if (component->IsRequired)
+ if (component->IsRequired)
{
componentCode += " SectionIn RO\n";
}
@@ -701,7 +701,7 @@ CreateComponentDescription(cmCPackComponent *component,
}
// Create the directory for the upload area
- const char* userUploadDirectory =
+ const char* userUploadDirectory =
this->GetOption("CPACK_UPLOAD_DIRECTORY");
std::string uploadDirectory;
if (userUploadDirectory && *userUploadDirectory)
@@ -727,7 +727,7 @@ CreateComponentDescription(cmCPackComponent *component,
// Remove the old archive, if one exists
std::string archiveFile = uploadDirectory + '/' + component->ArchiveFile;
cmCPackLogger(cmCPackLog::LOG_OUTPUT,
- "- Building downloaded component archive: "
+ "- Building downloaded component archive: "
<< archiveFile << std::endl);
if (cmSystemTools::FileExists(archiveFile.c_str(), true))
{
@@ -760,18 +760,18 @@ CreateComponentDescription(cmCPackComponent *component,
dirName += component->Name;
dirName += '/';
- // Build the list of files to go into this archive, and determine the
+ // Build the list of files to go into this archive, and determine the
// size of the installed component.
std::string zipListFileName = this->GetOption("CPACK_TEMPORARY_DIRECTORY");
zipListFileName += "/winZip.filelist";
- bool needQuotesInFile
+ bool needQuotesInFile
= cmSystemTools::IsOn(this->GetOption("CPACK_ZIP_NEED_QUOTES"));
unsigned long totalSize = 0;
{ // the scope is needed for cmGeneratedFileStream
cmGeneratedFileStream out(zipListFileName.c_str());
std::vector<std::string>::iterator fileIt;
- for (fileIt = component->Files.begin();
- fileIt != component->Files.end();
+ for (fileIt = component->Files.begin();
+ fileIt != component->Files.end();
++fileIt)
{
if ( needQuotesInFile )
@@ -792,11 +792,11 @@ CreateComponentDescription(cmCPackComponent *component,
// Build the archive in the upload area
std::string cmd = this->GetOption("CPACK_ZIP_COMMAND");
cmsys::SystemTools::ReplaceString(cmd, "<ARCHIVE>", archiveFile.c_str());
- cmsys::SystemTools::ReplaceString(cmd, "<FILELIST>",
+ cmsys::SystemTools::ReplaceString(cmd, "<FILELIST>",
zipListFileName.c_str());
std::string output;
int retVal = -1;
- int res = cmSystemTools::RunSingleCommand(cmd.c_str(), &output, &retVal,
+ int res = cmSystemTools::RunSingleCommand(cmd.c_str(), &output, &retVal,
dirName.c_str(),
cmSystemTools::OUTPUT_NONE, 0);
if ( !res || retVal )
@@ -812,7 +812,7 @@ CreateComponentDescription(cmCPackComponent *component,
<< "Please check " << tmpFile.c_str() << " for errors" << std::endl);
return "";
}
-
+
// Create the NSIS code to download this file on-the-fly.
unsigned long totalSizeInKbytes = (totalSize + 512) / 1024;
if (totalSizeInKbytes == 0)
@@ -823,7 +823,7 @@ CreateComponentDescription(cmCPackComponent *component,
out << " AddSize " << totalSizeInKbytes << "\n"
<< " Push \"" << component->ArchiveFile << "\"\n"
<< " Call DownloadFile\n"
- << " ZipDLL::extractall \"$INSTDIR\\"
+ << " ZipDLL::extractall \"$INSTDIR\\"
<< component->ArchiveFile << "\" \"$INSTDIR\"\n"
<< " Pop $2 ; error message\n"
" StrCmp $2 \"success\" +2 0\n"
@@ -889,7 +889,7 @@ std::string cmCPackNSISGenerator::CreateSelectionDependenciesDescription
std::set<cmCPackComponent *>& visited)
{
// Don't visit a component twice
- if (visited.count(component))
+ if (visited.count(component))
{
return std::string();
}
@@ -921,7 +921,7 @@ std::string cmCPackNSISGenerator::CreateDeselectionDependenciesDescription
std::set<cmCPackComponent *>& visited)
{
// Don't visit a component twice
- if (visited.count(component))
+ if (visited.count(component))
{
return std::string();
}
@@ -939,7 +939,7 @@ std::string cmCPackNSISGenerator::CreateDeselectionDependenciesDescription
out << " IntOp $0 $0 & $1\n";
out << " SectionSetFlags ${" << (*dependIt)->Name << "} $0\n";
out << " IntOp $" << (*dependIt)->Name << "_selected 0 + 0\n";
-
+
// Recurse
out <<
CreateDeselectionDependenciesDescription(*dependIt, visited).c_str();
@@ -949,9 +949,9 @@ std::string cmCPackNSISGenerator::CreateDeselectionDependenciesDescription
}
//----------------------------------------------------------------------
-std::string
+std::string
cmCPackNSISGenerator::
-CreateComponentGroupDescription(cmCPackComponentGroup *group,
+CreateComponentGroupDescription(cmCPackComponentGroup *group,
cmOStringStream& macrosOut)
{
if (group->Components.empty() && group->Subgroups.empty())
@@ -982,8 +982,8 @@ CreateComponentGroupDescription(cmCPackComponentGroup *group,
}
std::vector<cmCPackComponent*>::iterator comp;
- for (comp = group->Components.begin();
- comp != group->Components.end();
+ for (comp = group->Components.begin();
+ comp != group->Components.end();
++comp)
{
if ((*comp)->Files.empty())
diff --git a/Source/CPack/cmCPackOSXX11Generator.cxx b/Source/CPack/cmCPackOSXX11Generator.cxx
index 363ccea0c..76e15fb84 100644
--- a/Source/CPack/cmCPackOSXX11Generator.cxx
+++ b/Source/CPack/cmCPackOSXX11Generator.cxx
@@ -64,7 +64,7 @@ int cmCPackOSXX11Generator::PackageFiles()
{
std::string cpackExecutableName = *it;
++ it;
- this->SetOptionIfNotSet("CPACK_EXECUTABLE_NAME",
+ this->SetOptionIfNotSet("CPACK_EXECUTABLE_NAME",
cpackExecutableName.c_str());
}
}
@@ -113,7 +113,7 @@ int cmCPackOSXX11Generator::PackageFiles()
cmSystemTools::CreateSymlink("/Applications", applicationsLinkName.c_str());
if (
- !this->CopyResourcePlistFile("VolumeIcon.icns",
+ !this->CopyResourcePlistFile("VolumeIcon.icns",
diskImageDirectory.c_str(),
".VolumeIcon.icns", true ) ||
!this->CopyResourcePlistFile("DS_Store", diskImageDirectory.c_str(),
@@ -125,9 +125,9 @@ int cmCPackOSXX11Generator::PackageFiles()
"Info.plist" ) ||
!this->CopyResourcePlistFile("OSXX11.main.scpt", scrDir,
"main.scpt", true ) ||
- !this->CopyResourcePlistFile("OSXScriptLauncher.rsrc", dir,
+ !this->CopyResourcePlistFile("OSXScriptLauncher.rsrc", dir,
rsrcFile, true) ||
- !this->CopyResourcePlistFile("OSXScriptLauncher", appdir,
+ !this->CopyResourcePlistFile("OSXScriptLauncher", appdir,
this->GetOption("CPACK_PACKAGE_FILE_NAME"), true)
)
{
@@ -167,11 +167,11 @@ int cmCPackOSXX11Generator::PackageFiles()
tmpFile += "/hdiutilOutput.log";
cmOStringStream dmgCmd;
dmgCmd << "\"" << this->GetOption("CPACK_INSTALLER_PROGRAM_DISK_IMAGE")
- << "\" create -ov -format UDZO -srcfolder \""
- << diskImageDirectory.c_str()
+ << "\" create -ov -format UDZO -srcfolder \""
+ << diskImageDirectory.c_str()
<< "\" \"" << packageFileNames[0] << "\"";
cmCPackLogger(cmCPackLog::LOG_VERBOSE,
- "Compress disk image using command: "
+ "Compress disk image using command: "
<< dmgCmd.str().c_str() << std::endl);
// since we get random dashboard failures with this one
// try running it more than once
@@ -181,7 +181,7 @@ int cmCPackOSXX11Generator::PackageFiles()
while(numTries > 0)
{
res = cmSystemTools::RunSingleCommand(dmgCmd.str().c_str(), &output,
- &retVal, 0,
+ &retVal, 0,
this->GeneratorVerbose, 0);
if ( res && !retVal )
{
@@ -219,7 +219,7 @@ int cmCPackOSXX11Generator::InitializeInternal()
<< std::endl);
return 0;
}
- this->SetOptionIfNotSet("CPACK_INSTALLER_PROGRAM_DISK_IMAGE",
+ this->SetOptionIfNotSet("CPACK_INSTALLER_PROGRAM_DISK_IMAGE",
pkgPath.c_str());
return this->Superclass::InitializeInternal();
@@ -235,7 +235,7 @@ bool cmCPackOSXX11Generator::CopyCreateResourceFile(const char* name)
if ( !inFileName )
{
cmCPackLogger(cmCPackLog::LOG_ERROR, "CPack option: " << cpackVar.c_str()
- << " not specified. It should point to "
+ << " not specified. It should point to "
<< (name ? name : "(NULL)")
<< ".rtf, " << name
<< ".html, or " << name << ".txt file" << std::endl);
@@ -243,7 +243,7 @@ bool cmCPackOSXX11Generator::CopyCreateResourceFile(const char* name)
}
if ( !cmSystemTools::FileExists(inFileName) )
{
- cmCPackLogger(cmCPackLog::LOG_ERROR, "Cannot find "
+ cmCPackLogger(cmCPackLog::LOG_ERROR, "Cannot find "
<< (name ? name : "(NULL)")
<< " resource file: " << inFileName << std::endl);
return false;
@@ -262,7 +262,7 @@ bool cmCPackOSXX11Generator::CopyCreateResourceFile(const char* name)
destFileName += name + ext;
- cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Configure file: "
+ cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Configure file: "
<< (inFileName ? inFileName : "(NULL)")
<< " to " << destFileName.c_str() << std::endl);
this->ConfigureFile(inFileName, destFileName.c_str());
diff --git a/Source/CPack/cmCPackPackageMakerGenerator.cxx b/Source/CPack/cmCPackPackageMakerGenerator.cxx
index 3a0e89bbd..edbe8380d 100644
--- a/Source/CPack/cmCPackPackageMakerGenerator.cxx
+++ b/Source/CPack/cmCPackPackageMakerGenerator.cxx
@@ -52,7 +52,7 @@ int cmCPackPackageMakerGenerator::CopyInstallScript(const char* resdir,
cmSystemTools::CopyFileAlways(script, dst.c_str());
cmSystemTools::SetPermissions(dst.c_str(),0777);
cmCPackLogger(cmCPackLog::LOG_VERBOSE,
- "copy script : " << script << "\ninto " << dst.c_str() <<
+ "copy script : " << script << "\ninto " << dst.c_str() <<
std::endl);
return 1;
@@ -79,7 +79,7 @@ int cmCPackPackageMakerGenerator::PackageFiles()
if ( !cmsys::SystemTools::MakeDirectory(packageDirFileName.c_str()))
{
cmCPackLogger(cmCPackLog::LOG_ERROR,
- "unable to create package directory "
+ "unable to create package directory "
<< packageDirFileName << std::endl);
return 0;
}
@@ -89,7 +89,7 @@ int cmCPackPackageMakerGenerator::PackageFiles()
if ( !cmsys::SystemTools::MakeDirectory(resDir.c_str()))
{
cmCPackLogger(cmCPackLog::LOG_ERROR,
- "unable to create package subdirectory " << resDir
+ "unable to create package subdirectory " << resDir
<< std::endl);
return 0;
}
@@ -98,7 +98,7 @@ int cmCPackPackageMakerGenerator::PackageFiles()
if ( !cmsys::SystemTools::MakeDirectory(resDir.c_str()))
{
cmCPackLogger(cmCPackLog::LOG_ERROR,
- "unable to create package subdirectory " << resDir
+ "unable to create package subdirectory " << resDir
<< std::endl);
return 0;
}
@@ -135,7 +135,7 @@ int cmCPackPackageMakerGenerator::PackageFiles()
return 0;
}
}
- // if preflight, postflight, or postupgrade are set
+ // if preflight, postflight, or postupgrade are set
// then copy them into the resource directory and make
// them executable
if(preflight)
@@ -206,7 +206,7 @@ int cmCPackPackageMakerGenerator::PackageFiles()
if (!cmSystemTools::MakeDirectory(uploadDirectory.c_str()))
{
cmCPackLogger(cmCPackLog::LOG_ERROR,
- "Unable to create package upload directory "
+ "Unable to create package upload directory "
<< uploadDirectory << std::endl);
return 0;
}
@@ -254,7 +254,7 @@ int cmCPackPackageMakerGenerator::PackageFiles()
std::string packageDir = toplevel;
packageDir += '/';
packageDir += compIt->first;
- if (!this->GenerateComponentPackage(packageFile.c_str(),
+ if (!this->GenerateComponentPackage(packageFile.c_str(),
packageDir.c_str(),
compIt->second))
{
@@ -293,7 +293,7 @@ int cmCPackPackageMakerGenerator::PackageFiles()
}
pkgCmd << "\" -r \"" << this->GetOption("CPACK_TOPLEVEL_DIRECTORY")
<< "/Resources\" -i \""
- << this->GetOption("CPACK_TOPLEVEL_DIRECTORY")
+ << this->GetOption("CPACK_TOPLEVEL_DIRECTORY")
<< "/Info.plist\" -d \""
<< this->GetOption("CPACK_TOPLEVEL_DIRECTORY")
<< "/Description.plist\"";
@@ -324,7 +324,7 @@ int cmCPackPackageMakerGenerator::PackageFiles()
while(numTries > 0)
{
res = cmSystemTools::RunSingleCommand(dmgCmd.str().c_str(), &output,
- &retVal, 0, this->GeneratorVerbose,
+ &retVal, 0, this->GeneratorVerbose,
0);
if ( res && !retVal )
{
@@ -474,7 +474,7 @@ int cmCPackPackageMakerGenerator::InitializeInternal()
const char *packageCompat = this->GetOption("CPACK_OSX_PACKAGE_VERSION");
if (packageCompat && *packageCompat)
{
- this->PackageCompatibilityVersion = atof(packageCompat);
+ this->PackageCompatibilityVersion = atof(packageCompat);
}
else if (this->GetOption("CPACK_DOWNLOAD_SITE"))
{
@@ -500,7 +500,7 @@ int cmCPackPackageMakerGenerator::InitializeInternal()
<< std::endl);
return 0;
}
- this->SetOptionIfNotSet("CPACK_INSTALLER_PROGRAM_DISK_IMAGE",
+ this->SetOptionIfNotSet("CPACK_INSTALLER_PROGRAM_DISK_IMAGE",
pkgPath.c_str());
return this->Superclass::InitializeInternal();
@@ -516,7 +516,7 @@ bool cmCPackPackageMakerGenerator::CopyCreateResourceFile(const char* name,
if ( !inFileName )
{
cmCPackLogger(cmCPackLog::LOG_ERROR, "CPack option: " << cpackVar.c_str()
- << " not specified. It should point to "
+ << " not specified. It should point to "
<< (name ? name : "(NULL)")
<< ".rtf, " << name
<< ".html, or " << name << ".txt file" << std::endl);
@@ -524,7 +524,7 @@ bool cmCPackPackageMakerGenerator::CopyCreateResourceFile(const char* name,
}
if ( !cmSystemTools::FileExists(inFileName) )
{
- cmCPackLogger(cmCPackLog::LOG_ERROR, "Cannot find "
+ cmCPackLogger(cmCPackLog::LOG_ERROR, "Cannot find "
<< (name ? name : "(NULL)")
<< " resource file: " << inFileName << std::endl);
return false;
@@ -547,7 +547,7 @@ bool cmCPackPackageMakerGenerator::CopyCreateResourceFile(const char* name,
this->SetOption(("CPACK_RESOURCE_FILE_" + uname + "_NOPATH").c_str(),
(name + ext).c_str());
- cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Configure file: "
+ cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Configure file: "
<< (inFileName ? inFileName : "(NULL)")
<< " to " << destFileName.c_str() << std::endl);
this->ConfigureFile(inFileName, destFileName.c_str());
@@ -593,7 +593,7 @@ bool cmCPackPackageMakerGenerator::RunPackageMaker(const char *command,
cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Execute: " << command << std::endl);
std::string output;
int retVal = 1;
- bool res = cmSystemTools::RunSingleCommand(command, &output, &retVal, 0,
+ bool res = cmSystemTools::RunSingleCommand(command, &output, &retVal, 0,
this->GeneratorVerbose, 0);
cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Done running package maker"
<< std::endl);
@@ -612,7 +612,7 @@ bool cmCPackPackageMakerGenerator::RunPackageMaker(const char *command,
// sometimes the command finishes but the directory is not yet
// created, so try 10 times to see if it shows up
int tries = 10;
- while(tries > 0 &&
+ while(tries > 0 &&
!cmSystemTools::FileExists(packageFile))
{
cmSystemTools::Delay(500);
@@ -632,7 +632,7 @@ bool cmCPackPackageMakerGenerator::RunPackageMaker(const char *command,
}
//----------------------------------------------------------------------
-std::string
+std::string
cmCPackPackageMakerGenerator::GetPackageName(const cmCPackComponent& component)
{
if (component.ArchiveFile.empty())
@@ -664,7 +664,7 @@ GenerateComponentPackage(const char *packageFile,
// The command that will be used to run PackageMaker
cmOStringStream pkgCmd;
- if (this->PackageCompatibilityVersion < 10.5 ||
+ if (this->PackageCompatibilityVersion < 10.5 ||
this->PackageMakerVersion < 3.0)
{
// Create Description.plist and Info.plist files for normal Mac OS
@@ -680,10 +680,10 @@ GenerateComponentPackage(const char *packageFile,
<< " <key>IFPkgDescriptionTitle</key>" << std::endl
<< " <string>" << component.DisplayName << "</string>" << std::endl
<< " <key>IFPkgDescriptionVersion</key>" << std::endl
- << " <string>" << this->GetOption("CPACK_PACKAGE_VERSION")
+ << " <string>" << this->GetOption("CPACK_PACKAGE_VERSION")
<< "</string>" << std::endl
<< " <key>IFPkgDescriptionDescription</key>" << std::endl
- << " <string>" + this->EscapeForXML(component.Description)
+ << " <string>" + this->EscapeForXML(component.Description)
<< "</string>" << std::endl
<< "</dict>" << std::endl
<< "</plist>" << std::endl;
@@ -692,7 +692,7 @@ GenerateComponentPackage(const char *packageFile,
// Create the Info.plist file for this component
std::string moduleVersionSuffix = ".";
moduleVersionSuffix += component.Name;
- this->SetOption("CPACK_MODULE_VERSION_SUFFIX",
+ this->SetOption("CPACK_MODULE_VERSION_SUFFIX",
moduleVersionSuffix.c_str());
std::string infoFileName = component.Name;
infoFileName += "-Info.plist";
@@ -704,9 +704,9 @@ GenerateComponentPackage(const char *packageFile,
pkgCmd << "\"" << this->GetOption("CPACK_INSTALLER_PROGRAM")
<< "\" -build -p \"" << packageFile << "\""
<< " -f \"" << packageDir << "\""
- << " -i \"" << this->GetOption("CPACK_TOPLEVEL_DIRECTORY")
+ << " -i \"" << this->GetOption("CPACK_TOPLEVEL_DIRECTORY")
<< "/" << infoFileName << "\""
- << " -d \"" << descriptionFile << "\"";
+ << " -d \"" << descriptionFile << "\"";
}
else
{
@@ -729,16 +729,16 @@ GenerateComponentPackage(const char *packageFile,
<< " --out \"" << packageFile << "\"";
}
- // Run PackageMaker
+ // Run PackageMaker
return RunPackageMaker(pkgCmd.str().c_str(), packageFile);
}
//----------------------------------------------------------------------
-void
+void
cmCPackPackageMakerGenerator::
WriteDistributionFile(const char* metapackageFile)
{
- std::string distributionTemplate
+ std::string distributionTemplate
= this->FindTemplate("CPack.distribution.dist.in");
if ( distributionTemplate.empty() )
{
@@ -757,8 +757,8 @@ WriteDistributionFile(const char* metapackageFile)
// Emit the outline for the groups
std::map<std::string, cmCPackComponentGroup>::iterator groupIt;
- for (groupIt = this->ComponentGroups.begin();
- groupIt != this->ComponentGroups.end();
+ for (groupIt = this->ComponentGroups.begin();
+ groupIt != this->ComponentGroups.end();
++groupIt)
{
if (groupIt->second.ParentGroup == 0)
@@ -781,8 +781,8 @@ WriteDistributionFile(const char* metapackageFile)
choiceOut << "</choices-outline>" << std::endl;
// Create the actual choices
- for (groupIt = this->ComponentGroups.begin();
- groupIt != this->ComponentGroups.end();
+ for (groupIt = this->ComponentGroups.begin();
+ groupIt != this->ComponentGroups.end();
++groupIt)
{
CreateChoice(groupIt->second, choiceOut);
@@ -796,7 +796,7 @@ WriteDistributionFile(const char* metapackageFile)
// Create the distribution.dist file in the metapackage to turn it
// into a distribution package.
- this->ConfigureFile(distributionTemplate.c_str(),
+ this->ConfigureFile(distributionTemplate.c_str(),
distributionFile.c_str());
}
@@ -824,13 +824,13 @@ CreateChoiceOutline(const cmCPackComponentGroup& group, cmOStringStream& out)
}
//----------------------------------------------------------------------
-void
+void
cmCPackPackageMakerGenerator::CreateChoice(const cmCPackComponentGroup& group,
cmOStringStream& out)
{
- out << "<choice id=\"" << group.Name << "Choice\" "
+ out << "<choice id=\"" << group.Name << "Choice\" "
<< "title=\"" << group.DisplayName << "\" "
- << "start_selected=\"true\" "
+ << "start_selected=\"true\" "
<< "start_enabled=\"true\" "
<< "start_visible=\"true\" ";
if (!group.Description.empty())
@@ -842,21 +842,21 @@ cmCPackPackageMakerGenerator::CreateChoice(const cmCPackComponentGroup& group,
}
//----------------------------------------------------------------------
-void
+void
cmCPackPackageMakerGenerator::CreateChoice(const cmCPackComponent& component,
cmOStringStream& out)
{
std::string packageId = "com.";
packageId += this->GetOption("CPACK_PACKAGE_VENDOR");
- packageId += '.';
+ packageId += '.';
packageId += this->GetOption("CPACK_PACKAGE_NAME");
packageId += '.';
packageId += component.Name;
- out << "<choice id=\"" << component.Name << "Choice\" "
+ out << "<choice id=\"" << component.Name << "Choice\" "
<< "title=\"" << component.DisplayName << "\" "
- << "start_selected=\""
- << (component.IsDisabledByDefault &&
+ << "start_selected=\""
+ << (component.IsDisabledByDefault &&
!component.IsRequired? "false" : "true")
<< "\" "
<< "start_enabled=\""
@@ -905,7 +905,7 @@ cmCPackPackageMakerGenerator::CreateChoice(const cmCPackComponent& component,
std::string dirName = this->GetOption("CPACK_TEMPORARY_DIRECTORY");
dirName += '/';
dirName += component.Name;
- unsigned long installedSize
+ unsigned long installedSize
= component.GetInstalledSizeInKbytes(dirName.c_str());
out << "<pkg-ref id=\"" << packageId << "\" "
@@ -914,7 +914,7 @@ cmCPackPackageMakerGenerator::CreateChoice(const cmCPackComponent& component,
<< "auth=\"Admin\" onConclusion=\"None\">";
if (component.IsDownloaded)
{
- out << this->GetOption("CPACK_DOWNLOAD_SITE")
+ out << this->GetOption("CPACK_DOWNLOAD_SITE")
<< this->GetPackageName(component);
}
else
@@ -925,9 +925,9 @@ cmCPackPackageMakerGenerator::CreateChoice(const cmCPackComponent& component,
}
//----------------------------------------------------------------------
-void
+void
cmCPackPackageMakerGenerator::
-AddDependencyAttributes(const cmCPackComponent& component,
+AddDependencyAttributes(const cmCPackComponent& component,
std::set<const cmCPackComponent *>& visited,
cmOStringStream& out)
{
@@ -942,16 +942,16 @@ AddDependencyAttributes(const cmCPackComponent& component,
dependIt != component.Dependencies.end();
++dependIt)
{
- out << " &amp;&amp; choices['" <<
+ out << " &amp;&amp; choices['" <<
(*dependIt)->Name << "Choice'].selected";
AddDependencyAttributes(**dependIt, visited, out);
}
}
//----------------------------------------------------------------------
-void
+void
cmCPackPackageMakerGenerator::
-AddReverseDependencyAttributes(const cmCPackComponent& component,
+AddReverseDependencyAttributes(const cmCPackComponent& component,
std::set<const cmCPackComponent *>& visited,
cmOStringStream& out)
{
diff --git a/Source/CPack/cmCPackPackageMakerGenerator.h b/Source/CPack/cmCPackPackageMakerGenerator.h
index 2bab94791..101813fa4 100644
--- a/Source/CPack/cmCPackPackageMakerGenerator.h
+++ b/Source/CPack/cmCPackPackageMakerGenerator.h
@@ -67,8 +67,8 @@ protected:
// Generate a package in the file packageFile for the given
// component. All of the files within this component are stored in
// the directory packageDir. Returns true if successful, false
- // otherwise.
- bool GenerateComponentPackage(const char *packageFile,
+ // otherwise.
+ bool GenerateComponentPackage(const char *packageFile,
const char *packageDir,
const cmCPackComponent& component);
@@ -87,14 +87,14 @@ protected:
// Subroutine of WriteDistributionFile that writes out the
// reverse dependency attributes for inter-component dependencies.
- void
+ void
AddReverseDependencyAttributes(const cmCPackComponent& component,
std::set<const cmCPackComponent *>& visited,
cmOStringStream& out);
// Generates XML that encodes the hierarchy of component groups and
// their components in a form that can be used by distribution
- // metapackages.
+ // metapackages.
void CreateChoiceOutline(const cmCPackComponentGroup& group,
cmOStringStream& out);
@@ -111,7 +111,7 @@ protected:
// Escape the given string to make it usable as an XML attribute
// value.
std::string EscapeForXML(std::string str);
-
+
double PackageMakerVersion;
double PackageCompatibilityVersion;
};
diff --git a/Source/CPack/cmCPackRPMGenerator.cxx b/Source/CPack/cmCPackRPMGenerator.cxx
index 413572ee7..13aa6d8f9 100644
--- a/Source/CPack/cmCPackRPMGenerator.cxx
+++ b/Source/CPack/cmCPackRPMGenerator.cxx
@@ -230,7 +230,7 @@ int cmCPackRPMGenerator::PackageFiles()
}
}
- if (!this->IsSet("RPMBUILD_EXECUTABLE"))
+ if (!this->IsSet("RPMBUILD_EXECUTABLE"))
{
cmCPackLogger(cmCPackLog::LOG_ERROR, "Cannot find rpmbuild" << std::endl);
retval = 0;
diff --git a/Source/CPack/cmCPackSTGZGenerator.cxx b/Source/CPack/cmCPackSTGZGenerator.cxx
index 966a231b7..9b6cf14df 100644
--- a/Source/CPack/cmCPackSTGZGenerator.cxx
+++ b/Source/CPack/cmCPackSTGZGenerator.cxx
@@ -97,7 +97,7 @@ int cmCPackSTGZGenerator::GenerateHeader(std::ostream* os)
{
licenseText += line + "\n";
}
- this->SetOptionIfNotSet("CPACK_RESOURCE_FILE_LICENSE_CONTENT",
+ this->SetOptionIfNotSet("CPACK_RESOURCE_FILE_LICENSE_CONTENT",
licenseText.c_str());
const char headerLengthTag[] = "###CPACK_HEADER_LENGTH###";
@@ -126,7 +126,7 @@ int cmCPackSTGZGenerator::GenerateHeader(std::ostream* os)
++ptr;
}
counter ++;
- cmCPackLogger(cmCPackLog::LOG_DEBUG,
+ cmCPackLogger(cmCPackLog::LOG_DEBUG,
"Number of lines: " << counter << std::endl);
char buffer[1024];
sprintf(buffer, "%d", counter);
diff --git a/Source/CPack/cmCPackTarBZip2Generator.cxx b/Source/CPack/cmCPackTarBZip2Generator.cxx
index 971d16667..ae73c3795 100644
--- a/Source/CPack/cmCPackTarBZip2Generator.cxx
+++ b/Source/CPack/cmCPackTarBZip2Generator.cxx
@@ -12,7 +12,7 @@
#include "cmCPackTarBZip2Generator.h"
//----------------------------------------------------------------------
-cmCPackTarBZip2Generator::cmCPackTarBZip2Generator()
+cmCPackTarBZip2Generator::cmCPackTarBZip2Generator()
:cmCPackArchiveGenerator(cmArchiveWrite::CompressBZip2,
cmArchiveWrite::TypeTAR)
{
diff --git a/Source/CPack/cmCPackTarCompressGenerator.cxx b/Source/CPack/cmCPackTarCompressGenerator.cxx
index 7a8f697c0..df294084c 100644
--- a/Source/CPack/cmCPackTarCompressGenerator.cxx
+++ b/Source/CPack/cmCPackTarCompressGenerator.cxx
@@ -13,7 +13,7 @@
#include "cmCPackTarCompressGenerator.h"
//----------------------------------------------------------------------
-cmCPackTarCompressGenerator::cmCPackTarCompressGenerator()
+cmCPackTarCompressGenerator::cmCPackTarCompressGenerator()
:cmCPackArchiveGenerator(cmArchiveWrite::CompressCompress,
cmArchiveWrite::TypeTAR)
{
diff --git a/Source/CPack/cygwin.readme b/Source/CPack/cygwin.readme
index 88922d3e6..c0cd4b913 100644
--- a/Source/CPack/cygwin.readme
+++ b/Source/CPack/cygwin.readme
@@ -16,11 +16,11 @@ Source-
- write diff into toplevel
- create tar file call super class
-cmake-2.2.3-1
+cmake-2.2.3-1
+
-
1. a source release
-cmake-2.2.3-2-src.tar.bz2
+cmake-2.2.3-2-src.tar.bz2
cmake-2.2.3-2.patch has cmake-2.2.3/CYGWIN-PATCHES/cmake.README cmake-2.2.3/CYGWIN-PATCHES/setup.hint
cmake-2.2.3-2.sh -> script to create cygwin release
diff --git a/Source/CTest/cmCTestBatchTestHandler.cxx b/Source/CTest/cmCTestBatchTestHandler.cxx
index 00bb6fa70..a22c7be41 100644
--- a/Source/CTest/cmCTestBatchTestHandler.cxx
+++ b/Source/CTest/cmCTestBatchTestHandler.cxx
@@ -56,7 +56,7 @@ void cmCTestBatchTestHandler::WriteSrunArgs(int test, std::fstream& fout)
fout << "srun ";
//fout << "--jobid=" << test << " ";
fout << "-J=" << properties->Name << " ";
-
+
//Write dependency information
/*if(this->Tests[test].size() > 0)
{
diff --git a/Source/CTest/cmCTestBatchTestHandler.h b/Source/CTest/cmCTestBatchTestHandler.h
index fdfd1be29..ab0d081ae 100644
--- a/Source/CTest/cmCTestBatchTestHandler.h
+++ b/Source/CTest/cmCTestBatchTestHandler.h
@@ -21,7 +21,7 @@
/** \class cmCTestBatchTestHandler
* \brief run parallel ctest
*
- * cmCTestBatchTestHandler
+ * cmCTestBatchTestHandler
*/
class cmCTestBatchTestHandler : public cmCTestMultiProcessHandler
{
diff --git a/Source/CTest/cmCTestBuildAndTestHandler.cxx b/Source/CTest/cmCTestBuildAndTestHandler.cxx
index 8a2d65a7b..554efb5bb 100644
--- a/Source/CTest/cmCTestBuildAndTestHandler.cxx
+++ b/Source/CTest/cmCTestBuildAndTestHandler.cxx
@@ -67,7 +67,7 @@ int cmCTestBuildAndTestHandler::RunCMake(std::string* outstring,
generator += this->BuildGenerator;
args.push_back(generator);
}
-
+
const char* config = 0;
if ( this->CTest->GetConfigType().size() > 0 )
{
@@ -79,7 +79,7 @@ int cmCTestBuildAndTestHandler::RunCMake(std::string* outstring,
config = CMAKE_INTDIR;
}
#endif
-
+
if ( config )
{
std::string btype
@@ -198,8 +198,8 @@ int cmCTestBuildAndTestHandler::RunCMakeAndTest(std::string* outstring)
std::string resultingConfig;
std::vector<std::string> extraPaths;
std::vector<std::string> failed;
- fullPath =
- cmCTestTestHandler::FindExecutable(this->CTest,
+ fullPath =
+ cmCTestTestHandler::FindExecutable(this->CTest,
this->ConfigSample.c_str(),
resultingConfig,
extraPaths,
@@ -211,7 +211,7 @@ int cmCTestBuildAndTestHandler::RunCMakeAndTest(std::string* outstring)
out << "Using config sample with results: "
<< fullPath << " and " << resultingConfig << std::endl;
}
-
+
// we need to honor the timeout specified, the timeout include cmake, build
// and test time
double clock_start = cmSystemTools::GetTime();
@@ -228,7 +228,7 @@ int cmCTestBuildAndTestHandler::RunCMakeAndTest(std::string* outstring)
// should we cmake?
cmake cm;
- cm.SetProgressCallback(CMakeProgressCallback, &cmakeOutString);
+ cm.SetProgressCallback(CMakeProgressCallback, &cmakeOutString);
cm.SetGlobalGenerator(cm.CreateGlobalGenerator(
this->BuildGenerator.c_str()));
@@ -247,7 +247,7 @@ int cmCTestBuildAndTestHandler::RunCMakeAndTest(std::string* outstring)
{
this->BuildTargets.push_back("");
}
- for ( tarIt = this->BuildTargets.begin();
+ for ( tarIt = this->BuildTargets.begin();
tarIt != this->BuildTargets.end(); ++ tarIt )
{
double remainingTime = 0;
@@ -284,7 +284,7 @@ int cmCTestBuildAndTestHandler::RunCMakeAndTest(std::string* outstring)
this->BuildProject.c_str(), tarIt->c_str(),
&output, this->BuildMakeProgram.c_str(),
config,
- !this->BuildNoClean,
+ !this->BuildNoClean,
false, remainingTime);
out << output;
// if the build failed then return
@@ -322,13 +322,13 @@ int cmCTestBuildAndTestHandler::RunCMakeAndTest(std::string* outstring)
extraPaths.push_back(tempPath);
}
std::vector<std::string> failed;
- fullPath =
- cmCTestTestHandler::FindExecutable(this->CTest,
+ fullPath =
+ cmCTestTestHandler::FindExecutable(this->CTest,
this->TestCommand.c_str(),
resultingConfig,
extraPaths,
failed);
-
+
if(!cmSystemTools::FileExists(fullPath.c_str()))
{
out << "Could not find path to executable, perhaps it was not built: "
@@ -388,8 +388,8 @@ int cmCTestBuildAndTestHandler::RunCMakeAndTest(std::string* outstring)
return 1;
}
}
-
- int runTestRes = this->CTest->RunTest(testCommand, &outs, &retval, 0,
+
+ int runTestRes = this->CTest->RunTest(testCommand, &outs, &retval, 0,
remainingTime, 0);
if(runTestRes != cmsysProcess_State_Exited || retval != 0)
diff --git a/Source/CTest/cmCTestBuildAndTestHandler.h b/Source/CTest/cmCTestBuildAndTestHandler.h
index 6e5f7a6ab..90296001a 100644
--- a/Source/CTest/cmCTestBuildAndTestHandler.h
+++ b/Source/CTest/cmCTestBuildAndTestHandler.h
@@ -42,7 +42,7 @@ public:
* Get the output variable
*/
const char* GetOutput();
-
+
cmCTestBuildAndTestHandler();
virtual void Initialize();
@@ -50,10 +50,10 @@ public:
protected:
///! Run CMake and build a test and then run it as a single test.
int RunCMakeAndTest(std::string* output);
- int RunCMake(std::string* outstring, cmOStringStream &out,
+ int RunCMake(std::string* outstring, cmOStringStream &out,
std::string &cmakeOutString,
std::string &cwd, cmake *cm);
-
+
cmStdString Output;
std::string BuildGenerator;
diff --git a/Source/CTest/cmCTestBuildCommand.cxx b/Source/CTest/cmCTestBuildCommand.cxx
index b984e850f..f4d38cef1 100644
--- a/Source/CTest/cmCTestBuildCommand.cxx
+++ b/Source/CTest/cmCTestBuildCommand.cxx
@@ -175,7 +175,7 @@ bool cmCTestBuildCommand::InitialPass(std::vector<std::string> const& args,
{
bool ret = cmCTestHandlerCommand::InitialPass(args, status);
if ( this->Values[ctb_NUMBER_ERRORS] && *this->Values[ctb_NUMBER_ERRORS])
- {
+ {
cmOStringStream str;
str << this->Handler->GetTotalErrors();
this->Makefile->AddDefinition(
diff --git a/Source/CTest/cmCTestBuildHandler.cxx b/Source/CTest/cmCTestBuildHandler.cxx
index 27bb06c13..39eeb70a3 100644
--- a/Source/CTest/cmCTestBuildHandler.cxx
+++ b/Source/CTest/cmCTestBuildHandler.cxx
@@ -168,7 +168,7 @@ static cmCTestBuildCompileErrorWarningRex
cmCTestWarningErrorFileLine[] = {
{ "^Warning W[0-9]+ ([a-zA-Z.\\:/0-9_+ ~-]+) ([0-9]+):", 1, 2 },
{ "^([a-zA-Z./0-9_+ ~-]+):([0-9]+):", 1, 2 },
- { "^([a-zA-Z.\\:/0-9_+ ~-]+)\\(([0-9]+)\\)", 1, 2 },
+ { "^([a-zA-Z.\\:/0-9_+ ~-]+)\\(([0-9]+)\\)", 1, 2 },
{ "^[0-9]+>([a-zA-Z.\\:/0-9_+ ~-]+)\\(([0-9]+)\\)", 1, 2 },
{ "^([a-zA-Z./0-9_+ ~-]+)\\(([0-9]+)\\)", 1, 2 },
{ "\"([a-zA-Z./0-9_+ ~-]+)\", line ([0-9]+)", 1, 2 },
@@ -289,7 +289,7 @@ std::string cmCTestBuildHandler::GetMakeCommand()
std::string makeCommand
= this->CTest->GetCTestConfiguration("MakeCommand");
cmCTestLog(this->CTest,
- HANDLER_VERBOSE_OUTPUT, "MakeCommand:" << makeCommand <<
+ HANDLER_VERBOSE_OUTPUT, "MakeCommand:" << makeCommand <<
"\n");
std::string configType = this->CTest->GetConfigType();
@@ -392,7 +392,7 @@ int cmCTestBuildHandler::ProcessHandler()
{
this->CustomWarningMatches.push_back(cmCTestWarningMatches[cc]);
}
-
+
for ( cc = 0; cmCTestWarningExceptions[cc]; cc ++ )
{
this->CustomWarningExceptions.push_back(cmCTestWarningExceptions[cc]);
@@ -557,7 +557,7 @@ void cmCTestBuildHandler::GenerateXMLHeader(std::ostream& os)
this->CTest->StartXML(os, this->AppendXML);
os << "<Build>\n"
<< "\t<StartDateTime>" << this->StartBuild << "</StartDateTime>\n"
- << "\t<StartBuildTime>" <<
+ << "\t<StartBuildTime>" <<
static_cast<unsigned int>(this->StartBuildTime)
<< "</StartBuildTime>\n"
<< "<BuildCommand>"
@@ -998,7 +998,7 @@ int cmCTestBuildHandler::RunMakeCommand(const char* command,
// dashboard.
cmCTestBuildErrorWarning errorwarning;
errorwarning.LogLine = 1;
- errorwarning.Text
+ errorwarning.Text
= "*** WARNING non-zero return value in ctest from: ";
errorwarning.Text += argv[0];
errorwarning.PreContext = "";
@@ -1150,7 +1150,7 @@ void cmCTestBuildHandler::ProcessBuffer(const char* data, int length,
{
// This is not an error or warning.
// So, figure out if this is a post-context line
- if ( this->ErrorsAndWarnings.size() &&
+ if ( this->ErrorsAndWarnings.size() &&
this->LastErrorOrWarning != this->ErrorsAndWarnings.end() &&
this->PostContextCount < this->MaxPostContext )
{
diff --git a/Source/CTest/cmCTestConfigureHandler.cxx b/Source/CTest/cmCTestConfigureHandler.cxx
index 33297564e..7c4129864 100644
--- a/Source/CTest/cmCTestConfigureHandler.cxx
+++ b/Source/CTest/cmCTestConfigureHandler.cxx
@@ -106,7 +106,7 @@ int cmCTestConfigureHandler::ProcessHandler()
std::string end_time = this->CTest->CurrentTime();
os << "\t<ConfigureStatus>" << retVal << "</ConfigureStatus>\n"
<< "\t<EndDateTime>" << end_time << "</EndDateTime>\n"
- << "\t<EndConfigureTime>" <<
+ << "\t<EndConfigureTime>" <<
static_cast<unsigned int>(cmSystemTools::GetTime())
<< "</EndConfigureTime>\n"
<< "<ElapsedMinutes>"
diff --git a/Source/CTest/cmCTestCoverageHandler.cxx b/Source/CTest/cmCTestCoverageHandler.cxx
index 81d366937..4d1e249e6 100644
--- a/Source/CTest/cmCTestCoverageHandler.cxx
+++ b/Source/CTest/cmCTestCoverageHandler.cxx
@@ -80,15 +80,15 @@ public:
{
args.push_back(i->c_str());
}
- args.push_back(0); // null terminate
+ args.push_back(0); // null terminate
cmsysProcess_SetCommand(this->Process, &*args.begin());
if(this->WorkingDirectory.size())
{
cmsysProcess_SetWorkingDirectory(this->Process,
this->WorkingDirectory.c_str());
}
-
- cmsysProcess_SetOption(this->Process,
+
+ cmsysProcess_SetOption(this->Process,
cmsysProcess_Option_HideWindow, 1);
if(this->TimeOut != -1)
{
@@ -112,7 +112,7 @@ public:
{
cmsysProcess_SetPipeFile(this->Process, cmsysProcess_Pipe_STDERR, fname);
}
- int WaitForExit(double* timeout =0)
+ int WaitForExit(double* timeout =0)
{
this->PipeState = cmsysProcess_WaitForExit(this->Process,
timeout);
@@ -183,7 +183,7 @@ bool cmCTestCoverageHandler::StartCoverageLogFile(
this->CTest->StartXML(covLogFile, this->AppendXML);
covLogFile << "<CoverageLog>" << std::endl
<< "\t<StartDateTime>" << local_start_time << "</StartDateTime>"
- << "\t<StartTime>"
+ << "\t<StartTime>"
<< static_cast<unsigned int>(cmSystemTools::GetTime())
<< "</StartTime>"
<< std::endl;
@@ -196,7 +196,7 @@ void cmCTestCoverageHandler::EndCoverageLogFile(cmGeneratedFileStream& ostr,
{
std::string local_end_time = this->CTest->CurrentTime();
ostr << "\t<EndDateTime>" << local_end_time << "</EndDateTime>" << std::endl
- << "\t<EndTime>" <<
+ << "\t<EndTime>" <<
static_cast<unsigned int>(cmSystemTools::GetTime())
<< "</EndTime>" << std::endl
<< "</CoverageLog>" << std::endl;
@@ -325,7 +325,7 @@ int cmCTestCoverageHandler::ProcessHandler()
{
return error;
}
-
+
std::string coverage_start_time = this->CTest->CurrentTime();
unsigned int coverage_start_time_time = static_cast<unsigned int>(
cmSystemTools::GetTime());
@@ -659,7 +659,7 @@ int cmCTestCoverageHandler::ProcessHandler()
covSumFile.precision(2);
covSumFile << (percent_coverage)<< "</PercentCoverage>\n"
<< "\t<EndDateTime>" << end_time << "</EndDateTime>\n"
- << "\t<EndTime>" <<
+ << "\t<EndTime>" <<
static_cast<unsigned int>(cmSystemTools::GetTime())
<< "</EndTime>\n";
covSumFile << "<ElapsedMinutes>" <<
@@ -871,7 +871,7 @@ int cmCTestCoverageHandler::HandleGCovCoverage(
cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
" Cannot find any GCov coverage files."
<< std::endl);
- // No coverage files is a valid thing, so the exit code is 0
+ // No coverage files is a valid thing, so the exit code is 0
return 0;
}
@@ -1294,7 +1294,7 @@ int cmCTestCoverageHandler::HandleTracePyCoverage(
cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
" Cannot find any Python Trace.py coverage files."
<< std::endl);
- // No coverage files is a valid thing, so the exit code is 0
+ // No coverage files is a valid thing, so the exit code is 0
return 0;
}
@@ -1436,7 +1436,7 @@ std::string cmCTestCoverageHandler::FindFile(
// This is a header put on each marked up source file
namespace
{
- const char* bullseyeHelp[] =
+ const char* bullseyeHelp[] =
{" Coverage produced by bullseye covbr tool: ",
" www.bullseye.com/help/ref_covbr.html",
" * An arrow --> indicates incomplete coverage.",
@@ -1451,7 +1451,7 @@ namespace
" * The slash / means this probe is excluded from summary results. ",
0};
}
-
+
//----------------------------------------------------------------------
int cmCTestCoverageHandler::RunBullseyeCoverageBranch(
cmCTestCoverageHandlerContainer* cont,
@@ -1461,7 +1461,7 @@ int cmCTestCoverageHandler::RunBullseyeCoverageBranch(
{
if(files.size() != filesFullPath.size())
{
- cmCTestLog(this->CTest, ERROR_MESSAGE,
+ cmCTestLog(this->CTest, ERROR_MESSAGE,
"Files and full path files not the same size?:\n");
return 0;
}
@@ -1498,13 +1498,13 @@ int cmCTestCoverageHandler::RunBullseyeCoverageBranch(
}
std::map<cmStdString, cmStdString> fileMap;
std::vector<std::string>::iterator fp = filesFullPath.begin();
- for(std::vector<std::string>::iterator f = files.begin();
+ for(std::vector<std::string>::iterator f = files.begin();
f != files.end(); ++f, ++fp)
{
fileMap[*f] = *fp;
}
- int count =0; // keep count of the number of files
+ int count =0; // keep count of the number of files
// Now parse each line from the bullseye cov log file
std::string lineIn;
bool valid = false; // are we in a valid output file
@@ -1542,9 +1542,9 @@ int cmCTestCoverageHandler::RunBullseyeCoverageBranch(
{
return -1;
}
- count++; // move on one
+ count++; // move on one
}
- std::map<cmStdString, cmStdString>::iterator
+ std::map<cmStdString, cmStdString>::iterator
i = fileMap.find(file);
// if the file should be covered write out the header for that file
if(i != fileMap.end())
@@ -1659,10 +1659,10 @@ int cmCTestCoverageHandler::RunBullseyeSourceSummary(
cmCTestLog(this->CTest, ERROR_MESSAGE, "error running covsrc:\n");
return 0;
}
-
+
std::ostream& tmpLog = *cont->OFS;
// copen the Coverage.xml file in the Testing directory
- cmGeneratedFileStream covSumFile;
+ cmGeneratedFileStream covSumFile;
if(!this->StartResultingXML(cmCTest::PartCoverage, "Coverage", covSumFile))
{
cmCTestLog(this->CTest, ERROR_MESSAGE,
@@ -1673,10 +1673,10 @@ int cmCTestCoverageHandler::RunBullseyeSourceSummary(
double elapsed_time_start = cmSystemTools::GetTime();
std::string coverage_start_time = this->CTest->CurrentTime();
covSumFile << "<Coverage>" << std::endl
- << "\t<StartDateTime>"
+ << "\t<StartDateTime>"
<< coverage_start_time << "</StartDateTime>"
<< std::endl
- << "\t<StartTime>"
+ << "\t<StartTime>"
<< static_cast<unsigned int>(cmSystemTools::GetTime())
<< "</StartTime>"
<< std::endl;
@@ -1717,7 +1717,7 @@ int cmCTestCoverageHandler::RunBullseyeSourceSummary(
{
// parse the comma separated output
this->ParseBullsEyeCovsrcLine(stdline,
- sourceFile,
+ sourceFile,
functionsCalled,
totalFunctions,
percentFunction,
@@ -1741,7 +1741,7 @@ int cmCTestCoverageHandler::RunBullseyeSourceSummary(
file = cmSystemTools::CollapseFullPath(file.c_str());
bool shouldIDoCoverage
= this->ShouldIDoCoverage(file.c_str(),
- cont->SourceDir.c_str(),
+ cont->SourceDir.c_str(),
cont->BinaryDir.c_str());
if ( !shouldIDoCoverage )
{
@@ -1797,20 +1797,20 @@ int cmCTestCoverageHandler::RunBullseyeSourceSummary(
<< "\t\t<BranchesTested>"
<< branchCovered
<< "</BranchesTested>\n"
- << "\t\t<BranchesUnTested>"
+ << "\t\t<BranchesUnTested>"
<< totalBranches - branchCovered
<< "</BranchesUnTested>\n"
<< "\t\t<FunctionsTested>"
<< functionsCalled
<< "</FunctionsTested>\n"
- << "\t\t<FunctionsUnTested>"
+ << "\t\t<FunctionsUnTested>"
<< totalFunctions - functionsCalled
<< "</FunctionsUnTested>\n"
// Hack for conversion of function to loc assume a function
// has 100 lines of code
<< "\t\t<LOCTested>" << functionsCalled *100
<< "</LOCTested>\n"
- << "\t\t<LOCUnTested>"
+ << "\t\t<LOCUnTested>"
<< (totalFunctions - functionsCalled)*100
<< "</LOCUnTested>\n"
<< "\t\t<PercentCoverage>";
@@ -1832,12 +1832,12 @@ int cmCTestCoverageHandler::RunBullseyeSourceSummary(
<< "\t<PercentCoverage>";
covSumFile.setf(std::ios::fixed, std::ios::floatfield);
covSumFile.precision(2);
- covSumFile
+ covSumFile
<< SAFEDIV(percent_coverage,number_files)<< "</PercentCoverage>\n"
<< "\t<EndDateTime>" << end_time << "</EndDateTime>\n"
<< "\t<EndTime>" << static_cast<unsigned int>(cmSystemTools::GetTime())
<< "</EndTime>\n";
- covSumFile
+ covSumFile
<< "<ElapsedMinutes>" <<
static_cast<int>((cmSystemTools::GetTime() - elapsed_time_start)/6)/10.0
<< "</ElapsedMinutes>"
@@ -1858,22 +1858,22 @@ int cmCTestCoverageHandler::HandleBullseyeCoverage(
const char* covfile = cmSystemTools::GetEnv("COVFILE");
if(!covfile || strlen(covfile) == 0)
{
- cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
- " COVFILE environment variable not found, not running "
+ cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
+ " COVFILE environment variable not found, not running "
" bullseye\n");
return 0;
}
- cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
- " run covsrc with COVFILE=["
+ cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
+ " run covsrc with COVFILE=["
<< covfile
<< "]" << std::endl);
if(!this->RunBullseyeSourceSummary(cont))
- {
- cmCTestLog(this->CTest, ERROR_MESSAGE,
+ {
+ cmCTestLog(this->CTest, ERROR_MESSAGE,
"Error running bullseye summary.\n");
return 0;
}
- cmCTestLog(this->CTest, DEBUG, "HandleBullseyeCoverage return 1 "
+ cmCTestLog(this->CTest, DEBUG, "HandleBullseyeCoverage return 1 "
<< std::endl);
return 1;
}
@@ -1881,7 +1881,7 @@ int cmCTestCoverageHandler::HandleBullseyeCoverage(
bool cmCTestCoverageHandler::GetNextInt(std::string const& inputLine,
std::string::size_type& pos,
int& value)
-{
+{
std::string::size_type start = pos;
pos = inputLine.find(',', start);
value = atoi(inputLine.substr(start, pos).c_str());
@@ -1892,7 +1892,7 @@ bool cmCTestCoverageHandler::GetNextInt(std::string const& inputLine,
pos++;
return true;
}
-
+
bool cmCTestCoverageHandler::ParseBullsEyeCovsrcLine(
std::string const& inputLine,
std::string& sourceFile,
@@ -1906,7 +1906,7 @@ bool cmCTestCoverageHandler::ParseBullsEyeCovsrcLine(
// find the first comma
std::string::size_type pos = inputLine.find(',');
if(pos == inputLine.npos)
- {
+ {
cmCTestLog(this->CTest, ERROR_MESSAGE, "Error parsing string : "
<< inputLine.c_str() << "\n");
return false;
@@ -1942,7 +1942,7 @@ bool cmCTestCoverageHandler::ParseBullsEyeCovsrcLine(
if(pos != inputLine.npos)
{
cmCTestLog(this->CTest, ERROR_MESSAGE, "Error parsing input : "
- << inputLine.c_str() << " last pos not npos = " << pos <<
+ << inputLine.c_str() << " last pos not npos = " << pos <<
"\n");
}
return true;
diff --git a/Source/CTest/cmCTestEmptyBinaryDirectoryCommand.cxx b/Source/CTest/cmCTestEmptyBinaryDirectoryCommand.cxx
index 56312c0fb..abc33de68 100644
--- a/Source/CTest/cmCTestEmptyBinaryDirectoryCommand.cxx
+++ b/Source/CTest/cmCTestEmptyBinaryDirectoryCommand.cxx
@@ -28,8 +28,8 @@ bool cmCTestEmptyBinaryDirectoryCommand
ostr << "problem removing the binary directory: " << args[0].c_str();
this->SetError(ostr.str().c_str());
return false;
- }
-
+ }
+
return true;
}
diff --git a/Source/CTest/cmCTestGenericHandler.cxx b/Source/CTest/cmCTestGenericHandler.cxx
index fd75e45e8..5338f307b 100644
--- a/Source/CTest/cmCTestGenericHandler.cxx
+++ b/Source/CTest/cmCTestGenericHandler.cxx
@@ -51,7 +51,7 @@ void cmCTestGenericHandler::SetOption(const char* op, const char* value)
}
//----------------------------------------------------------------------
-void cmCTestGenericHandler::SetPersistentOption(const char* op,
+void cmCTestGenericHandler::SetPersistentOption(const char* op,
const char* value)
{
this->SetOption(op, value);
@@ -79,7 +79,7 @@ void cmCTestGenericHandler::Initialize()
this->AppendXML = false;
this->Options.clear();
t_StringToString::iterator it;
- for ( it = this->PersistentOptions.begin();
+ for ( it = this->PersistentOptions.begin();
it != this->PersistentOptions.end();
++ it )
{
@@ -117,7 +117,7 @@ bool cmCTestGenericHandler::StartResultingXML(cmCTest::Part part,
{
ostr << "_" << this->SubmitIndex;
}
- ostr << ".xml";
+ ostr << ".xml";
if(this->CTest->GetCurrentTag().empty())
{
cmCTestLog(this->CTest, ERROR_MESSAGE,
diff --git a/Source/CTest/cmCTestGenericHandler.h b/Source/CTest/cmCTestGenericHandler.h
index 18189ec2b..ba8febb61 100644
--- a/Source/CTest/cmCTestGenericHandler.h
+++ b/Source/CTest/cmCTestGenericHandler.h
@@ -73,7 +73,7 @@ public:
typedef std::map<cmStdString,cmStdString> t_StringToString;
-
+
void SetPersistentOption(const char* op, const char* value);
void SetOption(const char* op, const char* value);
const char* GetOption(const char* op);
diff --git a/Source/CTest/cmCTestHandlerCommand.cxx b/Source/CTest/cmCTestHandlerCommand.cxx
index 1957e04e3..0da8aae52 100644
--- a/Source/CTest/cmCTestHandlerCommand.cxx
+++ b/Source/CTest/cmCTestHandlerCommand.cxx
@@ -91,7 +91,7 @@ bool cmCTestHandlerCommand
}
else
{
- const char* bdir =
+ const char* bdir =
this->Makefile->GetSafeDefinition("CTEST_BINARY_DIRECTORY");
if(bdir)
{
diff --git a/Source/CTest/cmCTestMemCheckCommand.h b/Source/CTest/cmCTestMemCheckCommand.h
index 399fe8b22..6db47aec8 100644
--- a/Source/CTest/cmCTestMemCheckCommand.h
+++ b/Source/CTest/cmCTestMemCheckCommand.h
@@ -60,7 +60,7 @@ public:
" ctest_memcheck([BUILD build_dir] [RETURN_VALUE res] [APPEND]\n"
" [START start number] [END end number]\n"
" [STRIDE stride number] [EXCLUDE exclude regex ]\n"
- " [INCLUDE include regex] \n"
+ " [INCLUDE include regex] \n"
" [EXCLUDE_LABEL exclude regex] \n"
" [INCLUDE_LABEL label regex] \n"
" [PARALLEL_LEVEL level] )\n"
diff --git a/Source/CTest/cmCTestMemCheckHandler.cxx b/Source/CTest/cmCTestMemCheckHandler.cxx
index 3e4ecddaa..80218ad38 100644
--- a/Source/CTest/cmCTestMemCheckHandler.cxx
+++ b/Source/CTest/cmCTestMemCheckHandler.cxx
@@ -84,7 +84,7 @@ public:
}
const char* GetAttribute(const char* name, const char** atts)
- {
+ {
int i = 0;
for(; atts[i] != 0; ++i)
{
@@ -117,9 +117,9 @@ public:
}
if(ptr->ErrorCategory)
{
- this->Errors.push_back(cmCTestMemCheckHandler::ABW); // do not know
+ this->Errors.push_back(cmCTestMemCheckHandler::ABW); // do not know
cmCTestLog(this->CTest, ERROR_MESSAGE,
- "Found unknown Bounds Checker error "
+ "Found unknown Bounds Checker error "
<< ptr->ErrorCategory << std::endl);
}
}
@@ -247,7 +247,8 @@ void cmCTestMemCheckHandler::GenerateTestCommand(
{
std::vector<cmStdString>::size_type pp;
std::string memcheckcommand = "";
- memcheckcommand = this->MemoryTester;
+ memcheckcommand
+ = cmSystemTools::ConvertToOutputPath(this->MemoryTester.c_str());
for ( pp = 0; pp < this->MemoryTesterOptions.size(); pp ++ )
{
args.push_back(this->MemoryTesterOptions[pp]);
@@ -410,29 +411,46 @@ bool cmCTestMemCheckHandler::InitializeMemoryChecking()
"MemoryCheckCommand").c_str()) )
{
this->MemoryTester
- = cmSystemTools::ConvertToOutputPath(this->CTest->GetCTestConfiguration(
- "MemoryCheckCommand").c_str());
+ = this->CTest->GetCTestConfiguration("MemoryCheckCommand").c_str();
+
+ // determine the checker type
+ if ( this->MemoryTester.find("valgrind") != std::string::npos )
+ {
+ this->MemoryTesterStyle = cmCTestMemCheckHandler::VALGRIND;
+ }
+ else if ( this->MemoryTester.find("purify") != std::string::npos )
+ {
+ this->MemoryTesterStyle = cmCTestMemCheckHandler::PURIFY;
+ }
+ else if ( this->MemoryTester.find("BC") != std::string::npos )
+ {
+ this->MemoryTesterStyle = cmCTestMemCheckHandler::BOUNDS_CHECKER;
+ }
+ else
+ {
+ this->MemoryTesterStyle = cmCTestMemCheckHandler::UNKNOWN;
+ }
}
else if ( cmSystemTools::FileExists(this->CTest->GetCTestConfiguration(
"PurifyCommand").c_str()) )
{
this->MemoryTester
- = cmSystemTools::ConvertToOutputPath(this->CTest->GetCTestConfiguration(
- "PurifyCommand").c_str());
+ = this->CTest->GetCTestConfiguration("PurifyCommand").c_str();
+ this->MemoryTesterStyle = cmCTestMemCheckHandler::PURIFY;
}
else if ( cmSystemTools::FileExists(this->CTest->GetCTestConfiguration(
"ValgrindCommand").c_str()) )
{
this->MemoryTester
- = cmSystemTools::ConvertToOutputPath(this->CTest->GetCTestConfiguration(
- "ValgrindCommand").c_str());
+ = this->CTest->GetCTestConfiguration("ValgrindCommand").c_str();
+ this->MemoryTesterStyle = cmCTestMemCheckHandler::VALGRIND;
}
else if ( cmSystemTools::FileExists(this->CTest->GetCTestConfiguration(
"BoundsCheckerCommand").c_str()) )
{
this->MemoryTester
- = cmSystemTools::ConvertToOutputPath(this->CTest->GetCTestConfiguration(
- "BoundsCheckerCommand").c_str());
+ = this->CTest->GetCTestConfiguration("BoundsCheckerCommand").c_str();
+ this->MemoryTesterStyle = cmCTestMemCheckHandler::BOUNDS_CHECKER;
}
else
{
@@ -470,82 +488,81 @@ bool cmCTestMemCheckHandler::InitializeMemoryChecking()
this->MemoryTesterOutputFile
= this->CTest->GetBinaryDir() + "/Testing/Temporary/MemoryChecker.log";
- if ( this->MemoryTester.find("valgrind") != std::string::npos )
+ switch ( this->MemoryTesterStyle )
{
- this->MemoryTesterStyle = cmCTestMemCheckHandler::VALGRIND;
- if ( this->MemoryTesterOptions.empty() )
- {
- this->MemoryTesterOptions.push_back("-q");
- this->MemoryTesterOptions.push_back("--tool=memcheck");
- this->MemoryTesterOptions.push_back("--leak-check=yes");
- this->MemoryTesterOptions.push_back("--show-reachable=yes");
- this->MemoryTesterOptions.push_back("--workaround-gcc296-bugs=yes");
- this->MemoryTesterOptions.push_back("--num-callers=50");
- }
- if ( this->CTest->GetCTestConfiguration(
- "MemoryCheckSuppressionFile").size() )
- {
- if ( !cmSystemTools::FileExists(this->CTest->GetCTestConfiguration(
- "MemoryCheckSuppressionFile").c_str()) )
+ case cmCTestMemCheckHandler::VALGRIND:
+ if ( this->MemoryTesterOptions.empty() )
{
- cmCTestLog(this->CTest, ERROR_MESSAGE,
- "Cannot find memory checker suppression file: "
- << this->CTest->GetCTestConfiguration(
- "MemoryCheckSuppressionFile").c_str() << std::endl);
- return false;
- }
- std::string suppressions = "--suppressions="
- + this->CTest->GetCTestConfiguration("MemoryCheckSuppressionFile");
- this->MemoryTesterOptions.push_back(suppressions);
- }
- }
- else if ( this->MemoryTester.find("purify") != std::string::npos )
- {
- this->MemoryTesterStyle = cmCTestMemCheckHandler::PURIFY;
- std::string outputFile;
-#ifdef _WIN32
- if( this->CTest->GetCTestConfiguration(
+ this->MemoryTesterOptions.push_back("-q");
+ this->MemoryTesterOptions.push_back("--tool=memcheck");
+ this->MemoryTesterOptions.push_back("--leak-check=yes");
+ this->MemoryTesterOptions.push_back("--show-reachable=yes");
+ this->MemoryTesterOptions.push_back("--workaround-gcc296-bugs=yes");
+ this->MemoryTesterOptions.push_back("--num-callers=50");
+ }
+ if ( this->CTest->GetCTestConfiguration(
"MemoryCheckSuppressionFile").size() )
+ {
+ if ( !cmSystemTools::FileExists(this->CTest->GetCTestConfiguration(
+ "MemoryCheckSuppressionFile").c_str()) )
+ {
+ cmCTestLog(this->CTest, ERROR_MESSAGE,
+ "Cannot find memory checker suppression file: "
+ << this->CTest->GetCTestConfiguration(
+ "MemoryCheckSuppressionFile").c_str() << std::endl);
+ return false;
+ }
+ std::string suppressions = "--suppressions="
+ + this->CTest->GetCTestConfiguration("MemoryCheckSuppressionFile");
+ this->MemoryTesterOptions.push_back(suppressions);
+ }
+ break;
+ case cmCTestMemCheckHandler::PURIFY:
{
- if( !cmSystemTools::FileExists(this->CTest->GetCTestConfiguration(
- "MemoryCheckSuppressionFile").c_str()) )
+ std::string outputFile;
+#ifdef _WIN32
+ if( this->CTest->GetCTestConfiguration(
+ "MemoryCheckSuppressionFile").size() )
{
- cmCTestLog(this->CTest, ERROR_MESSAGE,
- "Cannot find memory checker suppression file: "
- << this->CTest->GetCTestConfiguration(
- "MemoryCheckSuppressionFile").c_str() << std::endl);
- return false;
- }
- std::string filterFiles = "/FilterFiles="
- + this->CTest->GetCTestConfiguration("MemoryCheckSuppressionFile");
- this->MemoryTesterOptions.push_back(filterFiles);
- }
- outputFile = "/SAVETEXTDATA=";
+ if( !cmSystemTools::FileExists(this->CTest->GetCTestConfiguration(
+ "MemoryCheckSuppressionFile").c_str()) )
+ {
+ cmCTestLog(this->CTest, ERROR_MESSAGE,
+ "Cannot find memory checker suppression file: "
+ << this->CTest->GetCTestConfiguration(
+ "MemoryCheckSuppressionFile").c_str() << std::endl);
+ return false;
+ }
+ std::string filterFiles = "/FilterFiles="
+ + this->CTest->GetCTestConfiguration("MemoryCheckSuppressionFile");
+ this->MemoryTesterOptions.push_back(filterFiles);
+ }
+ outputFile = "/SAVETEXTDATA=";
#else
- outputFile = "-log-file=";
+ outputFile = "-log-file=";
#endif
- outputFile += this->MemoryTesterOutputFile;
- this->MemoryTesterOptions.push_back(outputFile);
- }
- else if ( this->MemoryTester.find("BC") != std::string::npos )
- {
- this->BoundsCheckerXMLFile = this->MemoryTesterOutputFile;
- std::string dpbdFile = this->CTest->GetBinaryDir()
- + "/Testing/Temporary/MemoryChecker.DPbd";
- this->BoundsCheckerDPBDFile = dpbdFile;
- this->MemoryTesterStyle = cmCTestMemCheckHandler::BOUNDS_CHECKER;
- this->MemoryTesterOptions.push_back("/B");
- this->MemoryTesterOptions.push_back(dpbdFile);
- this->MemoryTesterOptions.push_back("/X");
- this->MemoryTesterOptions.push_back(this->MemoryTesterOutputFile);
- this->MemoryTesterOptions.push_back("/M");
- }
- else
- {
- cmCTestLog(this->CTest, ERROR_MESSAGE,
- "Do not understand memory checker: " << this->MemoryTester.c_str()
- << std::endl);
- return false;
+ outputFile += this->MemoryTesterOutputFile;
+ this->MemoryTesterOptions.push_back(outputFile);
+ break;
+ }
+ case cmCTestMemCheckHandler::BOUNDS_CHECKER:
+ {
+ this->BoundsCheckerXMLFile = this->MemoryTesterOutputFile;
+ std::string dpbdFile = this->CTest->GetBinaryDir()
+ + "/Testing/Temporary/MemoryChecker.DPbd";
+ this->BoundsCheckerDPBDFile = dpbdFile;
+ this->MemoryTesterOptions.push_back("/B");
+ this->MemoryTesterOptions.push_back(dpbdFile);
+ this->MemoryTesterOptions.push_back("/X");
+ this->MemoryTesterOptions.push_back(this->MemoryTesterOutputFile);
+ this->MemoryTesterOptions.push_back("/M");
+ break;
+ }
+ default:
+ cmCTestLog(this->CTest, ERROR_MESSAGE,
+ "Do not understand memory checker: " << this->MemoryTester.c_str()
+ << std::endl);
+ return false;
}
std::vector<cmStdString>::size_type cc;
@@ -594,9 +611,9 @@ bool cmCTestMemCheckHandler::ProcessMemCheckOutput(const std::string& str,
bool cmCTestMemCheckHandler::ProcessMemCheckPurifyOutput(
const std::string& str, std::string& log,
int* results)
-{
+{
std::vector<cmStdString> lines;
- cmSystemTools::Split(str.c_str(), lines);
+ cmSystemTools::Split(str.c_str(), lines);
cmOStringStream ostr;
log = "";
@@ -604,7 +621,7 @@ bool cmCTestMemCheckHandler::ProcessMemCheckPurifyOutput(
int defects = 0;
- for( std::vector<cmStdString>::iterator i = lines.begin();
+ for( std::vector<cmStdString>::iterator i = lines.begin();
i != lines.end(); ++i)
{
int failure = cmCTestMemCheckHandler::NO_MEMORY_FAULT;
@@ -657,7 +674,7 @@ bool cmCTestMemCheckHandler::ProcessMemCheckValgrindOutput(
{
unlimitedOutput = true;
}
-
+
std::string::size_type cc;
cmOStringStream ostr;
@@ -782,7 +799,7 @@ bool cmCTestMemCheckHandler::ProcessMemCheckValgrindOutput(
}
totalOutputSize += lines[cc].size();
ostr << cmXMLSafe(lines[cc]) << std::endl;
- }
+ }
else
{
nonValGrindOutput.push_back(cc);
@@ -791,7 +808,7 @@ bool cmCTestMemCheckHandler::ProcessMemCheckValgrindOutput(
// Now put all all the non valgrind output into the test output
if(!outputFull)
{
- for(std::vector<std::string::size_type>::iterator i =
+ for(std::vector<std::string::size_type>::iterator i =
nonValGrindOutput.begin(); i != nonValGrindOutput.end(); ++i)
{
totalOutputSize += lines[*i].size();
@@ -801,7 +818,7 @@ bool cmCTestMemCheckHandler::ProcessMemCheckValgrindOutput(
<< cmXMLSafe(lines[*i]) << std::endl);
ostr << cmXMLSafe(lines[*i]) << std::endl;
- if(!unlimitedOutput && totalOutputSize >
+ if(!unlimitedOutput && totalOutputSize >
static_cast<size_t>(this->CustomMaximumFailedTestOutputSize))
{
outputFull = true;
@@ -833,7 +850,7 @@ bool cmCTestMemCheckHandler::ProcessMemCheckBoundsCheckerOutput(
log = "";
double sttime = cmSystemTools::GetTime();
std::vector<cmStdString> lines;
- cmSystemTools::Split(str.c_str(), lines);
+ cmSystemTools::Split(str.c_str(), lines);
cmCTestLog(this->CTest, DEBUG, "Start test: " << lines.size() << std::endl);
std::vector<cmStdString>::size_type cc;
for ( cc = 0; cc < lines.size(); cc ++ )
@@ -886,8 +903,8 @@ bool cmCTestMemCheckHandler::ProcessMemCheckBoundsCheckerOutput(
// for the test
void
cmCTestMemCheckHandler::PostProcessBoundsCheckerTest(cmCTestTestResult& res)
-{
- cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
+{
+ cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
"PostProcessBoundsCheckerTest for : "
<< res.Name.c_str() << std::endl);
if ( !cmSystemTools::FileExists(this->MemoryTesterOutputFile.c_str()) )
@@ -902,22 +919,22 @@ cmCTestMemCheckHandler::PostProcessBoundsCheckerTest(cmCTestTestResult& res)
std::ifstream ifs(this->MemoryTesterOutputFile.c_str());
if ( !ifs )
{
- std::string log = "Cannot read memory tester output file: "
+ std::string log = "Cannot read memory tester output file: "
+ this->MemoryTesterOutputFile;
cmCTestLog(this->CTest, ERROR_MESSAGE, log.c_str() << std::endl);
return;
- }
+ }
res.Output += BOUNDS_CHECKER_MARKER;
res.Output += "\n";
std::string line;
while ( cmSystemTools::GetLineFromStream(ifs, line) )
{
- res.Output += line;
+ res.Output += line;
res.Output += "\n";
}
}
cmSystemTools::Delay(1000);
- cmSystemTools::RemoveFile(this->BoundsCheckerDPBDFile.c_str());
+ cmSystemTools::RemoveFile(this->BoundsCheckerDPBDFile.c_str());
cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, "Remove: "
<< this->BoundsCheckerDPBDFile.c_str() << std::endl);
cmSystemTools::RemoveFile(this->BoundsCheckerXMLFile.c_str());
@@ -928,7 +945,7 @@ cmCTestMemCheckHandler::PostProcessBoundsCheckerTest(cmCTestTestResult& res)
void
cmCTestMemCheckHandler::PostProcessPurifyTest(cmCTestTestResult& res)
{
- cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
+ cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
"PostProcessPurifyTest for : "
<< res.Name.c_str() << std::endl);
if ( !cmSystemTools::FileExists(this->MemoryTesterOutputFile.c_str()) )
@@ -945,7 +962,7 @@ cmCTestMemCheckHandler::PostProcessPurifyTest(cmCTestTestResult& res)
+ this->MemoryTesterOutputFile;
cmCTestLog(this->CTest, ERROR_MESSAGE, log.c_str() << std::endl);
return;
- }
+ }
std::string line;
while ( cmSystemTools::GetLineFromStream(ifs, line) )
{
diff --git a/Source/CTest/cmCTestMemCheckHandler.h b/Source/CTest/cmCTestMemCheckHandler.h
index 427d4717d..1e81c893b 100644
--- a/Source/CTest/cmCTestMemCheckHandler.h
+++ b/Source/CTest/cmCTestMemCheckHandler.h
@@ -30,7 +30,7 @@ public:
cmTypeMacro(cmCTestMemCheckHandler, cmCTestTestHandler);
void PopulateCustomVectors(cmMakefile *mf);
-
+
cmCTestMemCheckHandler();
void Initialize();
@@ -108,13 +108,13 @@ private:
//! Parse Valgrind/Purify/Bounds Checker result out of the output
//string. After running, log holds the output and results hold the
//different memmory errors.
- bool ProcessMemCheckOutput(const std::string& str,
+ bool ProcessMemCheckOutput(const std::string& str,
std::string& log, int* results);
- bool ProcessMemCheckValgrindOutput(const std::string& str,
+ bool ProcessMemCheckValgrindOutput(const std::string& str,
std::string& log, int* results);
- bool ProcessMemCheckPurifyOutput(const std::string& str,
+ bool ProcessMemCheckPurifyOutput(const std::string& str,
std::string& log, int* results);
- bool ProcessMemCheckBoundsCheckerOutput(const std::string& str,
+ bool ProcessMemCheckBoundsCheckerOutput(const std::string& str,
std::string& log, int* results);
void PostProcessPurifyTest(cmCTestTestResult& res);
diff --git a/Source/CTest/cmCTestMultiProcessHandler.cxx b/Source/CTest/cmCTestMultiProcessHandler.cxx
index 2cae80215..ebef1ed9c 100644
--- a/Source/CTest/cmCTestMultiProcessHandler.cxx
+++ b/Source/CTest/cmCTestMultiProcessHandler.cxx
@@ -48,7 +48,7 @@ cmCTestMultiProcessHandler::~cmCTestMultiProcessHandler()
}
// Set the tests
-void
+void
cmCTestMultiProcessHandler::SetTests(TestMap& tests,
PropertiesMap& properties)
{
@@ -178,7 +178,7 @@ void cmCTestMultiProcessHandler::EraseTest(int test)
//---------------------------------------------------------
inline size_t cmCTestMultiProcessHandler::GetProcessorsUsed(int test)
{
- size_t processors =
+ size_t processors =
static_cast<int>(this->Properties[test]->Processors);
//If this is set to run serially, it must run alone.
//Also, if processors setting is set higher than the -j
@@ -205,7 +205,7 @@ bool cmCTestMultiProcessHandler::StartTest(int test)
}
}
- // copy the depend tests locally because when
+ // copy the depend tests locally because when
// a test is finished it will be removed from the depend list
// and we don't want to be iterating a list while removing from it
TestSet depends = this->Tests[test];
@@ -240,7 +240,7 @@ bool cmCTestMultiProcessHandler::StartTest(int test)
this->StartTestProcess(test);
return true;
}
- // This test was not able to start because it is waiting
+ // This test was not able to start because it is waiting
// on depends to run
return false;
}
@@ -351,7 +351,7 @@ void cmCTestMultiProcessHandler::UpdateCostData()
while(std::getline(fin, line))
{
if(line == "---") break;
- std::vector<cmsys::String> parts =
+ std::vector<cmsys::String> parts =
cmSystemTools::SplitString(line.c_str(), ' ');
//Format: <name> <previous_runs> <avg_cost>
if(parts.size() < 3) break;
@@ -552,7 +552,7 @@ void cmCTestMultiProcessHandler::PrintTestList()
}
cmOStringStream indexStr;
indexStr << " #" << p.Index << ":";
- cmCTestLog(this->CTest, HANDLER_OUTPUT,
+ cmCTestLog(this->CTest, HANDLER_OUTPUT,
std::setw(3 + getNumWidth(this->TestHandler->GetMaxIndex()))
<< indexStr.str().c_str());
cmCTestLog(this->CTest, HANDLER_OUTPUT, " ");
@@ -603,7 +603,7 @@ void cmCTestMultiProcessHandler::CheckResume()
<< std::endl
<< "----------------------------------------------------------"
<< std::endl;
-
+
std::ifstream fin;
fin.open(fname.c_str());
std::string line;
diff --git a/Source/CTest/cmCTestMultiProcessHandler.h b/Source/CTest/cmCTestMultiProcessHandler.h
index 1483440c6..cd21d9187 100644
--- a/Source/CTest/cmCTestMultiProcessHandler.h
+++ b/Source/CTest/cmCTestMultiProcessHandler.h
@@ -19,16 +19,16 @@
/** \class cmCTestMultiProcessHandler
* \brief run parallel ctest
*
- * cmCTestMultiProcessHandler
+ * cmCTestMultiProcessHandler
*/
-class cmCTestMultiProcessHandler
+class cmCTestMultiProcessHandler
{
friend class TestComparator;
public:
struct TestSet : public std::set<int> {};
struct TestMap : public std::map<int, TestSet> {};
struct TestList : public std::vector<int> {};
- struct PropertiesMap : public
+ struct PropertiesMap : public
std::map<int, cmCTestTestHandler::cmCTestTestProperties*> {};
cmCTestMultiProcessHandler();
diff --git a/Source/CTest/cmCTestReadCustomFilesCommand.h b/Source/CTest/cmCTestReadCustomFilesCommand.h
index f382b0f2d..b984c84e9 100644
--- a/Source/CTest/cmCTestReadCustomFilesCommand.h
+++ b/Source/CTest/cmCTestReadCustomFilesCommand.h
@@ -25,11 +25,11 @@ class cmCTestReadCustomFilesCommand : public cmCTestCommand
public:
cmCTestReadCustomFilesCommand() {}
-
+
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
cmCTestReadCustomFilesCommand* ni = new cmCTestReadCustomFilesCommand;
ni->CTest = this->CTest;
@@ -55,7 +55,7 @@ public:
{
return "read CTestCustom files.";
}
-
+
/**
* More documentation.
*/
diff --git a/Source/CTest/cmCTestRunScriptCommand.h b/Source/CTest/cmCTestRunScriptCommand.h
index 6df69afa6..05e78991a 100644
--- a/Source/CTest/cmCTestRunScriptCommand.h
+++ b/Source/CTest/cmCTestRunScriptCommand.h
@@ -25,11 +25,11 @@ class cmCTestRunScriptCommand : public cmCTestCommand
public:
cmCTestRunScriptCommand() {}
-
+
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
cmCTestRunScriptCommand* ni = new cmCTestRunScriptCommand;
ni->CTest = this->CTest;
@@ -56,7 +56,7 @@ public:
{
return "runs a ctest -S script";
}
-
+
/**
* More documentation.
*/
diff --git a/Source/CTest/cmCTestRunTest.cxx b/Source/CTest/cmCTestRunTest.cxx
index c3de5dcf6..5eabf3fbe 100644
--- a/Source/CTest/cmCTestRunTest.cxx
+++ b/Source/CTest/cmCTestRunTest.cxx
@@ -59,7 +59,7 @@ bool cmCTestRunTest::CheckOutput()
{
// Store this line of output.
cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT,
- this->GetIndex() << ": " << line << std::endl);
+ this->GetIndex() << ": " << line << std::endl);
this->ProcessOutput += line;
this->ProcessOutput += "\n";
}
@@ -79,7 +79,7 @@ void cmCTestRunTest::CompressOutput()
int ret;
z_stream strm;
- unsigned char* in =
+ unsigned char* in =
reinterpret_cast<unsigned char*>(
const_cast<char*>(this->ProcessOutput.c_str()));
//zlib makes the guarantee that this is the maximum output size
@@ -112,7 +112,7 @@ void cmCTestRunTest::CompressOutput()
}
(void)deflateEnd(&strm);
-
+
unsigned char *encoded_buffer
= new unsigned char[static_cast<int>(outSize * 1.5)];
@@ -169,11 +169,11 @@ bool cmCTestRunTest::EndTest(size_t completed, size_t total, bool started)
}
}
if ( !found )
- {
+ {
reason = "Required regular expression not found.";
forceFail = true;
}
- reason += "Regex=[";
+ reason += "Regex=[";
for ( passIt = this->TestProperties->RequiredRegularExpressions.begin();
passIt != this->TestProperties->RequiredRegularExpressions.end();
++ passIt )
@@ -201,10 +201,10 @@ bool cmCTestRunTest::EndTest(size_t completed, size_t total, bool started)
}
if (res == cmsysProcess_State_Exited)
{
- bool success =
- !forceFail && (retVal == 0 ||
+ bool success =
+ !forceFail && (retVal == 0 ||
this->TestProperties->RequiredRegularExpressions.size());
- if((success && !this->TestProperties->WillFail)
+ if((success && !this->TestProperties->WillFail)
|| (!success && this->TestProperties->WillFail))
{
this->TestResult.Status = cmCTestTestHandler::COMPLETED;
@@ -312,10 +312,10 @@ bool cmCTestRunTest::EndTest(size_t completed, size_t total, bool started)
<< std::endl;
if(this->TestResult.Reason.size())
{
- *this->TestHandler->LogFile << reasonType << ":\n"
+ *this->TestHandler->LogFile << reasonType << ":\n"
<< this->TestResult.Reason << "\n";
}
- else
+ else
{
if(pass)
{
@@ -333,14 +333,14 @@ bool cmCTestRunTest::EndTest(size_t completed, size_t total, bool started)
<< "----------------------------------------------------------"
<< std::endl << std::endl;
}
- // if the test actually started and ran
- // record the results in TestResult
+ // if the test actually started and ran
+ // record the results in TestResult
if(started)
{
bool compress = !this->TestHandler->MemCheck &&
this->CompressionRatio < 1 &&
this->CTest->ShouldCompressTestOutput();
- this->TestResult.Output = compress ? this->CompressedOutput
+ this->TestResult.Output = compress ? this->CompressedOutput
: this->ProcessOutput;
this->TestResult.CompressOutput = compress;
this->TestResult.ReturnValue = this->TestProcess->GetExitValue();
@@ -378,7 +378,7 @@ void cmCTestRunTest::MemCheckPostProcess()
{
return;
}
- cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, this->Index
+ cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, this->Index
<< ": process test output now: "
<< this->TestProperties->Name.c_str() << " "
<< this->TestResult.Name.c_str() << std::endl);
@@ -390,7 +390,7 @@ void cmCTestRunTest::MemCheckPostProcess()
}
else if(handler->MemoryTesterStyle == cmCTestMemCheckHandler::PURIFY)
{
- handler->PostProcessPurifyTest(this->TestResult);
+ handler->PostProcessPurifyTest(this->TestResult);
}
}
@@ -411,7 +411,7 @@ bool cmCTestRunTest::StartTest(size_t total)
this->TestResult.ReturnValue = -1;
this->TestResult.CompletionStatus = "Failed to start";
this->TestResult.Status = cmCTestTestHandler::BAD_COMMAND;
- this->TestResult.TestCount = this->TestProperties->Index;
+ this->TestResult.TestCount = this->TestProperties->Index;
this->TestResult.Name = this->TestProperties->Name;
this->TestResult.Path = this->TestProperties->Directory.c_str();
@@ -438,7 +438,7 @@ bool cmCTestRunTest::StartTest(size_t total)
this->TestResult.Status = cmCTestTestHandler::NOT_RUN;
return false;
}
-
+
// Check if all required files exist
for(std::vector<std::string>::iterator i =
this->TestProperties->RequiredFiles.begin();
@@ -465,9 +465,9 @@ bool cmCTestRunTest::StartTest(size_t total)
if (this->ActualCommand == "")
{
// if the command was not found create a TestResult object
- // that has that information
+ // that has that information
this->TestProcess = new cmProcess;
- *this->TestHandler->LogFile << "Unable to find executable: "
+ *this->TestHandler->LogFile << "Unable to find executable: "
<< args[1].c_str() << std::endl;
cmCTestLog(this->CTest, ERROR_MESSAGE, "Unable to find executable: "
<< args[1].c_str() << std::endl);
@@ -536,7 +536,7 @@ void cmCTestRunTest::ComputeArguments()
cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, std::endl
<< this->Index << ": "
- << (this->TestHandler->MemCheck?"MemCheck":"Test")
+ << (this->TestHandler->MemCheck?"MemCheck":"Test")
<< " command: " << testCommand
<< std::endl);
}
@@ -544,7 +544,7 @@ void cmCTestRunTest::ComputeArguments()
//----------------------------------------------------------------------
void cmCTestRunTest::DartProcessing()
{
- if (!this->ProcessOutput.empty() &&
+ if (!this->ProcessOutput.empty() &&
this->ProcessOutput.find("<DartMeasurement") != this->ProcessOutput.npos)
{
if (this->TestHandler->DartStuff.find(this->ProcessOutput.c_str()))
@@ -695,7 +695,7 @@ void cmCTestRunTest::WriteLogOutputTop(size_t completed, size_t total)
cmOStringStream indexStr;
indexStr << " #" << this->Index << ":";
- cmCTestLog(this->CTest, HANDLER_OUTPUT,
+ cmCTestLog(this->CTest, HANDLER_OUTPUT,
std::setw(3 + getNumWidth(this->TestHandler->GetMaxIndex()))
<< indexStr.str().c_str());
cmCTestLog(this->CTest, HANDLER_OUTPUT, " ");
@@ -704,17 +704,17 @@ void cmCTestRunTest::WriteLogOutputTop(size_t completed, size_t total)
outname.resize(maxTestNameWidth + 4, '.');
*this->TestHandler->LogFile << this->TestProperties->Index << "/"
- << this->TestHandler->TotalNumberOfTests << " Testing: "
+ << this->TestHandler->TotalNumberOfTests << " Testing: "
<< this->TestProperties->Name << std::endl;
*this->TestHandler->LogFile << this->TestProperties->Index << "/"
<< this->TestHandler->TotalNumberOfTests
<< " Test: " << this->TestProperties->Name.c_str() << std::endl;
*this->TestHandler->LogFile << "Command: \"" << this->ActualCommand << "\"";
-
+
for (std::vector<std::string>::iterator i = this->Arguments.begin();
i != this->Arguments.end(); ++i)
{
- *this->TestHandler->LogFile
+ *this->TestHandler->LogFile
<< " \"" << i->c_str() << "\"";
}
*this->TestHandler->LogFile << std::endl
@@ -730,6 +730,6 @@ void cmCTestRunTest::WriteLogOutputTop(size_t completed, size_t total)
<< this->ProcessOutput.c_str() << "<end of output>" << std::endl;
cmCTestLog(this->CTest, HANDLER_OUTPUT, outname.c_str());
- cmCTestLog(this->CTest, DEBUG, "Testing "
+ cmCTestLog(this->CTest, DEBUG, "Testing "
<< this->TestProperties->Name.c_str() << " ... ");
}
diff --git a/Source/CTest/cmCTestRunTest.h b/Source/CTest/cmCTestRunTest.h
index 89456d505..476f3e126 100644
--- a/Source/CTest/cmCTestRunTest.h
+++ b/Source/CTest/cmCTestRunTest.h
@@ -74,7 +74,7 @@ private:
cmCTestTestHandler * TestHandler;
cmCTest * CTest;
cmProcess * TestProcess;
- //If the executable to run is ctest, don't create a new process;
+ //If the executable to run is ctest, don't create a new process;
//just instantiate a new cmTest. (Can be disabled for a single test
//if this option is set to false.)
//bool OptimizeForCTest;
diff --git a/Source/CTest/cmCTestSVN.cxx b/Source/CTest/cmCTestSVN.cxx
index fab9a8cba..2668c8eef 100644
--- a/Source/CTest/cmCTestSVN.cxx
+++ b/Source/CTest/cmCTestSVN.cxx
@@ -18,6 +18,11 @@
#include <cmsys/RegularExpression.hxx>
+struct cmCTestSVN::Revision: public cmCTestVC::Revision
+{
+ cmCTestSVN::SVNInfo* SVNInfo;
+};
+
//----------------------------------------------------------------------------
cmCTestSVN::cmCTestSVN(cmCTest* ct, std::ostream& log):
cmCTestGlobalVC(ct, log)
@@ -33,19 +38,22 @@ cmCTestSVN::~cmCTestSVN()
//----------------------------------------------------------------------------
void cmCTestSVN::CleanupImpl()
{
- const char* svn = this->CommandLineTool.c_str();
- const char* svn_cleanup[] = {svn, "cleanup", 0};
+ std::vector<const char*> svn_cleanup;
+ svn_cleanup.push_back("cleanup");
OutputLogger out(this->Log, "cleanup-out> ");
OutputLogger err(this->Log, "cleanup-err> ");
- this->RunChild(svn_cleanup, &out, &err);
+ this->RunSVNCommand(svn_cleanup, &out, &err);
}
//----------------------------------------------------------------------------
class cmCTestSVN::InfoParser: public cmCTestVC::LineParser
{
public:
- InfoParser(cmCTestSVN* svn, const char* prefix, std::string& rev):
- SVN(svn), Rev(rev)
+ InfoParser(cmCTestSVN* svn,
+ const char* prefix,
+ std::string& rev,
+ SVNInfo& svninfo):
+ Rev(rev), SVNRepo(svninfo)
{
this->SetLog(&svn->Log, prefix);
this->RegexRev.compile("^Revision: ([0-9]+)");
@@ -53,8 +61,8 @@ public:
this->RegexRoot.compile("^Repository Root: +([^ ]+) *$");
}
private:
- cmCTestSVN* SVN;
std::string& Rev;
+ cmCTestSVN::SVNInfo& SVNRepo;
cmsys::RegularExpression RegexRev;
cmsys::RegularExpression RegexURL;
cmsys::RegularExpression RegexRoot;
@@ -66,11 +74,11 @@ private:
}
else if(this->RegexURL.find(this->Line))
{
- this->SVN->URL = this->RegexURL.match(1);
+ this->SVNRepo.URL = this->RegexURL.match(1);
}
else if(this->RegexRoot.find(this->Line))
{
- this->SVN->Root = this->RegexRoot.match(1);
+ this->SVNRepo.Root = this->RegexRoot.match(1);
}
return true;
}
@@ -95,70 +103,110 @@ static bool cmCTestSVNPathStarts(std::string const& p1, std::string const& p2)
}
//----------------------------------------------------------------------------
-std::string cmCTestSVN::LoadInfo()
+std::string cmCTestSVN::LoadInfo(SVNInfo& svninfo)
{
// Run "svn info" to get the repository info from the work tree.
- const char* svn = this->CommandLineTool.c_str();
- const char* svn_info[] = {svn, "info", 0};
+ std::vector<const char*> svn_info;
+ svn_info.push_back("info");
+ svn_info.push_back(svninfo.LocalPath.c_str());
std::string rev;
- InfoParser out(this, "info-out> ", rev);
+ InfoParser out(this, "info-out> ", rev, svninfo);
OutputLogger err(this->Log, "info-err> ");
- this->RunChild(svn_info, &out, &err);
+ this->RunSVNCommand(svn_info, &out, &err);
return rev;
}
//----------------------------------------------------------------------------
void cmCTestSVN::NoteOldRevision()
{
- this->OldRevision = this->LoadInfo();
- this->Log << "Revision before update: " << this->OldRevision << "\n";
- cmCTestLog(this->CTest, HANDLER_OUTPUT, " Old revision of repository is: "
- << this->OldRevision << "\n");
+ // Info for root repository
+ this->Repositories.push_back( SVNInfo("") );
+ this->RootInfo = &(this->Repositories.back());
+ // Info for the external repositories
+ this->LoadExternals();
+
+ // Get info for all the repositories
+ std::list<SVNInfo>::iterator itbeg = this->Repositories.begin();
+ std::list<SVNInfo>::iterator itend = this->Repositories.end();
+ for( ; itbeg != itend ; itbeg++)
+ {
+ SVNInfo& svninfo = *itbeg;
+ svninfo.OldRevision = this->LoadInfo(svninfo);
+ this->Log << "Revision for repository '" << svninfo.LocalPath
+ << "' before update: " << svninfo.OldRevision << "\n";
+ cmCTestLog(this->CTest, HANDLER_OUTPUT,
+ " Old revision of external repository '"
+ << svninfo.LocalPath << "' is: "
+ << svninfo.OldRevision << "\n");
+ }
+
+ // Set the global old revision to the one of the root
+ this->OldRevision = this->RootInfo->OldRevision;
this->PriorRev.Rev = this->OldRevision;
}
//----------------------------------------------------------------------------
void cmCTestSVN::NoteNewRevision()
{
- this->NewRevision = this->LoadInfo();
- this->Log << "Revision after update: " << this->NewRevision << "\n";
- cmCTestLog(this->CTest, HANDLER_OUTPUT, " New revision of repository is: "
- << this->NewRevision << "\n");
+ // Get info for the external repositories
+ std::list<SVNInfo>::iterator itbeg = this->Repositories.begin();
+ std::list<SVNInfo>::iterator itend = this->Repositories.end();
+ for( ; itbeg != itend ; itbeg++)
+ {
+ SVNInfo& svninfo = *itbeg;
+ svninfo.NewRevision = this->LoadInfo(svninfo);
+ this->Log << "Revision for repository '" << svninfo.LocalPath
+ << "' after update: " << svninfo.NewRevision << "\n";
+ cmCTestLog(this->CTest, HANDLER_OUTPUT,
+ " New revision of external repository '"
+ << svninfo.LocalPath << "' is: "
+ << svninfo.NewRevision << "\n");
+
+ // svninfo.Root = ""; // uncomment to test GuessBase
+ this->Log << "Repository '" << svninfo.LocalPath
+ << "' URL = " << svninfo.URL << "\n";
+ this->Log << "Repository '" << svninfo.LocalPath
+ << "' Root = " << svninfo.Root << "\n";
+
+ // Compute the base path the working tree has checked out under
+ // the repository root.
+ if(!svninfo.Root.empty()
+ && cmCTestSVNPathStarts(svninfo.URL, svninfo.Root))
+ {
+ svninfo.Base = cmCTest::DecodeURL(
+ svninfo.URL.substr(svninfo.Root.size()));
+ svninfo.Base += "/";
+ }
+ this->Log << "Repository '" << svninfo.LocalPath
+ << "' Base = " << svninfo.Base << "\n";
- // this->Root = ""; // uncomment to test GuessBase
- this->Log << "URL = " << this->URL << "\n";
- this->Log << "Root = " << this->Root << "\n";
+ }
- // Compute the base path the working tree has checked out under
- // the repository root.
- if(!this->Root.empty() && cmCTestSVNPathStarts(this->URL, this->Root))
- {
- this->Base = cmCTest::DecodeURL(this->URL.substr(this->Root.size()));
- this->Base += "/";
- }
- this->Log << "Base = " << this->Base << "\n";
+ // Set the global new revision to the one of the root
+ this->NewRevision = this->RootInfo->NewRevision;
}
//----------------------------------------------------------------------------
-void cmCTestSVN::GuessBase(std::vector<Change> const& changes)
+void cmCTestSVN::GuessBase(SVNInfo& svninfo,
+ std::vector<Change> const& changes)
{
// Subversion did not give us a good repository root so we need to
// guess the base path from the URL and the paths in a revision with
// changes under it.
// Consider each possible URL suffix from longest to shortest.
- for(std::string::size_type slash = this->URL.find('/');
- this->Base.empty() && slash != std::string::npos;
- slash = this->URL.find('/', slash+1))
+ for(std::string::size_type slash = svninfo.URL.find('/');
+ svninfo.Base.empty() && slash != std::string::npos;
+ slash = svninfo.URL.find('/', slash+1))
{
// If the URL suffix is a prefix of at least one path then it is the base.
- std::string base = cmCTest::DecodeURL(this->URL.substr(slash));
+ std::string base = cmCTest::DecodeURL(svninfo.URL.substr(slash));
for(std::vector<Change>::const_iterator ci = changes.begin();
- this->Base.empty() && ci != changes.end(); ++ci)
+ svninfo.Base.empty() && ci != changes.end(); ++ci)
{
if(cmCTestSVNPathStarts(ci->Path, base))
{
- this->Base = base;
+ svninfo.Base = base;
}
}
}
@@ -167,25 +215,9 @@ void cmCTestSVN::GuessBase(std::vector<Change> const& changes)
// base lie under its path. If no base was found then the working
// tree must be a checkout of the entire repo and this will match
// the leading slash in all paths.
- this->Base += "/";
-
- this->Log << "Guessed Base = " << this->Base << "\n";
-}
+ svninfo.Base += "/";
-//----------------------------------------------------------------------------
-const char* cmCTestSVN::LocalPath(std::string const& path)
-{
- if(path.size() > this->Base.size() &&
- strncmp(path.c_str(), this->Base.c_str(), this->Base.size()) == 0)
- {
- // This path lies under the base, so return a relative path.
- return path.c_str() + this->Base.size();
- }
- else
- {
- // This path does not lie under the base, so ignore it.
- return 0;
- }
+ this->Log << "Guessed Base = " << svninfo.Base << "\n";
}
//----------------------------------------------------------------------------
@@ -254,19 +286,52 @@ bool cmCTestSVN::UpdateImpl()
}
std::vector<char const*> svn_update;
- svn_update.push_back(this->CommandLineTool.c_str());
svn_update.push_back("update");
- svn_update.push_back("--non-interactive");
for(std::vector<cmStdString>::const_iterator ai = args.begin();
ai != args.end(); ++ai)
{
svn_update.push_back(ai->c_str());
}
- svn_update.push_back(0);
UpdateParser out(this, "up-out> ");
OutputLogger err(this->Log, "up-err> ");
- return this->RunUpdateCommand(&svn_update[0], &out, &err);
+ return this->RunSVNCommand(svn_update, &out, &err);
+}
+
+//----------------------------------------------------------------------------
+bool cmCTestSVN::RunSVNCommand(std::vector<char const*> const& parameters,
+ OutputParser* out, OutputParser* err)
+{
+ if(parameters.empty()) return false;
+
+ std::vector<char const*> args;
+ args.push_back(this->CommandLineTool.c_str());
+
+ args.insert(args.end(), parameters.begin(), parameters.end());
+
+ args.push_back("--non-interactive");
+
+ std::string userOptions =
+ this->CTest->GetCTestConfiguration("SVNOptions");
+
+ std::vector<cmStdString> parsedUserOptions =
+ cmSystemTools::ParseArguments(userOptions.c_str());
+ for(std::vector<cmStdString>::iterator i = parsedUserOptions.begin();
+ i != parsedUserOptions.end(); ++i)
+ {
+ args.push_back(i->c_str());
+ }
+
+ args.push_back(0);
+
+ if(strcmp(parameters[0], "update") == 0)
+ {
+ return RunUpdateCommand(&args[0], out, err);
+ }
+ else
+ {
+ return RunChild(&args[0], out, err);
+ }
}
//----------------------------------------------------------------------------
@@ -274,11 +339,13 @@ class cmCTestSVN::LogParser: public cmCTestVC::OutputLogger,
private cmXMLParser
{
public:
- LogParser(cmCTestSVN* svn, const char* prefix):
- OutputLogger(svn->Log, prefix), SVN(svn) { this->InitializeParser(); }
+ LogParser(cmCTestSVN* svn, const char* prefix, SVNInfo& svninfo):
+ OutputLogger(svn->Log, prefix), SVN(svn), SVNRepo(svninfo)
+ { this->InitializeParser(); }
~LogParser() { this->CleanupParser(); }
private:
cmCTestSVN* SVN;
+ cmCTestSVN::SVNInfo& SVNRepo;
typedef cmCTestSVN::Revision Revision;
typedef cmCTestSVN::Change Change;
@@ -300,6 +367,7 @@ private:
if(strcmp(name, "logentry") == 0)
{
this->Rev = Revision();
+ this->Rev.SVNInfo = &SVNRepo;
if(const char* rev = this->FindAttribute(atts, "revision"))
{
this->Rev.Rev = rev;
@@ -325,11 +393,13 @@ private:
{
if(strcmp(name, "logentry") == 0)
{
- this->SVN->DoRevision(this->Rev, this->Changes);
+ this->SVN->DoRevisionSVN(this->Rev, this->Changes);
}
else if(strcmp(name, "path") == 0 && !this->CData.empty())
{
- this->CurChange.Path.assign(&this->CData[0], this->CData.size());
+ std::string orig_path(&this->CData[0], this->CData.size());
+ std::string new_path = SVNRepo.BuildLocalPath( orig_path );
+ this->CurChange.Path.assign(new_path);
this->Changes.push_back(this->CurChange);
}
else if(strcmp(name, "author") == 0 && !this->CData.empty())
@@ -356,36 +426,59 @@ private:
//----------------------------------------------------------------------------
void cmCTestSVN::LoadRevisions()
{
+ // Get revisions for all the external repositories
+ std::list<SVNInfo>::iterator itbeg = this->Repositories.begin();
+ std::list<SVNInfo>::iterator itend = this->Repositories.end();
+ for( ; itbeg != itend ; itbeg++)
+ {
+ SVNInfo& svninfo = *itbeg;
+ LoadRevisions(svninfo);
+ }
+}
+
+//----------------------------------------------------------------------------
+void cmCTestSVN::LoadRevisions(SVNInfo &svninfo)
+{
// We are interested in every revision included in the update.
std::string revs;
- if(atoi(this->OldRevision.c_str()) < atoi(this->NewRevision.c_str()))
+ if(atoi(svninfo.OldRevision.c_str()) < atoi(svninfo.NewRevision.c_str()))
{
- revs = "-r" + this->OldRevision + ":" + this->NewRevision;
+ revs = "-r" + svninfo.OldRevision + ":" + svninfo.NewRevision;
}
else
{
- revs = "-r" + this->NewRevision;
+ revs = "-r" + svninfo.NewRevision;
}
// Run "svn log" to get all global revisions of interest.
- const char* svn = this->CommandLineTool.c_str();
- const char* svn_log[] = {svn, "log", "--xml", "-v", revs.c_str(), 0};
- {
- LogParser out(this, "log-out> ");
+ std::vector<const char*> svn_log;
+ svn_log.push_back("log");
+ svn_log.push_back("--xml");
+ svn_log.push_back("-v");
+ svn_log.push_back(revs.c_str());
+ svn_log.push_back(svninfo.LocalPath.c_str());
+ LogParser out(this, "log-out> ", svninfo);
OutputLogger err(this->Log, "log-err> ");
- this->RunChild(svn_log, &out, &err);
- }
+ this->RunSVNCommand(svn_log, &out, &err);
}
//----------------------------------------------------------------------------
-void cmCTestSVN::DoRevision(Revision const& revision,
- std::vector<Change> const& changes)
+void cmCTestSVN::DoRevisionSVN(Revision const& revision,
+ std::vector<Change> const& changes)
{
// Guess the base checkout path from the changes if necessary.
- if(this->Base.empty() && !changes.empty())
+ if(this->RootInfo->Base.empty() && !changes.empty())
+ {
+ this->GuessBase(*this->RootInfo, changes);
+ }
+
+ // Ignore changes in the old revision for external repositories
+ if(revision.Rev == revision.SVNInfo->OldRevision
+ && revision.SVNInfo->LocalPath != "")
{
- this->GuessBase(changes);
+ return;
}
+
this->cmCTestGlobalVC::DoRevision(revision, changes);
}
@@ -434,11 +527,11 @@ private:
void cmCTestSVN::LoadModifications()
{
// Run "svn status" which reports local modifications.
- const char* svn = this->CommandLineTool.c_str();
- const char* svn_status[] = {svn, "status", "--non-interactive", 0};
+ std::vector<const char*> svn_status;
+ svn_status.push_back("status");
StatusParser out(this, "status-out> ");
OutputLogger err(this->Log, "status-err> ");
- this->RunChild(svn_status, &out, &err);
+ this->RunSVNCommand(svn_status, &out, &err);
}
//----------------------------------------------------------------------------
@@ -446,5 +539,81 @@ void cmCTestSVN::WriteXMLGlobal(std::ostream& xml)
{
this->cmCTestGlobalVC::WriteXMLGlobal(xml);
- xml << "\t<SVNPath>" << this->Base << "</SVNPath>\n";
+ xml << "\t<SVNPath>" << this->RootInfo->Base << "</SVNPath>\n";
+}
+
+//----------------------------------------------------------------------------
+class cmCTestSVN::ExternalParser: public cmCTestVC::LineParser
+{
+public:
+ ExternalParser(cmCTestSVN* svn, const char* prefix): SVN(svn)
+ {
+ this->SetLog(&svn->Log, prefix);
+ this->RegexExternal.compile("^X..... +(.+)$");
+ }
+private:
+ cmCTestSVN* SVN;
+ cmsys::RegularExpression RegexExternal;
+ bool ProcessLine()
+ {
+ if(this->RegexExternal.find(this->Line))
+ {
+ this->DoPath(this->RegexExternal.match(1));
+ }
+ return true;
+ }
+
+ void DoPath(std::string const& path)
+ {
+ // Get local path relative to the source directory
+ std::string local_path;
+ if(path.size() > this->SVN->SourceDirectory.size() &&
+ strncmp(path.c_str(), this->SVN->SourceDirectory.c_str(),
+ this->SVN->SourceDirectory.size()) == 0)
+ {
+ local_path = path.c_str() + this->SVN->SourceDirectory.size() + 1;
+ }
+ else
+ {
+ local_path = path;
+ }
+ this->SVN->Repositories.push_back( SVNInfo(local_path.c_str()) );
+ }
+};
+
+//----------------------------------------------------------------------------
+void cmCTestSVN::LoadExternals()
+{
+ // Run "svn status" to get the list of external repositories
+ std::vector<const char*> svn_status;
+ svn_status.push_back("status");
+ ExternalParser out(this, "external-out> ");
+ OutputLogger err(this->Log, "external-err> ");
+ this->RunSVNCommand(svn_status, &out, &err);
+}
+
+//----------------------------------------------------------------------------
+std::string cmCTestSVN::SVNInfo::BuildLocalPath(std::string const& path) const
+{
+ std::string local_path;
+
+ // Add local path prefix if not empty
+ if (!this->LocalPath.empty())
+ {
+ local_path += this->LocalPath;
+ local_path += "/";
+ }
+
+ // Add path with base prefix removed
+ if(path.size() > this->Base.size() &&
+ strncmp(path.c_str(), this->Base.c_str(), this->Base.size()) == 0)
+ {
+ local_path += (path.c_str() + this->Base.size());
+ }
+ else
+ {
+ local_path += path;
+ }
+
+ return local_path;
}
diff --git a/Source/CTest/cmCTestSVN.h b/Source/CTest/cmCTestSVN.h
index f72c58fb0..c6548e3fb 100644
--- a/Source/CTest/cmCTestSVN.h
+++ b/Source/CTest/cmCTestSVN.h
@@ -33,24 +33,54 @@ private:
virtual void NoteNewRevision();
virtual bool UpdateImpl();
- // URL of repository directory checked out in the working tree.
- std::string URL;
+ bool RunSVNCommand(std::vector<char const*> const& parameters,
+ OutputParser* out, OutputParser* err);
- // URL of repository root directory.
- std::string Root;
+ // Information about an SVN repository (root repository or external)
+ struct SVNInfo {
- // Directory under repository root checked out in working tree.
- std::string Base;
+ SVNInfo(const char* path) : LocalPath(path) {}
+ // Remove base from the filename
+ std::string BuildLocalPath(std::string const& path) const;
- std::string LoadInfo();
+ // LocalPath relative to the main source directory.
+ std::string LocalPath;
+
+ // URL of repository directory checked out in the working tree.
+ std::string URL;
+
+ // URL of repository root directory.
+ std::string Root;
+
+ // Directory under repository root checked out in working tree.
+ std::string Base;
+
+ // Old and new repository revisions.
+ std::string OldRevision;
+ std::string NewRevision;
+
+ };
+
+ // Extended revision structure to include info about external it refers to.
+ struct Revision;
+ friend struct Revision;
+
+ // Info of all the repositories (root, externals and nested ones).
+ std::list<SVNInfo> Repositories;
+
+ // Pointer to the infos of the root repository.
+ SVNInfo* RootInfo;
+
+ std::string LoadInfo(SVNInfo& svninfo);
+ void LoadExternals();
void LoadModifications();
void LoadRevisions();
+ void LoadRevisions(SVNInfo& svninfo);
- void GuessBase(std::vector<Change> const& changes);
- const char* LocalPath(std::string const& path);
+ void GuessBase(SVNInfo &svninfo, std::vector<Change> const& changes);
- void DoRevision(Revision const& revision,
- std::vector<Change> const& changes);
+ void DoRevisionSVN(Revision const& revision,
+ std::vector<Change> const& changes);
void WriteXMLGlobal(std::ostream& xml);
@@ -59,10 +89,12 @@ private:
class LogParser;
class StatusParser;
class UpdateParser;
+ class ExternalParser;
friend class InfoParser;
friend class LogParser;
friend class StatusParser;
friend class UpdateParser;
+ friend class ExternalParser;
};
#endif
diff --git a/Source/CTest/cmCTestScriptHandler.h b/Source/CTest/cmCTestScriptHandler.h
index a7cf6ba65..9d852cab6 100644
--- a/Source/CTest/cmCTestScriptHandler.h
+++ b/Source/CTest/cmCTestScriptHandler.h
@@ -97,7 +97,7 @@ public:
static void SleepInSeconds(unsigned int secondsToWait);
void UpdateElapsedTime();
- /**
+ /**
* Return the time remaianing that the script is allowed to run in
* seconds if the user has set the variable CTEST_TIME_LIMIT. If that has
* not been set it returns 1e7 seconds
diff --git a/Source/CTest/cmCTestSleepCommand.cxx b/Source/CTest/cmCTestSleepCommand.cxx
index 5b0697219..7e8755066 100644
--- a/Source/CTest/cmCTestSleepCommand.cxx
+++ b/Source/CTest/cmCTestSleepCommand.cxx
@@ -47,7 +47,7 @@ bool cmCTestSleepCommand
}
return true;
}
-
+
this->SetError("called with incorrect number of arguments");
return false;
}
diff --git a/Source/CTest/cmCTestSleepCommand.h b/Source/CTest/cmCTestSleepCommand.h
index 80fd6afb7..0f51ddfeb 100644
--- a/Source/CTest/cmCTestSleepCommand.h
+++ b/Source/CTest/cmCTestSleepCommand.h
@@ -25,11 +25,11 @@ class cmCTestSleepCommand : public cmCTestCommand
public:
cmCTestSleepCommand() {}
-
+
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
cmCTestSleepCommand* ni = new cmCTestSleepCommand;
ni->CTest = this->CTest;
@@ -56,7 +56,7 @@ public:
{
return "sleeps for some amount of time";
}
-
+
/**
* More documentation.
*/
diff --git a/Source/CTest/cmCTestTestCommand.cxx b/Source/CTest/cmCTestTestCommand.cxx
index 5aee035c7..231f035fb 100644
--- a/Source/CTest/cmCTestTestCommand.cxx
+++ b/Source/CTest/cmCTestTestCommand.cxx
@@ -32,7 +32,7 @@ cmCTestTestCommand::cmCTestTestCommand()
cmCTestGenericHandler* cmCTestTestCommand::InitializeHandler()
{
- const char* ctestTimeout =
+ const char* ctestTimeout =
this->Makefile->GetDefinition("CTEST_TEST_TIMEOUT");
double timeout = this->CTest->GetTimeOut();
@@ -86,7 +86,7 @@ cmCTestGenericHandler* cmCTestTestCommand::InitializeHandler()
}
if(this->Values[ctt_INCLUDE_LABEL])
{
- handler->SetOption("LabelRegularExpression",
+ handler->SetOption("LabelRegularExpression",
this->Values[ctt_INCLUDE_LABEL]);
}
if(this->Values[ctt_PARALLEL_LEVEL])
diff --git a/Source/CTest/cmCTestTestCommand.h b/Source/CTest/cmCTestTestCommand.h
index d184ff2a0..130cb6973 100644
--- a/Source/CTest/cmCTestTestCommand.h
+++ b/Source/CTest/cmCTestTestCommand.h
@@ -58,7 +58,7 @@ public:
" ctest_test([BUILD build_dir] [APPEND]\n"
" [START start number] [END end number]\n"
" [STRIDE stride number] [EXCLUDE exclude regex ]\n"
- " [INCLUDE include regex] [RETURN_VALUE res] \n"
+ " [INCLUDE include regex] [RETURN_VALUE res] \n"
" [EXCLUDE_LABEL exclude regex] \n"
" [INCLUDE_LABEL label regex] \n"
" [PARALLEL_LEVEL level] \n"
diff --git a/Source/CTest/cmCTestTestHandler.cxx b/Source/CTest/cmCTestTestHandler.cxx
index ead449edd..b796b8373 100644
--- a/Source/CTest/cmCTestTestHandler.cxx
+++ b/Source/CTest/cmCTestTestHandler.cxx
@@ -1304,9 +1304,10 @@ int cmCTestTestHandler::ExecuteCommands(std::vector<cmStdString>& vec)
for ( it = vec.begin(); it != vec.end(); ++it )
{
int retVal = 0;
- cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, "Run command: " << *it
+ std::string cmd = cmSystemTools::ConvertToOutputPath(it->c_str());
+ cmCTestLog(this->CTest, HANDLER_VERBOSE_OUTPUT, "Run command: " << cmd
<< std::endl);
- if ( !cmSystemTools::RunSingleCommand(it->c_str(), 0, &retVal, 0,
+ if ( !cmSystemTools::RunSingleCommand(cmd.c_str(), 0, &retVal, 0,
cmSystemTools::OUTPUT_MERGE
/*this->Verbose*/) || retVal != 0 )
{
diff --git a/Source/CTest/cmCTestUpdateCommand.cxx b/Source/CTest/cmCTestUpdateCommand.cxx
index 841434911..2ca9f6c86 100644
--- a/Source/CTest/cmCTestUpdateCommand.cxx
+++ b/Source/CTest/cmCTestUpdateCommand.cxx
@@ -44,6 +44,8 @@ cmCTestGenericHandler* cmCTestUpdateCommand::InitializeHandler()
this->CTest->SetCTestConfigurationFromCMakeVariable(this->Makefile,
"SVNUpdateOptions", "CTEST_SVN_UPDATE_OPTIONS");
this->CTest->SetCTestConfigurationFromCMakeVariable(this->Makefile,
+ "SVNOptions", "CTEST_SVN_OPTIONS");
+ this->CTest->SetCTestConfigurationFromCMakeVariable(this->Makefile,
"BZRCommand", "CTEST_BZR_COMMAND");
this->CTest->SetCTestConfigurationFromCMakeVariable(this->Makefile,
"BZRUpdateOptions", "CTEST_BZR_UPDATE_OPTIONS");
diff --git a/Source/CTest/cmCTestVC.h b/Source/CTest/cmCTestVC.h
index 44e1dacbb..9dd06515d 100644
--- a/Source/CTest/cmCTestVC.h
+++ b/Source/CTest/cmCTestVC.h
@@ -67,6 +67,9 @@ protected:
virtual void NoteNewRevision();
virtual bool WriteXMLUpdates(std::ostream& xml);
+#if defined(__SUNPRO_CC) && __SUNPRO_CC <= 0x510
+public: // Sun CC 5.1 needs help to allow cmCTestSVN::Revision to see this
+#endif
/** Basic information about one revision of a tree or file. */
struct Revision
{
@@ -80,6 +83,7 @@ protected:
std::string Log;
};
+protected:
struct File;
friend struct File;
diff --git a/Source/CTest/cmProcess.cxx b/Source/CTest/cmProcess.cxx
index 0ee631fe9..000bc8503 100644
--- a/Source/CTest/cmProcess.cxx
+++ b/Source/CTest/cmProcess.cxx
@@ -196,12 +196,12 @@ int cmProcess::ReportStatus()
{
case cmsysProcess_State_Starting:
{
- std::cerr << "cmProcess: Never started "
+ std::cerr << "cmProcess: Never started "
<< this->Command << " process.\n";
} break;
case cmsysProcess_State_Error:
{
- std::cerr << "cmProcess: Error executing " << this->Command
+ std::cerr << "cmProcess: Error executing " << this->Command
<< " process: "
<< cmsysProcess_GetErrorString(this->Process)
<< "\n";
@@ -241,19 +241,19 @@ int cmProcess::ReportStatus()
} break;
case cmsysProcess_State_Executing:
{
- std::cerr << "cmProcess: Never terminated " <<
+ std::cerr << "cmProcess: Never terminated " <<
this->Command << " process.\n";
} break;
case cmsysProcess_State_Exited:
{
result = cmsysProcess_GetExitValue(this->Process);
- std::cerr << "cmProcess: " << this->Command
+ std::cerr << "cmProcess: " << this->Command
<< " process exited with code "
<< result << "\n";
} break;
case cmsysProcess_State_Expired:
{
- std::cerr << "cmProcess: killed " << this->Command
+ std::cerr << "cmProcess: killed " << this->Command
<< " process due to timeout.\n";
} break;
case cmsysProcess_State_Killed:
diff --git a/Source/CTest/cmProcess.h b/Source/CTest/cmProcess.h
index ff99ca23d..1479df05f 100644
--- a/Source/CTest/cmProcess.h
+++ b/Source/CTest/cmProcess.h
@@ -22,7 +22,7 @@
*
* cmProcess wraps the kwsys process stuff in a c++ class.
*/
-class cmProcess
+class cmProcess
{
public:
cmProcess();
@@ -37,7 +37,7 @@ public:
// return the process status
int GetProcessStatus();
- // Report the status of the program
+ // Report the status of the program
int ReportStatus();
int GetId() { return this->Id; }
void SetId(int id) { this->Id = id;}
diff --git a/Source/CursesDialog/CMakeLists.txt b/Source/CursesDialog/CMakeLists.txt
index 3349ebe96..96e28b491 100644
--- a/Source/CursesDialog/CMakeLists.txt
+++ b/Source/CursesDialog/CMakeLists.txt
@@ -10,7 +10,7 @@
# See the License for more information.
#=============================================================================
-SET( CURSES_SRCS
+set( CURSES_SRCS
CursesDialog/cmCursesBoolWidget
CursesDialog/cmCursesCacheEntryComposite
CursesDialog/cmCursesDummyWidget
@@ -25,13 +25,13 @@ SET( CURSES_SRCS
CursesDialog/ccmake
)
-INCLUDE_DIRECTORIES(${CMake_SOURCE_DIR}/Source/CursesDialog/form
+include_directories(${CMake_SOURCE_DIR}/Source/CursesDialog/form
${CMake_BINARY_DIR}/Source/CursesDialog/form)
-INCLUDE_DIRECTORIES(${CURSES_INCLUDE_PATH})
+include_directories(${CURSES_INCLUDE_PATH})
-ADD_EXECUTABLE(ccmake ${CURSES_SRCS} )
-TARGET_LINK_LIBRARIES(ccmake CMakeLib)
-TARGET_LINK_LIBRARIES(ccmake cmForm)
+add_executable(ccmake ${CURSES_SRCS} )
+target_link_libraries(ccmake CMakeLib)
+target_link_libraries(ccmake cmForm)
-INSTALL_TARGETS(/bin ccmake)
+install_targets(/bin ccmake)
diff --git a/Source/CursesDialog/cmCursesBoolWidget.cxx b/Source/CursesDialog/cmCursesBoolWidget.cxx
index 9c4c5a577..fd15b9944 100644
--- a/Source/CursesDialog/cmCursesBoolWidget.cxx
+++ b/Source/CursesDialog/cmCursesBoolWidget.cxx
@@ -12,7 +12,7 @@
#include "cmCursesBoolWidget.h"
#include "cmCursesMainForm.h"
-cmCursesBoolWidget::cmCursesBoolWidget(int width, int height,
+cmCursesBoolWidget::cmCursesBoolWidget(int width, int height,
int left, int top) :
cmCursesWidget(width, height, left, top)
{
@@ -38,15 +38,15 @@ bool cmCursesBoolWidget::HandleInput(int& key, cmCursesMainForm*, WINDOW* w)
this->SetValueAsBool(true);
}
- touchwin(w);
- wrefresh(w);
+ touchwin(w);
+ wrefresh(w);
return true;
}
else
{
return false;
}
-
+
}
void cmCursesBoolWidget::SetValueAsBool(bool value)
@@ -56,7 +56,7 @@ void cmCursesBoolWidget::SetValueAsBool(bool value)
this->SetValue("ON");
}
else
- {
+ {
this->SetValue("OFF");
}
}
@@ -68,7 +68,7 @@ bool cmCursesBoolWidget::GetValueAsBool()
return true;
}
else
- {
+ {
return false;
}
}
diff --git a/Source/CursesDialog/cmCursesBoolWidget.h b/Source/CursesDialog/cmCursesBoolWidget.h
index 0d1d6a6cf..d2a25ca12 100644
--- a/Source/CursesDialog/cmCursesBoolWidget.h
+++ b/Source/CursesDialog/cmCursesBoolWidget.h
@@ -19,7 +19,7 @@ class cmCursesBoolWidget : public cmCursesWidget
{
public:
cmCursesBoolWidget(int width, int height, int left, int top);
-
+
// Description:
// Handle user input. Called by the container of this widget
// when this widget has focus. Returns true if the input was
diff --git a/Source/CursesDialog/cmCursesCacheEntryComposite.cxx b/Source/CursesDialog/cmCursesCacheEntryComposite.cxx
index 828384d71..c58d037f0 100644
--- a/Source/CursesDialog/cmCursesCacheEntryComposite.cxx
+++ b/Source/CursesDialog/cmCursesCacheEntryComposite.cxx
@@ -19,19 +19,19 @@
#include "../cmSystemTools.h"
cmCursesCacheEntryComposite::cmCursesCacheEntryComposite(const char* key,
- int labelwidth,
+ int labelwidth,
int entrywidth) :
Key(key), LabelWidth(labelwidth), EntryWidth(entrywidth)
{
this->Label = new cmCursesLabelWidget(this->LabelWidth, 1, 1, 1, key);
this->IsNewLabel = new cmCursesLabelWidget(1, 1, 1, 1, " ");
- this->Entry = 0;
+ this->Entry = 0;
this->Entry = new cmCursesStringWidget(this->EntryWidth, 1, 1, 1);
}
cmCursesCacheEntryComposite::cmCursesCacheEntryComposite(
- const char* key, const cmCacheManager::CacheIterator& it, bool isNew,
- int labelwidth, int entrywidth)
+ const char* key, const cmCacheManager::CacheIterator& it, bool isNew,
+ int labelwidth, int entrywidth)
: Key(key), LabelWidth(labelwidth), EntryWidth(entrywidth)
{
this->Label = new cmCursesLabelWidget(this->LabelWidth, 1, 1, 1, key);
@@ -74,7 +74,7 @@ cmCursesCacheEntryComposite::cmCursesCacheEntryComposite(
it.GetValue());
break;
case cmCacheManager::UNINITIALIZED:
- cmSystemTools::Error("Found an undefined variable: ", it.GetName());
+ cmSystemTools::Error("Found an undefined variable: ", it.GetName());
break;
default:
// TODO : put warning message here
diff --git a/Source/CursesDialog/cmCursesCacheEntryComposite.h b/Source/CursesDialog/cmCursesCacheEntryComposite.h
index a40ea28e1..1357a02ec 100644
--- a/Source/CursesDialog/cmCursesCacheEntryComposite.h
+++ b/Source/CursesDialog/cmCursesCacheEntryComposite.h
@@ -20,7 +20,7 @@ class cmCursesCacheEntryComposite
public:
cmCursesCacheEntryComposite(const char* key, int labelwidth, int entrywidth);
cmCursesCacheEntryComposite(const char* key,
- const cmCacheManager::CacheIterator& it,
+ const cmCacheManager::CacheIterator& it,
bool isNew, int labelwidth, int entrywidth);
~cmCursesCacheEntryComposite();
const char* GetValue();
diff --git a/Source/CursesDialog/cmCursesDummyWidget.cxx b/Source/CursesDialog/cmCursesDummyWidget.cxx
index 1d8a45d79..60086a51b 100644
--- a/Source/CursesDialog/cmCursesDummyWidget.cxx
+++ b/Source/CursesDialog/cmCursesDummyWidget.cxx
@@ -11,7 +11,7 @@
============================================================================*/
#include "cmCursesDummyWidget.h"
-cmCursesDummyWidget::cmCursesDummyWidget(int width, int height,
+cmCursesDummyWidget::cmCursesDummyWidget(int width, int height,
int left, int top) :
cmCursesWidget(width, height, left, top)
{
diff --git a/Source/CursesDialog/cmCursesDummyWidget.h b/Source/CursesDialog/cmCursesDummyWidget.h
index cc4cc748d..9ac13652d 100644
--- a/Source/CursesDialog/cmCursesDummyWidget.h
+++ b/Source/CursesDialog/cmCursesDummyWidget.h
@@ -20,7 +20,7 @@ class cmCursesDummyWidget : public cmCursesWidget
{
public:
cmCursesDummyWidget(int width, int height, int left, int top);
-
+
// Description:
// Handle user input. Called by the container of this widget
// when this widget has focus. Returns true if the input was
diff --git a/Source/CursesDialog/cmCursesFilePathWidget.cxx b/Source/CursesDialog/cmCursesFilePathWidget.cxx
index 13bbcc936..01db014bb 100644
--- a/Source/CursesDialog/cmCursesFilePathWidget.cxx
+++ b/Source/CursesDialog/cmCursesFilePathWidget.cxx
@@ -11,7 +11,7 @@
============================================================================*/
#include "cmCursesFilePathWidget.h"
-cmCursesFilePathWidget::cmCursesFilePathWidget(int width, int height,
+cmCursesFilePathWidget::cmCursesFilePathWidget(int width, int height,
int left, int top) :
cmCursesPathWidget(width, height, left, top)
{
diff --git a/Source/CursesDialog/cmCursesForm.h b/Source/CursesDialog/cmCursesForm.h
index 7556d74b5..3cba856ab 100644
--- a/Source/CursesDialog/cmCursesForm.h
+++ b/Source/CursesDialog/cmCursesForm.h
@@ -20,7 +20,7 @@ class cmCursesForm
public:
cmCursesForm();
virtual ~cmCursesForm();
-
+
// Description:
// Handle user input.
virtual void HandleInput() = 0;
@@ -59,7 +59,7 @@ public:
}
static cmCursesForm* CurrentForm;
-
+
protected:
diff --git a/Source/CursesDialog/cmCursesLabelWidget.cxx b/Source/CursesDialog/cmCursesLabelWidget.cxx
index 2ad4813c6..b5ed3128c 100644
--- a/Source/CursesDialog/cmCursesLabelWidget.cxx
+++ b/Source/CursesDialog/cmCursesLabelWidget.cxx
@@ -11,7 +11,7 @@
============================================================================*/
#include "cmCursesLabelWidget.h"
-cmCursesLabelWidget::cmCursesLabelWidget(int width, int height,
+cmCursesLabelWidget::cmCursesLabelWidget(int width, int height,
int left, int top,
const std::string& name) :
cmCursesWidget(width, height, left, top)
diff --git a/Source/CursesDialog/cmCursesLabelWidget.h b/Source/CursesDialog/cmCursesLabelWidget.h
index bbcc58618..cc32d11ea 100644
--- a/Source/CursesDialog/cmCursesLabelWidget.h
+++ b/Source/CursesDialog/cmCursesLabelWidget.h
@@ -23,7 +23,7 @@ public:
cmCursesLabelWidget(int width, int height, int left, int top,
const std::string& name);
virtual ~cmCursesLabelWidget();
-
+
// Description:
// Handle user input. Called by the container of this widget
// when this widget has focus. Returns true if the input was
diff --git a/Source/CursesDialog/cmCursesLongMessageForm.cxx b/Source/CursesDialog/cmCursesLongMessageForm.cxx
index 0e2cd229f..057f8f3d8 100644
--- a/Source/CursesDialog/cmCursesLongMessageForm.cxx
+++ b/Source/CursesDialog/cmCursesLongMessageForm.cxx
@@ -19,10 +19,10 @@
inline int ctrl(int z)
{
return (z&037);
-}
+}
-cmCursesLongMessageForm::cmCursesLongMessageForm(std::vector<std::string>
- const& messages, const char*
+cmCursesLongMessageForm::cmCursesLongMessageForm(std::vector<std::string>
+ const& messages, const char*
title)
{
// Append all messages into on big string
@@ -84,7 +84,7 @@ void cmCursesLongMessageForm::UpdateStatusBar()
curses_move(y-4,0);
attron(A_STANDOUT);
printw(bar);
- attroff(A_STANDOUT);
+ attroff(A_STANDOUT);
curses_move(y-3,0);
printw(version);
pos_form_cursor(this->Form);
@@ -94,7 +94,7 @@ void cmCursesLongMessageForm::PrintKeys()
{
int x,y;
getmaxyx(stdscr, y, x);
- if ( x < cmCursesMainForm::MIN_WIDTH ||
+ if ( x < cmCursesMainForm::MIN_WIDTH ||
y < cmCursesMainForm::MIN_HEIGHT )
{
return;
@@ -105,7 +105,7 @@ void cmCursesLongMessageForm::PrintKeys()
curses_move(y-2,0);
printw(firstLine);
pos_form_cursor(this->Form);
-
+
}
void cmCursesLongMessageForm::Render(int, int, int, int)
@@ -155,7 +155,7 @@ void cmCursesLongMessageForm::Render(int, int, int, int)
this->UpdateStatusBar();
this->PrintKeys();
- touchwin(stdscr);
+ touchwin(stdscr);
refresh();
}
@@ -200,8 +200,8 @@ void cmCursesLongMessageForm::HandleInput()
this->UpdateStatusBar();
this->PrintKeys();
- touchwin(stdscr);
- wrefresh(stdscr);
+ touchwin(stdscr);
+ wrefresh(stdscr);
}
}
diff --git a/Source/CursesDialog/cmCursesLongMessageForm.h b/Source/CursesDialog/cmCursesLongMessageForm.h
index 341f9c6c6..1e86974f2 100644
--- a/Source/CursesDialog/cmCursesLongMessageForm.h
+++ b/Source/CursesDialog/cmCursesLongMessageForm.h
@@ -21,10 +21,10 @@ class cmCursesCacheEntryComposite;
class cmCursesLongMessageForm : public cmCursesForm
{
public:
- cmCursesLongMessageForm(std::vector<std::string> const& messages,
+ cmCursesLongMessageForm(std::vector<std::string> const& messages,
const char* title);
virtual ~cmCursesLongMessageForm();
-
+
// Description:
// Handle user input.
virtual void HandleInput();
diff --git a/Source/CursesDialog/cmCursesMainForm.h b/Source/CursesDialog/cmCursesMainForm.h
index 3e191b497..883a2b3d6 100644
--- a/Source/CursesDialog/cmCursesMainForm.h
+++ b/Source/CursesDialog/cmCursesMainForm.h
@@ -30,12 +30,12 @@ class cmCursesMainForm : public cmCursesForm
public:
cmCursesMainForm(std::vector<std::string> const& args, int initwidth);
virtual ~cmCursesMainForm();
-
+
/**
* Set the widgets which represent the cache entries.
*/
void InitializeUI();
-
+
/**
* Handle user input.
*/
@@ -65,7 +65,7 @@ public:
* exception is during a resize. The optional argument specifies the
* string to be displayed in the status bar.
*/
- virtual void UpdateStatusBar() { this->UpdateStatusBar(0); }
+ virtual void UpdateStatusBar() { this->UpdateStatusBar(0); }
virtual void UpdateStatusBar(const char* message);
/**
@@ -90,7 +90,7 @@ public:
int Configure(int noconfigure=0);
/**
- * Used to generate
+ * Used to generate
*/
int Generate();
@@ -98,7 +98,7 @@ public:
* Used by main program
*/
int LoadCache(const char *dir);
-
+
/**
* Progress callback
*/
diff --git a/Source/CursesDialog/cmCursesPathWidget.cxx b/Source/CursesDialog/cmCursesPathWidget.cxx
index b113c2e6a..14c325bcb 100644
--- a/Source/CursesDialog/cmCursesPathWidget.cxx
+++ b/Source/CursesDialog/cmCursesPathWidget.cxx
@@ -14,7 +14,7 @@
#include "cmCursesMainForm.h"
#include "cmSystemTools.h"
-cmCursesPathWidget::cmCursesPathWidget(int width, int height,
+cmCursesPathWidget::cmCursesPathWidget(int width, int height,
int left, int top) :
cmCursesStringWidget(width, height, left, top)
{
@@ -75,8 +75,8 @@ void cmCursesPathWidget::OnTab(cmCursesMainForm* fm, WINDOW* w)
}
this->SetString(cstr.c_str());
- touchwin(w);
- wrefresh(w);
+ touchwin(w);
+ wrefresh(w);
form_driver(form, REQ_END_FIELD);
this->LastGlob = glob;
this->LastString = cstr;
diff --git a/Source/CursesDialog/cmCursesStringWidget.cxx b/Source/CursesDialog/cmCursesStringWidget.cxx
index d363f0090..5c7414f13 100644
--- a/Source/CursesDialog/cmCursesStringWidget.cxx
+++ b/Source/CursesDialog/cmCursesStringWidget.cxx
@@ -15,9 +15,9 @@
inline int ctrl(int z)
{
return (z&037);
-}
+}
-cmCursesStringWidget::cmCursesStringWidget(int width, int height,
+cmCursesStringWidget::cmCursesStringWidget(int width, int height,
int left, int top) :
cmCursesWidget(width, height, left, top)
{
@@ -63,7 +63,7 @@ void cmCursesStringWidget::OnType(int& key, cmCursesMainForm* fm, WINDOW*)
form_driver(fm->GetForm(), key);
}
-bool cmCursesStringWidget::HandleInput(int& key, cmCursesMainForm* fm,
+bool cmCursesStringWidget::HandleInput(int& key, cmCursesMainForm* fm,
WINDOW* w)
{
int x,y;
@@ -90,7 +90,7 @@ bool cmCursesStringWidget::HandleInput(int& key, cmCursesMainForm* fm,
getmaxyx(stdscr, y, x);
// If window too small, handle 'q' only
- if ( x < cmCursesMainForm::MIN_WIDTH ||
+ if ( x < cmCursesMainForm::MIN_WIDTH ||
y < cmCursesMainForm::MIN_HEIGHT )
{
// quit
@@ -100,7 +100,7 @@ bool cmCursesStringWidget::HandleInput(int& key, cmCursesMainForm* fm,
}
else
{
- key=getch();
+ key=getch();
continue;
}
}
@@ -111,7 +111,7 @@ bool cmCursesStringWidget::HandleInput(int& key, cmCursesMainForm* fm,
return false;
}
// 10 == enter
- if (key == 10 || key == KEY_ENTER)
+ if (key == 10 || key == KEY_ENTER)
{
this->OnReturn(fm, w);
}
@@ -121,7 +121,7 @@ bool cmCursesStringWidget::HandleInput(int& key, cmCursesMainForm* fm,
key == KEY_PPAGE || key == ctrl('u'))
{
this->InEdit = false;
- delete[] this->OriginalString;
+ delete[] this->OriginalString;
// trick to force forms to update the field buffer
form_driver(form, REQ_NEXT_FIELD);
form_driver(form, REQ_PREV_FIELD);
@@ -136,8 +136,8 @@ bool cmCursesStringWidget::HandleInput(int& key, cmCursesMainForm* fm,
fm->PrintKeys();
this->SetString(this->OriginalString);
delete[] this->OriginalString;
- touchwin(w);
- wrefresh(w);
+ touchwin(w);
+ wrefresh(w);
return true;
}
}
@@ -165,7 +165,7 @@ bool cmCursesStringWidget::HandleInput(int& key, cmCursesMainForm* fm,
{
form_driver(form, REQ_END_FIELD);
}
- else if ( key == 127 ||
+ else if ( key == 127 ||
key == KEY_BACKSPACE )
{
if ( form->curcol > 0 )
@@ -186,10 +186,10 @@ bool cmCursesStringWidget::HandleInput(int& key, cmCursesMainForm* fm,
}
if ( !this->Done )
{
- touchwin(w);
- wrefresh(w);
-
- key=getch();
+ touchwin(w);
+ wrefresh(w);
+
+ key=getch();
}
}
return true;
@@ -214,7 +214,7 @@ bool cmCursesStringWidget::PrintKeys()
{
int x,y;
getmaxyx(stdscr, y, x);
- if ( x < cmCursesMainForm::MIN_WIDTH ||
+ if ( x < cmCursesMainForm::MIN_WIDTH ||
y < cmCursesMainForm::MIN_HEIGHT )
{
return false;
diff --git a/Source/CursesDialog/cmCursesStringWidget.h b/Source/CursesDialog/cmCursesStringWidget.h
index cd54f249b..e939049df 100644
--- a/Source/CursesDialog/cmCursesStringWidget.h
+++ b/Source/CursesDialog/cmCursesStringWidget.h
@@ -26,7 +26,7 @@ class cmCursesStringWidget : public cmCursesWidget
{
public:
cmCursesStringWidget(int width, int height, int left, int top);
-
+
/**
* Handle user input. Called by the container of this widget
* when this widget has focus. Returns true if the input was
diff --git a/Source/CursesDialog/cmCursesWidget.h b/Source/CursesDialog/cmCursesWidget.h
index ee36af613..952c67a86 100644
--- a/Source/CursesDialog/cmCursesWidget.h
+++ b/Source/CursesDialog/cmCursesWidget.h
@@ -22,7 +22,7 @@ class cmCursesWidget
public:
cmCursesWidget(int width, int height, int left, int top);
virtual ~cmCursesWidget();
-
+
/**
* Handle user input. Called by the container of this widget
* when this widget has focus. Returns true if the input was
diff --git a/Source/CursesDialog/form/CMakeLists.txt b/Source/CursesDialog/form/CMakeLists.txt
index 2435f3935..4e07fa0ff 100644
--- a/Source/CursesDialog/form/CMakeLists.txt
+++ b/Source/CursesDialog/form/CMakeLists.txt
@@ -9,14 +9,14 @@
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================
-PROJECT(CMAKE_FORM)
+project(CMAKE_FORM)
-INCLUDE_REGULAR_EXPRESSION("^.*$")
-INCLUDE_DIRECTORIES(${CURSES_INCLUDE_PATH} "${CMAKE_CURRENT_BINARY_DIR}")
+include_regular_expression("^.*$")
+include_directories(${CURSES_INCLUDE_PATH} "${CMAKE_CURRENT_BINARY_DIR}")
-CONFIGURE_FILE(cmFormConfigure.h.in "${CMAKE_CURRENT_BINARY_DIR}/cmFormConfigure.h")
+configure_file(cmFormConfigure.h.in "${CMAKE_CURRENT_BINARY_DIR}/cmFormConfigure.h")
-SET( FORM_SRCS
+set( FORM_SRCS
fld_arg.c
fld_attr.c
fld_current.c
@@ -58,9 +58,9 @@ SET( FORM_SRCS
fty_regex.c
)
-INCLUDE_DIRECTORIES(${CMAKE_FORM_SOURCE_DIR})
-ADD_LIBRARY(cmForm ${FORM_SRCS} )
-TARGET_LINK_LIBRARIES(cmForm ${CURSES_LIBRARY})
-IF(CURSES_EXTRA_LIBRARY)
- TARGET_LINK_LIBRARIES(cmForm ${CURSES_EXTRA_LIBRARY})
-ENDIF(CURSES_EXTRA_LIBRARY)
+include_directories(${CMAKE_FORM_SOURCE_DIR})
+add_library(cmForm ${FORM_SRCS} )
+target_link_libraries(cmForm ${CURSES_LIBRARY})
+if(CURSES_EXTRA_LIBRARY)
+ target_link_libraries(cmForm ${CURSES_EXTRA_LIBRARY})
+endif()
diff --git a/Source/QtDialog/CMakeLists.txt b/Source/QtDialog/CMakeLists.txt
index 07ec10674..29daffde8 100644
--- a/Source/QtDialog/CMakeLists.txt
+++ b/Source/QtDialog/CMakeLists.txt
@@ -9,115 +9,131 @@
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================
-PROJECT(QtDialog)
-SET(QT_MIN_VERSION "4.4.0")
-FIND_PACKAGE(Qt4 REQUIRED)
-IF(NOT QT4_FOUND)
- MESSAGE(SEND_ERROR "Failed to find Qt 4.4 or greater.")
-ELSE(NOT QT4_FOUND)
+project(QtDialog)
+find_package(Qt5Widgets QUIET)
+if (Qt5Widgets_FOUND)
+ include_directories(${Qt5Widgets_INCLUDE_DIRS})
+ add_definitions(${Qt5Widgets_DEFINITONS})
+ macro(qt4_wrap_ui)
+ qt5_wrap_ui(${ARGN})
+ endmacro()
+ macro(qt4_wrap_cpp)
+ qt5_wrap_cpp(${ARGN})
+ endmacro()
+ macro(qt4_add_resources)
+ qt5_add_resources(${ARGN})
+ endmacro()
+ set(QT_LIBRARIES ${Qt5Widgets_LIBRARIES})
+ # Remove this when the minimum version of Qt is 4.6.
+ add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0)
+else()
+ set(QT_MIN_VERSION "4.4.0")
+ find_package(Qt4 REQUIRED)
+ if(NOT QT4_FOUND)
+ message(SEND_ERROR "Failed to find Qt 4.4 or greater.")
+ return()
+ endif()
- INCLUDE(${QT_USE_FILE})
- SET(CMAKE_PACKAGE_QTGUI TRUE)
- SET(SRCS
- AddCacheEntry.cxx
- AddCacheEntry.h
- CMakeSetup.cxx
- CMakeSetupDialog.cxx
- CMakeSetupDialog.h
- FirstConfigure.cxx
- FirstConfigure.h
- QCMake.cxx
- QCMake.h
- QCMakeCacheView.cxx
- QCMakeCacheView.h
- QCMakeWidgets.cxx
- QCMakeWidgets.h
- QMacInstallDialog.cxx
- QMacInstallDialog.h
- )
- QT4_WRAP_UI(UI_SRCS
- CMakeSetupDialog.ui
- Compilers.ui
- CrossCompiler.ui
- AddCacheEntry.ui
- MacInstallDialog.ui
- )
- QT4_WRAP_CPP(MOC_SRCS
- AddCacheEntry.h
- Compilers.h
- CMakeSetupDialog.h
- FirstConfigure.h
- QCMake.h
- QCMakeCacheView.h
- QCMakeWidgets.h
- QMacInstallDialog.h
- )
- QT4_ADD_RESOURCES(RC_SRCS CMakeSetup.qrc)
+ include(${QT_USE_FILE})
+endif()
- SET(SRCS ${SRCS} ${UI_SRCS} ${MOC_SRCS} ${RC_SRCS})
- IF(Q_WS_WIN)
- SET(SRCS ${SRCS} CMakeSetup.rc)
- ENDIF(Q_WS_WIN)
- IF(Q_WS_MAC)
- SET(SRCS ${SRCS} CMakeSetup.icns)
- SET(MACOSX_BUNDLE_ICON_FILE CMakeSetup.icns)
- SET_SOURCE_FILES_PROPERTIES(CMakeSetup.icns PROPERTIES
- MACOSX_PACKAGE_LOCATION Resources)
- ENDIF(Q_WS_MAC)
+set(SRCS
+ AddCacheEntry.cxx
+ AddCacheEntry.h
+ CMakeSetup.cxx
+ CMakeSetupDialog.cxx
+ CMakeSetupDialog.h
+ FirstConfigure.cxx
+ FirstConfigure.h
+ QCMake.cxx
+ QCMake.h
+ QCMakeCacheView.cxx
+ QCMakeCacheView.h
+ QCMakeWidgets.cxx
+ QCMakeWidgets.h
+ QMacInstallDialog.cxx
+ QMacInstallDialog.h
+ )
+QT4_WRAP_UI(UI_SRCS
+ CMakeSetupDialog.ui
+ Compilers.ui
+ CrossCompiler.ui
+ AddCacheEntry.ui
+ MacInstallDialog.ui
+ )
+QT4_WRAP_CPP(MOC_SRCS
+ AddCacheEntry.h
+ Compilers.h
+ CMakeSetupDialog.h
+ FirstConfigure.h
+ QCMake.h
+ QCMakeCacheView.h
+ QCMakeWidgets.h
+ QMacInstallDialog.h
+ )
+QT4_ADD_RESOURCES(RC_SRCS CMakeSetup.qrc)
- INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
- INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
+set(SRCS ${SRCS} ${UI_SRCS} ${MOC_SRCS} ${RC_SRCS})
+if(WIN32)
+ set(SRCS ${SRCS} CMakeSetup.rc)
+endif()
+if(APPLE)
+ set(SRCS ${SRCS} CMakeSetup.icns)
+ set(MACOSX_BUNDLE_ICON_FILE CMakeSetup.icns)
+ set_source_files_properties(CMakeSetup.icns PROPERTIES
+ MACOSX_PACKAGE_LOCATION Resources)
+endif()
- ADD_EXECUTABLE(cmake-gui WIN32 MACOSX_BUNDLE ${SRCS})
- TARGET_LINK_LIBRARIES(cmake-gui CMakeLib ${QT_QTMAIN_LIBRARY} ${QT_LIBRARIES})
- IF(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.4)
- IF(APPLE)
- SET_TARGET_PROPERTIES(cmake-gui PROPERTIES
- OUTPUT_NAME ${CMAKE_BUNDLE_NAME})
- ENDIF(APPLE)
- SET(CMAKE_INSTALL_DESTINATION_ARGS
- BUNDLE DESTINATION "${CMAKE_BUNDLE_LOCATION}")
- ENDIF(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.4)
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
- INSTALL(TARGETS cmake-gui RUNTIME DESTINATION bin ${CMAKE_INSTALL_DESTINATION_ARGS})
+add_executable(cmake-gui WIN32 MACOSX_BUNDLE ${SRCS})
+target_link_libraries(cmake-gui CMakeLib ${QT_QTMAIN_LIBRARY} ${QT_LIBRARIES})
- IF(UNIX)
- # install a desktop file so CMake appears in the application start menu
- # with an icon
- INSTALL(FILES CMake.desktop DESTINATION share/applications )
- INSTALL(FILES CMakeSetup32.png DESTINATION share/pixmaps )
- INSTALL(FILES cmakecache.xml DESTINATION share/mime/packages )
- ENDIF(UNIX)
+if(APPLE)
+ set_target_properties(cmake-gui PROPERTIES
+ OUTPUT_NAME ${CMAKE_BUNDLE_NAME})
+endif()
+set(CMAKE_INSTALL_DESTINATION_ARGS
+ BUNDLE DESTINATION "${CMAKE_BUNDLE_LOCATION}")
- IF(APPLE)
- SET(CMAKE_POSTFLIGHT_SCRIPT
- "${CMake_BINARY_DIR}/Source/QtDialog/postflight.sh")
- SET(CMAKE_POSTUPGRADE_SCRIPT
- "${CMake_BINARY_DIR}/Source/QtDialog/postupgrade.sh")
- configure_file("${CMake_SOURCE_DIR}/Source/QtDialog/postflight.sh.in"
- "${CMake_BINARY_DIR}/Source/QtDialog/postflight.sh")
- configure_file("${CMake_SOURCE_DIR}/Source/QtDialog/postupgrade.sh.in"
- "${CMake_BINARY_DIR}/Source/QtDialog/postupgrade.sh")
- INSTALL(CODE "execute_process(COMMAND ln -s \"../MacOS/${CMAKE_BUNDLE_NAME}\" cmake-gui
- WORKING_DIRECTORY \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/bin)")
- ENDIF(APPLE)
+install(TARGETS cmake-gui RUNTIME DESTINATION bin ${CMAKE_INSTALL_DESTINATION_ARGS})
- if(APPLE OR WIN32)
- # install rules for including 3rd party libs such as Qt
- # if a system Qt is used (e.g. installed in /usr/lib/), it will not be included in the installation
- set(fixup_exe "\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/bin/cmake-gui${CMAKE_EXECUTABLE_SUFFIX}")
- if(APPLE)
- set(fixup_exe "\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/MacOS/${CMAKE_BUNDLE_NAME}")
- endif(APPLE)
- install(CODE "
- include(\"${CMake_SOURCE_DIR}/Modules/BundleUtilities.cmake\")
- set(BU_CHMOD_BUNDLE_ITEMS ON)
- fixup_bundle(\"${fixup_exe}\" \"\" \"${QT_LIBRARY_DIR};${QT_BINARY_DIR}\")
- ")
- endif(APPLE OR WIN32)
+if(UNIX)
+ # install a desktop file so CMake appears in the application start menu
+ # with an icon
+ install(FILES CMake.desktop DESTINATION share/applications )
+ install(FILES CMakeSetup32.png DESTINATION share/pixmaps )
+ install(FILES cmakecache.xml DESTINATION share/mime/packages )
+endif()
- CONFIGURE_FILE("${QtDialog_SOURCE_DIR}/QtDialogCPack.cmake.in"
- "${QtDialog_BINARY_DIR}/QtDialogCPack.cmake" @ONLY)
-ENDIF(NOT QT4_FOUND)
+if(APPLE)
+ set(CMAKE_POSTFLIGHT_SCRIPT
+ "${CMake_BINARY_DIR}/Source/QtDialog/postflight.sh")
+ set(CMAKE_POSTUPGRADE_SCRIPT
+ "${CMake_BINARY_DIR}/Source/QtDialog/postupgrade.sh")
+ configure_file("${CMake_SOURCE_DIR}/Source/QtDialog/postflight.sh.in"
+ "${CMake_BINARY_DIR}/Source/QtDialog/postflight.sh")
+ configure_file("${CMake_SOURCE_DIR}/Source/QtDialog/postupgrade.sh.in"
+ "${CMake_BINARY_DIR}/Source/QtDialog/postupgrade.sh")
+ install(CODE "execute_process(COMMAND ln -s \"../MacOS/${CMAKE_BUNDLE_NAME}\" cmake-gui
+ WORKING_DIRECTORY \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/bin)")
+endif()
+if(APPLE OR WIN32)
+ # install rules for including 3rd party libs such as Qt
+ # if a system Qt is used (e.g. installed in /usr/lib/), it will not be included in the installation
+ set(fixup_exe "\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/bin/cmake-gui${CMAKE_EXECUTABLE_SUFFIX}")
+ if(APPLE)
+ set(fixup_exe "\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/MacOS/${CMAKE_BUNDLE_NAME}")
+ endif()
+ install(CODE "
+ include(\"${CMake_SOURCE_DIR}/Modules/BundleUtilities.cmake\")
+ set(BU_CHMOD_BUNDLE_ITEMS ON)
+ fixup_bundle(\"${fixup_exe}\" \"\" \"${QT_LIBRARY_DIR};${QT_BINARY_DIR}\")
+ ")
+endif()
+
+set(CMAKE_PACKAGE_QTGUI TRUE)
+configure_file("${QtDialog_SOURCE_DIR}/QtDialogCPack.cmake.in"
+ "${QtDialog_BINARY_DIR}/QtDialogCPack.cmake" @ONLY)
diff --git a/Source/QtDialog/CMakeSetup.cxx b/Source/QtDialog/CMakeSetup.cxx
index c942bc4ad..01893f589 100644
--- a/Source/QtDialog/CMakeSetup.cxx
+++ b/Source/QtDialog/CMakeSetup.cxx
@@ -99,15 +99,15 @@ int main(int argc, char** argv)
}
QApplication app(argc, argv);
-
+
// clean out standard Qt paths for plugins, which we don't use anyway
// when creating Mac bundles, it potentially causes problems
foreach(QString p, QApplication::libraryPaths())
{
QApplication::removeLibraryPath(p);
}
-
- // if arg for install
+
+ // if arg for install
for(int i =0; i < argc; i++)
{
if(strcmp(argv[i], "--mac-install") == 0)
@@ -117,7 +117,7 @@ int main(int argc, char** argv)
return 0;
}
}
- // tell the cmake library where cmake is
+ // tell the cmake library where cmake is
QDir cmExecDir(QApplication::applicationDirPath());
#if defined(Q_OS_MAC)
cmExecDir.cd("../../../");
@@ -131,7 +131,7 @@ int main(int argc, char** argv)
QString transfile = QString("cmake_%1").arg(QLocale::system().name());
translator.load(transfile, translationsDir.path());
app.installTranslator(&translator);
-
+
// app setup
app.setApplicationName("CMakeSetup");
app.setOrganizationName("Kitware");
@@ -139,16 +139,16 @@ int main(int argc, char** argv)
appIcon.addFile(":/Icons/CMakeSetup32.png");
appIcon.addFile(":/Icons/CMakeSetup128.png");
app.setWindowIcon(appIcon);
-
+
CMakeSetupDialog dialog;
dialog.show();
-
+
cmsys::CommandLineArguments arg;
arg.Initialize(argc, argv);
std::string binaryDirectory;
std::string sourceDirectory;
typedef cmsys::CommandLineArguments argT;
- arg.AddArgument("-B", argT::CONCAT_ARGUMENT,
+ arg.AddArgument("-B", argT::CONCAT_ARGUMENT,
&binaryDirectory, "Binary Directory");
arg.AddArgument("-H", argT::CONCAT_ARGUMENT,
&sourceDirectory, "Source Directory");
@@ -199,7 +199,7 @@ int main(int argc, char** argv)
}
}
}
-
+
return app.exec();
}
diff --git a/Source/QtDialog/Compilers.h b/Source/QtDialog/Compilers.h
index e9c90a504..3f7b83411 100644
--- a/Source/QtDialog/Compilers.h
+++ b/Source/QtDialog/Compilers.h
@@ -10,7 +10,7 @@ class Compilers : public QWidget, public Ui::Compilers
{
Q_OBJECT
public:
- Compilers(QWidget* p=NULL) :
+ Compilers(QWidget* p=NULL) :
QWidget(p)
{
this->setupUi(this);
diff --git a/Source/QtDialog/FirstConfigure.cxx b/Source/QtDialog/FirstConfigure.cxx
index 2a79877da..6de9f00cc 100644
--- a/Source/QtDialog/FirstConfigure.cxx
+++ b/Source/QtDialog/FirstConfigure.cxx
@@ -25,7 +25,7 @@ StartCompilerSetup::StartCompilerSetup(QWidget* p)
l->addWidget(this->CompilerSetupOptions[1]);
l->addWidget(this->CompilerSetupOptions[2]);
l->addWidget(this->CompilerSetupOptions[3]);
-
+
this->CompilerSetupOptions[0]->setChecked(true);
QObject::connect(this->CompilerSetupOptions[0], SIGNAL(toggled(bool)),
@@ -47,7 +47,7 @@ void StartCompilerSetup::setGenerators(const QStringList& gens)
this->GeneratorOptions->clear();
this->GeneratorOptions->addItems(gens);
};
-
+
void StartCompilerSetup::setCurrentGenerator(const QString& gen)
{
int idx = this->GeneratorOptions->findText(gen);
@@ -237,7 +237,7 @@ void CrossCompilerSetup::setProcessor(const QString& t)
{
this->systemProcessor->setText(t);
}
-
+
QString CrossCompilerSetup::getFindRoot() const
{
return this->crossFindRoot->text();
@@ -313,10 +313,10 @@ FirstConfigure::FirstConfigure()
this->mNativeCompilerSetupPage = new NativeCompilerSetup(this);
this->setPage(NativeSetup, this->mNativeCompilerSetupPage);
-
+
this->mCrossCompilerSetupPage = new CrossCompilerSetup(this);
this->setPage(CrossSetup, this->mCrossCompilerSetupPage);
-
+
this->mToolchainCompilerSetupPage = new ToolchainCompilerSetup(this);
this->setPage(ToolchainSetup, this->mToolchainCompilerSetupPage);
}
@@ -370,14 +370,14 @@ void FirstConfigure::loadFromSettings()
void FirstConfigure::saveToSettings()
{
QSettings settings;
-
+
// save generator
settings.beginGroup("Settings/StartPath");
QString lastGen = this->mStartCompilerSetupPage->getGenerator();
settings.setValue("LastGenerator", lastGen);
settings.endGroup();
- // save compiler setup
+ // save compiler setup
settings.beginGroup("Settings/Compiler");
settings.setValue("CCompiler", this->mNativeCompilerSetupPage->getCCompiler());
settings.setValue("CXXCompiler", this->mNativeCompilerSetupPage->getCXXCompiler());
@@ -419,7 +419,7 @@ bool FirstConfigure::crossCompilerToolChainFile() const
{
return this->mStartCompilerSetupPage->crossCompilerToolChainFile();
}
-
+
QString FirstConfigure::getCrossCompilerToolChainFile() const
{
return this->mToolchainCompilerSetupPage->toolchainFile();
diff --git a/Source/QtDialog/FirstConfigure.h b/Source/QtDialog/FirstConfigure.h
index f4e368bfc..be390b0fd 100644
--- a/Source/QtDialog/FirstConfigure.h
+++ b/Source/QtDialog/FirstConfigure.h
@@ -30,14 +30,14 @@ class StartCompilerSetup : public QWizardPage
void setGenerators(const QStringList& gens);
void setCurrentGenerator(const QString& gen);
QString getGenerator() const;
-
+
bool defaultSetup() const;
bool compilerSetup() const;
bool crossCompilerSetup() const;
bool crossCompilerToolChainFile() const;
int nextId() const;
-
+
signals:
void selectionChanged();
@@ -56,7 +56,7 @@ class NativeCompilerSetup : public QWizardPage, protected Ui::Compilers
public:
NativeCompilerSetup(QWidget* p);
~NativeCompilerSetup();
-
+
QString getCCompiler() const;
void setCCompiler(const QString&);
@@ -65,7 +65,7 @@ class NativeCompilerSetup : public QWizardPage, protected Ui::Compilers
QString getFortranCompiler() const;
void setFortranCompiler(const QString&);
-
+
int nextId() const { return -1; }
};
@@ -76,13 +76,13 @@ class CrossCompilerSetup : public QWizardPage, protected Ui::CrossCompiler
public:
CrossCompilerSetup(QWidget* p);
~CrossCompilerSetup();
-
+
QString getSystem() const;
void setSystem(const QString&);
-
+
QString getVersion() const;
void setVersion(const QString&);
-
+
QString getProcessor() const;
void setProcessor(const QString&);
@@ -94,7 +94,7 @@ class CrossCompilerSetup : public QWizardPage, protected Ui::CrossCompiler
QString getFortranCompiler() const;
void setFortranCompiler(const QString&);
-
+
QString getFindRoot() const;
void setFindRoot(const QString&);
@@ -104,14 +104,14 @@ class CrossCompilerSetup : public QWizardPage, protected Ui::CrossCompiler
ONLY,
NEVER
};
-
+
int getProgramMode() const;
void setProgramMode(int);
int getLibraryMode() const;
void setLibraryMode(int);
int getIncludeMode() const;
void setIncludeMode(int);
-
+
int nextId() const { return -1; }
};
@@ -127,7 +127,7 @@ class ToolchainCompilerSetup : public QWizardPage
void setToolchainFile(const QString&);
int nextId() const { return -1; }
-
+
protected:
QCMakeFilePathEditor* ToolchainFile;
};
@@ -151,7 +151,7 @@ public:
QString getCCompiler() const;
QString getCXXCompiler() const;
QString getFortranCompiler() const;
-
+
QString getSystemName() const;
QString getSystemVersion() const;
QString getSystemProcessor() const;
@@ -159,7 +159,7 @@ public:
QString getCrossProgramMode() const;
QString getCrossLibraryMode() const;
QString getCrossIncludeMode() const;
-
+
QString getCrossCompilerToolChainFile() const;
void loadFromSettings();
diff --git a/Source/QtDialog/QCMake.cxx b/Source/QtDialog/QCMake.cxx
index 8554ff894..0d0118164 100644
--- a/Source/QtDialog/QCMake.cxx
+++ b/Source/QtDialog/QCMake.cxx
@@ -32,9 +32,9 @@ QCMake::QCMake(QObject* p)
this->WarnUnusedMode = false;
qRegisterMetaType<QCMakeProperty>();
qRegisterMetaType<QCMakePropertyList>();
-
+
QDir execDir(QCoreApplication::applicationDirPath());
-
+
#if defined(Q_OS_MAC)
if(execDir.exists("../bin/cmake"))
{
@@ -45,7 +45,7 @@ QCMake::QCMake(QObject* p)
execDir.cd("../../../"); // path to cmake in build directory (need to fix for deployment)
}
#endif
-
+
QString cmakeCommand = QString("cmake")+QString::fromLocal8Bit(cmSystemTools::GetExecutableExtension());
cmakeCommand = execDir.filePath(cmakeCommand);
@@ -58,7 +58,7 @@ QCMake::QCMake(QObject* p)
this->CMakeInstance->SetCMakeCommand(cmakeCommand.toLocal8Bit().data());
#if defined(Q_OS_MAC)
this->CMakeInstance->SetCMakeEditCommand("cmake-gui.app/Contents/MacOS/cmake-gui");
-#else
+#else
this->CMakeInstance->SetCMakeEditCommand("cmake-gui");
#endif
this->CMakeInstance->SetProgressCallback(QCMake::progressCallback, this);
@@ -96,7 +96,7 @@ void QCMake::loadCache(const QString& dir)
void QCMake::setSourceDirectory(const QString& _dir)
{
- QString dir =
+ QString dir =
QString::fromLocal8Bit(cmSystemTools::GetActualCaseForPath(_dir.toLocal8Bit().data()).c_str());
if(this->SourceDirectory != dir)
{
@@ -107,7 +107,7 @@ void QCMake::setSourceDirectory(const QString& _dir)
void QCMake::setBinaryDirectory(const QString& _dir)
{
- QString dir =
+ QString dir =
QString::fromLocal8Bit(cmSystemTools::GetActualCaseForPath(_dir.toLocal8Bit().data()).c_str());
if(this->BinaryDirectory != dir)
{
@@ -126,7 +126,7 @@ void QCMake::setBinaryDirectory(const QString& _dir)
"Please check the permissions of the directory you are trying to run CMake on.");
}
}
-
+
QCMakePropertyList props = this->properties();
emit this->propertiesChanged(props);
cmCacheManager::CacheIterator itm = cachem->NewIterator();
@@ -202,7 +202,7 @@ void QCMake::generate()
emit this->generateDone(err);
}
-
+
void QCMake::setProperties(const QCMakePropertyList& newProps)
{
QCMakePropertyList props = newProps;
@@ -251,7 +251,7 @@ void QCMake::setProperties(const QCMakePropertyList& newProps)
cachem->RemoveCacheEntry(s.toLocal8Bit().data());
}
-
+
// add some new properites
foreach(QCMakeProperty s, props)
{
@@ -286,7 +286,7 @@ void QCMake::setProperties(const QCMakePropertyList& newProps)
cmCacheManager::FILEPATH);
}
}
-
+
cachem->SaveCache(this->BinaryDirectory.toLocal8Bit().data());
}
@@ -339,7 +339,7 @@ QCMakePropertyList QCMake::properties() const
return ret;
}
-
+
void QCMake::interrupt()
{
this->InterruptFlag.ref();
@@ -348,7 +348,11 @@ void QCMake::interrupt()
bool QCMake::interruptCallback(void* cd)
{
QCMake* self = reinterpret_cast<QCMake*>(cd);
+#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
return self->InterruptFlag;
+#else
+ return self->InterruptFlag.load();
+#endif
}
void QCMake::progressCallback(const char* msg, float percent, void* cd)
@@ -416,7 +420,7 @@ void QCMake::reloadCache()
props = this->properties();
emit this->propertiesChanged(props);
}
-
+
void QCMake::setDebugOutput(bool flag)
{
if(flag != this->CMakeInstance->GetDebugOutput())
diff --git a/Source/QtDialog/QCMake.h b/Source/QtDialog/QCMake.h
index 0d68586f2..93ac8ab00 100644
--- a/Source/QtDialog/QCMake.h
+++ b/Source/QtDialog/QCMake.h
@@ -38,12 +38,12 @@ struct QCMakeProperty
QString Help;
PropertyType Type;
bool Advanced;
- bool operator==(const QCMakeProperty& other) const
- {
+ bool operator==(const QCMakeProperty& other) const
+ {
return this->Key == other.Key;
}
- bool operator<(const QCMakeProperty& other) const
- {
+ bool operator<(const QCMakeProperty& other) const
+ {
return this->Key < other.Key;
}
};
@@ -56,7 +56,7 @@ Q_DECLARE_METATYPE(QCMakeProperty)
Q_DECLARE_METATYPE(QCMakePropertyList)
/// Qt API for CMake library.
-/// Wrapper like class allows for easier integration with
+/// Wrapper like class allows for easier integration with
/// Qt features such as, signal/slot connections, multi-threading, etc..
class QCMake : public QObject
{
@@ -136,7 +136,7 @@ protected:
static bool interruptCallback(void*);
static void progressCallback(const char* msg, float percent, void* cd);
- static void errorCallback(const char* msg, const char* title,
+ static void errorCallback(const char* msg, const char* title,
bool&, void* cd);
bool SuppressDevWarnings;
bool WarnUninitializedMode;
diff --git a/Source/QtDialog/QCMakeCacheView.cxx b/Source/QtDialog/QCMakeCacheView.cxx
index 72e9b2464..1d21d421d 100644
--- a/Source/QtDialog/QCMakeCacheView.cxx
+++ b/Source/QtDialog/QCMakeCacheView.cxx
@@ -64,7 +64,7 @@ protected:
return true;
}
}
-
+
return false;
}
};
@@ -73,11 +73,11 @@ protected:
class QCMakeAdvancedFilter : public QSortFilterProxyModel
{
public:
- QCMakeAdvancedFilter(QObject* o)
+ QCMakeAdvancedFilter(QObject* o)
: QSortFilterProxyModel(o), ShowAdvanced(false) {}
- void setShowAdvanced(bool f)
- {
+ void setShowAdvanced(bool f)
+ {
this->ShowAdvanced = f;
this->invalidate();
}
@@ -102,7 +102,7 @@ protected:
}
return false;
}
-
+
// check children
int num = m->rowCount(idx);
for(int i=0; i<num; i++)
@@ -134,9 +134,9 @@ QCMakeCacheView::QCMakeCacheView(QWidget* p)
// our delegate for creating our editors
QCMakeCacheModelDelegate* delegate = new QCMakeCacheModelDelegate(this);
this->setItemDelegate(delegate);
-
+
this->setUniformRowHeights(true);
-
+
this->setEditTriggers(QAbstractItemView::AllEditTriggers);
// tab, backtab doesn't step through items
@@ -153,13 +153,13 @@ bool QCMakeCacheView::event(QEvent* e)
}
return QTreeView::event(e);
}
-
+
QCMakeCacheModel* QCMakeCacheView::cacheModel() const
{
return this->CacheModel;
}
-
-QModelIndex QCMakeCacheView::moveCursor(CursorAction act,
+
+QModelIndex QCMakeCacheView::moveCursor(CursorAction act,
Qt::KeyboardModifiers mod)
{
// want home/end to go to begin/end of rows, not columns
@@ -173,7 +173,7 @@ QModelIndex QCMakeCacheView::moveCursor(CursorAction act,
}
return QTreeView::moveCursor(act, mod);
}
-
+
void QCMakeCacheView::setShowAdvanced(bool s)
{
#if QT_VERSION >= 040300
@@ -224,7 +224,7 @@ void QCMakeCacheModel::clear()
{
this->QStandardItemModel::clear();
this->NewPropertyCount = 0;
-
+
QStringList labels;
labels << tr("Name") << tr("Value");
this->setHorizontalHeaderLabels(labels);
@@ -281,7 +281,7 @@ void QCMakeCacheModel::setProperties(const QCMakePropertyList& props)
this->breakProperties(newProps2, newPropsTree2);
QStandardItem* root = this->invisibleRootItem();
-
+
foreach(QString key, newPropsTree.keys())
{
QCMakePropertyList props2 = newPropsTree[key];
@@ -308,12 +308,12 @@ void QCMakeCacheModel::setProperties(const QCMakePropertyList& props)
this->setPropertyData(this->indexFromItem(items[0]), prop, true);
}
}
-
+
foreach(QString key, newPropsTree2.keys())
{
QCMakePropertyList props2 = newPropsTree2[key];
- QStandardItem* parentItem =
+ QStandardItem* parentItem =
new QStandardItem(key.isEmpty() ? tr("Ungrouped Entries") : key);
root->appendRow(parentItem);
parentItem->setData(1, GroupRole);
@@ -330,7 +330,7 @@ void QCMakeCacheModel::setProperties(const QCMakePropertyList& props)
}
}
}
-
+
this->blockSignals(b);
this->reset();
}
@@ -361,7 +361,7 @@ void QCMakeCacheModel::setViewType(QCMakeCacheModel::ViewType t)
this->reset();
}
-void QCMakeCacheModel::setPropertyData(const QModelIndex& idx1,
+void QCMakeCacheModel::setPropertyData(const QModelIndex& idx1,
const QCMakeProperty& prop, bool isNew)
{
QModelIndex idx2 = idx1.sibling(idx1.row(), 1);
@@ -370,7 +370,7 @@ void QCMakeCacheModel::setPropertyData(const QModelIndex& idx1,
this->setData(idx1, prop.Help, QCMakeCacheModel::HelpRole);
this->setData(idx1, prop.Type, QCMakeCacheModel::TypeRole);
this->setData(idx1, prop.Advanced, QCMakeCacheModel::AdvancedRole);
-
+
if(prop.Type == QCMakeProperty::BOOL)
{
int check = prop.Value.toBool() ? Qt::Checked : Qt::Unchecked;
@@ -394,7 +394,7 @@ void QCMakeCacheModel::setPropertyData(const QModelIndex& idx1,
}
}
-void QCMakeCacheModel::getPropertyData(const QModelIndex& idx1,
+void QCMakeCacheModel::getPropertyData(const QModelIndex& idx1,
QCMakeProperty& prop) const
{
QModelIndex idx2 = idx1.sibling(idx1.row(), 1);
@@ -457,7 +457,7 @@ void QCMakeCacheModel::breakProperties(const QSet<QCMakeProperty>& props,
}
result = tmp;
}
-
+
QCMakePropertyList QCMakeCacheModel::properties() const
{
QCMakePropertyList props;
@@ -488,7 +488,7 @@ QCMakePropertyList QCMakeCacheModel::properties() const
this->getPropertyData(idx, prop);
props.append(prop);
}
-
+
// go to the next in the tree
while(!idxs.isEmpty() && !idxs.last().sibling(idxs.last().row()+1, 0).isValid())
{
@@ -503,7 +503,7 @@ QCMakePropertyList QCMakeCacheModel::properties() const
return props;
}
-
+
bool QCMakeCacheModel::insertProperty(QCMakeProperty::PropertyType t,
const QString& name, const QString& description,
const QVariant& value, bool advanced)
@@ -554,7 +554,7 @@ Qt::ItemFlags QCMakeCacheModel::flags (const QModelIndex& idx) const
QModelIndex QCMakeCacheModel::buddy(const QModelIndex& idx) const
{
- if(!this->hasChildren(idx) &&
+ if(!this->hasChildren(idx) &&
this->data(idx, TypeRole).toInt() != QCMakeProperty::BOOL)
{
return this->index(idx.row(), 1, idx.parent());
@@ -572,7 +572,7 @@ void QCMakeCacheModelDelegate::setFileDialogFlag(bool f)
this->FileDialogFlag = f;
}
-QWidget* QCMakeCacheModelDelegate::createEditor(QWidget* p,
+QWidget* QCMakeCacheModelDelegate::createEditor(QWidget* p,
const QStyleOptionViewItem&, const QModelIndex& idx) const
{
QModelIndex var = idx.sibling(idx.row(), 0);
@@ -584,7 +584,7 @@ QWidget* QCMakeCacheModelDelegate::createEditor(QWidget* p,
else if(type == QCMakeProperty::PATH)
{
QCMakePathEditor* editor =
- new QCMakePathEditor(p,
+ new QCMakePathEditor(p,
var.data(Qt::DisplayRole).toString());
QObject::connect(editor, SIGNAL(fileDialogExists(bool)), this,
SLOT(setFileDialogFlag(bool)));
@@ -593,7 +593,7 @@ QWidget* QCMakeCacheModelDelegate::createEditor(QWidget* p,
else if(type == QCMakeProperty::FILEPATH)
{
QCMakeFilePathEditor* editor =
- new QCMakeFilePathEditor(p,
+ new QCMakeFilePathEditor(p,
var.data(Qt::DisplayRole).toString());
QObject::connect(editor, SIGNAL(fileDialogExists(bool)), this,
SLOT(setFileDialogFlag(bool)));
@@ -602,7 +602,7 @@ QWidget* QCMakeCacheModelDelegate::createEditor(QWidget* p,
else if(type == QCMakeProperty::STRING &&
var.data(QCMakeCacheModel::StringsRole).isValid())
{
- QCMakeComboBox* editor =
+ QCMakeComboBox* editor =
new QCMakeComboBox(p, var.data(QCMakeCacheModel::StringsRole).toStringList());
editor->setFrame(false);
return editor;
@@ -613,7 +613,7 @@ QWidget* QCMakeCacheModelDelegate::createEditor(QWidget* p,
return editor;
}
-bool QCMakeCacheModelDelegate::editorEvent(QEvent* e, QAbstractItemModel* model,
+bool QCMakeCacheModelDelegate::editorEvent(QEvent* e, QAbstractItemModel* model,
const QStyleOptionViewItem& option, const QModelIndex& index)
{
Qt::ItemFlags flags = model->flags(index);
@@ -637,7 +637,7 @@ bool QCMakeCacheModelDelegate::editorEvent(QEvent* e, QAbstractItemModel* model,
{
return true;
}
- }
+ }
else if (e->type() == QEvent::KeyPress)
{
if(static_cast<QKeyEvent*>(e)->key() != Qt::Key_Space &&
@@ -645,8 +645,8 @@ bool QCMakeCacheModelDelegate::editorEvent(QEvent* e, QAbstractItemModel* model,
{
return false;
}
- }
- else
+ }
+ else
{
return false;
}
@@ -660,7 +660,7 @@ bool QCMakeCacheModelDelegate::editorEvent(QEvent* e, QAbstractItemModel* model,
}
return success;
}
-
+
// Issue 205903 fixed in Qt 4.5.0.
// Can remove this function and FileDialogFlag when minimum Qt version is 4.5
bool QCMakeCacheModelDelegate::eventFilter(QObject* object, QEvent* evt)
@@ -682,7 +682,7 @@ void QCMakeCacheModelDelegate::setModelData(QWidget* editor,
QItemDelegate::setModelData(editor, model, index);
const_cast<QCMakeCacheModelDelegate*>(this)->recordChange(model, index);
}
-
+
QSize QCMakeCacheModelDelegate::sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const
{
QSize sz = QItemDelegate::sizeHint(option, index);
@@ -695,7 +695,7 @@ QSize QCMakeCacheModelDelegate::sizeHint(const QStyleOptionViewItem& option, con
return sz;
}
-
+
QSet<QCMakeProperty> QCMakeCacheModelDelegate::changes() const
{
return mChanges;
@@ -721,7 +721,7 @@ void QCMakeCacheModelDelegate::recordChange(QAbstractItemModel* model, const QMo
QCMakeProperty prop;
idx = idx.sibling(idx.row(), 0);
cache_model->getPropertyData(idx, prop);
-
+
// clean out an old one
QSet<QCMakeProperty>::iterator iter = mChanges.find(prop);
if(iter != mChanges.end())
diff --git a/Source/QtDialog/QCMakeCacheView.h b/Source/QtDialog/QCMakeCacheView.h
index 0a628b90a..41f0bd87c 100644
--- a/Source/QtDialog/QCMakeCacheView.h
+++ b/Source/QtDialog/QCMakeCacheView.h
@@ -33,7 +33,7 @@ public:
// retrieve the QCMakeCacheModel storing all the pointers
// this isn't necessarily the model one would get from model()
QCMakeCacheModel* cacheModel() const;
-
+
// get whether to show advanced entries
bool showAdvanced() const;
@@ -65,7 +65,7 @@ public:
// roles used to retrieve extra data such has help strings, types of
// properties, and the advanced flag
enum { HelpRole = Qt::ToolTipRole,
- TypeRole = Qt::UserRole,
+ TypeRole = Qt::UserRole,
AdvancedRole,
StringsRole,
GroupRole
@@ -102,7 +102,7 @@ public slots:
public:
// get the properties
QCMakePropertyList properties() const;
-
+
// editing enabled
bool editEnabled() const;
@@ -112,7 +112,7 @@ public:
// return flags (overloaded to modify flag based on EditEnabled flag)
Qt::ItemFlags flags (const QModelIndex& index) const;
QModelIndex buddy(const QModelIndex& idx) const;
-
+
// get the data in the model for this property
void getPropertyData(const QModelIndex& idx1,
QCMakeProperty& prop) const;
@@ -124,20 +124,20 @@ protected:
ViewType View;
// set the data in the model for this property
- void setPropertyData(const QModelIndex& idx1,
+ void setPropertyData(const QModelIndex& idx1,
const QCMakeProperty& p, bool isNew);
// breaks up he property list into groups
// where each group has the same prefix up to the first underscore
static void breakProperties(const QSet<QCMakeProperty>& props,
QMap<QString, QCMakePropertyList>& result);
-
+
// gets the prefix of a string up to the first _
static QString prefix(const QString& s);
};
-/// Qt delegate class for interaction (or other customization)
+/// Qt delegate class for interaction (or other customization)
/// with cache properties
class QCMakeCacheModelDelegate : public QItemDelegate
{
@@ -145,9 +145,9 @@ class QCMakeCacheModelDelegate : public QItemDelegate
public:
QCMakeCacheModelDelegate(QObject* p);
/// create our own editors for cache properties
- QWidget* createEditor(QWidget* parent, const QStyleOptionViewItem& option,
+ QWidget* createEditor(QWidget* parent, const QStyleOptionViewItem& option,
const QModelIndex& index ) const;
- bool editorEvent (QEvent* event, QAbstractItemModel* model,
+ bool editorEvent (QEvent* event, QAbstractItemModel* model,
const QStyleOptionViewItem& option, const QModelIndex& index);
bool eventFilter(QObject* object, QEvent* event);
void setModelData(QWidget * editor, QAbstractItemModel * model, const QModelIndex & index ) const;
diff --git a/Source/QtDialog/QCMakeWidgets.cxx b/Source/QtDialog/QCMakeWidgets.cxx
index 144e1f32e..a0c5e17fe 100644
--- a/Source/QtDialog/QCMakeWidgets.cxx
+++ b/Source/QtDialog/QCMakeWidgets.cxx
@@ -69,7 +69,7 @@ void QCMakeFilePathEditor::chooseFile()
this->fileDialogExists(true);
path = QFileDialog::getOpenFileName(this, title, info.absolutePath());
this->fileDialogExists(false);
-
+
if(!path.isEmpty())
{
this->setText(QDir::fromNativeSeparators(path));
diff --git a/Source/QtDialog/QMacInstallDialog.cxx b/Source/QtDialog/QMacInstallDialog.cxx
index 6eb053b21..8b8c5319f 100644
--- a/Source/QtDialog/QMacInstallDialog.cxx
+++ b/Source/QtDialog/QMacInstallDialog.cxx
@@ -15,11 +15,11 @@ QMacInstallDialog::QMacInstallDialog(QWidget*w)
{
this->Internals = new QMacInstallDialogInternals;
this->Internals->setupUi(this);
- QObject::connect(this->Internals->choosePathButton, SIGNAL(pressed()),
+ QObject::connect(this->Internals->choosePathButton, SIGNAL(pressed()),
this, SLOT(ShowBrowser()));
- QObject::connect(this->Internals->skipInstallButton, SIGNAL(pressed()),
+ QObject::connect(this->Internals->skipInstallButton, SIGNAL(pressed()),
this, SLOT(SkipInstall()));
- QObject::connect(this->Internals->doInstallButton, SIGNAL(pressed()),
+ QObject::connect(this->Internals->doInstallButton, SIGNAL(pressed()),
this, SLOT(DoInstall()));
this->Internals->InstallPrefix->setText("/usr/bin/");
@@ -31,7 +31,7 @@ QMacInstallDialog::~QMacInstallDialog()
}
void QMacInstallDialog::DoInstall()
-{
+{
QDir installDir(this->Internals->InstallPrefix->text());
QString installTo = installDir.path();
if(!cmSystemTools::FileExists(installTo.toLocal8Bit().data()))
@@ -42,7 +42,7 @@ void QMacInstallDialog::DoInstall()
message += installDir.path();
QString title = tr("Create Directory");
QMessageBox::StandardButton btn;
- btn = QMessageBox::information(this, title, message,
+ btn = QMessageBox::information(this, title, message,
QMessageBox::Yes | QMessageBox::No);
if(btn == QMessageBox::Yes)
{
@@ -52,7 +52,7 @@ void QMacInstallDialog::DoInstall()
QDir cmExecDir(QApplication::applicationDirPath());
cmExecDir.cd("../bin");
QFileInfoList list = cmExecDir.entryInfoList();
- for (int i = 0; i < list.size(); ++i)
+ for (int i = 0; i < list.size(); ++i)
{
QFileInfo fileInfo = list.at(i);
QString filename = fileInfo.fileName();
@@ -75,7 +75,7 @@ void QMacInstallDialog::DoInstall()
message += newName;
QString title = tr("Error Removing file");
QMessageBox::StandardButton btn =
- QMessageBox::critical(this, title, message,
+ QMessageBox::critical(this, title, message,
QMessageBox::Ok|QMessageBox::Abort);
if(btn == QMessageBox::Abort)
{
@@ -93,7 +93,7 @@ void QMacInstallDialog::DoInstall()
message += newName;
QString title = tr("Error Creating Symlink");
QMessageBox::StandardButton btn =
- QMessageBox::critical(this, title, message,
+ QMessageBox::critical(this, title, message,
QMessageBox::Ok|QMessageBox::Abort);
if(btn == QMessageBox::Abort)
{
@@ -112,7 +112,7 @@ void QMacInstallDialog::SkipInstall()
void QMacInstallDialog::ShowBrowser()
{
- QString dir = QFileDialog::getExistingDirectory(this,
+ QString dir = QFileDialog::getExistingDirectory(this,
tr("Enter Install Prefix"), this->Internals->InstallPrefix->text());
if(!dir.isEmpty())
{
diff --git a/Source/QtDialog/QtDialogCPack.cmake.in b/Source/QtDialog/QtDialogCPack.cmake.in
index 701991b7a..3196471d7 100644
--- a/Source/QtDialog/QtDialogCPack.cmake.in
+++ b/Source/QtDialog/QtDialogCPack.cmake.in
@@ -1,18 +1,18 @@
-SET(IS_APPLE @APPLE@)
-SET(CMAKE_PACKAGE_QTGUI @CMAKE_PACKAGE_QTGUI@)
+set(IS_APPLE @APPLE@)
+set(CMAKE_PACKAGE_QTGUI @CMAKE_PACKAGE_QTGUI@)
-IF(CMAKE_PACKAGE_QTGUI)
- SET(CPACK_PACKAGE_EXECUTABLES "cmake-gui" "CMake (cmake-gui)" ${CPACK_PACKAGE_EXECUTABLES})
- SET(CPACK_CREATE_DESKTOP_LINKS "cmake-gui" ${CPACK_CREATE_DESKTOP_LINKS})
- IF(IS_APPLE)
+if(CMAKE_PACKAGE_QTGUI)
+ set(CPACK_PACKAGE_EXECUTABLES "cmake-gui" "CMake (cmake-gui)" ${CPACK_PACKAGE_EXECUTABLES})
+ set(CPACK_CREATE_DESKTOP_LINKS "cmake-gui" ${CPACK_CREATE_DESKTOP_LINKS})
+ if(IS_APPLE)
# for apple install we set the install prefix to
# / and then install
# cmake into the bundle for cmake-gui and must use DESTDIR
- SET(CPACK_SET_DESTDIR TRUE)
+ set(CPACK_SET_DESTDIR TRUE)
# we also want to run post install stuff to setup command line
- SET(CPACK_POSTFLIGHT_SCRIPT "@CMAKE_POSTFLIGHT_SCRIPT@")
- SET(CPACK_POSTUPGRADE_SCRIPT "@CMAKE_POSTUPGRADE_SCRIPT@")
- ENDIF(IS_APPLE)
-ENDIF(CMAKE_PACKAGE_QTGUI)
+ set(CPACK_POSTFLIGHT_SCRIPT "@CMAKE_POSTFLIGHT_SCRIPT@")
+ set(CPACK_POSTUPGRADE_SCRIPT "@CMAKE_POSTUPGRADE_SCRIPT@")
+ endif()
+endif()
diff --git a/Source/cmAddCustomCommandCommand.h b/Source/cmAddCustomCommandCommand.h
index 1f770ed39..c5252b794 100644
--- a/Source/cmAddCustomCommandCommand.h
+++ b/Source/cmAddCustomCommandCommand.h
@@ -16,7 +16,7 @@
#include "cmDocumentGeneratorExpressions.h"
/** \class cmAddCustomCommandCommand
- * \brief
+ * \brief
*
* cmAddCustomCommandCommand defines a new command (rule) that can
* be executed within the build process
@@ -29,7 +29,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmAddCustomCommandCommand;
}
@@ -45,7 +45,7 @@ public:
* The name of the command as specified in CMakeList.txt.
*/
virtual const char* GetName() const {return "add_custom_command";}
-
+
/**
* Succinct documentation.
*/
@@ -53,7 +53,7 @@ public:
{
return "Add a custom build rule to the generated build system.";
}
-
+
/**
* More documentation.
*/
@@ -177,7 +177,7 @@ public:
"is recompiled.\n"
;
}
-
+
cmTypeMacro(cmAddCustomCommandCommand, cmCommand);
protected:
bool CheckOutputs(const std::vector<std::string>& outputs);
diff --git a/Source/cmAddCustomTargetCommand.h b/Source/cmAddCustomTargetCommand.h
index 50bffefde..d4ed450f0 100644
--- a/Source/cmAddCustomTargetCommand.h
+++ b/Source/cmAddCustomTargetCommand.h
@@ -27,7 +27,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmAddCustomTargetCommand;
}
@@ -38,13 +38,13 @@ public:
*/
virtual bool InitialPass(std::vector<std::string> const& args,
cmExecutionStatus &status);
-
+
/**
* The name of the command as specified in CMakeList.txt.
*/
virtual const char* GetName() const
{return "add_custom_target";}
-
+
/**
* Succinct documentation.
*/
@@ -52,7 +52,7 @@ public:
{
return "Add a target with no output so it will always be built.";
}
-
+
/**
* More documentation.
*/
@@ -101,7 +101,7 @@ public:
"convenience in editing even if they have not build rules."
;
}
-
+
cmTypeMacro(cmAddCustomTargetCommand, cmCommand);
};
diff --git a/Source/cmAddDependenciesCommand.h b/Source/cmAddDependenciesCommand.h
index 14a7741fa..ed8006765 100644
--- a/Source/cmAddDependenciesCommand.h
+++ b/Source/cmAddDependenciesCommand.h
@@ -25,7 +25,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmAddDependenciesCommand;
}
@@ -49,7 +49,7 @@ public:
{
return "Add a dependency between top-level targets.";
}
-
+
/**
* More documentation.
*/
@@ -70,7 +70,7 @@ public:
"SET_SOURCE_FILES_PROPERTIES to add file-level dependencies to object "
"files.";
}
-
+
cmTypeMacro(cmAddDependenciesCommand, cmCommand);
};
diff --git a/Source/cmAddLibraryCommand.h b/Source/cmAddLibraryCommand.h
index b1ae20289..c14456535 100644
--- a/Source/cmAddLibraryCommand.h
+++ b/Source/cmAddLibraryCommand.h
@@ -26,7 +26,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmAddLibraryCommand;
}
@@ -50,7 +50,7 @@ public:
{
return "Add a library to the project using the specified source files.";
}
-
+
/**
* More documentation.
*/
@@ -78,7 +78,9 @@ public:
"functionality. "
"If no type is given explicitly the type is STATIC or SHARED based "
"on whether the current value of the variable BUILD_SHARED_LIBS is "
- "true."
+ "true. "
+ "For SHARED and MODULE libraries the POSITION_INDEPENDENT_CODE "
+ "target property is set to TRUE automatically."
"\n"
"By default the library file will be created in the build tree "
"directory corresponding to the source tree directory in which "
@@ -134,7 +136,7 @@ public:
"Object libraries cannot be imported, exported, installed, or linked."
;
}
-
+
cmTypeMacro(cmAddLibraryCommand, cmCommand);
};
diff --git a/Source/cmAddSubDirectoryCommand.cxx b/Source/cmAddSubDirectoryCommand.cxx
index 5fca527ca..9efeda48f 100644
--- a/Source/cmAddSubDirectoryCommand.cxx
+++ b/Source/cmAddSubDirectoryCommand.cxx
@@ -20,11 +20,11 @@ bool cmAddSubDirectoryCommand::InitialPass
this->SetError("called with incorrect number of arguments");
return false;
}
-
+
// store the binpath
std::string srcArg = args[0];
std::string binArg;
-
+
bool excludeFromAll = false;
// process the rest of the arguments looking for optional args
diff --git a/Source/cmAddSubDirectoryCommand.h b/Source/cmAddSubDirectoryCommand.h
index 3d6f51ea5..fa322b0c4 100644
--- a/Source/cmAddSubDirectoryCommand.h
+++ b/Source/cmAddSubDirectoryCommand.h
@@ -27,7 +27,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmAddSubDirectoryCommand;
}
@@ -51,7 +51,7 @@ public:
{
return "Add a subdirectory to the build.";
}
-
+
/**
* More documentation.
*/
@@ -90,7 +90,7 @@ public:
"project build system to satisfy the dependency."
;
}
-
+
cmTypeMacro(cmAddSubDirectoryCommand, cmCommand);
};
diff --git a/Source/cmAddTestCommand.h b/Source/cmAddTestCommand.h
index 59f10f622..6a0cd9d2e 100644
--- a/Source/cmAddTestCommand.h
+++ b/Source/cmAddTestCommand.h
@@ -26,7 +26,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmAddTestCommand;
}
@@ -50,7 +50,7 @@ public:
{
return "Add a test to the project with the specified arguments.";
}
-
+
/**
* More documentation.
*/
@@ -81,7 +81,7 @@ public:
"\n"
"Arguments after COMMAND may use \"generator expressions\" with the "
"syntax \"$<...>\". "
- CM_DOCUMENT_COMMAND_GENERATOR_EXPRESSIONS
+ CM_DOCUMENT_ADD_TEST_GENERATOR_EXPRESSIONS
"Example usage:\n"
" add_test(NAME mytest\n"
" COMMAND testDriver --config $<CONFIGURATION>\n"
@@ -91,7 +91,7 @@ public:
"executable file produced by target \"myexe\"."
;
}
-
+
cmTypeMacro(cmAddTestCommand, cmCommand);
private:
bool HandleNameMode(std::vector<std::string> const& args);
diff --git a/Source/cmAuxSourceDirectoryCommand.cxx b/Source/cmAuxSourceDirectoryCommand.cxx
index f88be3d58..01f64b730 100644
--- a/Source/cmAuxSourceDirectoryCommand.cxx
+++ b/Source/cmAuxSourceDirectoryCommand.cxx
@@ -23,7 +23,7 @@ bool cmAuxSourceDirectoryCommand::InitialPass
this->SetError("called with incorrect number of arguments");
return false;
}
-
+
std::string sourceListValue;
std::string templateDirectory = args[0];
this->Makefile->AddExtraDirectory(templateDirectory.c_str());
@@ -40,12 +40,12 @@ bool cmAuxSourceDirectoryCommand::InitialPass
}
// was the list already populated
- const char *def = this->Makefile->GetDefinition(args[1].c_str());
+ const char *def = this->Makefile->GetDefinition(args[1].c_str());
if (def)
{
sourceListValue = def;
}
-
+
// Load all the files in the directory
cmsys::Directory dir;
if(dir.Load(tdir.c_str()))
@@ -69,7 +69,7 @@ bool cmAuxSourceDirectoryCommand::InitialPass
std::string fullname = templateDirectory;
fullname += "/";
fullname += file;
- // add the file as a class file so
+ // add the file as a class file so
// depends can be done
cmSourceFile* sf =
this->Makefile->GetOrCreateSource(fullname.c_str());
@@ -83,7 +83,7 @@ bool cmAuxSourceDirectoryCommand::InitialPass
}
}
}
- this->Makefile->AddDefinition(args[1].c_str(), sourceListValue.c_str());
+ this->Makefile->AddDefinition(args[1].c_str(), sourceListValue.c_str());
return true;
}
diff --git a/Source/cmAuxSourceDirectoryCommand.h b/Source/cmAuxSourceDirectoryCommand.h
index f059e4473..8a70f19cb 100644
--- a/Source/cmAuxSourceDirectoryCommand.h
+++ b/Source/cmAuxSourceDirectoryCommand.h
@@ -29,7 +29,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmAuxSourceDirectoryCommand;
}
@@ -45,7 +45,7 @@ public:
* The name of the command as specified in CMakeList.txt.
*/
virtual const char* GetName() const { return "aux_source_directory";}
-
+
/**
* Succinct documentation.
*/
@@ -53,7 +53,7 @@ public:
{
return "Find all source files in a directory.";
}
-
+
/**
* More documentation.
*/
@@ -77,7 +77,7 @@ public:
"one would have to manually rerun CMake to generate a build system "
"incorporating the new file.";
}
-
+
cmTypeMacro(cmAuxSourceDirectoryCommand, cmCommand);
};
diff --git a/Source/cmBreakCommand.h b/Source/cmBreakCommand.h
index 67ef37e9a..17f57cfa1 100644
--- a/Source/cmBreakCommand.h
+++ b/Source/cmBreakCommand.h
@@ -25,7 +25,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmBreakCommand;
}
@@ -46,7 +46,7 @@ public:
* The name of the command as specified in CMakeList.txt.
*/
virtual const char* GetName() const {return "break";}
-
+
/**
* Succinct documentation.
*/
@@ -54,7 +54,7 @@ public:
{
return "Break from an enclosing foreach or while loop.";
}
-
+
/**
* More documentation.
*/
@@ -64,7 +64,7 @@ public:
" break()\n"
"Breaks from an enclosing foreach loop or while loop";
}
-
+
cmTypeMacro(cmBreakCommand, cmCommand);
};
diff --git a/Source/cmBuildCommand.h b/Source/cmBuildCommand.h
index a333c5d95..1bab4536e 100644
--- a/Source/cmBuildCommand.h
+++ b/Source/cmBuildCommand.h
@@ -25,7 +25,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmBuildCommand;
}
diff --git a/Source/cmBuildNameCommand.cxx b/Source/cmBuildNameCommand.cxx
index fa698303c..f95a79eda 100644
--- a/Source/cmBuildNameCommand.cxx
+++ b/Source/cmBuildNameCommand.cxx
@@ -25,7 +25,7 @@ bool cmBuildNameCommand
const char* cacheValue = this->Makefile->GetDefinition(args[0].c_str());
if(cacheValue)
{
- // do we need to correct the value?
+ // do we need to correct the value?
cmsys::RegularExpression reg("[()/]");
if (reg.find(cacheValue))
{
@@ -41,7 +41,7 @@ bool cmBuildNameCommand
return true;
}
-
+
std::string buildname = "WinNT";
if(this->Makefile->GetDefinition("UNIX"))
{
@@ -67,7 +67,7 @@ bool cmBuildNameCommand
"(", "_");
cmSystemTools::ReplaceString(buildname,
")", "_");
-
+
this->Makefile->AddCacheDefinition(args[0].c_str(),
buildname.c_str(),
"Name of build.",
diff --git a/Source/cmCMakeMinimumRequired.cxx b/Source/cmCMakeMinimumRequired.cxx
index 126934ceb..49c585fba 100644
--- a/Source/cmCMakeMinimumRequired.cxx
+++ b/Source/cmCMakeMinimumRequired.cxx
@@ -120,7 +120,7 @@ bool cmCMakeMinimumRequired
{
this->Makefile->SetPolicyVersion(version_string.c_str());
}
-
+
return true;
}
diff --git a/Source/cmCMakeMinimumRequired.h b/Source/cmCMakeMinimumRequired.h
index d23ce79cf..acf28298b 100644
--- a/Source/cmCMakeMinimumRequired.h
+++ b/Source/cmCMakeMinimumRequired.h
@@ -25,7 +25,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmCMakeMinimumRequired;
}
@@ -46,7 +46,7 @@ public:
* The name of the command as specified in CMakeList.txt.
*/
virtual const char* GetName() const {return "cmake_minimum_required";}
-
+
/**
* Succinct documentation.
*/
@@ -54,7 +54,7 @@ public:
{
return "Set the minimum required version of cmake for a project.";
}
-
+
/**
* More documentation.
*/
@@ -77,7 +77,7 @@ public:
"It should be specified so CMake versions 2.4 and lower fail with an "
"error instead of just a warning.";
}
-
+
cmTypeMacro(cmCMakeMinimumRequired, cmCommand);
private:
diff --git a/Source/cmCMakePolicyCommand.h b/Source/cmCMakePolicyCommand.h
index 4f1ed36ad..4f9faa168 100644
--- a/Source/cmCMakePolicyCommand.h
+++ b/Source/cmCMakePolicyCommand.h
@@ -17,8 +17,8 @@
/** \class cmCMakePolicyCommand
* \brief Set how CMake should handle policies
*
- * cmCMakePolicyCommand sets how CMake should deal with backwards
- * compatibility policies.
+ * cmCMakePolicyCommand sets how CMake should deal with backwards
+ * compatibility policies.
*/
class cmCMakePolicyCommand : public cmCommand
{
@@ -26,7 +26,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmCMakePolicyCommand;
}
@@ -47,7 +47,7 @@ public:
* The name of the command as specified in CMakeList.txt.
*/
virtual const char* GetName() const {return "cmake_policy";}
-
+
/**
* Succinct documentation.
*/
@@ -55,7 +55,7 @@ public:
{
return "Manage CMake Policy settings.";
}
-
+
/**
* More documentation.
*/
@@ -129,7 +129,7 @@ public:
"closest nested policy stack entry."
;
}
-
+
cmTypeMacro(cmCMakePolicyCommand, cmCommand);
private:
bool HandleSetMode(std::vector<std::string> const& args);
diff --git a/Source/cmCPluginAPI.cxx b/Source/cmCPluginAPI.cxx
index e23791355..48ae50e42 100644
--- a/Source/cmCPluginAPI.cxx
+++ b/Source/cmCPluginAPI.cxx
@@ -389,7 +389,7 @@ void CCONV cmAddLibrary(void *arg, const char *libname, int shared,
{
srcs2.push_back(srcs[i]);
}
- mf->AddLibrary(libname,
+ mf->AddLibrary(libname,
(shared? cmTarget::SHARED_LIBRARY : cmTarget::STATIC_LIBRARY),
srcs2);
}
@@ -859,13 +859,13 @@ void CCONV cmFree(void *data)
}
void CCONV DefineSourceFileProperty (void *arg, const char *name,
- const char *briefDocs,
+ const char *briefDocs,
const char *longDocs,
int chained)
{
cmMakefile *mf = static_cast<cmMakefile *>(arg);
mf->GetCMakeInstance()->DefineProperty(name,cmProperty::SOURCE_FILE,
- briefDocs, longDocs,
+ briefDocs, longDocs,
chained != 0);
}
diff --git a/Source/cmCPluginAPI.h b/Source/cmCPluginAPI.h
index fd5a4f819..5c832c30e 100644
--- a/Source/cmCPluginAPI.h
+++ b/Source/cmCPluginAPI.h
@@ -168,10 +168,10 @@ typedef struct
/* new functions added after 2.4 */
void *(CCONV *CreateNewSourceFile) (void *mf);
void (CCONV *DefineSourceFileProperty) (void *mf, const char *name,
- const char *briefDocs,
+ const char *briefDocs,
const char *longDocs,
int chained);
-
+
/* this is the end of the C function stub API structure */
} cmCAPI;
diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx
index b5687e39a..a6d04b70d 100644
--- a/Source/cmCTest.cxx
+++ b/Source/cmCTest.cxx
@@ -75,8 +75,8 @@ struct tm* cmCTest::GetNightlyTime(std::string str,
char buf[1024];
// add todays year day and month to the time in str because
// curl_getdate no longer assumes the day is today
- sprintf(buf, "%d%02d%02d %s",
- lctime->tm_year+1900,
+ sprintf(buf, "%d%02d%02d %s",
+ lctime->tm_year+1900,
lctime->tm_mon +1,
lctime->tm_mday,
str.c_str());
@@ -223,7 +223,7 @@ int cmCTest::HTTPRequest(std::string url, HTTPMethod method,
default:
break;
}
-
+
::curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
::curl_easy_setopt(curl, CURLOPT_TIMEOUT, timeout);
::curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);
@@ -237,7 +237,7 @@ int cmCTest::HTTPRequest(std::string url, HTTPMethod method,
::curl_easy_cleanup(curl);
::curl_global_cleanup();
-
+
return static_cast<int>(res);
}
#endif
@@ -300,7 +300,7 @@ cmCTest::cmCTest()
this->ForceNewCTestProcess = false;
this->TomorrowTag = false;
this->Verbose = false;
-
+
this->Debug = false;
this->ShowLineNumbers = false;
this->Quiet = false;
@@ -760,7 +760,7 @@ bool cmCTest::UpdateCTestConfiguration()
}
else
{
- cmCTestLog(this, HANDLER_VERBOSE_OUTPUT, "Parse Config file:"
+ cmCTestLog(this, HANDLER_VERBOSE_OUTPUT, "Parse Config file:"
<< fileName.c_str() << "\n");
// parse the dart test file
std::ifstream fin(fileName.c_str());
@@ -944,7 +944,7 @@ bool cmCTest::AddIfExists(Part part, const char* file)
//----------------------------------------------------------------------
bool cmCTest::CTestFileExists(const std::string& filename)
{
- std::string testingDir = this->BinaryDir + "/Testing/" +
+ std::string testingDir = this->BinaryDir + "/Testing/" +
this->CurrentTag + "/" + filename;
return cmSystemTools::FileExists(testingDir.c_str());
}
@@ -952,7 +952,7 @@ bool cmCTest::CTestFileExists(const std::string& filename)
//----------------------------------------------------------------------
cmCTestGenericHandler* cmCTest::GetInitializedHandler(const char* handler)
{
- cmCTest::t_TestingHandlers::iterator it =
+ cmCTest::t_TestingHandlers::iterator it =
this->TestingHandlers.find(handler);
if ( it == this->TestingHandlers.end() )
{
@@ -965,7 +965,7 @@ cmCTestGenericHandler* cmCTest::GetInitializedHandler(const char* handler)
//----------------------------------------------------------------------
cmCTestGenericHandler* cmCTest::GetHandler(const char* handler)
{
- cmCTest::t_TestingHandlers::iterator it =
+ cmCTest::t_TestingHandlers::iterator it =
this->TestingHandlers.find(handler);
if ( it == this->TestingHandlers.end() )
{
@@ -1314,8 +1314,8 @@ int cmCTest::RunTest(std::vector<const char*> argv,
{
if(argv[i])
{
- // make sure we pass the timeout in for any build and test
- // invocations. Since --build-generator is required this is a
+ // make sure we pass the timeout in for any build and test
+ // invocations. Since --build-generator is required this is a
// good place to check for it, and to add the arguments in
if (strcmp(argv[i],"--build-generator") == 0 && timeout > 0)
{
@@ -1524,18 +1524,18 @@ void cmCTest::StartXML(std::ostream& ostr, bool append)
<< "\tNumberOfPhysicalCPU=\""<< info.GetNumberOfPhysicalCPU() << "\"\n"
<< "\tTotalVirtualMemory=\"" << info.GetTotalVirtualMemory() << "\"\n"
<< "\tTotalPhysicalMemory=\""<< info.GetTotalPhysicalMemory() << "\"\n"
- << "\tLogicalProcessorsPerPhysical=\""
+ << "\tLogicalProcessorsPerPhysical=\""
<< info.GetLogicalProcessorsPerPhysical() << "\"\n"
- << "\tProcessorClockFrequency=\""
- << info.GetProcessorClockFrequency() << "\"\n"
+ << "\tProcessorClockFrequency=\""
+ << info.GetProcessorClockFrequency() << "\"\n"
<< ">" << std::endl;
- this->AddSiteProperties(ostr);
+ this->AddSiteProperties(ostr);
}
//----------------------------------------------------------------------
void cmCTest::AddSiteProperties(std::ostream& ostr)
{
- cmCTestScriptHandler* ch =
+ cmCTestScriptHandler* ch =
static_cast<cmCTestScriptHandler*>(this->GetHandler("script"));
cmake* cm = ch->GetCMake();
// if no CMake then this is the old style script and props like
@@ -1547,9 +1547,9 @@ void cmCTest::AddSiteProperties(std::ostream& ostr)
// This code should go when cdash is changed to use labels only
const char* subproject = cm->GetProperty("SubProject", cmProperty::GLOBAL);
if(subproject)
- {
+ {
ostr << "<Subproject name=\"" << subproject << "\">\n";
- const char* labels =
+ const char* labels =
ch->GetCMake()->GetProperty("SubProjectLabels", cmProperty::GLOBAL);
if(labels)
{
@@ -1566,11 +1566,11 @@ void cmCTest::AddSiteProperties(std::ostream& ostr)
}
ostr << "</Subproject>\n";
}
-
+
// This code should stay when cdash only does label based sub-projects
const char* label = cm->GetProperty("Label", cmProperty::GLOBAL);
if(label)
- {
+ {
ostr << "<Labels>\n";
ostr << " <Label>" << label << "</Label>\n";
ostr << "</Labels>\n";
@@ -1762,7 +1762,7 @@ bool cmCTest::SubmitExtraFiles(const char* cfiles)
//-------------------------------------------------------
-// for a -D argument convert the next argument into
+// for a -D argument convert the next argument into
// the proper list of dashboard steps via SetTest
bool cmCTest::AddTestsForDashboardType(std::string &targ)
{
@@ -1980,9 +1980,9 @@ bool cmCTest::CheckArgument(const std::string& arg, const char* varg1,
//----------------------------------------------------------------------
-// Processes one command line argument (and its arguments if any)
+// Processes one command line argument (and its arguments if any)
// for many simple options and then returns
-void cmCTest::HandleCommandLineArguments(size_t &i,
+void cmCTest::HandleCommandLineArguments(size_t &i,
std::vector<std::string> &args)
{
std::string arg = args[i];
@@ -2031,14 +2031,14 @@ void cmCTest::HandleCommandLineArguments(size_t &i,
i++;
this->SetStopTime(args[i]);
}
-
+
if(this->CheckArgument(arg, "-C", "--build-config") &&
i < args.size() - 1)
{
i++;
this->SetConfigType(args[i].c_str());
}
-
+
if(this->CheckArgument(arg, "--debug"))
{
this->Debug = true;
@@ -2078,7 +2078,7 @@ void cmCTest::HandleCommandLineArguments(size_t &i,
{
this->OutputTestOutputOnTestFailure = true;
}
-
+
if(this->CheckArgument(arg, "-N", "--show-only"))
{
this->ShowOnly = true;
@@ -2118,7 +2118,7 @@ void cmCTest::HandleCommandLineArguments(size_t &i,
this->SubmitIndex = 0;
}
}
-
+
if(this->CheckArgument(arg, "--overwrite") && i < args.size() - 1)
{
i++;
@@ -2171,7 +2171,7 @@ void cmCTest::HandleCommandLineArguments(size_t &i,
this->GetHandler("memcheck")->
SetPersistentOption("ExcludeLabelRegularExpression", args[i].c_str());
}
-
+
if(this->CheckArgument(arg, "-E", "--exclude-regex") &&
i < args.size() - 1)
{
@@ -2180,17 +2180,17 @@ void cmCTest::HandleCommandLineArguments(size_t &i,
SetPersistentOption("ExcludeRegularExpression", args[i].c_str());
this->GetHandler("memcheck")->
SetPersistentOption("ExcludeRegularExpression", args[i].c_str());
- }
+ }
}
//----------------------------------------------------------------------
// handle the -S -SR and -SP arguments
-void cmCTest::HandleScriptArguments(size_t &i,
+void cmCTest::HandleScriptArguments(size_t &i,
std::vector<std::string> &args,
bool &SRArgumentSpecified)
{
std::string arg = args[i];
- if(this->CheckArgument(arg, "-SP", "--script-new-process") &&
+ if(this->CheckArgument(arg, "-SP", "--script-new-process") &&
i < args.size() - 1 )
{
this->RunConfigurationScript = true;
@@ -2203,8 +2203,8 @@ void cmCTest::HandleScriptArguments(size_t &i,
ch->AddConfigurationScript(args[i].c_str(),false);
}
}
-
- if(this->CheckArgument(arg, "-SR", "--script-run") &&
+
+ if(this->CheckArgument(arg, "-SR", "--script-run") &&
i < args.size() - 1 )
{
SRArgumentSpecified = true;
@@ -2214,7 +2214,7 @@ void cmCTest::HandleScriptArguments(size_t &i,
= static_cast<cmCTestScriptHandler*>(this->GetHandler("script"));
ch->AddConfigurationScript(args[i].c_str(),true);
}
-
+
if(this->CheckArgument(arg, "-S", "--script") && i < args.size() - 1 )
{
this->RunConfigurationScript = true;
@@ -2396,7 +2396,7 @@ int cmCTest::Run(std::vector<std::string> &args, std::string* output)
} // the close of the for argument loop
- // now what sould cmake do? if --build-and-test was specified then
+ // now what sould cmake do? if --build-and-test was specified then
// we run the build and test handler and return
if(cmakeAndTest)
{
@@ -2410,7 +2410,7 @@ int cmCTest::Run(std::vector<std::string> &args, std::string* output)
#endif
if(retv != 0)
{
- cmCTestLog(this, DEBUG, "build and test failing returing: " << retv
+ cmCTestLog(this, DEBUG, "build and test failing returing: " << retv
<< std::endl);
}
return retv;
@@ -2438,14 +2438,14 @@ int cmCTest::Run(std::vector<std::string> &args, std::string* output)
res = this->GetHandler("script")->ProcessHandler();
if(res != 0)
{
- cmCTestLog(this, DEBUG, "running script failing returning: " << res
+ cmCTestLog(this, DEBUG, "running script failing returning: " << res
<< std::endl);
}
}
else
{
- // What is this? -V seems to be the same as -VV,
+ // What is this? -V seems to be the same as -VV,
// and Verbose is always on in this case
this->ExtraVerbose = this->Verbose;
this->Verbose = true;
@@ -2472,7 +2472,7 @@ int cmCTest::Run(std::vector<std::string> &args, std::string* output)
}
if(res != 0)
{
- cmCTestLog(this, DEBUG, "Running a test(s) failed returning : " << res
+ cmCTestLog(this, DEBUG, "Running a test(s) failed returning : " << res
<< std::endl);
}
return res;
diff --git a/Source/cmCTest.h b/Source/cmCTest.h
index beffe9e7a..f2638feda 100644
--- a/Source/cmCTest.h
+++ b/Source/cmCTest.h
@@ -93,7 +93,7 @@ public:
*/
static int HTTPRequest(std::string url, HTTPMethod method,
std::string& response,
- std::string fields = "",
+ std::string fields = "",
std::string putFile = "", int timeout = 0);
#endif
@@ -198,13 +198,13 @@ public:
//! base64 encode a file
std::string Base64EncodeFile(std::string file);
- /**
+ /**
* Return the time remaining that the script is allowed to run in
* seconds if the user has set the variable CTEST_TIME_LIMIT. If that has
* not been set it returns 1e7 seconds
*/
double GetRemainingTimeAllowed();
-
+
///! Open file in the output directory and set the stream
bool OpenOutputFile(const std::string& path,
const std::string& name,
@@ -529,11 +529,11 @@ private:
bool AddVariableDefinition(const std::string &arg);
//! parse and process most common command line arguments
- void HandleCommandLineArguments(size_t &i,
+ void HandleCommandLineArguments(size_t &i,
std::vector<std::string> &args);
//! hande the -S -SP and -SR arguments
- void HandleScriptArguments(size_t &i,
+ void HandleScriptArguments(size_t &i,
std::vector<std::string> &args,
bool &SRArgumentSpecified);
diff --git a/Source/cmCacheManager.cxx b/Source/cmCacheManager.cxx
index 47a0e8553..423124340 100644
--- a/Source/cmCacheManager.cxx
+++ b/Source/cmCacheManager.cxx
@@ -267,7 +267,7 @@ bool cmCacheManager::LoadCache(const char* path,
// If the entry is not internal to the cache being loaded
// or if it is in the list of internal entries to be
// imported, load it.
- if ( internal || (e.Type != INTERNAL) ||
+ if ( internal || (e.Type != INTERNAL) ||
(includes.find(entryKey) != includes.end()) )
{
// If we are loading the cache from another project,
@@ -478,7 +478,7 @@ bool cmCacheManager::SaveCache(const char* path)
= this->GetCacheEntry("CMAKE_COMMAND");
if ( cmakeCacheEntry )
{
- fout << "# It was generated by CMake: " <<
+ fout << "# It was generated by CMake: " <<
cmakeCacheEntry->Value << std::endl;
}
@@ -500,10 +500,10 @@ bool cmCacheManager::SaveCache(const char* path)
fout << "########################\n";
fout << "\n";
- for( std::map<cmStdString, CacheEntry>::const_iterator i =
+ for( std::map<cmStdString, CacheEntry>::const_iterator i =
this->Cache.begin(); i != this->Cache.end(); ++i)
{
- const CacheEntry& ce = (*i).second;
+ const CacheEntry& ce = (*i).second;
CacheEntryType t = ce.Type;
if(!ce.Initialized)
{
@@ -641,7 +641,7 @@ void cmCacheManager::OutputHelpString(std::ostream& fout,
std::string::size_type pos = 0;
for (std::string::size_type i=0; i<=end; i++)
{
- if ((i==end)
+ if ((i==end)
|| (helpString[i]=='\n')
|| ((i-pos >= 60) && (helpString[i]==' ')))
{
@@ -700,12 +700,12 @@ void cmCacheManager::PrintCache(std::ostream& out) const
{
out << "=================================================" << std::endl;
out << "CMakeCache Contents:" << std::endl;
- for(std::map<cmStdString, CacheEntry>::const_iterator i =
+ for(std::map<cmStdString, CacheEntry>::const_iterator i =
this->Cache.begin(); i != this->Cache.end(); ++i)
{
if((*i).second.Type != INTERNAL)
{
- out << (*i).first.c_str() << " = " << (*i).second.Value.c_str()
+ out << (*i).first.c_str() << " = " << (*i).second.Value.c_str()
<< std::endl;
}
}
@@ -768,7 +768,7 @@ bool cmCacheManager::CacheIterator::IsAtEnd() const
void cmCacheManager::CacheIterator::Begin()
{
- this->Position = this->Container.Cache.begin();
+ this->Position = this->Container.Cache.begin();
}
bool cmCacheManager::CacheIterator::Find(const char* key)
@@ -781,7 +781,7 @@ void cmCacheManager::CacheIterator::Next()
{
if (!this->IsAtEnd())
{
- ++this->Position;
+ ++this->Position;
}
}
diff --git a/Source/cmCacheManager.h b/Source/cmCacheManager.h
index 9c94d214c..4a5ee450f 100644
--- a/Source/cmCacheManager.h
+++ b/Source/cmCacheManager.h
@@ -22,7 +22,7 @@ class cmake;
* \brief Control class for cmake's cache
*
* Load and Save CMake cache files.
- *
+ *
*/
class cmCacheManager
{
@@ -30,7 +30,7 @@ public:
cmCacheManager(cmake* cm);
class CacheIterator;
friend class cmCacheManager::CacheIterator;
- enum CacheEntryType{ BOOL=0, PATH, FILEPATH, STRING, INTERNAL,STATIC,
+ enum CacheEntryType{ BOOL=0, PATH, FILEPATH, STRING, INTERNAL,STATIC,
UNINITIALIZED };
private:
@@ -57,7 +57,7 @@ public:
bool IsAtEnd() const;
void Next();
const char *GetName() const {
- return this->Position->first.c_str(); }
+ return this->Position->first.c_str(); }
const char* GetProperty(const char*) const ;
bool GetPropertyAsBool(const char*) const ;
bool PropertyExists(const char*) const;
@@ -76,7 +76,7 @@ public:
CacheIterator(cmCacheManager &cm) : Container(cm) {
this->Begin();
}
- CacheIterator(cmCacheManager &cm, const char* key) : Container(cm)
+ CacheIterator(cmCacheManager &cm, const char* key) : Container(cm)
{
if ( key )
{
@@ -87,30 +87,30 @@ public:
CacheEntry const& GetEntry() const { return this->Position->second; }
CacheEntry& GetEntry() { return this->Position->second; }
};
-
+
///! return an iterator to iterate through the cache map
- cmCacheManager::CacheIterator NewIterator()
+ cmCacheManager::CacheIterator NewIterator()
{
return CacheIterator(*this);
- }
-
+ }
+
/**
* Types for the cache entries. These are useful as
* hints for a cache editor program. Path should bring
- * up a file chooser, BOOL a check box, and STRING a
+ * up a file chooser, BOOL a check box, and STRING a
* text entry box, FILEPATH is a full path to a file which
* can be different than just a path input
*/
static CacheEntryType StringToType(const char*);
static const char* TypeToString(CacheEntryType);
static bool IsType(const char*);
-
+
///! Load a cache for given makefile. Loads from ouput home.
- bool LoadCache(cmMakefile*);
+ bool LoadCache(cmMakefile*);
///! Load a cache for given makefile. Loads from path/CMakeCache.txt.
bool LoadCache(const char* path);
bool LoadCache(const char* path, bool internal);
- bool LoadCache(const char* path, bool internal,
+ bool LoadCache(const char* path, bool internal,
std::set<cmStdString>& excludes,
std::set<cmStdString>& includes);
@@ -124,19 +124,19 @@ public:
///! Print the cache to a stream
void PrintCache(std::ostream&) const;
-
+
///! Get the iterator for an entry with a given key.
cmCacheManager::CacheIterator GetCacheIterator(const char *key=0);
-
+
///! Remove an entry from the cache
void RemoveCacheEntry(const char* key);
-
+
///! Get the number of entries in the cache
int GetSize() {
return static_cast<int>(this->Cache.size()); }
-
+
///! Break up a line like VAR:type="value" into var, type and value
- static bool ParseEntry(const char* entry,
+ static bool ParseEntry(const char* entry,
std::string& var,
std::string& value,
CacheEntryType& type);
@@ -154,7 +154,7 @@ public:
protected:
///! Add an entry into the cache
- void AddCacheEntry(const char* key, const char* value,
+ void AddCacheEntry(const char* key, const char* value,
const char* helpString, CacheEntryType type);
///! Get a cache entry object for a key
diff --git a/Source/cmCommand.h b/Source/cmCommand.h
index 4faaee3ac..49f451b58 100644
--- a/Source/cmCommand.h
+++ b/Source/cmCommand.h
@@ -23,8 +23,8 @@
* cmCommand is the base class for all commands in CMake. A command
* manifests as an entry in CMakeLists.txt and produces one or
* more makefile rules. Commands are associated with a particular
- * makefile. This base class cmCommand defines the API for commands
- * to support such features as enable/disable, inheritance,
+ * makefile. This base class cmCommand defines the API for commands
+ * to support such features as enable/disable, inheritance,
* documentation, and construction.
*/
class cmCommand : public cmObject
@@ -35,18 +35,18 @@ public:
/**
* Construct the command. By default it is enabled with no makefile.
*/
- cmCommand()
+ cmCommand()
{this->Makefile = 0; this->Enabled = true;}
/**
* Need virtual destructor to destroy real command type.
*/
virtual ~cmCommand() {}
-
+
/**
* Specify the makefile.
*/
- void SetMakefile(cmMakefile*m)
+ void SetMakefile(cmMakefile*m)
{this->Makefile = m; }
cmMakefile* GetMakefile() { return this->Makefile; }
@@ -87,12 +87,12 @@ public:
* Does this command have a final pass? Query after InitialPass.
*/
virtual bool HasFinalPass() const { return false; }
-
+
/**
* This is a virtual constructor for the command.
*/
virtual cmCommand* Clone() = 0;
-
+
/**
* This determines if the command is invoked when in script mode.
*/
@@ -139,13 +139,13 @@ public:
/**
* Enable the command.
*/
- void EnabledOn()
+ void EnabledOn()
{this->Enabled = true;}
/**
* Disable the command.
*/
- void EnabledOff()
+ void EnabledOff()
{this->Enabled = false;}
/**
@@ -157,13 +157,13 @@ public:
/**
* Disable or enable the command.
*/
- void SetEnabled(bool enabled)
+ void SetEnabled(bool enabled)
{this->Enabled = enabled;}
/**
* Return the last error string.
*/
- const char* GetError()
+ const char* GetError()
{
if(this->Error.length() == 0)
{
diff --git a/Source/cmCommandArgumentLexer.h b/Source/cmCommandArgumentLexer.h
index 828122b9f..2ea3fa29f 100644
--- a/Source/cmCommandArgumentLexer.h
+++ b/Source/cmCommandArgumentLexer.h
@@ -45,7 +45,7 @@
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
- * if you want the limit (max/min) macros for int types.
+ * if you want the limit (max/min) macros for int types.
*/
#ifndef __STDC_LIMIT_MACROS
#define __STDC_LIMIT_MACROS 1
@@ -62,7 +62,7 @@ typedef uint32_t flex_uint32_t;
typedef signed char flex_int8_t;
typedef short int flex_int16_t;
typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t;
+typedef unsigned char flex_uint8_t;
typedef unsigned short int flex_uint16_t;
typedef unsigned int flex_uint32_t;
@@ -192,7 +192,7 @@ struct yy_buffer_state
int yy_bs_lineno; /**< The line count. */
int yy_bs_column; /**< The column count. */
-
+
/* Whether to try to fill the input buffer when we reach the
* end of it.
*/
diff --git a/Source/cmCommandArgumentLexer.in.l b/Source/cmCommandArgumentLexer.in.l
index d10e50d97..fdca61bfa 100644
--- a/Source/cmCommandArgumentLexer.in.l
+++ b/Source/cmCommandArgumentLexer.in.l
@@ -66,43 +66,43 @@ Modify cmCommandArgumentLexer.h:
return cal_ENVCURLY;
}
-\$[A-Za-z0-9/_.+-]+\{ {
+\$[A-Za-z0-9/_.+-]+\{ {
//std::cerr << __LINE__ << " here: [" << yytext << "]" << std::endl;
- yyextra->AllocateParserType(yylvalp, yytext+1, strlen(yytext)-2);
- return cal_NCURLY;
-}
+ yyextra->AllocateParserType(yylvalp, yytext+1, strlen(yytext)-2);
+ return cal_NCURLY;
+}
-@[A-Za-z0-9/_.+-]+@ {
+@[A-Za-z0-9/_.+-]+@ {
//std::cerr << __LINE__ << " here: [" << yytext << "]" << std::endl;
- yyextra->AllocateParserType(yylvalp, yytext+1, strlen(yytext)-2);
- return cal_ATNAME;
-}
+ yyextra->AllocateParserType(yylvalp, yytext+1, strlen(yytext)-2);
+ return cal_ATNAME;
+}
"${" {
//std::cerr << __LINE__ << " here: [" << yytext << "]" << std::endl;
- //yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
+ //yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
yylvalp->str = yyextra->DCURLYVariable;
return cal_DCURLY;
}
"}" {
//std::cerr << __LINE__ << " here: [" << yytext << "]" << std::endl;
- //yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
+ //yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
yylvalp->str = yyextra->RCURLYVariable;
return cal_RCURLY;
}
"@" {
//std::cerr << __LINE__ << " here: [" << yytext << "]" << std::endl;
- //yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
+ //yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
yylvalp->str = yyextra->ATVariable;
return cal_AT;
}
-[A-Za-z0-9/_.+-]+ {
+[A-Za-z0-9/_.+-]+ {
//std::cerr << __LINE__ << " here: [" << yytext << "]" << std::endl;
- yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
- return cal_NAME;
+ yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
+ return cal_NAME;
}
<ESCAPES>\\. {
@@ -110,31 +110,31 @@ Modify cmCommandArgumentLexer.h:
{
return cal_ERROR;
}
- return cal_SYMBOL;
+ return cal_SYMBOL;
}
-[^\${}\\@]+ {
+[^\${}\\@]+ {
//std::cerr << __LINE__ << " here: [" << yytext << "]" << std::endl;
- yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
- return cal_SYMBOL;
+ yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
+ return cal_SYMBOL;
}
"$" {
- //yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
+ //yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
yylvalp->str = yyextra->DOLLARVariable;
- return cal_DOLLAR;
+ return cal_DOLLAR;
}
"{" {
- //yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
+ //yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
yylvalp->str = yyextra->LCURLYVariable;
- return cal_LCURLY;
+ return cal_LCURLY;
}
<ESCAPES>"\\" {
- //yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
+ //yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
yylvalp->str = yyextra->BSLASHVariable;
- return cal_BSLASH;
+ return cal_BSLASH;
}
<NOESCAPES>"\\" {
diff --git a/Source/cmCommandArgumentParserHelper.cxx b/Source/cmCommandArgumentParserHelper.cxx
index a781767e3..2f26b0cd4 100644
--- a/Source/cmCommandArgumentParserHelper.cxx
+++ b/Source/cmCommandArgumentParserHelper.cxx
@@ -61,7 +61,7 @@ char* cmCommandArgumentParserHelper::AddString(const char* str)
return stVal;
}
-char* cmCommandArgumentParserHelper::ExpandSpecialVariable(const char* key,
+char* cmCommandArgumentParserHelper::ExpandSpecialVariable(const char* key,
const char* var)
{
if ( !key )
@@ -163,7 +163,7 @@ char* cmCommandArgumentParserHelper::ExpandVariableForAt(const char* var)
// try to expand the variable
char* ret = this->ExpandVariable(var);
// if the return was 0 and we want to replace empty strings
- // then return an empty string
+ // then return an empty string
if(!ret && this->RemoveEmpty)
{
return this->AddString(ret);
@@ -175,7 +175,7 @@ char* cmCommandArgumentParserHelper::ExpandVariableForAt(const char* var)
}
}
// at this point we want to put it back because of one of these cases:
- // - this->ReplaceAtSyntax is false
+ // - this->ReplaceAtSyntax is false
// - this->ReplaceAtSyntax is true, but this->RemoveEmpty is false,
// and the variable was not defined
std::string ref = "@";
@@ -274,7 +274,7 @@ int cmCommandArgumentParserHelper::ParseString(const char* str, int verb)
this->InputBuffer = str;
this->InputBufferPos = 0;
this->CurrentLine = 0;
-
+
this->Result = "";
yyscan_t yyscanner;
@@ -292,7 +292,7 @@ int cmCommandArgumentParserHelper::ParseString(const char* str, int verb)
if ( Verbose )
{
- std::cerr << "Expanding [" << str << "] produced: ["
+ std::cerr << "Expanding [" << str << "] produced: ["
<< this->Result.c_str() << "]" << std::endl;
}
return 1;
diff --git a/Source/cmCommandArgumentParserHelper.h b/Source/cmCommandArgumentParserHelper.h
index cdb832b5f..f8c672fef 100644
--- a/Source/cmCommandArgumentParserHelper.h
+++ b/Source/cmCommandArgumentParserHelper.h
@@ -66,8 +66,8 @@ public:
void SetNoEscapeMode(bool b) { this->NoEscapeMode = b; }
void SetReplaceAtSyntax(bool b) { this->ReplaceAtSyntax = b; }
void SetRemoveEmpty(bool b) { this->RemoveEmpty = b; }
-
- const char* GetError() { return this->ErrorString.c_str(); }
+
+ const char* GetError() { return this->ErrorString.c_str(); }
char EmptyVariable[1];
char DCURLYVariable[3];
char RCURLYVariable[3];
@@ -102,7 +102,7 @@ private:
std::string ErrorString;
bool NoEscapeMode;
bool ReplaceAtSyntax;
- bool RemoveEmpty;
+ bool RemoveEmpty;
};
#endif
diff --git a/Source/cmCommandArgumentsHelper.cxx b/Source/cmCommandArgumentsHelper.cxx
index d92013788..1d5fc0790 100644
--- a/Source/cmCommandArgumentsHelper.cxx
+++ b/Source/cmCommandArgumentsHelper.cxx
@@ -12,20 +12,20 @@
#include "cmCommandArgumentsHelper.h"
-cmCommandArgument::cmCommandArgument(cmCommandArgumentsHelper* args,
- const char* key,
+cmCommandArgument::cmCommandArgument(cmCommandArgumentsHelper* args,
+ const char* key,
cmCommandArgumentGroup* group)
:Key(key)
,Group(group)
,WasActive(false)
,ArgumentsBeforeEmpty(true)
-,CurrentIndex(0)
+,CurrentIndex(0)
{
if (args!=0)
{
args->AddArgument(this);
}
-
+
if (this->Group!=0)
{
this->Group->ContainedArguments.push_back(this);
@@ -50,7 +50,7 @@ void cmCommandArgument::FollowsGroup(const cmCommandArgumentGroup* group)
if (group!=0)
{
this->ArgumentsBeforeEmpty = false;
- for(std::vector<cmCommandArgument*>::const_iterator
+ for(std::vector<cmCommandArgument*>::const_iterator
argIt= group->ContainedArguments.begin();
argIt != group->ContainedArguments.end();
++argIt)
@@ -67,7 +67,7 @@ bool cmCommandArgument::MayFollow(const cmCommandArgument* current) const
return true;
}
- std::set<const cmCommandArgument*>::const_iterator argIt
+ std::set<const cmCommandArgument*>::const_iterator argIt
= this->ArgumentsBefore.find(current);
if (argIt != this->ArgumentsBefore.end())
{
@@ -90,7 +90,7 @@ void cmCommandArgument::ApplyOwnGroup()
{
if (this->Group!=0)
{
- for (std::vector<cmCommandArgument*>::const_iterator
+ for (std::vector<cmCommandArgument*>::const_iterator
it = this->Group->ContainedArguments.begin();
it != this->Group->ContainedArguments.end();
++it)
@@ -105,7 +105,7 @@ void cmCommandArgument::ApplyOwnGroup()
void cmCommandArgument::Activate()
{
- this->WasActive = true;
+ this->WasActive = true;
this->CurrentIndex = 0;
}
@@ -117,8 +117,8 @@ bool cmCommandArgument::Consume(const std::string& arg)
}
-cmCAStringVector::cmCAStringVector(cmCommandArgumentsHelper* args,
- const char* key,
+cmCAStringVector::cmCAStringVector(cmCommandArgumentsHelper* args,
+ const char* key,
cmCommandArgumentGroup* group)
:cmCommandArgument(args, key, group)
,Ignore(0)
@@ -151,8 +151,8 @@ void cmCAStringVector::DoReset()
this->Vector.clear();
}
-cmCAString::cmCAString(cmCommandArgumentsHelper* args,
- const char* key,
+cmCAString::cmCAString(cmCommandArgumentsHelper* args,
+ const char* key,
cmCommandArgumentGroup* group)
:cmCommandArgument(args, key, group)
{
@@ -181,11 +181,11 @@ void cmCAString::DoReset()
this->String = "";
}
-cmCAEnabler::cmCAEnabler(cmCommandArgumentsHelper* args,
- const char* key,
+cmCAEnabler::cmCAEnabler(cmCommandArgumentsHelper* args,
+ const char* key,
cmCommandArgumentGroup* group)
:cmCommandArgument(args, key, group)
-,Enabled(false)
+,Enabled(false)
{}
bool cmCAEnabler::DoConsume(const std::string&, unsigned int index)
@@ -202,11 +202,11 @@ void cmCAEnabler::DoReset()
this->Enabled = false;
}
-cmCADisabler::cmCADisabler(cmCommandArgumentsHelper* args,
- const char* key,
+cmCADisabler::cmCADisabler(cmCommandArgumentsHelper* args,
+ const char* key,
cmCommandArgumentGroup* group)
:cmCommandArgument(args, key, group)
-,Enabled(true)
+,Enabled(true)
{}
bool cmCADisabler::DoConsume(const std::string&, unsigned int index)
@@ -225,7 +225,7 @@ void cmCADisabler::DoReset()
void cmCommandArgumentGroup::Follows(const cmCommandArgument* arg)
{
- for(std::vector<cmCommandArgument*>::iterator
+ for(std::vector<cmCommandArgument*>::iterator
it = this->ContainedArguments.begin();
it != this->ContainedArguments.end();
++it)
@@ -236,7 +236,7 @@ void cmCommandArgumentGroup::Follows(const cmCommandArgument* arg)
void cmCommandArgumentGroup::FollowsGroup(const cmCommandArgumentGroup* group)
{
- for(std::vector<cmCommandArgument*>::iterator
+ for(std::vector<cmCommandArgument*>::iterator
it = this->ContainedArguments.begin();
it != this->ContainedArguments.end();
++it)
@@ -245,7 +245,7 @@ void cmCommandArgumentGroup::FollowsGroup(const cmCommandArgumentGroup* group)
}
}
-void cmCommandArgumentsHelper::Parse(const std::vector<std::string>* args,
+void cmCommandArgumentsHelper::Parse(const std::vector<std::string>* args,
std::vector<std::string>* unconsumedArgs)
{
if(args==0)
@@ -253,7 +253,7 @@ void cmCommandArgumentsHelper::Parse(const std::vector<std::string>* args,
return;
}
- for(std::vector<cmCommandArgument*>::iterator
+ for(std::vector<cmCommandArgument*>::iterator
argIt = this->Arguments.begin();
argIt != this->Arguments.end();
++argIt)
@@ -268,7 +268,7 @@ void cmCommandArgumentsHelper::Parse(const std::vector<std::string>* args,
it != args->end();
++it)
{
- for(std::vector<cmCommandArgument*>::iterator
+ for(std::vector<cmCommandArgument*>::iterator
argIt = this->Arguments.begin();
argIt != this->Arguments.end();
++argIt)
diff --git a/Source/cmCommandArgumentsHelper.h b/Source/cmCommandArgumentsHelper.h
index 3b0b058fd..f732f8f1d 100644
--- a/Source/cmCommandArgumentsHelper.h
+++ b/Source/cmCommandArgumentsHelper.h
@@ -18,7 +18,7 @@ class cmCommandArgumentsHelper;
class cmCommandArgumentGroup;
/* cmCommandArgumentsHelper, cmCommandArgumentGroup and cmCommandArgument (i.e.
-its derived classes cmCAXXX can be used to simplify the processing of
+its derived classes cmCAXXX can be used to simplify the processing of
arguments to cmake commands. Maybe they can also be used to generate
documentation.
@@ -26,11 +26,11 @@ For every argument supported by a command one cmCommandArgument is created
and added to cmCommandArgumentsHelper. cmCommand has a cmCommandArgumentsHelper
as member variable so this should be used.
-The order of the arguments is defined using the Follows(arg) method. It says
+The order of the arguments is defined using the Follows(arg) method. It says
that this argument follows immediateley the given argument. It can be used
with multiple arguments if the argument can follow after different arguments.
-Arguments can be arranged in groups using cmCommandArgumentGroup. Every
+Arguments can be arranged in groups using cmCommandArgumentGroup. Every
member of a group can follow any other member of the group. These groups
can also be used to define the order.
@@ -42,8 +42,8 @@ For an example see cmExportCommand.cxx.
class cmCommandArgument
{
public:
- cmCommandArgument(cmCommandArgumentsHelper* args,
- const char* key,
+ cmCommandArgument(cmCommandArgumentsHelper* args,
+ const char* key,
cmCommandArgumentGroup* group=0);
virtual ~cmCommandArgument() {}
@@ -56,8 +56,8 @@ class cmCommandArgument
/// Returns true if the argument was found in the argument list
bool WasFound() const {return this->WasActive;}
- // The following methods are only called from
- // cmCommandArgumentsHelper::Parse(), but making this a friend would
+ // The following methods are only called from
+ // cmCommandArgumentsHelper::Parse(), but making this a friend would
// give it access to everything
/// Make the current argument the currently active argument
@@ -89,19 +89,19 @@ class cmCommandArgument
virtual void DoReset() = 0;
};
-/** cmCAStringVector is to be used for arguments which can consist of more
+/** cmCAStringVector is to be used for arguments which can consist of more
than one string, e.g. the FILES argument in INSTALL(FILES f1 f2 f3 ...). */
class cmCAStringVector : public cmCommandArgument
{
public:
- cmCAStringVector(cmCommandArgumentsHelper* args,
- const char* key,
+ cmCAStringVector(cmCommandArgumentsHelper* args,
+ const char* key,
cmCommandArgumentGroup* group=0);
/// Return the vector of strings
const std::vector<std::string>& GetVector() const {return this->Vector;}
- /** Is there a keyword which should be skipped in
+ /** Is there a keyword which should be skipped in
the arguments (e.g. ARGS for ADD_CUSTOM_COMMAND) ? */
void SetIgnore(const char* ignore) {this->Ignore=ignore;}
private:
@@ -118,8 +118,8 @@ e.g. the executable name in ADD_EXECUTABLE(). */
class cmCAString : public cmCommandArgument
{
public:
- cmCAString(cmCommandArgumentsHelper* args,
- const char* key,
+ cmCAString(cmCommandArgumentsHelper* args,
+ const char* key,
cmCommandArgumentGroup* group=0);
/// Return the string
@@ -138,8 +138,8 @@ enabled using a special argument, e.g. EXCLUDE_FROM_ALL in ADD_EXECUTABLE(). */
class cmCAEnabler : public cmCommandArgument
{
public:
- cmCAEnabler(cmCommandArgumentsHelper* args,
- const char* key,
+ cmCAEnabler(cmCommandArgumentsHelper* args,
+ const char* key,
cmCommandArgumentGroup* group=0);
/// Has it been enabled ?
@@ -156,8 +156,8 @@ disabled using a special argument.*/
class cmCADisabler : public cmCommandArgument
{
public:
- cmCADisabler(cmCommandArgumentsHelper* args,
- const char* key,
+ cmCADisabler(cmCommandArgumentsHelper* args,
+ const char* key,
cmCommandArgumentGroup* group=0);
/// Is it still enabled ?
@@ -170,7 +170,7 @@ class cmCADisabler : public cmCommandArgument
};
-/** Group of arguments, needed for ordering. E.g. WIN32, EXCLUDE_FROM_ALL and
+/** Group of arguments, needed for ordering. E.g. WIN32, EXCLUDE_FROM_ALL and
MACSOX_BUNDLE from ADD_EXECUTABLE() are a group.
*/
class cmCommandArgumentGroup
@@ -192,7 +192,7 @@ class cmCommandArgumentsHelper
{
public:
/// Parse the argument list
- void Parse(const std::vector<std::string>* args,
+ void Parse(const std::vector<std::string>* args,
std::vector<std::string>* unconsumedArgs);
/// Add an argument.
void AddArgument(cmCommandArgument* arg);
diff --git a/Source/cmComputeLinkInformation.cxx b/Source/cmComputeLinkInformation.cxx
index df78bf886..cd3ef59a9 100644
--- a/Source/cmComputeLinkInformation.cxx
+++ b/Source/cmComputeLinkInformation.cxx
@@ -1214,7 +1214,7 @@ void cmComputeLinkInformation::AddUserItem(std::string const& item,
{
// if this is a -l option then we might need to warn about
// CMP0003 so put it in OldUserFlagItems, if it is not a -l
- // or -Wl,-l (-framework -pthread), then allow it without a
+ // or -Wl,-l (-framework -pthread), then allow it without a
// CMP0003 as -L will not affect those other linker flags
if(item.find("-l") == 0 || item.find("-Wl,-l") == 0)
{
diff --git a/Source/cmConfigureFileCommand.cxx b/Source/cmConfigureFileCommand.cxx
index ea98326e2..e52ddef35 100644
--- a/Source/cmConfigureFileCommand.cxx
+++ b/Source/cmConfigureFileCommand.cxx
@@ -104,7 +104,7 @@ bool cmConfigureFileCommand
this->Immediate = true;
}
}
-
+
// If we were told to copy the file immediately, then do it on the
// first pass (now).
if(this->Immediate)
@@ -115,7 +115,7 @@ bool cmConfigureFileCommand
return false;
}
}
-
+
return true;
}
diff --git a/Source/cmConfigureFileCommand.h b/Source/cmConfigureFileCommand.h
index de497a952..347174a9e 100644
--- a/Source/cmConfigureFileCommand.h
+++ b/Source/cmConfigureFileCommand.h
@@ -19,7 +19,7 @@ class cmConfigureFileCommand : public cmCommand
public:
cmTypeMacro(cmConfigureFileCommand, cmCommand);
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmConfigureFileCommand;
}
@@ -48,7 +48,7 @@ public:
{
return "Copy a file to another location and modify its contents.";
}
-
+
/**
* Longer documentation.
*/
@@ -93,7 +93,7 @@ public:
private:
int ConfigureFile();
-
+
cmNewLineStyle NewLineStyle;
std::string InputFile;
diff --git a/Source/cmCreateTestSourceList.h b/Source/cmCreateTestSourceList.h
index 806e5a909..3aa0a79cf 100644
--- a/Source/cmCreateTestSourceList.h
+++ b/Source/cmCreateTestSourceList.h
@@ -15,7 +15,7 @@
#include "cmCommand.h"
/** \class cmCreateTestSourceList
- * \brief
+ * \brief
*
*/
@@ -25,7 +25,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmCreateTestSourceList;
}
@@ -41,7 +41,7 @@ public:
* The name of the command as specified in CMakeList.txt.
*/
virtual const char* GetName() const {return "create_test_sourcelist";}
-
+
/**
* Succinct documentation.
*/
@@ -49,7 +49,7 @@ public:
{
return "Create a test driver and source list for building test programs.";
}
-
+
/**
* More documentation.
*/
@@ -81,7 +81,7 @@ public:
"CMAKE_TESTDRIVER_AFTER_TESTMAIN can be set to have code that will be "
"placed directly after the call to the test main function.";
}
-
+
cmTypeMacro(cmCreateTestSourceList, cmCommand);
};
diff --git a/Source/cmCustomCommandGenerator.cxx b/Source/cmCustomCommandGenerator.cxx
index a65012905..07df7d5e0 100644
--- a/Source/cmCustomCommandGenerator.cxx
+++ b/Source/cmCustomCommandGenerator.cxx
@@ -21,7 +21,7 @@ cmCustomCommandGenerator::cmCustomCommandGenerator(
cmCustomCommand const& cc, const char* config, cmMakefile* mf):
CC(cc), Config(config), Makefile(mf), LG(mf->GetLocalGenerator()),
OldStyle(cc.GetEscapeOldStyle()), MakeVars(cc.GetEscapeAllowMakeVars()),
- GE(new cmGeneratorExpression(mf, config, cc.GetBacktrace()))
+ GE(new cmGeneratorExpression(cc.GetBacktrace()))
{
}
@@ -47,7 +47,7 @@ std::string cmCustomCommandGenerator::GetCommand(unsigned int c) const
{
return target->GetLocation(this->Config);
}
- return this->GE->Process(argv0);
+ return this->GE->Parse(argv0).Evaluate(this->Makefile, this->Config);
}
//----------------------------------------------------------------------------
@@ -58,7 +58,8 @@ cmCustomCommandGenerator
cmCustomCommandLine const& commandLine = this->CC.GetCommandLines()[c];
for(unsigned int j=1;j < commandLine.size(); ++j)
{
- std::string arg = this->GE->Process(commandLine[j]);
+ std::string arg = this->GE->Parse(commandLine[j]).Evaluate(this->Makefile,
+ this->Config);
cmd += " ";
if(this->OldStyle)
{
diff --git a/Source/cmDefinePropertyCommand.h b/Source/cmDefinePropertyCommand.h
index 55ef52137..b5175d50b 100644
--- a/Source/cmDefinePropertyCommand.h
+++ b/Source/cmDefinePropertyCommand.h
@@ -17,7 +17,7 @@
class cmDefinePropertyCommand : public cmCommand
{
public:
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmDefinePropertyCommand;
}
@@ -41,7 +41,7 @@ public:
{
return "Define and document custom properties.";
}
-
+
/**
* Longer documentation.
*/
@@ -80,7 +80,7 @@ public:
"Corresponding options to the get_property command will retrieve the "
"documentation.";
}
-
+
cmTypeMacro(cmDefinePropertyCommand, cmCommand);
private:
std::string PropertyName;
diff --git a/Source/cmDepends.cxx b/Source/cmDepends.cxx
index 9296d4cca..166a58461 100644
--- a/Source/cmDepends.cxx
+++ b/Source/cmDepends.cxx
@@ -98,7 +98,7 @@ bool cmDepends::Check(const char *makeFile, const char *internalFile,
// Check whether dependencies must be regenerated.
bool okay = true;
std::ifstream fin(internalFile);
- if(!(fin && this->CheckDependencies(fin, validDeps)))
+ if(!(fin && this->CheckDependencies(fin, internalFile, validDeps)))
{
// Clear all dependencies so they will be regenerated.
this->Clear(makeFile);
@@ -143,6 +143,7 @@ bool cmDepends::WriteDependencies(const char*, const char*,
//----------------------------------------------------------------------------
bool cmDepends::CheckDependencies(std::istream& internalDepends,
+ const char* internalDependsFileName,
std::map<std::string, DependencyVector>& validDeps)
{
// Parse dependencies from the stream. If any dependee is missing
@@ -154,7 +155,7 @@ bool cmDepends::CheckDependencies(std::istream& internalDepends,
while(internalDepends.getline(this->Dependee, this->MaxPath))
{
- if ( this->Dependee[0] == 0 || this->Dependee[0] == '#' ||
+ if ( this->Dependee[0] == 0 || this->Dependee[0] == '#' ||
this->Dependee[0] == '\r' )
{
continue;
@@ -186,8 +187,11 @@ bool cmDepends::CheckDependencies(std::istream& internalDepends,
}
*/
- // Dependencies must be regenerated if the dependee does not exist
- // or if the depender exists and is older than the dependee.
+ // Dependencies must be regenerated
+ // * if the dependee does not exist
+ // * if the depender exists and is older than the dependee.
+ // * if the depender does not exist, but the dependee is newer than the
+ // depends file
bool regenerate = false;
const char* dependee = this->Dependee+1;
const char* depender = this->Depender;
@@ -211,24 +215,49 @@ bool cmDepends::CheckDependencies(std::istream& internalDepends,
cmSystemTools::Stdout(msg.str().c_str());
}
}
- else if(dependerExists)
+ else
{
- // The dependee and depender both exist. Compare file times.
- int result = 0;
- if((!this->FileComparison->FileTimeCompare(depender, dependee,
- &result) || result < 0))
+ if(dependerExists)
{
- // The depender is older than the dependee.
- regenerate = true;
+ // The dependee and depender both exist. Compare file times.
+ int result = 0;
+ if((!this->FileComparison->FileTimeCompare(depender, dependee,
+ &result) || result < 0))
+ {
+ // The depender is older than the dependee.
+ regenerate = true;
- // Print verbose output.
- if(this->Verbose)
+ // Print verbose output.
+ if(this->Verbose)
+ {
+ cmOStringStream msg;
+ msg << "Dependee \"" << dependee
+ << "\" is newer than depender \""
+ << depender << "\"." << std::endl;
+ cmSystemTools::Stdout(msg.str().c_str());
+ }
+ }
+ }
+ else
+ {
+ // The dependee exists, but the depender doesn't. Regenerate if the
+ // internalDepends file is older than the dependee.
+ int result = 0;
+ if((!this->FileComparison->FileTimeCompare(internalDependsFileName,
+ dependee, &result) || result < 0))
{
- cmOStringStream msg;
- msg << "Dependee \"" << dependee
- << "\" is newer than depender \""
- << depender << "\"." << std::endl;
- cmSystemTools::Stdout(msg.str().c_str());
+ // The depends-file is older than the dependee.
+ regenerate = true;
+
+ // Print verbose output.
+ if(this->Verbose)
+ {
+ cmOStringStream msg;
+ msg << "Dependee \"" << dependee
+ << "\" is newer than depends file \""
+ << internalDependsFileName << "\"." << std::endl;
+ cmSystemTools::Stdout(msg.str().c_str());
+ }
}
}
}
diff --git a/Source/cmDepends.h b/Source/cmDepends.h
index 087da6400..f7dc8811e 100644
--- a/Source/cmDepends.h
+++ b/Source/cmDepends.h
@@ -30,7 +30,7 @@ public:
/** Instances need to know the build directory name and the relative
path from the build directory to the target file. */
cmDepends(cmLocalGenerator* lg=0, const char* targetDir="");
-
+
/** at what level will the compile be done from */
void SetCompileDirectory(const char *dir) {this->CompileDirectory = dir;};
@@ -48,7 +48,7 @@ public:
/** should this be verbose in its output */
void SetVerbose(bool verb) { this->Verbose = verb; }
-
+
/** Virtual destructor to cleanup subclasses properly. */
virtual ~cmDepends();
@@ -69,7 +69,7 @@ public:
void Clear(const char *file);
/** Set the file comparison object */
- void SetFileComparison(cmFileTimeComparison* fc) {
+ void SetFileComparison(cmFileTimeComparison* fc) {
this->FileComparison = fc; }
protected:
@@ -83,6 +83,7 @@ protected:
// Return false if dependencies must be regenerated and true
// otherwise.
virtual bool CheckDependencies(std::istream& internalDepends,
+ const char* internalDependsFileName,
std::map<std::string, DependencyVector>& validDeps);
// Finalize the dependency information for the target.
diff --git a/Source/cmDependsFortran.cxx b/Source/cmDependsFortran.cxx
index c1b60905d..3e660587d 100644
--- a/Source/cmDependsFortran.cxx
+++ b/Source/cmDependsFortran.cxx
@@ -889,7 +889,7 @@ bool cmDependsFortran::FindIncludeFile(const char* dir,
}
// Search the include path for the file.
- for(std::vector<std::string>::const_iterator i =
+ for(std::vector<std::string>::const_iterator i =
this->IncludePath.begin(); i != this->IncludePath.end(); ++i)
{
fullName = *i;
diff --git a/Source/cmDependsJava.cxx b/Source/cmDependsJava.cxx
index 1d849145c..ba0e8fbe6 100644
--- a/Source/cmDependsJava.cxx
+++ b/Source/cmDependsJava.cxx
@@ -38,7 +38,7 @@ bool cmDependsJava::WriteDependencies(const char *src, const char *,
return true;
}
-bool cmDependsJava::CheckDependencies(std::istream&,
+bool cmDependsJava::CheckDependencies(std::istream&, const char*,
std::map<std::string, DependencyVector >&)
{
return true;
diff --git a/Source/cmDependsJava.h b/Source/cmDependsJava.h
index fe6fef50d..bf7e234dc 100644
--- a/Source/cmDependsJava.h
+++ b/Source/cmDependsJava.h
@@ -32,7 +32,8 @@ protected:
virtual bool WriteDependencies(const char *src, const char *file,
std::ostream& makeDepends, std::ostream& internalDepends);
virtual bool CheckDependencies(std::istream& internalDepends,
- std::map<std::string, DependencyVector >& validDeps);
+ const char* internalDependsFileName,
+ std::map<std::string, DependencyVector>& validDeps);
private:
cmDependsJava(cmDependsJava const&); // Purposely not implemented.
diff --git a/Source/cmDependsJavaLexer.h b/Source/cmDependsJavaLexer.h
index 09c19bfff..61aa66de2 100644
--- a/Source/cmDependsJavaLexer.h
+++ b/Source/cmDependsJavaLexer.h
@@ -58,7 +58,7 @@ typedef uint32_t flex_uint32_t;
typedef signed char flex_int8_t;
typedef short int flex_int16_t;
typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t;
+typedef unsigned char flex_uint8_t;
typedef unsigned short int flex_uint16_t;
typedef unsigned int flex_uint32_t;
#endif /* ! C99 */
@@ -188,7 +188,7 @@ struct yy_buffer_state
int yy_bs_lineno; /**< The line count. */
int yy_bs_column; /**< The column count. */
-
+
/* Whether to try to fill the input buffer when we reach the
* end of it.
*/
diff --git a/Source/cmDependsJavaLexer.in.l b/Source/cmDependsJavaLexer.in.l
index aae7ec658..9796ad52a 100644
--- a/Source/cmDependsJavaLexer.in.l
+++ b/Source/cmDependsJavaLexer.in.l
@@ -171,18 +171,18 @@ null { PRIMITIVE; return jp_NULLLITERAL; }
"\*" { SYMBOL; return jp_TIMES; }
"\*=" { SYMBOL; return jp_TIMESEQUALS; }
-[a-z_A-Z][a-z_0-9A-Z]* {
- yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
- return jp_NAME;
+[a-z_A-Z][a-z_0-9A-Z]* {
+ yyextra->AllocateParserType(yylvalp, yytext, strlen(yytext));
+ return jp_NAME;
}
\/\/.*\n { }
[ \f\t\n\r] { }
-. {
- std::cerr << "Unknown character: " << yytext[0]
- << " (" << (int)yytext[0] << ")" << std::endl;
- yyextra->Error("Unknown character");
- return jp_ERROR;
+. {
+ std::cerr << "Unknown character: " << yytext[0]
+ << " (" << (int)yytext[0] << ")" << std::endl;
+ yyextra->Error("Unknown character");
+ return jp_ERROR;
}
%%
diff --git a/Source/cmDependsJavaParserHelper.cxx b/Source/cmDependsJavaParserHelper.cxx
index 7b595cc1f..6136baa84 100644
--- a/Source/cmDependsJavaParserHelper.cxx
+++ b/Source/cmDependsJavaParserHelper.cxx
@@ -35,7 +35,7 @@ cmDependsJavaParserHelper::~cmDependsJavaParserHelper()
}
void cmDependsJavaParserHelper::CurrentClass
-::AddFileNamesForPrinting(std::vector<cmStdString> *files,
+::AddFileNamesForPrinting(std::vector<cmStdString> *files,
const char* prefix, const char* sep)
{
cmStdString rname = "";
@@ -103,7 +103,7 @@ void cmDependsJavaParserHelper::AddPackagesImport(const char* sclass)
this->PackagesImport.push_back(sclass);
}
-void cmDependsJavaParserHelper::SafePrintMissing(const char* str,
+void cmDependsJavaParserHelper::SafePrintMissing(const char* str,
int line, int cnt)
{
if ( str )
@@ -134,7 +134,7 @@ void cmDependsJavaParserHelper::Print(const char* place, const char* str)
}
}
-void cmDependsJavaParserHelper::CombineUnions(char** out,
+void cmDependsJavaParserHelper::CombineUnions(char** out,
const char* in1, char** in2,
const char* sep)
{
@@ -193,7 +193,7 @@ void cmDependsJavaParserHelper
}
void cmDependsJavaParserHelper
-::AllocateParserType(cmDependsJavaParserHelper::ParserType* pt,
+::AllocateParserType(cmDependsJavaParserHelper::ParserType* pt,
const char* str, int len)
{
pt->str = 0;
@@ -270,7 +270,7 @@ std::vector<cmStdString> cmDependsJavaParserHelper::GetFilesProduced()
std::vector<cmStdString> files;
CurrentClass* toplevel = &(*(this->ClassStack.begin()));
std::vector<CurrentClass>::iterator it;
- for ( it = toplevel->NestedClasses->begin();
+ for ( it = toplevel->NestedClasses->begin();
it != toplevel->NestedClasses->end();
++ it )
{
@@ -289,7 +289,7 @@ int cmDependsJavaParserHelper::ParseString(const char* str, int verb)
this->InputBuffer = str;
this->InputBufferPos = 0;
this->CurrentLine = 0;
-
+
yyscan_t yyscanner;
cmDependsJava_yylex_init(&yyscanner);
@@ -306,7 +306,7 @@ int cmDependsJavaParserHelper::ParseString(const char* str, int verb)
{
if ( this->CurrentPackage.size() > 0 )
{
- std::cout << "Current package is: " <<
+ std::cout << "Current package is: " <<
this->CurrentPackage.c_str() << std::endl;
}
std::cout << "Imports packages:";
@@ -337,7 +337,7 @@ int cmDependsJavaParserHelper::ParseString(const char* str, int verb)
this->PrintClasses();
if ( this->UnionsAvailable != 0 )
{
- std::cout << "There are still " <<
+ std::cout << "There are still " <<
this->UnionsAvailable << " unions available" << std::endl;
}
}
@@ -348,13 +348,13 @@ int cmDependsJavaParserHelper::ParseString(const char* str, int verb)
void cmDependsJavaParserHelper::CleanupParser()
{
std::vector<char*>::iterator it;
- for ( it = this->Allocates.begin();
+ for ( it = this->Allocates.begin();
it != this->Allocates.end();
++ it )
{
delete [] *it;
}
- this->Allocates.erase(this->Allocates.begin(),
+ this->Allocates.erase(this->Allocates.begin(),
this->Allocates.end());
}
@@ -382,11 +382,11 @@ int cmDependsJavaParserHelper::LexInput(char* buf, int maxlen)
void cmDependsJavaParserHelper::Error(const char* str)
{
unsigned long pos = static_cast<unsigned long>(this->InputBufferPos);
- fprintf(stderr, "JPError: %s (%lu / Line: %d)\n",
+ fprintf(stderr, "JPError: %s (%lu / Line: %d)\n",
str, pos, this->CurrentLine);
int cc;
std::cerr << "String: [";
- for ( cc = 0;
+ for ( cc = 0;
cc < 30 && *(this->InputBuffer.c_str() + this->InputBufferPos + cc);
cc ++ )
{
@@ -395,7 +395,7 @@ void cmDependsJavaParserHelper::Error(const char* str)
std::cerr << "]" << std::endl;
}
-void cmDependsJavaParserHelper::UpdateCombine(const char* str1,
+void cmDependsJavaParserHelper::UpdateCombine(const char* str1,
const char* str2)
{
if ( this->CurrentCombine == "" && str1 != 0)
diff --git a/Source/cmDependsJavaParserHelper.h b/Source/cmDependsJavaParserHelper.h
index baecab378..9807a048c 100644
--- a/Source/cmDependsJavaParserHelper.h
+++ b/Source/cmDependsJavaParserHelper.h
@@ -9,7 +9,7 @@
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the License for more information.
============================================================================*/
-#ifndef cmDependsJavaParserHelper_h
+#ifndef cmDependsJavaParserHelper_h
#define cmDependsJavaParserHelper_h
#include "cmStandardIncludes.h"
@@ -39,7 +39,7 @@ public:
int ParseFile(const char* file);
// For the lexer:
- void AllocateParserType(cmDependsJavaParserHelper::ParserType* pt,
+ void AllocateParserType(cmDependsJavaParserHelper::ParserType* pt,
const char* str, int len = 0);
int LexInput(char* buf, int maxlen);
@@ -69,7 +69,7 @@ private:
public:
cmStdString Name;
std::vector<CurrentClass>* NestedClasses;
- CurrentClass()
+ CurrentClass()
{
this->NestedClasses = new std::vector<CurrentClass>;
}
@@ -77,7 +77,7 @@ private:
{
delete this->NestedClasses;
}
- CurrentClass& operator=(CurrentClass const& c)
+ CurrentClass& operator=(CurrentClass const& c)
{
this->NestedClasses->clear();
this->Name = c.Name;
@@ -93,7 +93,7 @@ private:
{
(*this) = c;
}
- void AddFileNamesForPrinting(std::vector<cmStdString> *files,
+ void AddFileNamesForPrinting(std::vector<cmStdString> *files,
const char* prefix, const char* sep);
};
cmStdString CurrentPackage;
@@ -117,7 +117,7 @@ private:
void PrintClasses();
void Print(const char* place, const char* str);
- void CombineUnions(char** out, const char* in1, char** in2,
+ void CombineUnions(char** out, const char* in1, char** in2,
const char* sep);
void SafePrintMissing(const char* str, int line, int cnt);
diff --git a/Source/cmDocumentGeneratorExpressions.h b/Source/cmDocumentGeneratorExpressions.h
index 535901397..445fd0e12 100644
--- a/Source/cmDocumentGeneratorExpressions.h
+++ b/Source/cmDocumentGeneratorExpressions.h
@@ -12,11 +12,20 @@
#ifndef cmDocumentGeneratorExpressions_h
#define cmDocumentGeneratorExpressions_h
-#define CM_DOCUMENT_COMMAND_GENERATOR_EXPRESSIONS \
+#define CM_DOCUMENT_ADD_TEST_GENERATOR_EXPRESSIONS \
"Generator expressions are evaluted during build system generation " \
"to produce information specific to each build configuration. " \
"Valid expressions are:\n" \
+ " $<0:...> = empty string (ignores \"...\")\n" \
+ " $<1:...> = content of \"...\"\n" \
+ " $<CONFIG:cfg> = '1' if config is \"cfg\", else '0'\n" \
" $<CONFIGURATION> = configuration name\n" \
+ " $<BOOL:...> = '1' if the '...' is true, else '0'\n" \
+ " $<STREQUAL:a,b> = '1' if a is STREQUAL b, else '0'\n" \
+ " $<ANGLE-R> = A literal '>'. Used to compare " \
+ "strings which contain a '>' for example.\n" \
+ " $<COMMA> = A literal ','. Used to compare " \
+ "strings which contain a ',' for example.\n" \
" $<TARGET_FILE:tgt> = main file (.exe, .so.1.2, .a)\n" \
" $<TARGET_LINKER_FILE:tgt> = file used to link (.a, .lib, .so)\n" \
" $<TARGET_SONAME_FILE:tgt> = file with soname (.so.3)\n" \
@@ -25,6 +34,23 @@
"versions can produce the directory and file name components:\n" \
" $<TARGET_FILE_DIR:tgt>/$<TARGET_FILE_NAME:tgt>\n" \
" $<TARGET_LINKER_FILE_DIR:tgt>/$<TARGET_LINKER_FILE_NAME:tgt>\n" \
- " $<TARGET_SONAME_FILE_DIR:tgt>/$<TARGET_SONAME_FILE_NAME:tgt>\n"
+ " $<TARGET_SONAME_FILE_DIR:tgt>/$<TARGET_SONAME_FILE_NAME:tgt>\n" \
+ "\n" \
+ " $<TARGET_PROPERTY:tgt,prop> = The value of the property prop\n" \
+ "on the target tgt. Note that tgt is not added as a dependency of\n" \
+ "the target this expression is evaluated on.\n" \
+ "Boolean expressions:\n" \
+ " $<AND:?[,?]...> = '1' if all '?' are '1', else '0'\n" \
+ " $<OR:?[,?]...> = '0' if all '?' are '0', else '1'\n" \
+ " $<NOT:?> = '0' if '?' is '1', else '1'\n" \
+ "where '?' is always either '0' or '1'.\n" \
+ ""
+
+#define CM_DOCUMENT_COMMAND_GENERATOR_EXPRESSIONS \
+ CM_DOCUMENT_ADD_TEST_GENERATOR_EXPRESSIONS \
+ "Expressions with an implicit 'this' target:\n" \
+ " $<TARGET_PROPERTY:prop> = The value of the property prop on\n" \
+ "the target on which the generator expression is evaluated.\n" \
+ ""
#endif
diff --git a/Source/cmDocumentLocationUndefined.h b/Source/cmDocumentLocationUndefined.h
index d1be77abf..9aecf2163 100644
--- a/Source/cmDocumentLocationUndefined.h
+++ b/Source/cmDocumentLocationUndefined.h
@@ -16,8 +16,8 @@
"\n" \
"Do not set properties that affect the location of a target after " \
action ". These include properties whose names match " \
- "\"(RUNTIME|LIBRARY|ARCHIVE)_OUTPUT_(NAME|DIRECTORY)(_<CONFIG>)?\" " \
- "or \"(IMPLIB_)?(PREFIX|SUFFIX)\". " \
+ "\"(RUNTIME|LIBRARY|ARCHIVE)_OUTPUT_(NAME|DIRECTORY)(_<CONFIG>)?\", " \
+ "\"(IMPLIB_)?(PREFIX|SUFFIX)\", or \"LINKER_LANGUAGE\". " \
"Failure to follow this rule is not diagnosed and leaves the location " \
"of the target undefined."
diff --git a/Source/cmDocumentVariables.cxx b/Source/cmDocumentVariables.cxx
index 77aaffcba..8db0e8f53 100644
--- a/Source/cmDocumentVariables.cxx
+++ b/Source/cmDocumentVariables.cxx
@@ -1,6 +1,8 @@
#include "cmDocumentVariables.h"
#include "cmake.h"
+#include <cmsys/ios/sstream>
+
void cmDocumentVariables::DefineVariables(cmake* cm)
{
// Subsection: variables defined by cmake, that give
@@ -283,6 +285,16 @@ void cmDocumentVariables::DefineVariables(cmake* cm)
"see CMAKE_BUILD_TOOL.",false,
"Variables that Provide Information");
cm->DefineProperty
+ ("CMAKE_VS_PLATFORM_TOOLSET", cmProperty::VARIABLE,
+ "Visual Studio Platform Toolset name.",
+ "VS 10 and above use MSBuild under the hood and support multiple "
+ "compiler toolchains. "
+ "CMake may specify a toolset explicitly, such as \"v110\" for "
+ "VS 11 or \"Windows7.1SDK\" for 64-bit support in VS 10 Express. "
+ "CMake provides the name of the chosen toolset in this variable."
+ ,false,
+ "Variables that Provide Information");
+ cm->DefineProperty
("CMAKE_MINOR_VERSION", cmProperty::VARIABLE,
"The Minor version of cmake (i.e. the 4 in X.4.X).",
"This specifies the minor version of the CMake"
@@ -373,12 +385,6 @@ void cmDocumentVariables::DefineVariables(cmake* cm)
"into all executables and libraries.",false,
"Variables that Provide Information");
cm->DefineProperty
- ("CMAKE_USING_VC_FREE_TOOLS", cmProperty::VARIABLE,
- "True if free visual studio tools being used.",
- "This is set to true if the compiler is Visual "
- "Studio free tools.",false,
- "Variables that Provide Information");
- cm->DefineProperty
("CMAKE_VERBOSE_MAKEFILE", cmProperty::VARIABLE,
"Create verbose makefiles if on.",
"This variable defaults to false. You can set "
@@ -595,7 +601,21 @@ void cmDocumentVariables::DefineVariables(cmake* cm)
"If \"make install\" is invoked or INSTALL is built"
", this directory is pre-pended onto all install "
"directories. This variable defaults to /usr/local"
- " on UNIX and c:/Program Files on Windows.",false,
+ " on UNIX and c:/Program Files on Windows.\n"
+ "On UNIX one can use the DESTDIR mechanism in order"
+ " to relocate the whole installation. "
+ "DESTDIR means DESTination DIRectory. It is "
+ "commonly used by makefile users "
+ "in order to install software at non-default location. "
+ "It is usually invoked like this:\n"
+ " make DESTDIR=/home/john install\n"
+ "which will install the concerned software using the"
+ " installation prefix, e.g. \"/usr/local\" pre-pended with "
+ "the DESTDIR value which finally gives \"/home/john/usr/local\".\n"
+ "WARNING: DESTDIR may not be used on Windows because installation"
+ " prefix usually contains a drive letter like in \"C:/Program Files\""
+ " which cannot be pre-pended with some other prefix."
+ ,false,
"Variables That Change Behavior");
cm->DefineProperty
@@ -681,7 +701,8 @@ void cmDocumentVariables::DefineVariables(cmake* cm)
cm->DefineProperty
("CMAKE_SYSTEM_IGNORE_PATH", cmProperty::VARIABLE,
"Path to be ignored by FIND_XXX() commands.",
- "Specifies directories to be ignored by searches in FIND_XXX() commands "
+ "Specifies directories to be ignored by searches in FIND_XXX() "
+ "commands. "
"This is useful in cross-compiled environments where some system "
"directories contain incompatible but possibly linkable libraries. For "
"example, on cross-compiled cluster environments, this allows a user to "
@@ -696,7 +717,8 @@ void cmDocumentVariables::DefineVariables(cmake* cm)
cm->DefineProperty
("CMAKE_IGNORE_PATH", cmProperty::VARIABLE,
"Path to be ignored by FIND_XXX() commands.",
- "Specifies directories to be ignored by searches in FIND_XXX() commands "
+ "Specifies directories to be ignored by searches in FIND_XXX() "
+ "commands. "
"This is useful in cross-compiled environments where some system "
"directories contain incompatible but possibly linkable libraries. For "
"example, on cross-compiled cluster environments, this allows a user to "
@@ -827,13 +849,13 @@ void cmDocumentVariables::DefineVariables(cmake* cm)
"Tell cmake to use MFC for an executable or dll.",
"This can be set in a CMakeLists.txt file and will "
"enable MFC in the application. It should be set "
- "to 1 for static the static MFC library, and 2 for "
- "the shared MFC library. This is used in visual "
- "studio 6 and 7 project files. The CMakeSetup "
+ "to 1 for the static MFC library, and 2 for "
+ "the shared MFC library. This is used in Visual "
+ "Studio 6 and 7 project files. The CMakeSetup "
"dialog used MFC and the CMakeLists.txt looks like this:\n"
- "add_definitions(-D_AFXDLL)\n"
- "set(CMAKE_MFC_FLAG 2)\n"
- "add_executable(CMakeSetup WIN32 ${SRCS})\n",false,
+ " add_definitions(-D_AFXDLL)\n"
+ " set(CMAKE_MFC_FLAG 2)\n"
+ " add_executable(CMakeSetup WIN32 ${SRCS})\n",false,
"Variables That Change Behavior");
cm->DefineProperty
@@ -974,12 +996,33 @@ void cmDocumentVariables::DefineVariables(cmake* cm)
false,
"Variables That Describe the System");
- cm->DefineProperty
- ("MSVC80", cmProperty::VARIABLE,
- "True when using Microsoft Visual C 8.0",
- "Set to true when the compiler is version 8.0 of Microsoft Visual C.",
- false,
- "Variables That Describe the System");
+ int msvc_versions[] = { 60, 70, 71, 80, 90, 100, 110, 0 };
+ for (int i = 0; msvc_versions[i] != 0; i ++)
+ {
+ const char minor = (char)('0' + (msvc_versions[i] % 10));
+ cmStdString varName = "MSVC";
+ cmsys_ios::ostringstream majorStr;
+
+ majorStr << (msvc_versions[i] / 10);
+ varName += majorStr.str();
+ if (msvc_versions[i] < 100)
+ {
+ varName += minor;
+ }
+
+ cmStdString verString = majorStr.str() + "." + minor;
+
+ cmStdString shortStr = "True when using Microsoft Visual C " + verString;
+ cmStdString fullStr = "Set to true when the compiler is version " +
+ verString +
+ " of Microsoft Visual C.";
+ cm->DefineProperty
+ (varName.c_str(), cmProperty::VARIABLE,
+ shortStr.c_str(),
+ fullStr.c_str(),
+ false,
+ "Variables That Describe the System");
+ }
cm->DefineProperty
("MSVC_IDE", cmProperty::VARIABLE,
@@ -999,6 +1042,7 @@ void cmDocumentVariables::DefineVariables(cmake* cm)
" 1400 = VS 8.0\n"
" 1500 = VS 9.0\n"
" 1600 = VS 10.0\n"
+ " 1700 = VS 11.0\n"
"",
false,
"Variables That Describe the System");
@@ -1169,6 +1213,15 @@ void cmDocumentVariables::DefineVariables(cmake* cm)
"Variables that Control the Build");
cm->DefineProperty
+ ("CMAKE_PDB_OUTPUT_DIRECTORY", cmProperty::VARIABLE,
+ "Where to put all the MS debug symbol files.",
+ "This variable is used to initialize the "
+ "PDB_OUTPUT_DIRECTORY property on all the targets. "
+ "See that target property for additional information.",
+ false,
+ "Variables that Control the Build");
+
+ cm->DefineProperty
("CMAKE_AUTOMOC", cmProperty::VARIABLE,
"Whether to handle moc automatically for Qt targets.",
"This variable is used to initialize the "
@@ -1351,7 +1404,7 @@ void cmDocumentVariables::DefineVariables(cmake* cm)
false,
"Variables that Control the Build");
cm->DefineProperty
- ("CMAKE_POSITION_INDEPENDENT_FLAGS", cmProperty::VARIABLE,
+ ("CMAKE_POSITION_INDEPENDENT_CODE", cmProperty::VARIABLE,
"Default value for POSITION_INDEPENDENT_CODE of targets.",
"This variable is used to initialize the "
"POSITION_INDEPENDENT_CODE property on all the targets. "
@@ -1381,8 +1434,30 @@ void cmDocumentVariables::DefineVariables(cmake* cm)
cm->DefineProperty
("CMAKE_<LANG>_COMPILER_ID", cmProperty::VARIABLE,
- "An internal variable subject to change.",
- "This is used in determining the compiler and is subject to change.",
+ "Compiler identification string.",
+ "A short string unique to the compiler vendor. "
+ "Possible values include:\n"
+ " Absoft = Absoft Fortran (absoft.com)\n"
+ " ADSP = Analog VisualDSP++ (analog.com)\n"
+ " Clang = LLVM Clang (clang.llvm.org)\n"
+ " Cray = Cray Compiler (cray.com)\n"
+ " Embarcadero, Borland = Embarcadero (embarcadero.com)\n"
+ " G95 = G95 Fortran (g95.org)\n"
+ " GNU = GNU Compiler Collection (gcc.gnu.org)\n"
+ " HP = Hewlett-Packard Compiler (hp.com)\n"
+ " Intel = Intel Compiler (intel.com)\n"
+ " MIPSpro = SGI MIPSpro (sgi.com)\n"
+ " MSVC = Microsoft Visual Studio (microsoft.com)\n"
+ " PGI = The Portland Group (pgroup.com)\n"
+ " PathScale = PathScale (pathscale.com)\n"
+ " SDCC = Small Device C Compiler (sdcc.sourceforge.net)\n"
+ " SunPro = Oracle Solaris Studio (oracle.com)\n"
+ " TI_DSP = Texas Instruments (ti.com)\n"
+ " TinyCC = Tiny C Compiler (tinycc.org)\n"
+ " Watcom = Open Watcom (openwatcom.org)\n"
+ " XL, VisualAge, zOS = IBM XL (ibm.com)\n"
+ "This variable is not guaranteed to be defined for all "
+ "compilers or languages.",
false,
"Variables for Languages");
@@ -1402,10 +1477,10 @@ void cmDocumentVariables::DefineVariables(cmake* cm)
cm->DefineProperty
("CMAKE_<LANG>_COMPILER_VERSION", cmProperty::VARIABLE,
- "An internal variable subject to change.",
+ "Compiler version string.",
"Compiler version in major[.minor[.patch[.tweak]]] format. "
- "This variable is reserved for internal use by CMake and is not "
- "guaranteed to be set.",
+ "This variable is not guaranteed to be defined for all "
+ "compilers or languages.",
false,
"Variables for Languages");
diff --git a/Source/cmDocumentation.cxx b/Source/cmDocumentation.cxx
index 1b042ae6f..debde3be9 100644
--- a/Source/cmDocumentation.cxx
+++ b/Source/cmDocumentation.cxx
@@ -148,13 +148,6 @@ static const char *cmDocumentationStandardSeeAlso[][3] =
"The list is member-post-only but one may sign up on the CMake web page. "
"Please first read the full documentation at "
"http://www.cmake.org before posting questions to the list."},
- {0,
- "Summary of helpful links:\n"
- " Home: http://www.cmake.org\n"
- " Docs: http://www.cmake.org/HTML/Documentation.html\n"
- " Mail: http://www.cmake.org/HTML/MailingLists.html\n"
- " FAQ: http://www.cmake.org/Wiki/CMake_FAQ\n"
- , 0},
{0,0,0}
};
@@ -162,7 +155,7 @@ static const char *cmDocumentationStandardSeeAlso[][3] =
static const char *cmDocumentationCopyright[][3] =
{
{0,
- "Copyright 2000-2009 Kitware, Inc., Insight Software Consortium. "
+ "Copyright 2000-2012 Kitware, Inc., Insight Software Consortium. "
"All rights reserved.", 0},
{0,
"Redistribution and use in source and binary forms, with or without "
diff --git a/Source/cmDocumentationFormatter.cxx b/Source/cmDocumentationFormatter.cxx
index 6762d6677..9f01949b9 100644
--- a/Source/cmDocumentationFormatter.cxx
+++ b/Source/cmDocumentationFormatter.cxx
@@ -19,7 +19,7 @@ cmDocumentationFormatter::~cmDocumentationFormatter()
{
}
-void cmDocumentationFormatter::PrintFormatted(std::ostream& os,
+void cmDocumentationFormatter::PrintFormatted(std::ostream& os,
const char* text)
{
if(!text)
diff --git a/Source/cmDocumentationFormatterDocbook.cxx b/Source/cmDocumentationFormatterDocbook.cxx
index 30873306d..706ce0a02 100644
--- a/Source/cmDocumentationFormatterDocbook.cxx
+++ b/Source/cmDocumentationFormatterDocbook.cxx
@@ -11,6 +11,14 @@
============================================================================*/
#include "cmDocumentationFormatterDocbook.h"
#include "cmDocumentationSection.h"
+#include <algorithm>
+#include <ctype.h> // for isalnum
+
+static int cmIsAlnum(int c)
+{
+ return isalnum(c);
+}
+
//----------------------------------------------------------------------------
// this function is a copy of the one in the HTML formatter
@@ -34,7 +42,7 @@ static void cmDocumentationPrintDocbookChar(std::ostream& os, char c)
case '<':
os << "&lt;";
break;
- case '>':
+ case '>':
os << "&gt;";
break;
case '&':
@@ -94,151 +102,116 @@ void cmDocumentationPrintDocbookEscapes(std::ostream& os, const char* text)
}
}
-
+//----------------------------------------------------------------------------
cmDocumentationFormatterDocbook::cmDocumentationFormatterDocbook()
:cmDocumentationFormatter()
{
}
+//----------------------------------------------------------------------------
void cmDocumentationFormatterDocbook
::PrintSection(std::ostream& os,
const cmDocumentationSection &section,
const char* name)
{
- if(name)
- {
- std::string id = "section_";
- id += name;
- if (this->EmittedLinkIds.find(id) == this->EmittedLinkIds.end())
- {
- this->EmittedLinkIds.insert(id);
- os << "<sect1 id=\"section_" << name << "\">\n"
- "<title>\n" << name << "</title>\n";
- }
- else
- {
- static unsigned int i=0;
- i++;
- os << "<sect1 id=\"section_" << name << i << "\">\n"
- "<title>\n" << name << "</title>\n";
- }
- }
+ os << "<sect1 id=\"";
+ this->PrintId(os, 0, name);
+ os << "\">\n<title>" << name << "</title>\n";
std::string prefix = this->ComputeSectionLinkPrefix(name);
+ const std::vector<cmDocumentationEntry> &entries = section.GetEntries();
- const std::vector<cmDocumentationEntry> &entries =
- section.GetEntries();
-
- if (!entries.empty())
+ bool hasSubSections = false;
+ for(std::vector<cmDocumentationEntry>::const_iterator op = entries.begin();
+ op != entries.end(); ++op)
{
- os << "<itemizedlist>\n";
- for(std::vector<cmDocumentationEntry>::const_iterator op
- = entries.begin(); op != entries.end(); ++ op )
+ if(op->Name.size())
{
- if(op->Name.size())
- {
- os << " <listitem><link linkend=\"" << prefix << "_";
- cmDocumentationPrintDocbookEscapes(os, op->Name.c_str());
- os << "\"><emphasis><literal>";
- cmDocumentationPrintDocbookEscapes(os, op->Name.c_str());
- os << "</literal></emphasis></link></listitem>\n";
- }
+ hasSubSections = true;
+ break;
}
- os << "</itemizedlist>\n" ;
}
- for(std::vector<cmDocumentationEntry>::const_iterator op = entries.begin();
- op != entries.end();)
+ bool inAbstract = false;
+ for(std::vector<cmDocumentationEntry>::const_iterator op = entries.begin();
+ op != entries.end(); ++op)
{
if(op->Name.size())
{
- for(;op != entries.end() && op->Name.size(); ++op)
+ if(inAbstract)
{
- if(op->Name.size())
- {
- os << " <para id=\"" << prefix << "_";
- cmDocumentationPrintDocbookEscapes(os, op->Name.c_str());
-
- // make sure that each id exists only once. Since it seems
- // not easily possible to determine which link refers to which id,
- // we have at least to make sure that the duplicated id's get a
- // different name (by appending an increasing number), Alex
- std::string id = prefix;
- id += "_";
- id += op->Name;
- if (this->EmittedLinkIds.find(id) == this->EmittedLinkIds.end())
- {
- this->EmittedLinkIds.insert(id);
- }
- else
- {
- static unsigned int i=0;
- i++;
- os << i;
- }
- // continue as normal...
-
- os << "\"><sect2><title>";
- cmDocumentationPrintDocbookEscapes(os, op->Name.c_str());
- os << "</title></sect2> ";
- }
+ os << "</abstract>\n";
+ inAbstract = false;
+ }
+ os << "<sect2 id=\"";
+ this->PrintId(os, prefix.c_str(), op->Name);
+ os << "\">\n<title>";
+ cmDocumentationPrintDocbookEscapes(os, op->Name.c_str());
+ os << "</title>\n";
+ if(op->Full.size())
+ {
+ os << "<abstract>\n<para>";
cmDocumentationPrintDocbookEscapes(os, op->Brief.c_str());
- if(op->Name.size())
- {
- os << "</para>\n";
- }
-
- if(op->Full.size())
- {
- // a line break seems to be simply a line break with docbook
- os << "\n ";
- this->PrintFormatted(os, op->Full.c_str());
- }
- os << "\n";
+ os << "</para>\n</abstract>\n";
+ this->PrintFormatted(os, op->Full.c_str());
}
+ else
+ {
+ this->PrintFormatted(os, op->Brief.c_str());
+ }
+ os << "</sect2>\n";
}
else
{
+ if(hasSubSections && op == entries.begin())
+ {
+ os << "<abstract>\n";
+ inAbstract = true;
+ }
this->PrintFormatted(os, op->Brief.c_str());
- os << "\n";
- ++op;
}
}
- if(name)
+
+ // empty sections are not allowed in docbook.
+ if(entries.empty())
{
- os << "</sect1>\n";
+ os << "<para/>\n";
}
+
+ os << "</sect1>\n";
}
-void cmDocumentationFormatterDocbook::PrintPreformatted(std::ostream& os,
- const char* text)
+//----------------------------------------------------------------------------
+void cmDocumentationFormatterDocbook
+::PrintPreformatted(std::ostream& os, const char* text)
{
- os << "<literallayout>";
+ os << "<para>\n<programlisting>";
cmDocumentationPrintDocbookEscapes(os, text);
- os << "</literallayout>\n ";
+ os << "</programlisting>\n</para>\n";
}
-void cmDocumentationFormatterDocbook::PrintParagraph(std::ostream& os,
- const char* text)
+void cmDocumentationFormatterDocbook
+::PrintParagraph(std::ostream& os, const char* text)
{
os << "<para>";
cmDocumentationPrintDocbookEscapes(os, text);
- os << "</para>";
+ os << "</para>\n";
}
//----------------------------------------------------------------------------
-void cmDocumentationFormatterDocbook::PrintHeader(const char* docname,
- const char* appname,
- std::ostream& os)
+void cmDocumentationFormatterDocbook
+::PrintHeader(const char* docname, const char* appname, std::ostream& os)
{
+ this->Docname = docname;
+
// this one is used to ensure that we don't create multiple link targets
- // with the same name. We can clear it here since we are at the
+ // with the same name. We can clear it here since we are at the
// start of a document here.
this->EmittedLinkIds.clear();
os << "<?xml version=\"1.0\" ?>\n"
- "<!DOCTYPE article PUBLIC \"-//OASIS//DTD DocBook V4.2//EN\" "
- "\"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd\" [\n"
+ "<!DOCTYPE article PUBLIC \"-//OASIS//DTD DocBook V4.5//EN\" "
+ "\"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd\" [\n"
"<!ENTITY % addindex \"IGNORE\">\n"
"<!ENTITY % English \"INCLUDE\"> ]>\n"
"<article>\n"
@@ -253,3 +226,29 @@ void cmDocumentationFormatterDocbook::PrintFooter(std::ostream& os)
os << "</article>\n";
}
+//----------------------------------------------------------------------------
+void cmDocumentationFormatterDocbook
+::PrintId(std::ostream& os, const char* prefix, std::string id)
+{
+ std::replace_if(id.begin(), id.end(),
+ std::not1(std::ptr_fun(cmIsAlnum)), '_');
+ if(prefix)
+ {
+ id = std::string(prefix) + "." + id;
+ }
+ os << this->Docname << '.' << id;
+
+ // make sure that each id exists only once. Since it seems
+ // not easily possible to determine which link refers to which id,
+ // we have at least to make sure that the duplicated id's get a
+ // different name (by appending an increasing number), Alex
+ if (this->EmittedLinkIds.find(id) == this->EmittedLinkIds.end())
+ {
+ this->EmittedLinkIds.insert(id);
+ }
+ else
+ {
+ static unsigned int i=0;
+ os << i++;
+ }
+}
diff --git a/Source/cmDocumentationFormatterDocbook.h b/Source/cmDocumentationFormatterDocbook.h
index 213948dcc..0352d342a 100644
--- a/Source/cmDocumentationFormatterDocbook.h
+++ b/Source/cmDocumentationFormatterDocbook.h
@@ -35,7 +35,9 @@ public:
virtual void PrintPreformatted(std::ostream& os, const char* text);
virtual void PrintParagraph(std::ostream& os, const char* text);
private:
+ void PrintId(std::ostream& os, const char* prefix, std::string id);
std::set<std::string> EmittedLinkIds;
+ std::string Docname;
};
#endif
diff --git a/Source/cmDocumentationFormatterHTML.cxx b/Source/cmDocumentationFormatterHTML.cxx
index cd0077ed9..7213b43de 100644
--- a/Source/cmDocumentationFormatterHTML.cxx
+++ b/Source/cmDocumentationFormatterHTML.cxx
@@ -29,7 +29,7 @@ static void cmDocumentationPrintHTMLChar(std::ostream& os, char c)
// Use an escape sequence if necessary.
switch (c)
{
- case '<':
+ case '<':
os << "&lt;";
break;
case '>':
@@ -114,7 +114,7 @@ void cmDocumentationFormatterHTML
{
std::string prefix = this->ComputeSectionLinkPrefix(name);
- const std::vector<cmDocumentationEntry> &entries =
+ const std::vector<cmDocumentationEntry> &entries =
section.GetEntries();
// skip the index if the help for only a single item (--help-command,
@@ -131,7 +131,7 @@ void cmDocumentationFormatterHTML
}
// Is a list needed?
- for(std::vector<cmDocumentationEntry>::const_iterator op
+ for(std::vector<cmDocumentationEntry>::const_iterator op
= entries.begin(); op != entries.end(); ++ op )
{
if (op->Name.size())
@@ -154,7 +154,7 @@ void cmDocumentationFormatterHTML
}
}
- for(std::vector<cmDocumentationEntry>::const_iterator op = entries.begin();
+ for(std::vector<cmDocumentationEntry>::const_iterator op = entries.begin();
op != entries.end();)
{
if(op->Name.size())
@@ -191,7 +191,7 @@ void cmDocumentationFormatterHTML
}
}
-void cmDocumentationFormatterHTML::PrintPreformatted(std::ostream& os,
+void cmDocumentationFormatterHTML::PrintPreformatted(std::ostream& os,
const char* text)
{
os << "<pre>";
@@ -199,7 +199,7 @@ void cmDocumentationFormatterHTML::PrintPreformatted(std::ostream& os,
os << "</pre>\n ";
}
-void cmDocumentationFormatterHTML::PrintParagraph(std::ostream& os,
+void cmDocumentationFormatterHTML::PrintParagraph(std::ostream& os,
const char* text)
{
os << "<p>";
@@ -229,7 +229,7 @@ void cmDocumentationFormatterHTML::PrintFooter(std::ostream& os)
}
//----------------------------------------------------------------------------
-void cmDocumentationFormatterHTML::PrintHTMLEscapes(std::ostream& os,
+void cmDocumentationFormatterHTML::PrintHTMLEscapes(std::ostream& os,
const char* text)
{
// Hyperlink prefixes.
@@ -262,7 +262,7 @@ void cmDocumentationFormatterHTML
std::vector<const cmDocumentationSection *>& sections)
{
// skip the index if only the help for a single item is printed
- if ((sections.size() == 1)
+ if ((sections.size() == 1)
&& (sections[0]->GetName(this->GetForm()) != 0 )
&& (std::string(sections[0]->GetName(this->GetForm())) == "SingleItem"))
{
diff --git a/Source/cmDocumentationFormatterHTML.h b/Source/cmDocumentationFormatterHTML.h
index 427e04bc5..44bf24026 100644
--- a/Source/cmDocumentationFormatterHTML.h
+++ b/Source/cmDocumentationFormatterHTML.h
@@ -32,7 +32,7 @@ public:
const cmDocumentationSection& section,
const char* name);
virtual void PrintPreformatted(std::ostream& os, const char* text);
- virtual void PrintParagraph(std::ostream& os, const char* text);
+ virtual void PrintParagraph(std::ostream& os, const char* text);
virtual void PrintIndex(std::ostream& ,
std::vector<const cmDocumentationSection *>&);
private:
diff --git a/Source/cmDocumentationFormatterText.cxx b/Source/cmDocumentationFormatterText.cxx
index 0b04b73d2..5def1947a 100644
--- a/Source/cmDocumentationFormatterText.cxx
+++ b/Source/cmDocumentationFormatterText.cxx
@@ -33,9 +33,9 @@ void cmDocumentationFormatterText
os << name << "\n\n";
}
- const std::vector<cmDocumentationEntry> &entries =
+ const std::vector<cmDocumentationEntry> &entries =
section.GetEntries();
- for(std::vector<cmDocumentationEntry>::const_iterator op = entries.begin();
+ for(std::vector<cmDocumentationEntry>::const_iterator op = entries.begin();
op != entries.end(); ++op)
{
if(op->Name.size())
@@ -58,7 +58,7 @@ void cmDocumentationFormatterText
}
}
-void cmDocumentationFormatterText::PrintPreformatted(std::ostream& os,
+void cmDocumentationFormatterText::PrintPreformatted(std::ostream& os,
const char* text)
{
bool newline = true;
@@ -78,7 +78,7 @@ void cmDocumentationFormatterText::PrintPreformatted(std::ostream& os,
os << "\n";
}
-void cmDocumentationFormatterText::PrintParagraph(std::ostream& os,
+void cmDocumentationFormatterText::PrintParagraph(std::ostream& os,
const char* text)
{
os << this->TextIndent;
@@ -91,7 +91,7 @@ void cmDocumentationFormatterText::SetIndent(const char* indent)
this->TextIndent = indent;
}
-void cmDocumentationFormatterText::PrintColumn(std::ostream& os,
+void cmDocumentationFormatterText::PrintColumn(std::ostream& os,
const char* text)
{
// Print text arranged in an indented column of fixed witdh.
@@ -100,14 +100,14 @@ void cmDocumentationFormatterText::PrintColumn(std::ostream& os,
bool newSentence = false;
bool firstLine = true;
int width = this->TextWidth - static_cast<int>(strlen(this->TextIndent));
-
+
// Loop until the end of the text.
while(*l)
{
// Parse the next word.
const char* r = l;
while(*r && (*r != '\n') && (*r != ' ')) { ++r; }
-
+
// Does it fit on this line?
if(r-l < (width-column-(newSentence?1:0)))
{
@@ -135,12 +135,12 @@ void cmDocumentationFormatterText::PrintColumn(std::ostream& os,
// first line.
os << (firstLine?"":this->TextIndent);
}
-
+
// Print the word.
os.write(l, static_cast<long>(r-l));
newSentence = (*(r-1) == '.');
}
-
+
if(*r == '\n')
{
// Text provided a newline. Start a new line.
@@ -175,6 +175,6 @@ void cmDocumentationFormatterText::PrintColumn(std::ostream& os,
// Move to beginning of next word. Skip over whitespace.
l = r;
- while(*l && (*l == ' ')) { ++l; }
+ while(*l && (*l == ' ')) { ++l; }
}
}
diff --git a/Source/cmDocumentationFormatterUsage.cxx b/Source/cmDocumentationFormatterUsage.cxx
index 8a415cb4d..a068e5682 100644
--- a/Source/cmDocumentationFormatterUsage.cxx
+++ b/Source/cmDocumentationFormatterUsage.cxx
@@ -28,9 +28,9 @@ void cmDocumentationFormatterUsage
os << name << "\n";
}
- const std::vector<cmDocumentationEntry> &entries =
+ const std::vector<cmDocumentationEntry> &entries =
section.GetEntries();
- for(std::vector<cmDocumentationEntry>::const_iterator op = entries.begin();
+ for(std::vector<cmDocumentationEntry>::const_iterator op = entries.begin();
op != entries.end(); ++op)
{
if(op->Name.size())
diff --git a/Source/cmDocumentationSection.h b/Source/cmDocumentationSection.h
index 0fab38f81..4f8c10d3e 100644
--- a/Source/cmDocumentationSection.h
+++ b/Source/cmDocumentationSection.h
@@ -26,28 +26,28 @@ public:
/** Create a cmSection, with a special name for man-output mode. */
cmDocumentationSection(const char* name, const char* manName)
:Name(name), ManName(manName) {}
-
+
/** Has any content been added to this section or is it empty ? */
bool IsEmpty() const { return this->Entries.empty(); }
-
+
/** Clear contents. */
void Clear() { this->Entries.clear(); }
-
+
/** Return the name of this section for the given output form. */
const char* GetName(cmDocumentationEnums::Form form) const
{ return (form==cmDocumentationEnums::ManForm ?
this->ManName.c_str() : this->Name.c_str()); }
-
+
/** Return a pointer to the first entry of this section. */
const std::vector<cmDocumentationEntry> &GetEntries() const
{ return this->Entries; }
-
+
/** Append an entry to this section. */
void Append(const cmDocumentationEntry& entry)
{ this->Entries.push_back(entry); }
void Append(const std::vector<cmDocumentationEntry> &entries)
{ this->Entries.insert(this->Entries.end(),entries.begin(),entries.end()); }
-
+
/** Append an entry to this section using NULL terminated chars */
void Append(const char *[][3]);
void Append(const char *n, const char *b, const char *f);
@@ -58,7 +58,7 @@ public:
{ this->Entries.insert(this->Entries.begin(),
entries.begin(),entries.end()); }
-
+
private:
std::string Name;
std::string ManName;
diff --git a/Source/cmElseCommand.h b/Source/cmElseCommand.h
index 5e8b79058..f25991943 100644
--- a/Source/cmElseCommand.h
+++ b/Source/cmElseCommand.h
@@ -25,7 +25,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmElseCommand;
}
@@ -54,7 +54,7 @@ public:
{
return "Starts the else portion of an if block.";
}
-
+
/**
* More documentation.
*/
@@ -64,7 +64,7 @@ public:
" else(expression)\n"
"See the if command.";
}
-
+
cmTypeMacro(cmElseCommand, cmCommand);
};
diff --git a/Source/cmElseIfCommand.h b/Source/cmElseIfCommand.h
index 20cd81aaa..46e2bd9f9 100644
--- a/Source/cmElseIfCommand.h
+++ b/Source/cmElseIfCommand.h
@@ -25,7 +25,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmElseIfCommand;
}
@@ -54,7 +54,7 @@ public:
{
return "Starts the elseif portion of an if block.";
}
-
+
/**
* More documentation.
*/
@@ -64,7 +64,7 @@ public:
" elseif(expression)\n"
"See the if command.";
}
-
+
cmTypeMacro(cmElseIfCommand, cmCommand);
};
diff --git a/Source/cmEnableLanguageCommand.cxx b/Source/cmEnableLanguageCommand.cxx
index f8f36ebbb..dcabf6a46 100644
--- a/Source/cmEnableLanguageCommand.cxx
+++ b/Source/cmEnableLanguageCommand.cxx
@@ -22,7 +22,7 @@ bool cmEnableLanguageCommand
this->SetError
("called with incorrect number of arguments");
return false;
- }
+ }
for (std::vector<std::string>::const_iterator it = args.begin();
it != args.end();
++it)
diff --git a/Source/cmEnableLanguageCommand.h b/Source/cmEnableLanguageCommand.h
index 5958e4481..e4bb2517a 100644
--- a/Source/cmEnableLanguageCommand.h
+++ b/Source/cmEnableLanguageCommand.h
@@ -28,7 +28,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmEnableLanguageCommand;
}
@@ -39,7 +39,7 @@ public:
*/
virtual bool InitialPass(std::vector<std::string> const& args,
cmExecutionStatus &status);
-
+
/**
* The name of the command as specified in CMakeList.txt.
*/
@@ -52,7 +52,7 @@ public:
{
return "Enable a language (CXX/C/Fortran/etc)";
}
-
+
/**
* More documentation.
*/
@@ -67,7 +67,7 @@ public:
"If OPTIONAL is used, use the CMAKE_<languageName>_COMPILER_WORKS "
"variable to check whether the language has been enabled successfully.";
}
-
+
cmTypeMacro(cmEnableLanguageCommand, cmCommand);
};
diff --git a/Source/cmEnableTestingCommand.cxx b/Source/cmEnableTestingCommand.cxx
index 5abb873bd..aa41ef73b 100644
--- a/Source/cmEnableTestingCommand.cxx
+++ b/Source/cmEnableTestingCommand.cxx
@@ -12,7 +12,7 @@
#include "cmEnableTestingCommand.h"
#include "cmLocalGenerator.h"
-// we do this in the final pass so that we now the subdirs have all
+// we do this in the final pass so that we now the subdirs have all
// been defined
bool cmEnableTestingCommand::InitialPass(std::vector<std::string> const&,
cmExecutionStatus &)
diff --git a/Source/cmEnableTestingCommand.h b/Source/cmEnableTestingCommand.h
index b607818ce..9b9e9851b 100644
--- a/Source/cmEnableTestingCommand.h
+++ b/Source/cmEnableTestingCommand.h
@@ -24,7 +24,7 @@
* within the valid control structures are replicated in Testfile
* (i.e. SUBDIRS() and ADD_TEST() commands within IF() commands that are
* not entered by CMake are not replicated in Testfile).
- * Note that CTest expects to find this file in the build directory root;
+ * Note that CTest expects to find this file in the build directory root;
* therefore, this command should be in the source directory root too.
*/
class cmEnableTestingCommand : public cmCommand
@@ -33,7 +33,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmEnableTestingCommand;
}
@@ -57,7 +57,7 @@ public:
{
return "Enable testing for current directory and below.";
}
-
+
/**
* More documentation.
*/
@@ -70,9 +70,9 @@ public:
"a test file in the build directory root. Therefore, this command "
"should be in the source directory root.";
}
-
+
cmTypeMacro(cmEnableTestingCommand, cmCommand);
-
+
};
diff --git a/Source/cmEndForEachCommand.cxx b/Source/cmEndForEachCommand.cxx
index 2eca4e292..7f11ae5f9 100644
--- a/Source/cmEndForEachCommand.cxx
+++ b/Source/cmEndForEachCommand.cxx
@@ -12,7 +12,7 @@
#include "cmEndForEachCommand.h"
bool cmEndForEachCommand
-::InvokeInitialPass(std::vector<cmListFileArgument> const&,
+::InvokeInitialPass(std::vector<cmListFileArgument> const&,
cmExecutionStatus &)
{
this->SetError("An ENDFOREACH command was found outside of a proper "
diff --git a/Source/cmEndForEachCommand.h b/Source/cmEndForEachCommand.h
index 37b2d2a32..d5ee8a6ae 100644
--- a/Source/cmEndForEachCommand.h
+++ b/Source/cmEndForEachCommand.h
@@ -25,7 +25,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmEndForEachCommand;
}
@@ -36,7 +36,7 @@ public:
*/
virtual bool InvokeInitialPass(std::vector<cmListFileArgument> const&,
cmExecutionStatus &);
-
+
/**
* This is called when the command is first encountered in
* the CMakeLists.txt file.
@@ -61,7 +61,7 @@ public:
{
return "Ends a list of commands in a FOREACH block.";
}
-
+
/**
* More documentation.
*/
@@ -71,7 +71,7 @@ public:
" endforeach(expression)\n"
"See the FOREACH command.";
}
-
+
cmTypeMacro(cmEndForEachCommand, cmCommand);
};
diff --git a/Source/cmEndFunctionCommand.h b/Source/cmEndFunctionCommand.h
index 54ac068f3..d7b74e98b 100644
--- a/Source/cmEndFunctionCommand.h
+++ b/Source/cmEndFunctionCommand.h
@@ -25,7 +25,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmEndFunctionCommand;
}
@@ -36,7 +36,7 @@ public:
*/
virtual bool InvokeInitialPass(std::vector<cmListFileArgument> const&,
cmExecutionStatus &);
-
+
/**
* This is called when the command is first encountered in
* the CMakeLists.txt file.
@@ -61,7 +61,7 @@ public:
{
return "Ends a list of commands in a function block.";
}
-
+
/**
* More documentation.
*/
@@ -71,7 +71,7 @@ public:
" endfunction(expression)\n"
"See the function command.";
}
-
+
cmTypeMacro(cmEndFunctionCommand, cmCommand);
};
diff --git a/Source/cmEndIfCommand.cxx b/Source/cmEndIfCommand.cxx
index e98d4d415..0ac09de72 100644
--- a/Source/cmEndIfCommand.cxx
+++ b/Source/cmEndIfCommand.cxx
@@ -20,7 +20,7 @@ bool cmEndIfCommand::InitialPass(std::vector<std::string> const&,
{
return true;
}
-
+
this->SetError("An ENDIF command was found outside of a proper "
"IF ENDIF structure. Or its arguments did not match "
"the opening IF command.");
diff --git a/Source/cmEndIfCommand.h b/Source/cmEndIfCommand.h
index 81d1b5ff4..5c4b9e36a 100644
--- a/Source/cmEndIfCommand.h
+++ b/Source/cmEndIfCommand.h
@@ -25,7 +25,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmEndIfCommand;
}
@@ -54,7 +54,7 @@ public:
{
return "Ends a list of commands in an if block.";
}
-
+
/**
* More documentation.
*/
@@ -64,7 +64,7 @@ public:
" endif(expression)\n"
"See the if command.";
}
-
+
cmTypeMacro(cmEndIfCommand, cmCommand);
};
diff --git a/Source/cmEndMacroCommand.h b/Source/cmEndMacroCommand.h
index 25e86b70f..9d0e70fdc 100644
--- a/Source/cmEndMacroCommand.h
+++ b/Source/cmEndMacroCommand.h
@@ -25,7 +25,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmEndMacroCommand;
}
@@ -36,7 +36,7 @@ public:
*/
virtual bool InvokeInitialPass(std::vector<cmListFileArgument> const&,
cmExecutionStatus &);
-
+
/**
* This is called when the command is first encountered in
* the CMakeLists.txt file.
@@ -61,7 +61,7 @@ public:
{
return "Ends a list of commands in a macro block.";
}
-
+
/**
* More documentation.
*/
@@ -71,7 +71,7 @@ public:
" endmacro(expression)\n"
"See the macro command.";
}
-
+
cmTypeMacro(cmEndMacroCommand, cmCommand);
};
diff --git a/Source/cmEndWhileCommand.h b/Source/cmEndWhileCommand.h
index 635ad5a7f..18ba5ea31 100644
--- a/Source/cmEndWhileCommand.h
+++ b/Source/cmEndWhileCommand.h
@@ -25,7 +25,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmEndWhileCommand;
}
@@ -36,7 +36,7 @@ public:
*/
virtual bool InvokeInitialPass(std::vector<cmListFileArgument> const& args,
cmExecutionStatus &status);
-
+
/**
* This is called when the command is first encountered in
* the CMakeLists.txt file.
@@ -61,7 +61,7 @@ public:
{
return "Ends a list of commands in a while block.";
}
-
+
/**
* More documentation.
*/
@@ -71,7 +71,7 @@ public:
" endwhile(expression)\n"
"See the while command.";
}
-
+
cmTypeMacro(cmEndWhileCommand, cmCommand);
};
diff --git a/Source/cmExecProgramCommand.cxx b/Source/cmExecProgramCommand.cxx
index 61b27eaf0..9fdb1e896 100644
--- a/Source/cmExecProgramCommand.cxx
+++ b/Source/cmExecProgramCommand.cxx
@@ -36,7 +36,7 @@ bool cmExecProgramCommand
doingargs = false;
havereturn_variable = false;
haveoutput_variable = true;
- }
+ }
else if ( haveoutput_variable )
{
if ( output_variable.size() > 0 )
@@ -54,7 +54,7 @@ bool cmExecProgramCommand
doingargs = false;
haveoutput_variable = false;
havereturn_variable = true;
- }
+ }
else if ( havereturn_variable )
{
if ( return_variable.size() > 0 )
@@ -108,16 +108,16 @@ bool cmExecProgramCommand
}
else
{
- result = cmSystemTools::RunCommand(command.c_str(), output,
+ result = cmSystemTools::RunCommand(command.c_str(), output,
retVal, 0, verbose);
}
if(!result)
{
retVal = -1;
- }
+ }
if ( output_variable.size() > 0 )
- {
+ {
std::string::size_type first = output.find_first_not_of(" \n\t\r");
std::string::size_type last = output.find_last_not_of(" \n\t\r");
if(first == std::string::npos)
@@ -128,7 +128,7 @@ bool cmExecProgramCommand
{
last = output.size()-1;
}
-
+
std::string coutput = std::string(output, first, last-first+1);
this->Makefile->AddDefinition(output_variable.c_str(), coutput.c_str());
}
@@ -139,7 +139,7 @@ bool cmExecProgramCommand
sprintf(buffer, "%d", retVal);
this->Makefile->AddDefinition(return_variable.c_str(), buffer);
}
-
+
return true;
}
diff --git a/Source/cmExecProgramCommand.h b/Source/cmExecProgramCommand.h
index 723386099..f752501fa 100644
--- a/Source/cmExecProgramCommand.h
+++ b/Source/cmExecProgramCommand.h
@@ -27,7 +27,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmExecProgramCommand;
}
@@ -38,13 +38,13 @@ public:
*/
virtual bool InitialPass(std::vector<std::string> const& args,
cmExecutionStatus &status);
-
+
/**
* The name of the command as specified in CMakeList.txt.
*/
virtual const char* GetName() const
{return "exec_program";}
-
+
/**
* This determines if the command is invoked when in script mode.
*/
@@ -55,10 +55,10 @@ public:
*/
virtual const char* GetTerseDocumentation() const
{
- return
+ return
"Deprecated. Use the execute_process() command instead.";
}
-
+
/**
* More documentation.
*/
@@ -82,7 +82,7 @@ public:
"stdout/stderr of the console running cmake.\n"
;
}
-
+
/** This command is kept for compatibility with older CMake versions. */
virtual bool IsDiscouraged() const
{
diff --git a/Source/cmExecuteProcessCommand.cxx b/Source/cmExecuteProcessCommand.cxx
index a0d9c9caf..994c1707b 100644
--- a/Source/cmExecuteProcessCommand.cxx
+++ b/Source/cmExecuteProcessCommand.cxx
@@ -266,12 +266,12 @@ bool cmExecuteProcessCommand
}
if(!output_file.empty())
{
- cmsysProcess_SetPipeFile(cp, cmsysProcess_Pipe_STDOUT,
+ cmsysProcess_SetPipeFile(cp, cmsysProcess_Pipe_STDOUT,
output_file.c_str());
}
if(!error_file.empty())
{
- cmsysProcess_SetPipeFile(cp, cmsysProcess_Pipe_STDERR,
+ cmsysProcess_SetPipeFile(cp, cmsysProcess_Pipe_STDERR,
error_file.c_str());
}
@@ -326,12 +326,12 @@ bool cmExecuteProcessCommand
// Store the output obtained.
if(!output_variable.empty() && tempOutput.size())
{
- this->Makefile->AddDefinition(output_variable.c_str(),
+ this->Makefile->AddDefinition(output_variable.c_str(),
&*tempOutput.begin());
}
if(!merge_output && !error_variable.empty() && tempError.size())
{
- this->Makefile->AddDefinition(error_variable.c_str(),
+ this->Makefile->AddDefinition(error_variable.c_str(),
&*tempError.begin());
}
diff --git a/Source/cmExecutionStatus.h b/Source/cmExecutionStatus.h
index 9fbecacfe..1488924c7 100644
--- a/Source/cmExecutionStatus.h
+++ b/Source/cmExecutionStatus.h
@@ -23,19 +23,19 @@ class cmExecutionStatus : public cmObject
{
public:
cmTypeMacro(cmExecutionStatus, cmObject);
-
+
cmExecutionStatus() { this->Clear();};
-
- virtual void SetReturnInvoked(bool val)
+
+ virtual void SetReturnInvoked(bool val)
{ this->ReturnInvoked = val; }
virtual bool GetReturnInvoked()
{ return this->ReturnInvoked; }
-
- virtual void SetBreakInvoked(bool val)
+
+ virtual void SetBreakInvoked(bool val)
{ this->BreakInvoked = val; }
virtual bool GetBreakInvoked()
{ return this->BreakInvoked; }
-
+
virtual void Clear()
{
this->ReturnInvoked = false;
@@ -45,7 +45,7 @@ public:
virtual void SetNestedError(bool val) { this->NestedError = val; }
virtual bool GetNestedError() { return this->NestedError; }
-
+
protected:
bool ReturnInvoked;
bool BreakInvoked;
diff --git a/Source/cmExportBuildFileGenerator.cxx b/Source/cmExportBuildFileGenerator.cxx
index 32595ee4b..fb3f39fe6 100644
--- a/Source/cmExportBuildFileGenerator.cxx
+++ b/Source/cmExportBuildFileGenerator.cxx
@@ -72,8 +72,9 @@ cmExportBuildFileGenerator
if(!properties.empty())
{
// Get the rest of the target details.
+ std::vector<std::string> missingTargets;
this->SetImportDetailProperties(config, suffix,
- target, properties);
+ target, properties, missingTargets);
// TOOD: PUBLIC_HEADER_LOCATION
// This should wait until the build feature propagation stuff
@@ -82,6 +83,7 @@ cmExportBuildFileGenerator
// properties);
// Generate code in the export file.
+ this->GenerateMissingTargetsCheckCode(os, missingTargets);
this->GenerateImportPropertyCode(os, config, target, properties);
}
}
@@ -133,6 +135,25 @@ cmExportBuildFileGenerator
//----------------------------------------------------------------------------
void
+cmExportBuildFileGenerator::HandleMissingTarget(
+ std::string& link_libs, std::vector<std::string>&,
+ cmMakefile*, cmTarget* depender, cmTarget* dependee)
+{
+ // The target is not in the export.
+ if(!this->AppendMode)
+ {
+ // We are not appending, so all exported targets should be
+ // known here. This is probably user-error.
+ this->ComplainAboutMissingTarget(depender, dependee);
+ }
+ // Assume the target will be exported by another command.
+ // Append it with the export namespace.
+ link_libs += this->Namespace;
+ link_libs += dependee->GetName();
+}
+
+//----------------------------------------------------------------------------
+void
cmExportBuildFileGenerator
::ComplainAboutMissingTarget(cmTarget* depender,
cmTarget* dependee)
diff --git a/Source/cmExportBuildFileGenerator.h b/Source/cmExportBuildFileGenerator.h
index 0f37626cc..726537bfc 100644
--- a/Source/cmExportBuildFileGenerator.h
+++ b/Source/cmExportBuildFileGenerator.h
@@ -45,8 +45,14 @@ protected:
virtual void GenerateImportTargetsConfig(std::ostream& os,
const char* config,
std::string const& suffix);
- virtual void ComplainAboutMissingTarget(cmTarget* depender,
- cmTarget* dependee);
+ virtual void HandleMissingTarget(std::string& link_libs,
+ std::vector<std::string>& missingTargets,
+ cmMakefile* mf,
+ cmTarget* depender,
+ cmTarget* dependee);
+
+ void ComplainAboutMissingTarget(cmTarget* depender,
+ cmTarget* dependee);
/** Fill in properties indicating built file locations. */
void SetImportLocationProperty(const char* config,
diff --git a/Source/cmExportFileGenerator.cxx b/Source/cmExportFileGenerator.cxx
index eb19df5e2..8dffae43a 100644
--- a/Source/cmExportFileGenerator.cxx
+++ b/Source/cmExportFileGenerator.cxx
@@ -11,10 +11,15 @@
============================================================================*/
#include "cmExportFileGenerator.h"
+#include "cmExportSet.h"
#include "cmGeneratedFileStream.h"
+#include "cmGlobalGenerator.h"
+#include "cmInstallExportGenerator.h"
+#include "cmLocalGenerator.h"
#include "cmMakefile.h"
#include "cmSystemTools.h"
#include "cmTarget.h"
+#include "cmTargetExport.h"
#include "cmVersion.h"
#include <cmsys/auto_ptr.hxx>
@@ -123,7 +128,9 @@ void cmExportFileGenerator::GenerateImportConfig(std::ostream& os,
void
cmExportFileGenerator
::SetImportDetailProperties(const char* config, std::string const& suffix,
- cmTarget* target, ImportPropertyMap& properties)
+ cmTarget* target, ImportPropertyMap& properties,
+ std::vector<std::string>& missingTargets
+ )
{
// Get the makefile in which to lookup target information.
cmMakefile* mf = target->GetMakefile();
@@ -159,13 +166,13 @@ cmExportFileGenerator
{
this->SetImportLinkProperty(suffix, target,
"IMPORTED_LINK_INTERFACE_LANGUAGES",
- iface->Languages, properties);
+ iface->Languages, properties, missingTargets);
this->SetImportLinkProperty(suffix, target,
"IMPORTED_LINK_INTERFACE_LIBRARIES",
- iface->Libraries, properties);
+ iface->Libraries, properties, missingTargets);
this->SetImportLinkProperty(suffix, target,
"IMPORTED_LINK_DEPENDENT_LIBRARIES",
- iface->SharedDeps, properties);
+ iface->SharedDeps, properties, missingTargets);
if(iface->Multiplicity > 0)
{
std::string prop = "IMPORTED_LINK_INTERFACE_MULTIPLICITY";
@@ -184,7 +191,9 @@ cmExportFileGenerator
cmTarget* target,
const char* propName,
std::vector<std::string> const& libs,
- ImportPropertyMap& properties)
+ ImportPropertyMap& properties,
+ std::vector<std::string>& missingTargets
+ )
{
// Skip the property if there are no libraries.
if(libs.empty())
@@ -224,17 +233,7 @@ cmExportFileGenerator
}
else
{
- // The target is not in the export.
- if(!this->AppendMode)
- {
- // We are not appending, so all exported targets should be
- // known here. This is probably user-error.
- this->ComplainAboutMissingTarget(target, tgt);
- }
- // Assume the target will be exported by another command.
- // Append it with the export namespace.
- link_libs += this->Namespace;
- link_libs += *li;
+ this->HandleMissingTarget(link_libs, missingTargets, mf, target, tgt);
}
}
else
@@ -250,6 +249,7 @@ cmExportFileGenerator
properties[prop] = link_libs;
}
+
//----------------------------------------------------------------------------
void cmExportFileGenerator::GenerateImportHeaderCode(std::ostream& os,
const char* config)
@@ -381,6 +381,30 @@ cmExportFileGenerator
//----------------------------------------------------------------------------
+void cmExportFileGenerator::GenerateMissingTargetsCheckCode(std::ostream& os,
+ const std::vector<std::string>& missingTargets)
+{
+ os << "# Make sure the targets which have been exported in some other \n"
+ "# export set exist.\n";
+ for(unsigned int i=0; i<missingTargets.size(); ++i)
+ {
+ os << "IF(NOT TARGET \"" << missingTargets[i] << "\" )\n"
+ << " IF(CMAKE_FIND_PACKAGE_NAME)\n"
+ << " SET( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE)\n"
+ << " SET( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "
+ << "\"Required imported target \\\"" << missingTargets[i]
+ << "\\\" not found ! \")\n"
+ << " ELSE()\n"
+ << " MESSAGE(FATAL_ERROR \"Required imported target \\\""
+ << missingTargets[i] << "\\\" not found ! \")\n"
+ << " ENDIF()\n"
+ << "ENDIF()\n";
+ }
+ os << "\n";
+}
+
+
+//----------------------------------------------------------------------------
void
cmExportFileGenerator::GenerateImportedFileCheckLoop(std::ostream& os)
{
diff --git a/Source/cmExportFileGenerator.h b/Source/cmExportFileGenerator.h
index f271e5570..70bc65de5 100644
--- a/Source/cmExportFileGenerator.h
+++ b/Source/cmExportFileGenerator.h
@@ -60,17 +60,21 @@ protected:
ImportPropertyMap const& properties,
const std::set<std::string>& importedLocations);
void GenerateImportedFileCheckLoop(std::ostream& os);
+ void GenerateMissingTargetsCheckCode(std::ostream& os,
+ const std::vector<std::string>& missingTargets);
// Collect properties with detailed information about targets beyond
// their location on disk.
void SetImportDetailProperties(const char* config,
std::string const& suffix, cmTarget* target,
- ImportPropertyMap& properties);
+ ImportPropertyMap& properties,
+ std::vector<std::string>& missingTargets);
void SetImportLinkProperty(std::string const& suffix,
cmTarget* target, const char* propName,
std::vector<std::string> const& libs,
- ImportPropertyMap& properties);
+ ImportPropertyMap& properties,
+ std::vector<std::string>& missingTargets);
/** Each subclass knows how to generate its kind of export file. */
virtual bool GenerateMainFile(std::ostream& os) = 0;
@@ -80,10 +84,13 @@ protected:
const char* config,
std::string const& suffix) = 0;
- /** Each subclass knows how to complain about a target that is
- missing from an export set. */
- virtual void ComplainAboutMissingTarget(cmTarget* depender,
- cmTarget* dependee) = 0;
+ /** Each subclass knows how to deal with a target that is missing from an
+ * export set. */
+ virtual void HandleMissingTarget(std::string& link_libs,
+ std::vector<std::string>& missingTargets,
+ cmMakefile* mf,
+ cmTarget* depender,
+ cmTarget* dependee) = 0;
// The namespace in which the exports are placed in the generated file.
std::string Namespace;
diff --git a/Source/cmExportInstallFileGenerator.cxx b/Source/cmExportInstallFileGenerator.cxx
index da14dd787..784173172 100644
--- a/Source/cmExportInstallFileGenerator.cxx
+++ b/Source/cmExportInstallFileGenerator.cxx
@@ -11,14 +11,19 @@
============================================================================*/
#include "cmExportInstallFileGenerator.h"
+#include "cmExportSet.h"
+#include "cmExportSetMap.h"
#include "cmGeneratedFileStream.h"
+#include "cmGlobalGenerator.h"
+#include "cmLocalGenerator.h"
#include "cmInstallExportGenerator.h"
#include "cmInstallTargetGenerator.h"
+#include "cmTargetExport.h"
//----------------------------------------------------------------------------
cmExportInstallFileGenerator
::cmExportInstallFileGenerator(cmInstallExportGenerator* iegen):
- InstallExportGenerator(iegen)
+ IEGen(iegen)
{
}
@@ -36,10 +41,10 @@ bool cmExportInstallFileGenerator::GenerateMainFile(std::ostream& os)
{
// Create all the imported targets.
for(std::vector<cmTargetExport*>::const_iterator
- tei = this->ExportSet->begin();
- tei != this->ExportSet->end(); ++tei)
+ tei = this->IEGen->GetExportSet()->GetTargetExports()->begin();
+ tei != this->IEGen->GetExportSet()->GetTargetExports()->end(); ++tei)
{
- cmTargetExport* te = *tei;
+ cmTargetExport const* te = *tei;
if(this->ExportedTargets.insert(te->Target).second)
{
this->GenerateImportTargetCode(os, te->Target);
@@ -47,8 +52,9 @@ bool cmExportInstallFileGenerator::GenerateMainFile(std::ostream& os)
else
{
cmOStringStream e;
- e << "INSTALL(EXPORT \"" << this->Name << "\" ...) "
- << "includes target \"" << te->Target->GetName()
+ e << "INSTALL(EXPORT \""
+ << this->IEGen->GetExportSet()->GetName()
+ << "\" ...) " << "includes target \"" << te->Target->GetName()
<< "\" more than once in the export set.";
cmSystemTools::Error(e.str().c_str());
return false;
@@ -84,7 +90,7 @@ bool
cmExportInstallFileGenerator::GenerateImportFileConfig(const char* config)
{
// Skip configurations not enabled for this export.
- if(!this->InstallExportGenerator->InstallsForConfig(config))
+ if(!this->IEGen->InstallsForConfig(config))
{
return true;
}
@@ -140,7 +146,7 @@ cmExportInstallFileGenerator
{
// Add code to compute the installation prefix relative to the
// import file location.
- const char* installDest = this->InstallExportGenerator->GetDestination();
+ const char* installDest = this->IEGen->GetDestination();
if(!cmSystemTools::FileIsFullPath(installDest))
{
std::string dest = installDest;
@@ -161,11 +167,11 @@ cmExportInstallFileGenerator
// Add each target in the set to the export.
for(std::vector<cmTargetExport*>::const_iterator
- tei = this->ExportSet->begin();
- tei != this->ExportSet->end(); ++tei)
+ tei = this->IEGen->GetExportSet()->GetTargetExports()->begin();
+ tei != this->IEGen->GetExportSet()->GetTargetExports()->end(); ++tei)
{
// Collect import properties for this target.
- cmTargetExport* te = *tei;
+ cmTargetExport const* te = *tei;
ImportPropertyMap properties;
std::set<std::string> importedLocations;
this->SetImportLocationProperty(config, suffix, te->ArchiveGenerator,
@@ -185,8 +191,9 @@ cmExportInstallFileGenerator
if(!properties.empty())
{
// Get the rest of the target details.
+ std::vector<std::string> missingTargets;
this->SetImportDetailProperties(config, suffix,
- te->Target, properties);
+ te->Target, properties, missingTargets);
// TOOD: PUBLIC_HEADER_LOCATION
// This should wait until the build feature propagation stuff
@@ -195,6 +202,7 @@ cmExportInstallFileGenerator
// properties);
// Generate code in the export file.
+ this->GenerateMissingTargetsCheckCode(os, missingTargets);
this->GenerateImportPropertyCode(os, config, te->Target, properties);
this->GenerateImportedFileChecksCode(os, te->Target, properties,
importedLocations);
@@ -306,12 +314,80 @@ cmExportInstallFileGenerator
//----------------------------------------------------------------------------
void
+cmExportInstallFileGenerator::HandleMissingTarget(
+ std::string& link_libs, std::vector<std::string>& missingTargets,
+ cmMakefile* mf, cmTarget* depender, cmTarget* dependee)
+{
+ std::string name = dependee->GetName();
+ std::vector<std::string> namespaces = this->FindNamespaces(mf, name);
+ int targetOccurrences = (int)namespaces.size();
+ if (targetOccurrences == 1)
+ {
+ std::string missingTarget = namespaces[0];
+ missingTarget += name;
+ link_libs += missingTarget;
+ missingTargets.push_back(missingTarget);
+ }
+ else
+ {
+ // We are not appending, so all exported targets should be
+ // known here. This is probably user-error.
+ this->ComplainAboutMissingTarget(depender, dependee, targetOccurrences);
+ }
+}
+
+//----------------------------------------------------------------------------
+std::vector<std::string>
+cmExportInstallFileGenerator
+::FindNamespaces(cmMakefile* mf, const std::string& name)
+{
+ std::vector<std::string> namespaces;
+ cmGlobalGenerator* gg = mf->GetLocalGenerator()->GetGlobalGenerator();
+ const cmExportSetMap& exportSets = gg->GetExportSets();
+
+ for(cmExportSetMap::const_iterator expIt = exportSets.begin();
+ expIt != exportSets.end();
+ ++expIt)
+ {
+ const cmExportSet* exportSet = expIt->second;
+ std::vector<cmTargetExport*> const* targets =
+ exportSet->GetTargetExports();
+
+ bool containsTarget = false;
+ for(unsigned int i=0; i<targets->size(); i++)
+ {
+ if (name == (*targets)[i]->Target->GetName())
+ {
+ containsTarget = true;
+ break;
+ }
+ }
+
+ if (containsTarget)
+ {
+ std::vector<cmInstallExportGenerator const*> const* installs =
+ exportSet->GetInstallations();
+ for(unsigned int i=0; i<installs->size(); i++)
+ {
+ namespaces.push_back((*installs)[i]->GetNamespace());
+ }
+ }
+ }
+
+ return namespaces;
+}
+
+
+//----------------------------------------------------------------------------
+void
cmExportInstallFileGenerator
::ComplainAboutImportPrefix(cmInstallTargetGenerator* itgen)
{
- const char* installDest = this->InstallExportGenerator->GetDestination();
+ const char* installDest = this->IEGen->GetDestination();
cmOStringStream e;
- e << "INSTALL(EXPORT \"" << this->Name << "\") given absolute "
+ e << "INSTALL(EXPORT \""
+ << this->IEGen->GetExportSet()->GetName()
+ << "\") given absolute "
<< "DESTINATION \"" << installDest << "\" but the export "
<< "references an installation of target \""
<< itgen->GetTarget()->GetName() << "\" which has relative "
@@ -322,12 +398,24 @@ cmExportInstallFileGenerator
//----------------------------------------------------------------------------
void
cmExportInstallFileGenerator
-::ComplainAboutMissingTarget(cmTarget* depender, cmTarget* dependee)
+::ComplainAboutMissingTarget(cmTarget* depender,
+ cmTarget* dependee,
+ int occurrences)
{
cmOStringStream e;
- e << "INSTALL(EXPORT \"" << this->Name << "\" ...) "
+ e << "INSTALL(EXPORT \""
+ << this->IEGen->GetExportSet()->GetName()
+ << "\" ...) "
<< "includes target \"" << depender->GetName()
- << "\" which requires target \"" << dependee->GetName()
- << "\" that is not in the export set.";
+ << "\" which requires target \"" << dependee->GetName() << "\" ";
+ if (occurrences == 0)
+ {
+ e << "that is not in the export set.";
+ }
+ else
+ {
+ e << "that is not in this export set, but " << occurrences
+ << " times in others.";
+ }
cmSystemTools::Error(e.str().c_str());
}
diff --git a/Source/cmExportInstallFileGenerator.h b/Source/cmExportInstallFileGenerator.h
index fb678e891..e719eccd5 100644
--- a/Source/cmExportInstallFileGenerator.h
+++ b/Source/cmExportInstallFileGenerator.h
@@ -18,6 +18,7 @@ class cmInstallExportGenerator;
class cmInstallFilesGenerator;
class cmInstallTargetGenerator;
class cmTargetExport;
+class cmExportSet;
/** \class cmExportInstallFileGenerator
* \brief Generate a file exporting targets from an install tree.
@@ -40,15 +41,6 @@ public:
files. */
cmExportInstallFileGenerator(cmInstallExportGenerator* iegen);
- /** Set the name of the export associated with the files. This is
- the name given to the install(EXPORT) command mode. */
- void SetName(const char* name) { this->Name = name; }
-
- /** Set the set of targets to be exported. These are the targets
- associated with the export name. */
- void SetExportSet(std::vector<cmTargetExport*> const* eSet)
- { this->ExportSet = eSet; }
-
/** Get the per-config file generated for each configuraiton. This
maps from the configuration name to the file temporary location
for installation. */
@@ -65,8 +57,19 @@ protected:
virtual void GenerateImportTargetsConfig(std::ostream& os,
const char* config,
std::string const& suffix);
- virtual void ComplainAboutMissingTarget(cmTarget* depender,
- cmTarget* dependee);
+ virtual void HandleMissingTarget(std::string& link_libs,
+ std::vector<std::string>& missingTargets,
+ cmMakefile* mf,
+ cmTarget* depender,
+ cmTarget* dependee);
+
+ void ComplainAboutMissingTarget(cmTarget* depender,
+ cmTarget* dependee,
+ int occurrences);
+
+ std::vector<std::string> FindNamespaces(cmMakefile* mf,
+ const std::string& name);
+
/** Generate a per-configuration file for the targets. */
bool GenerateImportFileConfig(const char* config);
@@ -81,9 +84,7 @@ protected:
void ComplainAboutImportPrefix(cmInstallTargetGenerator* itgen);
- cmInstallExportGenerator* InstallExportGenerator;
- std::string Name;
- std::vector<cmTargetExport*> const* ExportSet;
+ cmInstallExportGenerator* IEGen;
std::string ImportPrefix;
@@ -91,34 +92,4 @@ protected:
std::map<cmStdString, cmStdString> ConfigImportFiles;
};
-/*
- cmTargetExport is used in cmGlobalGenerator to collect the install
- generators for targets associated with an export.
-*/
-class cmTargetExport
-{
-public:
- cmTargetExport(cmTarget* tgt,
- cmInstallTargetGenerator* archive,
- cmInstallTargetGenerator* runtime,
- cmInstallTargetGenerator* library,
- cmInstallTargetGenerator* framework,
- cmInstallTargetGenerator* bundle,
- cmInstallFilesGenerator* headers
- ) : Target(tgt), ArchiveGenerator(archive),
- RuntimeGenerator(runtime), LibraryGenerator(library),
- FrameworkGenerator(framework), BundleGenerator(bundle),
- HeaderGenerator(headers) {}
-
- cmTarget* Target;
- cmInstallTargetGenerator* ArchiveGenerator;
- cmInstallTargetGenerator* RuntimeGenerator;
- cmInstallTargetGenerator* LibraryGenerator;
- cmInstallTargetGenerator* FrameworkGenerator;
- cmInstallTargetGenerator* BundleGenerator;
- cmInstallFilesGenerator* HeaderGenerator;
-private:
- cmTargetExport();
-};
-
#endif
diff --git a/Source/cmExportLibraryDependencies.cxx b/Source/cmExportLibraryDependencies.cxx
index 8fdb069da..f07b783d6 100644
--- a/Source/cmExportLibraryDependencies.cxx
+++ b/Source/cmExportLibraryDependencies.cxx
@@ -26,7 +26,7 @@ bool cmExportLibraryDependenciesCommand
this->SetError("called with incorrect number of arguments");
return false;
}
-
+
// store the arguments for the final pass
this->Filename = args[0];
this->Append = false;
diff --git a/Source/cmExportLibraryDependencies.h b/Source/cmExportLibraryDependencies.h
index 2a2ff215e..d8b65ccf1 100644
--- a/Source/cmExportLibraryDependencies.h
+++ b/Source/cmExportLibraryDependencies.h
@@ -18,7 +18,7 @@
* \brief Add a test to the lists of tests to run.
*
* cmExportLibraryDependenciesCommand adds a test to the list of tests to run
- *
+ *
*/
class cmExportLibraryDependenciesCommand : public cmCommand
{
@@ -26,7 +26,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmExportLibraryDependenciesCommand;
}
@@ -40,7 +40,7 @@ public:
/**
* This is called at the end after all the information
- * specified by the command is accumulated.
+ * specified by the command is accumulated.
*/
virtual void FinalPass();
virtual bool HasFinalPass() const { return true; }
@@ -57,7 +57,7 @@ public:
{
return "Deprecated. Use INSTALL(EXPORT) or EXPORT command.";
}
-
+
/**
* More documentation.
*/
@@ -87,7 +87,7 @@ public:
{
return true;
}
-
+
cmTypeMacro(cmExportLibraryDependenciesCommand, cmCommand);
private:
diff --git a/Source/cmExportSet.cxx b/Source/cmExportSet.cxx
new file mode 100644
index 000000000..33b063037
--- /dev/null
+++ b/Source/cmExportSet.cxx
@@ -0,0 +1,32 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2000-2012 Kitware, Inc., Insight Software Consortium
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+
+#include "cmExportSet.h"
+#include "cmTargetExport.h"
+
+cmExportSet::~cmExportSet()
+{
+ for(unsigned int i = 0; i < this->TargetExports.size(); ++ i)
+ {
+ delete this->TargetExports[i];
+ }
+}
+
+void cmExportSet::AddTargetExport(cmTargetExport* te)
+{
+ this->TargetExports.push_back(te);
+}
+
+void cmExportSet::AddInstallation(cmInstallExportGenerator const* installation)
+{
+ this->Installations.push_back(installation);
+}
diff --git a/Source/cmExportSet.h b/Source/cmExportSet.h
new file mode 100644
index 000000000..a57aa1204
--- /dev/null
+++ b/Source/cmExportSet.h
@@ -0,0 +1,46 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+#ifndef cmExportSet_h
+#define cmExportSet_h
+
+#include "cmSystemTools.h"
+class cmTargetExport;
+class cmInstallExportGenerator;
+
+/// A set of targets that were installed with the same EXPORT parameter.
+class cmExportSet
+{
+public:
+ /// Construct an empty export set named \a name
+ cmExportSet(const std::string &name) : Name(name) {}
+ /// Destructor
+ ~cmExportSet();
+
+ void AddTargetExport(cmTargetExport* tgt);
+
+ void AddInstallation(cmInstallExportGenerator const* installation);
+
+ std::string const& GetName() const { return this->Name; }
+
+ std::vector<cmTargetExport*> const* GetTargetExports() const
+ { return &this->TargetExports; }
+
+ std::vector<cmInstallExportGenerator const*> const* GetInstallations() const
+ { return &this->Installations; }
+
+private:
+ std::vector<cmTargetExport*> TargetExports;
+ std::string Name;
+ std::vector<cmInstallExportGenerator const*> Installations;
+};
+
+#endif
diff --git a/Source/cmExportSetMap.cxx b/Source/cmExportSetMap.cxx
new file mode 100644
index 000000000..96fdb3e4f
--- /dev/null
+++ b/Source/cmExportSetMap.cxx
@@ -0,0 +1,34 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2000-2012 Kitware, Inc., Insight Software Consortium
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+
+#include "cmExportSetMap.h"
+#include "cmExportSet.h"
+
+cmExportSet* cmExportSetMap::operator[](const std::string &name)
+{
+ std::map<std::string, cmExportSet*>::iterator it = this->find(name);
+ if (it == this->end()) // Export set not found
+ {
+ it = this->insert(std::make_pair(name, new cmExportSet(name))).first;
+ }
+ return it->second;
+}
+
+cmExportSetMap::~cmExportSetMap()
+{
+ for(std::map<std::string, cmExportSet*>::iterator it = this->begin();
+ it != this->end();
+ ++ it)
+ {
+ delete it->second;
+ }
+}
diff --git a/Source/cmExportSetMap.h b/Source/cmExportSetMap.h
new file mode 100644
index 000000000..4663c5538
--- /dev/null
+++ b/Source/cmExportSetMap.h
@@ -0,0 +1,33 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+#ifndef cmExportSetMap_h
+#define cmExportSetMap_h
+
+#include "cmSystemTools.h"
+class cmExportSet;
+
+/// A name -> cmExportSet map with overloaded operator[].
+class cmExportSetMap : public std::map<std::string, cmExportSet*>
+{
+public:
+ /** \brief Overloaded operator[].
+ *
+ * The operator is overloaded because cmExportSet has no default constructor:
+ * we do not want unnamed export sets.
+ */
+ cmExportSet* operator[](const std::string &name);
+
+ /// Overloaded destructor deletes all member export sets.
+ ~cmExportSetMap();
+};
+
+#endif
diff --git a/Source/cmExprLexer.h b/Source/cmExprLexer.h
index 4c10496ab..03b36cec5 100644
--- a/Source/cmExprLexer.h
+++ b/Source/cmExprLexer.h
@@ -58,7 +58,7 @@ typedef uint32_t flex_uint32_t;
typedef signed char flex_int8_t;
typedef short int flex_int16_t;
typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t;
+typedef unsigned char flex_uint8_t;
typedef unsigned short int flex_uint16_t;
typedef unsigned int flex_uint32_t;
#endif /* ! C99 */
@@ -188,7 +188,7 @@ struct yy_buffer_state
int yy_bs_lineno; /**< The line count. */
int yy_bs_column; /**< The column count. */
-
+
/* Whether to try to fill the input buffer when we reach the
* end of it.
*/
diff --git a/Source/cmExprLexer.in.l b/Source/cmExprLexer.in.l
index db9018f99..f344b40ff 100644
--- a/Source/cmExprLexer.in.l
+++ b/Source/cmExprLexer.in.l
@@ -54,19 +54,19 @@ Modify cmExprLexer.h:
%%
-[0-9][0-9]* { yylvalp->Number = atoi(yytext); return exp_NUMBER; }
+[0-9][0-9]* { yylvalp->Number = atoi(yytext); return exp_NUMBER; }
"+" { return exp_PLUS; }
-"-" { return exp_MINUS; }
-"*" { return exp_TIMES; }
-"/" { return exp_DIVIDE; }
-"%" { return exp_MOD; }
-"\|" { return exp_OR; }
-"&" { return exp_AND; }
-"^" { return exp_XOR; }
-"~" { return exp_NOT; }
-"<<" { return exp_SHIFTLEFT; }
-">>" { return exp_SHIFTRIGHT; }
+"-" { return exp_MINUS; }
+"*" { return exp_TIMES; }
+"/" { return exp_DIVIDE; }
+"%" { return exp_MOD; }
+"\|" { return exp_OR; }
+"&" { return exp_AND; }
+"^" { return exp_XOR; }
+"~" { return exp_NOT; }
+"<<" { return exp_SHIFTLEFT; }
+">>" { return exp_SHIFTRIGHT; }
"(" { return exp_OPENPARENT; }
")" { return exp_CLOSEPARENT; }
diff --git a/Source/cmExprParserHelper.cxx b/Source/cmExprParserHelper.cxx
index 7728d740b..9c1795ec2 100644
--- a/Source/cmExprParserHelper.cxx
+++ b/Source/cmExprParserHelper.cxx
@@ -42,7 +42,7 @@ int cmExprParserHelper::ParseString(const char* str, int verb)
this->InputBuffer = str;
this->InputBufferPos = 0;
this->CurrentLine = 0;
-
+
this->Result = 0;
yyscan_t yyscanner;
@@ -61,7 +61,7 @@ int cmExprParserHelper::ParseString(const char* str, int verb)
if ( Verbose )
{
- std::cerr << "Expanding [" << str << "] produced: ["
+ std::cerr << "Expanding [" << str << "] produced: ["
<< this->Result << "]" << std::endl;
}
return 1;
diff --git a/Source/cmExprParserHelper.h b/Source/cmExprParserHelper.h
index 690426d8d..4b76b3322 100644
--- a/Source/cmExprParserHelper.h
+++ b/Source/cmExprParserHelper.h
@@ -9,7 +9,7 @@
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the License for more information.
============================================================================*/
-#ifndef cmExprParserHelper_h
+#ifndef cmExprParserHelper_h
#define cmExprParserHelper_h
#include "cmStandardIncludes.h"
diff --git a/Source/cmExternalMakefileProjectGenerator.cxx b/Source/cmExternalMakefileProjectGenerator.cxx
index 6ed84bd95..9c965cc24 100644
--- a/Source/cmExternalMakefileProjectGenerator.cxx
+++ b/Source/cmExternalMakefileProjectGenerator.cxx
@@ -49,7 +49,7 @@ const char* cmExternalMakefileProjectGenerator::GetGlobalGeneratorName(
}
// otherwise search for the matching global generator
- for (std::vector<std::string>::const_iterator
+ for (std::vector<std::string>::const_iterator
it = this->SupportedGlobalGenerators.begin();
it != this->SupportedGlobalGenerators.end();
++it)
diff --git a/Source/cmExternalMakefileProjectGenerator.h b/Source/cmExternalMakefileProjectGenerator.h
index 46f1d310b..182c1a8f6 100644
--- a/Source/cmExternalMakefileProjectGenerator.h
+++ b/Source/cmExternalMakefileProjectGenerator.h
@@ -22,12 +22,12 @@ class cmGlobalGenerator;
* \brief Base class for generators for "External Makefile based IDE projects".
*
* cmExternalMakefileProjectGenerator is a base class for generators
- * for "external makefile based projects", i.e. IDE projects which work
+ * for "external makefile based projects", i.e. IDE projects which work
* an already existing makefiles.
* See cmGlobalKdevelopGenerator as an example.
- * After the makefiles have been generated by one of the Makefile
+ * After the makefiles have been generated by one of the Makefile
* generators, the Generate() method is called and this generator
- * can iterate over the local generators and/or projects to produce the
+ * can iterate over the local generators and/or projects to produce the
* project files for the IDE.
*/
class cmExternalMakefileProjectGenerator
@@ -39,7 +39,7 @@ public:
///! Get the name for this generator.
virtual const char* GetName() const = 0;
/** Get the documentation entry for this generator. */
- virtual void GetDocumentation(cmDocumentationEntry& entry,
+ virtual void GetDocumentation(cmDocumentationEntry& entry,
const char* fullName) const = 0;
///! set the global generator which will generate the makefiles
@@ -47,7 +47,7 @@ public:
{this->GlobalGenerator = generator;}
///! Return the list of global generators supported by this extra generator
- const std::vector<std::string>& GetSupportedGlobalGenerators() const
+ const std::vector<std::string>& GetSupportedGlobalGenerators() const
{return this->SupportedGlobalGenerators;}
///! Get the name of the global generator for the given full name
@@ -55,7 +55,7 @@ public:
/** Create a full name from the given global generator name and the
* extra generator name
*/
- static std::string CreateFullGeneratorName(const char* globalGenerator,
+ static std::string CreateFullGeneratorName(const char* globalGenerator,
const char* extraGenerator);
///! Generate the project files, the Makefiles have already been generated
diff --git a/Source/cmExtraCodeBlocksGenerator.cxx b/Source/cmExtraCodeBlocksGenerator.cxx
index ad4ab76ee..25b13e52e 100644
--- a/Source/cmExtraCodeBlocksGenerator.cxx
+++ b/Source/cmExtraCodeBlocksGenerator.cxx
@@ -617,14 +617,17 @@ void cmExtraCodeBlocksGenerator::AppendTarget(cmGeneratedFileStream& fout,
" <Option compiler=\"" << compiler << "\" />\n"
" <Compiler>\n";
+ cmGeneratorTarget *gtgt = this->GlobalGenerator
+ ->GetGeneratorTarget(target);
+
// the compilerdefines for this target
- const char* cdefs = target->GetMakefile()->GetProperty(
- "COMPILE_DEFINITIONS");
- if(cdefs)
+ std::string cdefs = gtgt->GetCompileDefinitions();
+
+ if(!cdefs.empty())
{
// Expand the list.
std::vector<std::string> defs;
- cmSystemTools::ExpandListArgument(cdefs, defs);
+ cmSystemTools::ExpandListArgument(cdefs.c_str(), defs);
for(std::vector<std::string>::const_iterator di = defs.begin();
di != defs.end(); ++di)
{
@@ -633,57 +636,59 @@ void cmExtraCodeBlocksGenerator::AppendTarget(cmGeneratedFileStream& fout,
}
}
- // the include directories for this target
- std::set<std::string> uniqIncludeDirs;
+ // the include directories for this target
+ std::set<std::string> uniqIncludeDirs;
+
+ std::vector<std::string> includes;
+ const char *config = target->GetMakefile()
+ ->GetDefinition("CMAKE_BUILD_TYPE");
+ target->GetMakefile()->GetLocalGenerator()->
+ GetIncludeDirectories(includes, gtgt, "C", config);
+ for(std::vector<std::string>::const_iterator dirIt=includes.begin();
+ dirIt != includes.end();
+ ++dirIt)
+ {
+ uniqIncludeDirs.insert(*dirIt);
+ }
- std::vector<std::string> includes;
- target->GetMakefile()->GetLocalGenerator()->
- GetIncludeDirectories(includes, target);
- for(std::vector<std::string>::const_iterator dirIt=includes.begin();
- dirIt != includes.end();
+ std::string systemIncludeDirs = makefile->GetSafeDefinition(
+ "CMAKE_EXTRA_GENERATOR_C_SYSTEM_INCLUDE_DIRS");
+ if (!systemIncludeDirs.empty())
+ {
+ std::vector<std::string> dirs;
+ cmSystemTools::ExpandListArgument(systemIncludeDirs.c_str(), dirs);
+ for(std::vector<std::string>::const_iterator dirIt=dirs.begin();
+ dirIt != dirs.end();
++dirIt)
{
uniqIncludeDirs.insert(*dirIt);
}
+ }
- std::string systemIncludeDirs = makefile->GetSafeDefinition(
- "CMAKE_EXTRA_GENERATOR_C_SYSTEM_INCLUDE_DIRS");
- if (!systemIncludeDirs.empty())
- {
- std::vector<std::string> dirs;
- cmSystemTools::ExpandListArgument(systemIncludeDirs.c_str(), dirs);
- for(std::vector<std::string>::const_iterator dirIt=dirs.begin();
- dirIt != dirs.end();
- ++dirIt)
- {
- uniqIncludeDirs.insert(*dirIt);
- }
- }
-
- systemIncludeDirs = makefile->GetSafeDefinition(
- "CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_INCLUDE_DIRS");
- if (!systemIncludeDirs.empty())
- {
- std::vector<std::string> dirs;
- cmSystemTools::ExpandListArgument(systemIncludeDirs.c_str(), dirs);
- for(std::vector<std::string>::const_iterator dirIt=dirs.begin();
- dirIt != dirs.end();
- ++dirIt)
- {
- uniqIncludeDirs.insert(*dirIt);
- }
- }
-
- for(std::set<std::string>::const_iterator dirIt=uniqIncludeDirs.begin();
- dirIt != uniqIncludeDirs.end();
+ systemIncludeDirs = makefile->GetSafeDefinition(
+ "CMAKE_EXTRA_GENERATOR_CXX_SYSTEM_INCLUDE_DIRS");
+ if (!systemIncludeDirs.empty())
+ {
+ std::vector<std::string> dirs;
+ cmSystemTools::ExpandListArgument(systemIncludeDirs.c_str(), dirs);
+ for(std::vector<std::string>::const_iterator dirIt=dirs.begin();
+ dirIt != dirs.end();
++dirIt)
{
- fout <<" <Add directory=\"" << dirIt->c_str() << "\" />\n";
+ uniqIncludeDirs.insert(*dirIt);
}
+ }
- fout<<" </Compiler>\n";
+ for(std::set<std::string>::const_iterator dirIt=uniqIncludeDirs.begin();
+ dirIt != uniqIncludeDirs.end();
+ ++dirIt)
+ {
+ fout <<" <Add directory=\"" << dirIt->c_str() << "\" />\n";
}
- else // e.g. all and the GLOBAL and UTILITY targets
+
+ fout<<" </Compiler>\n";
+ }
+ else // e.g. all and the GLOBAL and UTILITY targets
{
fout<<" <Option working_dir=\""
<< makefile->GetStartOutputDirectory() << "\" />\n"
diff --git a/Source/cmExtraEclipseCDT4Generator.cxx b/Source/cmExtraEclipseCDT4Generator.cxx
index 78a87047a..96b8a0920 100644
--- a/Source/cmExtraEclipseCDT4Generator.cxx
+++ b/Source/cmExtraEclipseCDT4Generator.cxx
@@ -462,18 +462,6 @@ void cmExtraEclipseCDT4Generator::CreateProjectFile()
this->CreateLinksForTargets(fout);
}
- // I'm not sure this makes too much sense. There can be different
- // output directories in different subdirs, so we would need more of them.
-
- // for EXECUTABLE_OUTPUT_PATH when not in binary dir
- this->AppendOutLinkedResource(fout,
- mf->GetSafeDefinition("CMAKE_RUNTIME_OUTPUT_DIRECTORY"),
- mf->GetSafeDefinition("EXECUTABLE_OUTPUT_PATH"));
- // for LIBRARY_OUTPUT_PATH when not in binary dir
- this->AppendOutLinkedResource(fout,
- mf->GetSafeDefinition("CMAKE_LIBRARY_OUTPUT_DIRECTORY"),
- mf->GetSafeDefinition("LIBRARY_OUTPUT_PATH"));
-
fout << "\t</linkedResources>\n";
fout << "</projectDescription>\n";
@@ -610,6 +598,16 @@ void cmExtraEclipseCDT4Generator::AppendIncludeDirectories(
if (!inc->empty())
{
std::string dir = cmSystemTools::CollapseFullPath(inc->c_str());
+
+ // handle framework include dirs on OSX, the remainder after the
+ // Frameworks/ part has to be stripped
+ // /System/Library/Frameworks/GLUT.framework/Headers
+ cmsys::RegularExpression frameworkRx("(.+/Frameworks)/.+\\.framework/");
+ if(frameworkRx.find(dir.c_str()))
+ {
+ dir = frameworkRx.match(1);
+ }
+
if(emittedDirs.find(dir) == emittedDirs.end())
{
emittedDirs.insert(dir);
@@ -761,18 +759,6 @@ void cmExtraEclipseCDT4Generator::CreateCProjectFile() const
excludeFromOut += "**/CMakeFiles/";
fout << "<pathentry excluding=\"" << excludeFromOut
<< "\" kind=\"out\" path=\"\"/>\n";
- // add output entry for EXECUTABLE_OUTPUT_PATH and LIBRARY_OUTPUT_PATH
- // - if it is a subdir of homeOutputDirectory, there is no need to add it
- // - if it is not then create a linked resource and add the linked name
- // but check it doesn't conflict with other linked resources names
- for (std::vector<std::string>::const_iterator
- it = this->OutLinkedResources.begin();
- it != this->OutLinkedResources.end();
- ++it)
- {
- fout << "<pathentry kind=\"out\" path=\"" << this->EscapeForXML(*it)
- << "\"/>\n";
- }
// add pre-processor definitions to allow eclipse to gray out sections
emmited.clear();
@@ -898,11 +884,18 @@ void cmExtraEclipseCDT4Generator::CreateCProjectFile() const
it != this->GlobalGenerator->GetLocalGenerators().end();
++it)
{
- cmTargets & targets = (*it)->GetMakefile()->GetTargets();
- for (cmTargets::iterator l = targets.begin(); l != targets.end(); ++l)
+ cmGeneratorTargetsType targets = (*it)->GetMakefile()
+ ->GetGeneratorTargets();
+ for (cmGeneratorTargetsType::iterator l = targets.begin();
+ l != targets.end(); ++l)
{
+ if (l->first->IsImported())
+ {
+ continue;
+ }
std::vector<std::string> includeDirs;
- (*it)->GetIncludeDirectories(includeDirs, &l->second);
+ const char *config = mf->GetDefinition("CMAKE_BUILD_TYPE");
+ (*it)->GetIncludeDirectories(includeDirs, l->second, "C", config);
this->AppendIncludeDirectories(fout, includeDirs, emmited);
}
}
@@ -1317,51 +1310,3 @@ void cmExtraEclipseCDT4Generator
"\t\t</link>\n"
;
}
-
-bool cmExtraEclipseCDT4Generator
-::AppendOutLinkedResource(cmGeneratedFileStream& fout,
- const std::string& defname,
- const std::string& altdefname)
-{
- if (defname.empty() && altdefname.empty())
- {
- return false;
- }
-
- std::string outputPath = (defname.empty() ? altdefname : defname);
-
- if (!cmSystemTools::FileIsFullPath(outputPath.c_str()))
- {
- outputPath = this->HomeOutputDirectory + "/" + outputPath;
- }
- if (cmSystemTools::IsSubDirectory(outputPath.c_str(),
- this->HomeOutputDirectory.c_str()))
- {
- return false;
- }
-
- std::string name = this->GetPathBasename(outputPath);
-
- // make sure linked resource name is unique
- while (this->GlobalGenerator->GetProjectMap().find(name)
- != this->GlobalGenerator->GetProjectMap().end())
- {
- name += "_";
- }
-
- if (std::find(this->OutLinkedResources.begin(),
- this->OutLinkedResources.end(),
- name)
- != this->OutLinkedResources.end())
- {
- return false;
- }
- else
- {
- this->AppendLinkedResource(fout, name,
- this->GetEclipsePath(outputPath), LinkToFolder);
- this->OutLinkedResources.push_back(name);
- return true;
- }
-}
-
diff --git a/Source/cmExtraEclipseCDT4Generator.h b/Source/cmExtraEclipseCDT4Generator.h
index ebd8c081e..37ce65e75 100644
--- a/Source/cmExtraEclipseCDT4Generator.h
+++ b/Source/cmExtraEclipseCDT4Generator.h
@@ -93,10 +93,6 @@ private:
const std::string& path,
LinkType linkType);
- bool AppendOutLinkedResource(cmGeneratedFileStream& fout,
- const std::string& defname,
- const std::string& altdefname);
-
static void AppendIncludeDirectories(cmGeneratedFileStream& fout,
const std::vector<std::string>& includeDirs,
std::set<std::string>& emittedDirs);
@@ -109,7 +105,6 @@ private:
void CreateLinksForTargets(cmGeneratedFileStream& fout);
std::vector<std::string> SrcLinkedResources;
- std::vector<std::string> OutLinkedResources;
std::string HomeDirectory;
std::string HomeOutputDirectory;
bool IsOutOfSourceBuild;
diff --git a/Source/cmFLTKWrapUICommand.cxx b/Source/cmFLTKWrapUICommand.cxx
index 93533e57c..a4aa75a7d 100644
--- a/Source/cmFLTKWrapUICommand.cxx
+++ b/Source/cmFLTKWrapUICommand.cxx
@@ -33,19 +33,19 @@ bool cmFLTKWrapUICommand
std::vector<std::string> newArgs;
this->Makefile->ExpandSourceListArguments(args,newArgs, 1);
-
- // get the list of GUI files from which .cxx and .h will be generated
+
+ // get the list of GUI files from which .cxx and .h will be generated
std::string outputDirectory = this->Makefile->GetCurrentOutputDirectory();
- // Some of the generated files are *.h so the directory "GUI"
+ // Some of the generated files are *.h so the directory "GUI"
// where they are created have to be added to the include path
this->Makefile->AddIncludeDirectory( outputDirectory.c_str() );
- for(std::vector<std::string>::iterator i = (newArgs.begin() + 1);
+ for(std::vector<std::string>::iterator i = (newArgs.begin() + 1);
i != newArgs.end(); i++)
{
cmSourceFile *curr = this->Makefile->GetSource(i->c_str());
- // if we should use the source GUI
+ // if we should use the source GUI
// to generate .cxx and .h files
if (!curr || !curr->GetPropertyAsBool("WRAP_EXCLUDE"))
{
@@ -107,11 +107,11 @@ bool cmFLTKWrapUICommand
std::string varName = this->Target;
varName += "_FLTK_UI_SRCS";
this->Makefile->AddDefinition(varName.c_str(), sourceListValue.c_str());
-
+
return true;
}
-void cmFLTKWrapUICommand::FinalPass()
+void cmFLTKWrapUICommand::FinalPass()
{
// people should add the srcs to the target themselves, but the old command
// didn't support that, so check and see if they added the files in and if
@@ -119,7 +119,7 @@ void cmFLTKWrapUICommand::FinalPass()
cmTarget* target = this->Makefile->FindTarget(this->Target.c_str());
if(!target)
{
- std::string msg =
+ std::string msg =
"FLTK_WRAP_UI was called with a target that was never created: ";
msg += this->Target;
msg +=". The problem was found while processing the source directory: ";
@@ -128,12 +128,12 @@ void cmFLTKWrapUICommand::FinalPass()
cmSystemTools::Message(msg.c_str(),"Warning");
return;
}
- std::vector<cmSourceFile*> const& srcs =
+ std::vector<cmSourceFile*> const& srcs =
target->GetSourceFiles();
bool found = false;
for (unsigned int i = 0; i < srcs.size(); ++i)
{
- if (srcs[i]->GetFullPath() ==
+ if (srcs[i]->GetFullPath() ==
this->GeneratedSourcesClasses[0]->GetFullPath())
{
found = true;
@@ -142,7 +142,7 @@ void cmFLTKWrapUICommand::FinalPass()
}
if (!found)
{
- std::string msg =
+ std::string msg =
"In CMake 2.2 the FLTK_WRAP_UI command sets a variable to the list of "
"source files that should be added to your executable or library. It "
"appears that you have not added these source files to your target. "
@@ -153,13 +153,13 @@ void cmFLTKWrapUICommand::FinalPass()
"of sources to add to your target when you call ADD_LIBRARY or "
"ADD_EXECUTABLE. For now CMake will add the sources to your target "
"for you as was done in CMake 2.0 and earlier. In the future this may "
- "become an error.";
+ "become an error.";
msg +="The problem was found while processing the source directory: ";
msg += this->Makefile->GetStartDirectory();
cmSystemTools::Message(msg.c_str(),"Warning");
// first we add the rules for all the .fl to .h and .cxx files
size_t lastHeadersClass = this->GeneratedSourcesClasses.size();
-
+
// Generate code for all the .fl files
for(size_t classNum = 0; classNum < lastHeadersClass; classNum++)
{
diff --git a/Source/cmFLTKWrapUICommand.h b/Source/cmFLTKWrapUICommand.h
index cb0f9d534..530de2c96 100644
--- a/Source/cmFLTKWrapUICommand.h
+++ b/Source/cmFLTKWrapUICommand.h
@@ -28,7 +28,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmFLTKWrapUICommand;
}
@@ -39,7 +39,7 @@ public:
*/
virtual bool InitialPass(std::vector<std::string> const& args,
cmExecutionStatus &status);
-
+
/**
* This is called at the end after all the information
* specified by the command is accumulated. Most commands do
@@ -61,7 +61,7 @@ public:
{
return "Create FLTK user interfaces Wrappers.";
}
-
+
/**
* More documentation.
*/
@@ -75,7 +75,7 @@ public:
"resultingLibraryName_FLTK_UI_SRCS which should be added to your "
"library.";
}
-
+
private:
/**
* List of produced files.
@@ -83,7 +83,7 @@ private:
std::vector<cmSourceFile *> GeneratedSourcesClasses;
/**
- * List of Fluid files that provide the source
+ * List of Fluid files that provide the source
* generating .cxx and .h files
*/
std::string Target;
diff --git a/Source/cmFileCommand.cxx b/Source/cmFileCommand.cxx
index 5da5a0181..8de24b358 100644
--- a/Source/cmFileCommand.cxx
+++ b/Source/cmFileCommand.cxx
@@ -10,6 +10,7 @@
See the License for more information.
============================================================================*/
#include "cmFileCommand.h"
+#include "cmCryptoHash.h"
#include "cmake.h"
#include "cmHexFileConverter.h"
#include "cmInstallType.h"
@@ -271,7 +272,7 @@ bool cmFileCommand::HandleReadCommand(std::vector<std::string> const& args)
// Open the specified file.
#if defined(_WIN32) || defined(__CYGWIN__)
- std::ifstream file(fileName.c_str(), std::ios::in |
+ std::ifstream file(fileName.c_str(), std::ios::in |
(hexOutputArg.IsEnabled() ? std::ios::binary : std::ios::in));
#else
std::ifstream file(fileName.c_str(), std::ios::in);
@@ -2621,17 +2622,17 @@ namespace {
::curl_easy_cleanup(this->Easy);
}
}
-
- inline void release(void)
+
+ inline void release(void)
{
this->Easy = 0;
return;
}
-
+
private:
::CURL * Easy;
};
-
+
}
#endif
@@ -2666,7 +2667,11 @@ cmFileCommand::HandleDownloadCommand(std::vector<std::string> const& args)
long inactivity_timeout = 0;
std::string verboseLog;
std::string statusVar;
- std::string expectedMD5sum;
+ bool tls_verify = this->Makefile->IsOn("CMAKE_TLS_VERIFY");
+ const char* cainfo = this->Makefile->GetDefinition("CMAKE_TLS_CAINFO");
+ std::string expectedHash;
+ std::string hashMatchMSG;
+ cmsys::auto_ptr<cmCryptoHash> hash;
bool showProgress = false;
while(i != args.end())
@@ -2717,6 +2722,32 @@ cmFileCommand::HandleDownloadCommand(std::vector<std::string> const& args)
}
statusVar = *i;
}
+ else if(*i == "TLS_VERIFY")
+ {
+ ++i;
+ if(i != args.end())
+ {
+ tls_verify = cmSystemTools::IsOn(i->c_str());
+ }
+ else
+ {
+ this->SetError("TLS_VERIFY missing bool value.");
+ return false;
+ }
+ }
+ else if(*i == "TLS_CAINFO")
+ {
+ ++i;
+ if(i != args.end())
+ {
+ cainfo = i->c_str();
+ }
+ else
+ {
+ this->SetError("TLS_CAFILE missing file value.");
+ return false;
+ }
+ }
else if(*i == "EXPECTED_MD5")
{
++i;
@@ -2725,48 +2756,68 @@ cmFileCommand::HandleDownloadCommand(std::vector<std::string> const& args)
this->SetError("DOWNLOAD missing sum value for EXPECTED_MD5.");
return false;
}
- expectedMD5sum = cmSystemTools::LowerCase(*i);
+ hash = cmsys::auto_ptr<cmCryptoHash>(cmCryptoHash::New("MD5"));
+ hashMatchMSG = "MD5 sum";
+ expectedHash = cmSystemTools::LowerCase(*i);
}
else if(*i == "SHOW_PROGRESS")
{
showProgress = true;
}
+ else if(*i == "EXPECTED_HASH")
+ {
+ ++i;
+ if(i == args.end())
+ {
+ this->SetError("DOWNLOAD missing ALGO=value for EXPECTED_HASH.");
+ return false;
+ }
+ std::string::size_type pos = i->find("=");
+ if(pos == std::string::npos)
+ {
+ std::string err =
+ "DOWNLOAD EXPECTED_HASH expects ALGO=value but got: ";
+ err += *i;
+ this->SetError(err.c_str());
+ return false;
+ }
+ std::string algo = i->substr(0, pos);
+ expectedHash = cmSystemTools::LowerCase(i->substr(pos+1));
+ hash = cmsys::auto_ptr<cmCryptoHash>(cmCryptoHash::New(algo.c_str()));
+ if(!hash.get())
+ {
+ std::string err = "DOWNLOAD EXPECTED_HASH given unknown ALGO: ";
+ err += algo;
+ this->SetError(err.c_str());
+ return false;
+ }
+ hashMatchMSG = algo + " hash";
+ }
++i;
}
-
- // If file exists already, and caller specified an expected md5 sum,
- // and the existing file already has the expected md5 sum, then simply
+ // If file exists already, and caller specified an expected md5 or sha,
+ // and the existing file already has the expected hash, then simply
// return.
//
- if(cmSystemTools::FileExists(file.c_str()) &&
- !expectedMD5sum.empty())
+ if(cmSystemTools::FileExists(file.c_str()) && hash.get())
{
- char computedMD5[32];
-
- if (!cmSystemTools::ComputeFileMD5(file.c_str(), computedMD5))
- {
- this->SetError("DOWNLOAD cannot compute MD5 sum on pre-existing file");
- return false;
- }
-
- std::string actualMD5sum = cmSystemTools::LowerCase(
- std::string(computedMD5, 32));
-
- if (expectedMD5sum == actualMD5sum)
+ std::string msg;
+ std::string actualHash = hash->HashFile(file.c_str());
+ if(actualHash == expectedHash)
{
+ msg = "returning early; file already exists with expected ";
+ msg += hashMatchMSG;
+ msg += "\"";
if(statusVar.size())
{
cmOStringStream result;
- result << (int)0 << ";\""
- "returning early: file already exists with expected MD5 sum\"";
+ result << (int)0 << ";\"" << msg;
this->Makefile->AddDefinition(statusVar.c_str(),
result.str().c_str());
}
-
return true;
}
}
-
// Make sure parent directory exists so we can write to the file
// as we receive downloaded bits from curl...
//
@@ -2798,7 +2849,6 @@ cmFileCommand::HandleDownloadCommand(std::vector<std::string> const& args)
}
cURLEasyGuard g_curl(curl);
-
::CURLcode res = ::curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
check_curl_result(res, "DOWNLOAD cannot set url: ");
@@ -2806,6 +2856,9 @@ cmFileCommand::HandleDownloadCommand(std::vector<std::string> const& args)
res = ::curl_easy_setopt(curl, CURLOPT_FAILONERROR, 1);
check_curl_result(res, "DOWNLOAD cannot set http failure option: ");
+ res = ::curl_easy_setopt(curl, CURLOPT_USERAGENT, "curl/" LIBCURL_VERSION);
+ check_curl_result(res, "DOWNLOAD cannot set user agent option: ");
+
res = ::curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION,
cmWriteToFileCallback);
check_curl_result(res, "DOWNLOAD cannot set write function: ");
@@ -2814,6 +2867,25 @@ cmFileCommand::HandleDownloadCommand(std::vector<std::string> const& args)
cmFileCommandCurlDebugCallback);
check_curl_result(res, "DOWNLOAD cannot set debug function: ");
+ // check to see if TLS verification is requested
+ if(tls_verify)
+ {
+ res = ::curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 1);
+ check_curl_result(res, "Unable to set TLS/SSL Verify on: ");
+ }
+ else
+ {
+ res = ::curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0);
+ check_curl_result(res, "Unable to set TLS/SSL Verify off: ");
+ }
+ // check to see if a CAINFO file has been specified
+ // command arg comes first
+ if(cainfo && *cainfo)
+ {
+ res = ::curl_easy_setopt(curl, CURLOPT_CAINFO, cainfo);
+ check_curl_result(res, "Unable to set TLS/SSL Verify CAINFO: ");
+ }
+
cmFileCommandVectorOfChar chunkDebug;
res = ::curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void *)&fout);
@@ -2888,26 +2960,22 @@ cmFileCommand::HandleDownloadCommand(std::vector<std::string> const& args)
// Verify MD5 sum if requested:
//
- if (!expectedMD5sum.empty())
+ if (hash.get())
{
- char computedMD5[32];
-
- if (!cmSystemTools::ComputeFileMD5(file.c_str(), computedMD5))
+ std::string actualHash = hash->HashFile(file.c_str());
+ if (actualHash.size() == 0)
{
- this->SetError("DOWNLOAD cannot compute MD5 sum on downloaded file");
+ this->SetError("DOWNLOAD cannot compute hash on downloaded file");
return false;
}
- std::string actualMD5sum = cmSystemTools::LowerCase(
- std::string(computedMD5, 32));
-
- if (expectedMD5sum != actualMD5sum)
+ if (expectedHash != actualHash)
{
cmOStringStream oss;
- oss << "DOWNLOAD MD5 mismatch" << std::endl
+ oss << "DOWNLOAD HASH mismatch" << std::endl
<< " for file: [" << file << "]" << std::endl
- << " expected MD5 sum: [" << expectedMD5sum << "]" << std::endl
- << " actual MD5 sum: [" << actualMD5sum << "]" << std::endl
+ << " expected hash: [" << expectedHash << "]" << std::endl
+ << " actual hash: [" << actualHash << "]" << std::endl
;
this->SetError(oss.str().c_str());
return false;
diff --git a/Source/cmFileCommand.h b/Source/cmFileCommand.h
index ced26c49b..b4aa903a0 100644
--- a/Source/cmFileCommand.h
+++ b/Source/cmFileCommand.h
@@ -83,7 +83,8 @@ public:
" file(TO_NATIVE_PATH path result)\n"
" file(DOWNLOAD url file [INACTIVITY_TIMEOUT timeout]\n"
" [TIMEOUT timeout] [STATUS status] [LOG log] [SHOW_PROGRESS]\n"
- " [EXPECTED_MD5 sum])\n"
+ " [EXPECTED_HASH ALGO=value] [EXPECTED_MD5 sum]\n"
+ " [TLS_VERIFY on|off] [TLS_CAINFO file])\n"
" file(UPLOAD filename url [INACTIVITY_TIMEOUT timeout]\n"
" [TIMEOUT timeout] [STATUS status] [LOG log] [SHOW_PROGRESS])\n"
"WRITE will write a message into a file called 'filename'. It "
@@ -168,11 +169,21 @@ public:
"timeout after time seconds, time should be specified as an integer. "
"The INACTIVITY_TIMEOUT specifies an integer number of seconds of "
"inactivity after which the operation should terminate. "
- "If EXPECTED_MD5 sum is specified, the operation will verify that the "
- "downloaded file's actual md5 sum matches the expected value. If it "
- "does not match, the operation fails with an error. "
+ "If EXPECTED_HASH ALGO=value is specified, the operation will verify "
+ "that the downloaded file's actual hash matches the expected value, "
+ "where ALGO is one of MD5, SHA1, SHA224, SHA256, SHA384, or SHA512. "
+ "If it does not match, the operation fails with an error. "
+ "(\"EXPECTED_MD5 sum\" is short-hand for \"EXPECTED_HASH MD5=sum\".) "
"If SHOW_PROGRESS is specified, progress information will be printed "
- "as status messages until the operation is complete."
+ "as status messages until the operation is complete. "
+ "For https URLs CMake must be built with OpenSSL. "
+ "TLS/SSL certificates are not checked by default. "
+ "Set TLS_VERIFY to ON to check certificates and/or use "
+ "EXPECTED_HASH to verify downloaded content. "
+ "Set TLS_CAINFO to specify a custom Certificate Authority file. "
+ "If either TLS option is not given CMake will check variables "
+ "CMAKE_TLS_VERIFY and CMAKE_TLS_CAINFO, "
+ "respectively."
"\n"
"UPLOAD will upload the given file to the given URL. "
"If LOG var is specified a log of the upload will be put in var. "
diff --git a/Source/cmFileTimeComparison.cxx b/Source/cmFileTimeComparison.cxx
index b1050d311..3167be496 100644
--- a/Source/cmFileTimeComparison.cxx
+++ b/Source/cmFileTimeComparison.cxx
@@ -116,7 +116,7 @@ cmFileTimeComparison::~cmFileTimeComparison()
}
//----------------------------------------------------------------------------
-bool cmFileTimeComparison::FileTimeCompare(const char* f1,
+bool cmFileTimeComparison::FileTimeCompare(const char* f1,
const char* f2, int* result)
{
return this->Internals->FileTimeCompare(f1, f2, result);
@@ -129,7 +129,7 @@ bool cmFileTimeComparison::FileTimesDiffer(const char* f1, const char* f2)
}
//----------------------------------------------------------------------------
-int cmFileTimeComparisonInternal::Compare(cmFileTimeComparison_Type* s1,
+int cmFileTimeComparisonInternal::Compare(cmFileTimeComparison_Type* s1,
cmFileTimeComparison_Type* s2)
{
#if !defined(_WIN32) || defined(__CYGWIN__)
diff --git a/Source/cmFileTimeComparison.h b/Source/cmFileTimeComparison.h
index f5de2f619..cc1ef633d 100644
--- a/Source/cmFileTimeComparison.h
+++ b/Source/cmFileTimeComparison.h
@@ -31,7 +31,7 @@ public:
* Compare file modification times.
* Return true for successful comparison and false for error.
* When true is returned, result has -1, 0, +1 for
- * f1 older, same, or newer than f2.
+ * f1 older, same, or newer than f2.
*/
bool FileTimeCompare(const char* f1, const char* f2, int* result);
@@ -42,7 +42,7 @@ public:
bool FileTimesDiffer(const char* f1, const char* f2);
protected:
-
+
cmFileTimeComparisonInternal* Internals;
};
diff --git a/Source/cmFindBase.cxx b/Source/cmFindBase.cxx
index fb8bcf78d..a54bf7c4a 100644
--- a/Source/cmFindBase.cxx
+++ b/Source/cmFindBase.cxx
@@ -10,7 +10,7 @@
See the License for more information.
============================================================================*/
#include "cmFindBase.h"
-
+
cmFindBase::cmFindBase()
{
this->AlreadyInCache = false;
@@ -132,7 +132,7 @@ bool cmFindBase::ParseArguments(std::vector<std::string> const& argsIn)
bool compatibility = this->Makefile->NeedBackwardsCompatibility(2,3);
// copy argsIn into args so it can be modified,
- // in the process extract the DOC "documentation"
+ // in the process extract the DOC "documentation"
size_t size = argsIn.size();
std::vector<std::string> args;
bool foundDoc = false;
@@ -178,7 +178,7 @@ bool cmFindBase::ParseArguments(std::vector<std::string> const& argsIn)
this->AlreadyInCache = true;
return true;
}
- this->AlreadyInCache = false;
+ this->AlreadyInCache = false;
// Find the current root path mode.
this->SelectDefaultRootPathMode();
@@ -264,17 +264,17 @@ bool cmFindBase::ParseArguments(std::vector<std::string> const& argsIn)
}
else if(this->Names.size() == 1)
{
- this->VariableDocumentation += "the "
+ this->VariableDocumentation += "the "
+ this->Names[0] + " library be found";
}
else
- {
+ {
this->VariableDocumentation += "one of the " + this->Names[0];
for (unsigned int j = 1; j < this->Names.size() - 1; ++j)
{
this->VariableDocumentation += ", " + this->Names[j];
}
- this->VariableDocumentation += " or "
+ this->VariableDocumentation += " or "
+ this->Names[this->Names.size() - 1] + " libraries be found";
}
}
@@ -504,7 +504,7 @@ void cmFindBase::AddPathSuffixes()
cmSystemTools::ConvertToUnixSlashes(*i);
// copy each finalPath combined with SearchPathSuffixes
// to the SearchPaths ivar
- for(std::vector<std::string>::iterator j =
+ for(std::vector<std::string>::iterator j =
this->SearchPathSuffixes.begin();
j != this->SearchPathSuffixes.end(); ++j)
{
@@ -517,7 +517,7 @@ void cmFindBase::AddPathSuffixes()
p += std::string("/");
}
p += *j;
- // add to all paths because the search path may be modified
+ // add to all paths because the search path may be modified
// later with lib being replaced for lib64 which may exist
paths.push_back(p);
}
@@ -535,13 +535,13 @@ void cmFindBase::PrintFindStuff()
std::cerr << "SearchAppBundleOnly: " << this->SearchAppBundleOnly << "\n";
std::cerr << "SearchAppBundleFirst: " << this->SearchAppBundleFirst << "\n";
std::cerr << "VariableName " << this->VariableName << "\n";
- std::cerr << "VariableDocumentation "
+ std::cerr << "VariableDocumentation "
<< this->VariableDocumentation << "\n";
std::cerr << "NoDefaultPath " << this->NoDefaultPath << "\n";
- std::cerr << "NoCMakeEnvironmentPath "
+ std::cerr << "NoCMakeEnvironmentPath "
<< this->NoCMakeEnvironmentPath << "\n";
std::cerr << "NoCMakePath " << this->NoCMakePath << "\n";
- std::cerr << "NoSystemEnvironmentPath "
+ std::cerr << "NoSystemEnvironmentPath "
<< this->NoSystemEnvironmentPath << "\n";
std::cerr << "NoCMakeSystemPath " << this->NoCMakeSystemPath << "\n";
std::cerr << "EnvironmentPath " << this->EnvironmentPath << "\n";
diff --git a/Source/cmFindBase.h b/Source/cmFindBase.h
index 37ab2ecd2..eac1885f3 100644
--- a/Source/cmFindBase.h
+++ b/Source/cmFindBase.h
@@ -30,7 +30,7 @@ public:
*/
virtual bool ParseArguments(std::vector<std::string> const& args);
cmTypeMacro(cmFindBase, cmFindCommon);
-
+
virtual const char* GetFullDocumentation() const;
protected:
@@ -43,7 +43,7 @@ protected:
// also copy the documentation from the cache to VariableDocumentation
// if it has documentation in the cache
bool CheckForVariableInCache();
-
+
cmStdString GenericDocumentation;
// use by command during find
cmStdString VariableDocumentation;
diff --git a/Source/cmFindFileCommand.h b/Source/cmFindFileCommand.h
index 7d349d33c..1bfdcbd16 100644
--- a/Source/cmFindFileCommand.h
+++ b/Source/cmFindFileCommand.h
@@ -18,7 +18,7 @@
* \brief Define a command to search for an executable program.
*
* cmFindFileCommand is used to define a CMake variable
- * that specifies an executable program. The command searches
+ * that specifies an executable program. The command searches
* in the current path (e.g., PATH environment variable) for
* an executable that matches one of the supplied names.
*/
@@ -29,7 +29,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmFindFileCommand;
}
@@ -42,7 +42,7 @@ public:
{
return "Find the full path to a file.";
}
-
+
cmTypeMacro(cmFindFileCommand, cmFindPathCommand);
protected:
virtual void GenerateDocumentation();
diff --git a/Source/cmFindLibraryCommand.cxx b/Source/cmFindLibraryCommand.cxx
index 6cdbbf2dc..0080e55aa 100644
--- a/Source/cmFindLibraryCommand.cxx
+++ b/Source/cmFindLibraryCommand.cxx
@@ -15,7 +15,7 @@
#include <cmsys/stl/algorithm>
cmFindLibraryCommand::cmFindLibraryCommand()
-{
+{
this->EnvironmentPath = "LIB";
}
@@ -105,7 +105,10 @@ bool cmFindLibraryCommand
->GetPropertyAsBool("FIND_LIBRARY_USE_LIB64_PATHS"))
{
// add special 64 bit paths if this is a 64 bit compile.
- this->AddLib64Paths();
+ if(this->Makefile->PlatformIs64Bit())
+ {
+ this->AddArchitecturePaths("64");
+ }
}
std::string library = this->FindLibrary();
@@ -129,90 +132,55 @@ bool cmFindLibraryCommand
//----------------------------------------------------------------------------
void cmFindLibraryCommand::AddArchitecturePaths(const char* suffix)
{
- std::vector<std::string> newPaths;
- bool found = false;
- std::string subpath = "lib";
- subpath += suffix;
- subpath += "/";
- for(std::vector<std::string>::iterator i = this->SearchPaths.begin();
- i != this->SearchPaths.end(); ++i)
+ std::vector<std::string> original;
+ original.swap(this->SearchPaths);
+ for(std::vector<std::string>::iterator i = original.begin();
+ i != original.end(); ++i)
{
- // Try replacing lib/ with lib<suffix>/
- std::string s = *i;
- cmSystemTools::ReplaceString(s, "lib/", subpath.c_str());
- if((s != *i) && cmSystemTools::FileIsDirectory(s.c_str()))
- {
- found = true;
- newPaths.push_back(s);
- }
+ this->AddArchitecturePath(*i, 0, suffix);
+ }
+}
+
+//----------------------------------------------------------------------------
+void cmFindLibraryCommand::AddArchitecturePath(
+ std::string const& dir, std::string::size_type start_pos,
+ const char* suffix, bool fresh)
+{
+ std::string::size_type pos = dir.find("lib/", start_pos);
+ if(pos != std::string::npos)
+ {
+ std::string cur_dir = dir.substr(0,pos+3);
- // Now look for lib<suffix>
- s = *i;
- s += suffix;
- if(cmSystemTools::FileIsDirectory(s.c_str()))
+ // Follow "lib<suffix>".
+ std::string next_dir = cur_dir + suffix;
+ if(cmSystemTools::FileIsDirectory(next_dir.c_str()))
{
- found = true;
- newPaths.push_back(s);
+ next_dir += dir.substr(pos+3);
+ std::string::size_type next_pos = pos+3+strlen(suffix)+1;
+ this->AddArchitecturePath(next_dir, next_pos, suffix);
}
- // now add the original unchanged path
- if(cmSystemTools::FileIsDirectory(i->c_str()))
+
+ // Follow "lib".
+ if(cmSystemTools::FileIsDirectory(cur_dir.c_str()))
{
- newPaths.push_back(*i);
+ this->AddArchitecturePath(dir, pos+3+1, suffix, false);
}
}
-
- // If any new paths were found replace the original set.
- if(found)
- {
- this->SearchPaths = newPaths;
- }
-}
-
-void cmFindLibraryCommand::AddLib64Paths()
-{
- std::string voidsize =
- this->Makefile->GetSafeDefinition("CMAKE_SIZEOF_VOID_P");
- int size = atoi(voidsize.c_str());
- if(size != 8)
- {
- return;
- }
- std::vector<std::string> path64;
- bool found64 = false;
- for(std::vector<std::string>::iterator i = this->SearchPaths.begin();
- i != this->SearchPaths.end(); ++i)
+ if(fresh)
{
- std::string s = *i;
- std::string s2 = *i;
- cmSystemTools::ReplaceString(s, "lib/", "lib64/");
- // try to replace lib with lib64 and see if it is there,
- // then prepend it to the path
- // Note that all paths have trailing slashes.
- if((s != *i) && cmSystemTools::FileIsDirectory(s.c_str()))
- {
- path64.push_back(s);
- found64 = true;
- }
- // now just add a 64 to the path name and if it is there,
- // add it to the path
- s2 += "64/";
- if(cmSystemTools::FileIsDirectory(s2.c_str()))
+ // Check for <dir><suffix>/.
+ std::string cur_dir = dir + suffix + "/";
+ if(cmSystemTools::FileIsDirectory(cur_dir.c_str()))
{
- found64 = true;
- path64.push_back(s2);
- }
- // now add the original unchanged path
- if(cmSystemTools::FileIsDirectory(i->c_str()))
+ this->SearchPaths.push_back(cur_dir);
+ }
+
+ // Now add the original unchanged path
+ if(cmSystemTools::FileIsDirectory(dir.c_str()))
{
- path64.push_back(*i);
+ this->SearchPaths.push_back(dir);
}
}
- // now replace the SearchPaths with the 64 bit converted path
- // if any 64 bit paths were discovered
- if(found64)
- {
- this->SearchPaths = path64;
- }
}
//----------------------------------------------------------------------------
diff --git a/Source/cmFindLibraryCommand.h b/Source/cmFindLibraryCommand.h
index b880be266..455348aaf 100644
--- a/Source/cmFindLibraryCommand.h
+++ b/Source/cmFindLibraryCommand.h
@@ -29,7 +29,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmFindLibraryCommand;
}
@@ -59,10 +59,13 @@ public:
return "Find a library.";
}
cmTypeMacro(cmFindLibraryCommand, cmFindBase);
-
+
protected:
void AddArchitecturePaths(const char* suffix);
- void AddLib64Paths();
+ void AddArchitecturePath(std::string const& dir,
+ std::string::size_type start_pos,
+ const char* suffix,
+ bool fresh = true);
std::string FindLibrary();
virtual void GenerateDocumentation();
private:
diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx
index be47f95d4..470cecabe 100644
--- a/Source/cmFindPackageCommand.cxx
+++ b/Source/cmFindPackageCommand.cxx
@@ -840,6 +840,8 @@ bool cmFindPackageCommand
//----------------------------------------------------------------------------
void cmFindPackageCommand::SetModuleVariables(const std::string& components)
{
+ this->AddFindDefinition("CMAKE_FIND_PACKAGE_NAME", this->Name.c_str());
+
// Store the list of components.
std::string components_var = this->Name + "_FIND_COMPONENTS";
this->AddFindDefinition(components_var.c_str(), components.c_str());
@@ -1016,6 +1018,9 @@ bool cmFindPackageCommand::HandlePackageMode()
std::string foundVar = this->Name;
foundVar += "_FOUND";
+ std::string notFoundMessageVar = this->Name;
+ notFoundMessageVar += "_NOT_FOUND_MESSAGE";
+ std::string notFoundMessage;
// If the directory for the config file was found, try to read the file.
bool result = true;
@@ -1033,6 +1038,7 @@ bool cmFindPackageCommand::HandlePackageMode()
// has set Foo_FOUND to FALSE itself:
this->Makefile->RemoveDefinition(foundVar.c_str());
}
+ this->Makefile->RemoveDefinition(notFoundMessageVar.c_str());
// Set the version variables before loading the config file.
// It may override them.
@@ -1051,6 +1057,8 @@ bool cmFindPackageCommand::HandlePackageMode()
// we get here if the Config file has set Foo_FOUND actively to FALSE
found = false;
configFileSetFOUNDFalse = true;
+ notFoundMessage = this->Makefile->GetSafeDefinition(
+ notFoundMessageVar.c_str());
}
}
else
@@ -1071,6 +1079,10 @@ bool cmFindPackageCommand::HandlePackageMode()
" " << this->FileFound << "\n"
"but it set " << foundVar << " to FALSE so package \"" <<
this->Name << "\" is considered to be NOT FOUND.";
+ if (!notFoundMessage.empty())
+ {
+ e << " Reason given by package: \n" << notFoundMessage << "\n";
+ }
}
// If there are files in ConsideredConfigs, it means that FooConfig.cmake
// have been found, but they didn't have appropriate versions.
diff --git a/Source/cmFindPathCommand.cxx b/Source/cmFindPathCommand.cxx
index 846d187cb..952492463 100644
--- a/Source/cmFindPathCommand.cxx
+++ b/Source/cmFindPathCommand.cxx
@@ -104,7 +104,7 @@ bool cmFindPathCommand
(this->VariableName.c_str(),
(this->VariableName + "-NOTFOUND").c_str(),
this->VariableDocumentation.c_str(),
- (this->IncludeFileInPath) ?
+ (this->IncludeFileInPath) ?
cmCacheManager::FILEPATH :cmCacheManager::PATH);
return true;
}
@@ -143,14 +143,14 @@ cmFindPathCommand::FindHeaderInFramework(std::string const& file,
// remove the name from the slash;
fileName = fileName.substr(pos+1);
frameWorkName = file;
- frameWorkName =
+ frameWorkName =
frameWorkName.substr(0, frameWorkName.size()-fileName.size()-1);
// if the framework has a path in it then just use the filename
if(frameWorkName.find("/") != frameWorkName.npos)
{
fileName = file;
frameWorkName = "";
- }
+ }
if(frameWorkName.size())
{
std::string fpath = dir;
@@ -160,7 +160,7 @@ cmFindPathCommand::FindHeaderInFramework(std::string const& file,
intPath += "/Headers/";
intPath += fileName;
if(cmSystemTools::FileExists(intPath.c_str()))
- {
+ {
if(this->IncludeFileInPath)
{
return intPath;
diff --git a/Source/cmFindPathCommand.h b/Source/cmFindPathCommand.h
index a61299011..759567dc1 100644
--- a/Source/cmFindPathCommand.h
+++ b/Source/cmFindPathCommand.h
@@ -29,7 +29,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmFindPathCommand;
}
diff --git a/Source/cmFindProgramCommand.cxx b/Source/cmFindProgramCommand.cxx
index 00f5419c2..909b333ff 100644
--- a/Source/cmFindProgramCommand.cxx
+++ b/Source/cmFindProgramCommand.cxx
@@ -81,7 +81,7 @@ bool cmFindProgramCommand
result.c_str(),
this->VariableDocumentation.c_str(),
cmCacheManager::FILEPATH);
-
+
return true;
}
this->Makefile->AddCacheDefinition(this->VariableName.c_str(),
@@ -117,21 +117,21 @@ std::string cmFindProgramCommand
for(std::vector<std::string>::const_iterator name = names.begin();
name != names.end() ; ++name)
{
-
+
std::string appName = *name + std::string(".app");
- std::string appPath = cmSystemTools::FindDirectory(appName.c_str(),
- this->SearchPaths,
+ std::string appPath = cmSystemTools::FindDirectory(appName.c_str(),
+ this->SearchPaths,
true);
if ( !appPath.empty() )
{
std::string executable = GetBundleExecutable(appPath);
- if (!executable.empty())
+ if (!executable.empty())
{
return cmSystemTools::CollapseFullPath(executable.c_str());
}
- }
- }
+ }
+ }
// Couldn't find app bundle
return "";
@@ -142,44 +142,44 @@ std::string cmFindProgramCommand::GetBundleExecutable(std::string bundlePath)
std::string executable = "";
(void)bundlePath;
#if defined(__APPLE__)
- // Started with an example on developer.apple.com about finding bundles
+ // Started with an example on developer.apple.com about finding bundles
// and modified from that.
-
+
// Get a CFString of the app bundle path
// XXX - Is it safe to assume everything is in UTF8?
- CFStringRef bundlePathCFS =
- CFStringCreateWithCString(kCFAllocatorDefault ,
+ CFStringRef bundlePathCFS =
+ CFStringCreateWithCString(kCFAllocatorDefault ,
bundlePath.c_str(), kCFStringEncodingUTF8 );
-
+
// Make a CFURLRef from the CFString representation of the
// bundle’s path.
- CFURLRef bundleURL = CFURLCreateWithFileSystemPath(kCFAllocatorDefault,
+ CFURLRef bundleURL = CFURLCreateWithFileSystemPath(kCFAllocatorDefault,
bundlePathCFS,
kCFURLPOSIXPathStyle,
true );
-
+
// Make a bundle instance using the URLRef.
CFBundleRef appBundle = CFBundleCreate( kCFAllocatorDefault, bundleURL );
-
+
// returned executableURL is relative to <appbundle>/Contents/MacOS/
CFURLRef executableURL = CFBundleCopyExecutableURL(appBundle);
-
+
if (executableURL != NULL)
{
const int MAX_OSX_PATH_SIZE = 1024;
char buffer[MAX_OSX_PATH_SIZE];
-
+
// Convert the CFString to a C string
- CFStringGetCString( CFURLGetString(executableURL), buffer,
+ CFStringGetCString( CFURLGetString(executableURL), buffer,
MAX_OSX_PATH_SIZE, kCFStringEncodingUTF8 );
-
+
// And finally to a c++ string
executable = bundlePath + "/Contents/MacOS/" + std::string(buffer);
// Only release CFURLRef if it's not null
CFRelease( executableURL );
}
- // Any CF objects returned from functions with "create" or
+ // Any CF objects returned from functions with "create" or
// "copy" in their names must be released by us!
CFRelease( bundlePathCFS );
CFRelease( bundleURL );
diff --git a/Source/cmFindProgramCommand.h b/Source/cmFindProgramCommand.h
index c1b14f912..8350c9b42 100644
--- a/Source/cmFindProgramCommand.h
+++ b/Source/cmFindProgramCommand.h
@@ -18,7 +18,7 @@
* \brief Define a command to search for an executable program.
*
* cmFindProgramCommand is used to define a CMake variable
- * that specifies an executable program. The command searches
+ * that specifies an executable program. The command searches
* in the current path (e.g., PATH environment variable) for
* an executable that matches one of the supplied names.
*/
@@ -28,7 +28,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmFindProgramCommand;
}
@@ -57,7 +57,7 @@ public:
{
return "Find an executable program.";
}
-
+
cmTypeMacro(cmFindProgramCommand, cmFindBase);
protected:
diff --git a/Source/cmForEachCommand.cxx b/Source/cmForEachCommand.cxx
index 74966c9c8..d69706730 100644
--- a/Source/cmForEachCommand.cxx
+++ b/Source/cmForEachCommand.cxx
@@ -25,7 +25,7 @@ IsFunctionBlocked(const cmListFileFunction& lff, cmMakefile &mf,
else if (!cmSystemTools::Strucmp(lff.Name.c_str(),"endforeach"))
{
// if this is the endofreach for this statement
- if (!this->Depth)
+ if (!this->Depth)
{
// Remove the function blocker for this scope or bail.
cmsys::auto_ptr<cmFunctionBlocker>
@@ -45,7 +45,7 @@ IsFunctionBlocked(const cmListFileFunction& lff, cmMakefile &mf,
std::string tmps;
cmListFileArgument arg;
for( ; j != this->Args.end(); ++j)
- {
+ {
// set the variable to the loop value
mf.AddDefinition(this->Args[0].c_str(),j->c_str());
// Invoke all the functions that were collected in the block.
@@ -83,10 +83,10 @@ IsFunctionBlocked(const cmListFileFunction& lff, cmMakefile &mf,
this->Depth--;
}
}
-
+
// record the command
this->Functions.push_back(lff);
-
+
// always return true
return true;
}
@@ -121,7 +121,7 @@ bool cmForEachCommand
{
return this->HandleInMode(args);
}
-
+
// create a function blocker
cmForEachFunctionBlocker *f = new cmForEachFunctionBlocker();
if ( args.size() > 1 )
@@ -157,7 +157,7 @@ bool cmForEachCommand
step = 1;
}
}
- if (
+ if (
(start > stop && step > 0) ||
(start < stop && step < 0) ||
step == 0
@@ -198,7 +198,7 @@ bool cmForEachCommand
f->Args = args;
}
this->Makefile->AddFunctionBlocker(f);
-
+
return true;
}
diff --git a/Source/cmForEachCommand.h b/Source/cmForEachCommand.h
index ae50005be..dc4761306 100644
--- a/Source/cmForEachCommand.h
+++ b/Source/cmForEachCommand.h
@@ -25,7 +25,7 @@ public:
cmMakefile &mf,
cmExecutionStatus &);
virtual bool ShouldRemove(const cmListFileFunction& lff, cmMakefile &mf);
-
+
std::vector<std::string> Args;
std::vector<cmListFileFunction> Functions;
private:
@@ -39,7 +39,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmForEachCommand;
}
@@ -68,7 +68,7 @@ public:
{
return "Evaluate a group of commands for each value in a list.";
}
-
+
/**
* More documentation.
*/
@@ -106,7 +106,7 @@ public:
"following it in the iteration."
;
}
-
+
cmTypeMacro(cmForEachCommand, cmCommand);
private:
bool HandleInMode(std::vector<std::string> const& args);
diff --git a/Source/cmFunctionBlocker.h b/Source/cmFunctionBlocker.h
index 9ee0b5c2d..68bf76286 100644
--- a/Source/cmFunctionBlocker.h
+++ b/Source/cmFunctionBlocker.h
@@ -29,7 +29,7 @@ public:
/**
* should this function blocker be removed, useful when one function adds a
- * blocker and another must remove it
+ * blocker and another must remove it
*/
virtual bool ShouldRemove(const cmListFileFunction&,
cmMakefile&) {return false;}
diff --git a/Source/cmFunctionCommand.cxx b/Source/cmFunctionCommand.cxx
index ce36145f4..10b47b9e0 100644
--- a/Source/cmFunctionCommand.cxx
+++ b/Source/cmFunctionCommand.cxx
@@ -65,7 +65,7 @@ public:
* The name of the command as specified in CMakeList.txt.
*/
virtual const char* GetName() const { return this->Args[0].c_str(); }
-
+
/**
* Succinct documentation.
*/
@@ -131,15 +131,15 @@ bool cmFunctionHelperCommand::InvokeInitialPass
{
cmOStringStream tmpStream;
tmpStream << "ARGV" << t;
- this->Makefile->AddDefinition(tmpStream.str().c_str(),
+ this->Makefile->AddDefinition(tmpStream.str().c_str(),
expandedArgs[t].c_str());
this->Makefile->MarkVariableAsUsed(tmpStream.str().c_str());
}
-
+
// define the formal arguments
for (unsigned int j = 1; j < this->Args.size(); ++j)
{
- this->Makefile->AddDefinition(this->Args[j].c_str(),
+ this->Makefile->AddDefinition(this->Args[j].c_str(),
expandedArgs[j-1].c_str());
}
@@ -208,7 +208,7 @@ IsFunctionBlocked(const cmListFileFunction& lff, cmMakefile &mf,
else if(!cmSystemTools::Strucmp(lff.Name.c_str(),"endfunction"))
{
// if this is the endfunction for this function then execute
- if (!this->Depth)
+ if (!this->Depth)
{
std::string name = this->Args[0];
std::vector<std::string>::size_type cc;
@@ -224,20 +224,20 @@ IsFunctionBlocked(const cmListFileFunction& lff, cmMakefile &mf,
f->Args = this->Args;
f->Functions = this->Functions;
mf.RecordPolicies(f->Policies);
-
+
// Set the FilePath on the arguments to match the function since it is
// not stored and the original values may be freed
for (unsigned int i = 0; i < f->Functions.size(); ++i)
{
for (unsigned int j = 0; j < f->Functions[i].Arguments.size(); ++j)
{
- f->Functions[i].Arguments[j].FilePath =
+ f->Functions[i].Arguments[j].FilePath =
f->Functions[i].FilePath.c_str();
}
}
std::string newName = "_" + this->Args[0];
- mf.GetCMakeInstance()->RenameCommand(this->Args[0].c_str(),
+ mf.GetCMakeInstance()->RenameCommand(this->Args[0].c_str(),
newName.c_str());
mf.AddCommand(f);
@@ -265,7 +265,7 @@ ShouldRemove(const cmListFileFunction& lff, cmMakefile &mf)
if(!cmSystemTools::Strucmp(lff.Name.c_str(),"endfunction"))
{
std::vector<std::string> expandedArguments;
- mf.ExpandArguments(lff.Arguments, expandedArguments);
+ mf.ExpandArguments(lff.Arguments, expandedArguments);
// if the endfunction has arguments then make sure
// they match the ones in the openeing function command
if ((expandedArguments.empty() ||
@@ -291,7 +291,7 @@ bool cmFunctionCommand
cmFunctionFunctionBlocker *f = new cmFunctionFunctionBlocker();
for(std::vector<std::string>::const_iterator j = args.begin();
j != args.end(); ++j)
- {
+ {
f->Args.push_back(*j);
}
this->Makefile->AddFunctionBlocker(f);
diff --git a/Source/cmFunctionCommand.h b/Source/cmFunctionCommand.h
index 43c8e2983..730a7a760 100644
--- a/Source/cmFunctionCommand.h
+++ b/Source/cmFunctionCommand.h
@@ -20,11 +20,11 @@ class cmFunctionFunctionBlocker : public cmFunctionBlocker
public:
cmFunctionFunctionBlocker() {this->Depth=0;}
virtual ~cmFunctionFunctionBlocker() {}
- virtual bool IsFunctionBlocked(const cmListFileFunction&,
+ virtual bool IsFunctionBlocked(const cmListFileFunction&,
cmMakefile &mf,
cmExecutionStatus &);
virtual bool ShouldRemove(const cmListFileFunction&, cmMakefile &mf);
-
+
std::vector<std::string> Args;
std::vector<cmListFileFunction> Functions;
int Depth;
diff --git a/Source/cmGeneratedFileStream.cxx b/Source/cmGeneratedFileStream.cxx
index 1a391ede9..0af07532a 100644
--- a/Source/cmGeneratedFileStream.cxx
+++ b/Source/cmGeneratedFileStream.cxx
@@ -31,7 +31,7 @@ cmGeneratedFileStream::cmGeneratedFileStream(const char* name, bool quiet):
// Check if the file opened.
if(!*this && !quiet)
{
- cmSystemTools::Error("Cannot open file for write: ",
+ cmSystemTools::Error("Cannot open file for write: ",
this->TempName.c_str());
cmSystemTools::ReportLastSystemError("");
}
@@ -58,7 +58,7 @@ cmGeneratedFileStream::Open(const char* name, bool quiet, bool binaryFlag)
// Open the temporary output file.
if ( binaryFlag )
{
- this->Stream::open(this->TempName.c_str(),
+ this->Stream::open(this->TempName.c_str(),
std::ios::out | std::ios::binary);
}
else
@@ -69,7 +69,7 @@ cmGeneratedFileStream::Open(const char* name, bool quiet, bool binaryFlag)
// Check if the file opened.
if(!*this && !quiet)
{
- cmSystemTools::Error("Cannot open file for write: ",
+ cmSystemTools::Error("Cannot open file for write: ",
this->TempName.c_str());
cmSystemTools::ReportLastSystemError("");
}
diff --git a/Source/cmGeneratorExpression.cxx b/Source/cmGeneratorExpression.cxx
index f88ab0b71..7d8df3733 100644
--- a/Source/cmGeneratorExpression.cxx
+++ b/Source/cmGeneratorExpression.cxx
@@ -13,181 +13,168 @@
#include "cmMakefile.h"
#include "cmTarget.h"
+#include "assert.h"
+
+#include <cmsys/String.h>
+
+#include "cmGeneratorExpressionEvaluator.h"
+#include "cmGeneratorExpressionLexer.h"
+#include "cmGeneratorExpressionParser.h"
+#include "cmGeneratorExpressionDAGChecker.h"
//----------------------------------------------------------------------------
cmGeneratorExpression::cmGeneratorExpression(
- cmMakefile* mf, const char* config,
- cmListFileBacktrace const& backtrace, bool quiet):
- Makefile(mf), Config(config), Backtrace(backtrace), Quiet(quiet)
+ cmListFileBacktrace const& backtrace):
+ Backtrace(backtrace), CompiledExpression(0)
{
- this->TargetInfo.compile("^\\$<TARGET"
- "(|_SONAME|_LINKER)" // File with what purpose?
- "_FILE(|_NAME|_DIR):" // Filename component.
- "([A-Za-z0-9_.-]+)" // Target name.
- ">$");
}
//----------------------------------------------------------------------------
-const char* cmGeneratorExpression::Process(std::string const& input)
+const cmCompiledGeneratorExpression &
+cmGeneratorExpression::Parse(std::string const& input)
{
- return this->Process(input.c_str());
+ return this->Parse(input.c_str());
}
//----------------------------------------------------------------------------
-const char* cmGeneratorExpression::Process(const char* input)
+const cmCompiledGeneratorExpression &
+cmGeneratorExpression::Parse(const char* input)
{
- this->Data.clear();
+ cmGeneratorExpressionLexer l;
+ std::vector<cmGeneratorExpressionToken> tokens = l.Tokenize(input);
+ bool needsParsing = l.GetSawGeneratorExpression();
+ std::vector<cmGeneratorExpressionEvaluator*> evaluators;
- // We construct and evaluate expressions directly in the output
- // buffer. Each expression is replaced by its own output value
- // after evaluation. A stack of barriers records the starting
- // indices of open (pending) expressions.
- for(const char* c = input; *c; ++c)
+ if (needsParsing)
{
- if(c[0] == '$' && c[1] == '<')
- {
- this->Barriers.push(this->Data.size());
- this->Data.push_back('$');
- this->Data.push_back('<');
- c += 1;
- }
- else if(c[0] == '>' && !this->Barriers.empty())
- {
- this->Data.push_back('>');
- if(!this->Evaluate()) { break; }
- this->Barriers.pop();
- }
- else
- {
- this->Data.push_back(c[0]);
- }
+ cmGeneratorExpressionParser p(tokens);
+ p.Parse(evaluators);
}
- // Return a null-terminated output value.
- this->Data.push_back('\0');
- return &*this->Data.begin();
+ delete this->CompiledExpression;
+ this->CompiledExpression = new cmCompiledGeneratorExpression(
+ this->Backtrace,
+ evaluators,
+ input,
+ needsParsing);
+ return *this->CompiledExpression;
}
-//----------------------------------------------------------------------------
-bool cmGeneratorExpression::Evaluate()
+cmGeneratorExpression::~cmGeneratorExpression()
{
- // The top-most barrier points at the beginning of the expression.
- size_t barrier = this->Barriers.top();
-
- // Construct a null-terminated representation of the expression.
- this->Data.push_back('\0');
- const char* expr = &*(this->Data.begin()+barrier);
-
- // Evaluate the expression.
- std::string result;
- if(this->Evaluate(expr, result))
- {
- // Success. Replace the expression with its evaluation result.
- this->Data.erase(this->Data.begin()+barrier, this->Data.end());
- this->Data.insert(this->Data.end(), result.begin(), result.end());
- return true;
- }
- else if(!this->Quiet)
- {
- // Failure. Report the error message.
- cmOStringStream e;
- e << "Error evaluating generator expression:\n"
- << " " << expr << "\n"
- << result;
- this->Makefile->GetCMakeInstance()
- ->IssueMessage(cmake::FATAL_ERROR, e.str().c_str(),
- this->Backtrace);
- return false;
- }
- return true;
+ delete this->CompiledExpression;
}
//----------------------------------------------------------------------------
-bool cmGeneratorExpression::Evaluate(const char* expr, std::string& result)
+const char *cmCompiledGeneratorExpression::Evaluate(
+ cmMakefile* mf, const char* config, bool quiet,
+ cmGeneratorTarget *target,
+ cmGeneratorExpressionDAGChecker *dagChecker) const
{
- if(this->TargetInfo.find(expr))
- {
- if(!this->EvaluateTargetInfo(result))
- {
- return false;
- }
- }
- else if(strcmp(expr, "$<CONFIGURATION>") == 0)
+ if (!this->NeedsParsing)
{
- result = this->Config? this->Config : "";
+ return this->Input;
}
- else
+
+ this->Output = "";
+
+ std::vector<cmGeneratorExpressionEvaluator*>::const_iterator it
+ = this->Evaluators.begin();
+ const std::vector<cmGeneratorExpressionEvaluator*>::const_iterator end
+ = this->Evaluators.end();
+
+ cmGeneratorExpressionContext context;
+ context.Makefile = mf;
+ context.Config = config;
+ context.Quiet = quiet;
+ context.HadError = false;
+ context.Target = target;
+ context.Backtrace = this->Backtrace;
+
+ for ( ; it != end; ++it)
{
- result = "Expression syntax not recognized.";
- return false;
+ this->Output += (*it)->Evaluate(&context, dagChecker);
+ if (context.HadError)
+ {
+ this->Output = "";
+ break;
+ }
}
- return true;
+
+ this->Targets = context.Targets;
+ // TODO: Return a std::string from here instead?
+ return this->Output.c_str();
}
+cmCompiledGeneratorExpression::cmCompiledGeneratorExpression(
+ cmListFileBacktrace const& backtrace,
+ const std::vector<cmGeneratorExpressionEvaluator*> &evaluators,
+ const char *input, bool needsParsing)
+ : Backtrace(backtrace), Evaluators(evaluators), Input(input),
+ NeedsParsing(needsParsing)
+{
+
+}
+
+
//----------------------------------------------------------------------------
-bool cmGeneratorExpression::EvaluateTargetInfo(std::string& result)
+cmCompiledGeneratorExpression::~cmCompiledGeneratorExpression()
{
- // Lookup the referenced target.
- std::string name = this->TargetInfo.match(3);
- cmTarget* target = this->Makefile->FindTargetToUse(name.c_str());
- if(!target)
- {
- result = "No target \"" + name + "\"";
- return false;
- }
- if(target->GetType() >= cmTarget::UTILITY &&
- target->GetType() != cmTarget::UNKNOWN_LIBRARY)
- {
- result = "Target \"" + name + "\" is not an executable or library.";
- return false;
- }
- this->Targets.insert(target);
+ std::vector<cmGeneratorExpressionEvaluator*>::const_iterator it
+ = this->Evaluators.begin();
+ const std::vector<cmGeneratorExpressionEvaluator*>::const_iterator end
+ = this->Evaluators.end();
- // Lookup the target file with the given purpose.
- std::string purpose = this->TargetInfo.match(1);
- if(purpose == "")
+ for ( ; it != end; ++it)
{
- // The target implementation file (.so.1.2, .dll, .exe, .a).
- result = target->GetFullPath(this->Config, false, true);
+ delete *it;
}
- else if(purpose == "_LINKER")
- {
- // The file used to link to the target (.so, .lib, .a).
- if(!target->IsLinkable())
- {
- result = ("TARGET_LINKER_FILE is allowed only for libraries and "
- "executables with ENABLE_EXPORTS.");
- return false;
- }
- result = target->GetFullPath(this->Config, target->HasImportLibrary());
- }
- else if(purpose == "_SONAME")
+}
+
+std::string cmGeneratorExpression::Preprocess(const std::string &input,
+ PreprocessContext context)
+{
+ if (context != StripAllGeneratorExpressions)
+ {
+ assert(!"cmGeneratorExpression::Preprocess called with invalid args");
+ return std::string();
+ }
+
+ std::string result;
+ std::string::size_type pos = 0;
+ std::string::size_type lastPos = pos;
+ while((pos = input.find("$<", lastPos)) != input.npos)
{
- // The target soname file (.so.1).
- if(target->IsDLLPlatform())
+ result += input.substr(lastPos, pos - lastPos);
+ pos += 2;
+ int nestingLevel = 1;
+ const char *c = input.c_str() + pos;
+ const char * const cStart = c;
+ for ( ; *c; ++c)
{
- result = "TARGET_SONAME_FILE is not allowed for DLL target platforms.";
- return false;
+ if(c[0] == '$' && c[1] == '<')
+ {
+ ++nestingLevel;
+ ++c;
+ continue;
+ }
+ if(c[0] == '>')
+ {
+ --nestingLevel;
+ if (nestingLevel == 0)
+ {
+ break;
+ }
+ }
}
- if(target->GetType() != cmTarget::SHARED_LIBRARY)
+ const std::string::size_type traversed = (c - cStart) + 1;
+ if (!*c)
{
- result = "TARGET_SONAME_FILE is allowed only for SHARED libraries.";
- return false;
+ result += "$<" + input.substr(pos, traversed);
}
- result = target->GetDirectory(this->Config);
- result += "/";
- result += target->GetSOName(this->Config);
- }
-
- // Extract the requested portion of the full path.
- std::string part = this->TargetInfo.match(2);
- if(part == "_NAME")
- {
- result = cmSystemTools::GetFilenameName(result);
- }
- else if(part == "_DIR")
- {
- result = cmSystemTools::GetFilenamePath(result);
+ pos += traversed;
+ lastPos = pos;
}
- return true;
+ result += input.substr(lastPos);
+ return result;
}
diff --git a/Source/cmGeneratorExpression.h b/Source/cmGeneratorExpression.h
index 1a9d4c6e9..29d3f444f 100644
--- a/Source/cmGeneratorExpression.h
+++ b/Source/cmGeneratorExpression.h
@@ -9,6 +9,10 @@
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the License for more information.
============================================================================*/
+
+#ifndef cmGeneratorExpression_h
+#define cmGeneratorExpression_h
+
#include "cmStandardIncludes.h"
#include <stack>
@@ -16,9 +20,15 @@
#include <cmsys/RegularExpression.hxx>
class cmTarget;
+class cmGeneratorTarget;
class cmMakefile;
class cmListFileBacktrace;
+struct cmGeneratorExpressionEvaluator;
+struct cmGeneratorExpressionDAGChecker;
+
+class cmCompiledGeneratorExpression;
+
/** \class cmGeneratorExpression
* \brief Evaluate generate-time query expression syntax.
*
@@ -31,28 +41,59 @@ class cmListFileBacktrace;
class cmGeneratorExpression
{
public:
- /** Construct with an evaluation context and configuration. */
- cmGeneratorExpression(cmMakefile* mf, const char* config,
- cmListFileBacktrace const& backtrace,
- bool quiet = false);
+ /** Construct. */
+ cmGeneratorExpression(cmListFileBacktrace const& backtrace);
+ ~cmGeneratorExpression();
+
+ const cmCompiledGeneratorExpression& Parse(std::string const& input);
+ const cmCompiledGeneratorExpression& Parse(const char* input);
+
+ enum PreprocessContext {
+ StripAllGeneratorExpressions
+ };
- /** Evaluate generator expressions in a string. */
- const char* Process(std::string const& input);
- const char* Process(const char* input);
+ static std::string Preprocess(const std::string &input,
+ PreprocessContext context);
+
+private:
+ cmGeneratorExpression(const cmGeneratorExpression &);
+ void operator=(const cmGeneratorExpression &);
+
+ cmListFileBacktrace const& Backtrace;
+ cmCompiledGeneratorExpression *CompiledExpression;
+};
+
+class cmCompiledGeneratorExpression
+{
+public:
+ const char* Evaluate(cmMakefile* mf, const char* config,
+ bool quiet = false,
+ cmGeneratorTarget *target = 0,
+ cmGeneratorExpressionDAGChecker *dagChecker = 0) const;
/** Get set of targets found during evaluations. */
std::set<cmTarget*> const& GetTargets() const
{ return this->Targets; }
+
+ ~cmCompiledGeneratorExpression();
+
private:
- cmMakefile* Makefile;
- const char* Config;
+ cmCompiledGeneratorExpression(cmListFileBacktrace const& backtrace,
+ const std::vector<cmGeneratorExpressionEvaluator*> &evaluators,
+ const char *input, bool needsParsing);
+
+ friend class cmGeneratorExpression;
+
+ cmCompiledGeneratorExpression(const cmCompiledGeneratorExpression &);
+ void operator=(const cmCompiledGeneratorExpression &);
+
cmListFileBacktrace const& Backtrace;
- bool Quiet;
- std::vector<char> Data;
- std::stack<size_t> Barriers;
- cmsys::RegularExpression TargetInfo;
- std::set<cmTarget*> Targets;
- bool Evaluate();
- bool Evaluate(const char* expr, std::string& result);
- bool EvaluateTargetInfo(std::string& result);
+ const std::vector<cmGeneratorExpressionEvaluator*> Evaluators;
+ const char* const Input;
+ const bool NeedsParsing;
+
+ mutable std::set<cmTarget*> Targets;
+ mutable std::string Output;
};
+
+#endif
diff --git a/Source/cmGeneratorExpressionDAGChecker.cxx b/Source/cmGeneratorExpressionDAGChecker.cxx
new file mode 100644
index 000000000..bfb0ddf92
--- /dev/null
+++ b/Source/cmGeneratorExpressionDAGChecker.cxx
@@ -0,0 +1,106 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2012 Stephen Kelly <steveire@gmail.com>
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+
+#include "cmGeneratorExpressionDAGChecker.h"
+
+#include "cmMakefile.h"
+
+//----------------------------------------------------------------------------
+cmGeneratorExpressionDAGChecker::cmGeneratorExpressionDAGChecker(
+ const cmListFileBacktrace &backtrace,
+ const std::string &target,
+ const std::string &property,
+ const GeneratorExpressionContent *content,
+ cmGeneratorExpressionDAGChecker *parent)
+ : Parent(parent), Target(target), Property(property),
+ Content(content), Backtrace(backtrace)
+{
+ this->IsDAG = this->isDAG();
+}
+
+//----------------------------------------------------------------------------
+bool cmGeneratorExpressionDAGChecker::check() const
+{
+ return this->IsDAG;
+}
+
+//----------------------------------------------------------------------------
+void cmGeneratorExpressionDAGChecker::reportError(
+ cmGeneratorExpressionContext *context,
+ const std::string &expr)
+{
+ if (this->IsDAG)
+ {
+ return;
+ }
+
+ context->HadError = true;
+ if (context->Quiet)
+ {
+ return;
+ }
+
+ const cmGeneratorExpressionDAGChecker *parent = this->Parent;
+
+ if (parent && !parent->Parent)
+ {
+ cmOStringStream e;
+ e << "Error evaluating generator expression:\n"
+ << " " << expr << "\n"
+ << "Self reference on target \""
+ << context->Target->GetName() << "\".\n";
+ context->Makefile->GetCMakeInstance()
+ ->IssueMessage(cmake::FATAL_ERROR, e.str().c_str(),
+ parent->Backtrace);
+ return;
+ }
+
+ {
+ cmOStringStream e;
+ e << "Error evaluating generator expression:\n"
+ << " " << expr << "\n"
+ << "Dependency loop found.";
+ context->Makefile->GetCMakeInstance()
+ ->IssueMessage(cmake::FATAL_ERROR, e.str().c_str(),
+ context->Backtrace);
+ }
+
+ int loopStep = 1;
+ while (parent)
+ {
+ cmOStringStream e;
+ e << "Loop step " << loopStep << "\n"
+ << " "
+ << (parent->Content ? parent->Content->GetOriginalExpression() : expr)
+ << "\n";
+ context->Makefile->GetCMakeInstance()
+ ->IssueMessage(cmake::FATAL_ERROR, e.str().c_str(),
+ parent->Backtrace);
+ parent = parent->Parent;
+ ++loopStep;
+ }
+}
+
+//----------------------------------------------------------------------------
+bool cmGeneratorExpressionDAGChecker::isDAG() const
+{
+ const cmGeneratorExpressionDAGChecker *parent = this->Parent;
+ while (parent)
+ {
+ if (this->Target == parent->Target && this->Property == parent->Property)
+ {
+ return false;
+ }
+ parent = parent->Parent;
+ }
+ return true;
+}
diff --git a/Source/cmGeneratorExpressionDAGChecker.h b/Source/cmGeneratorExpressionDAGChecker.h
new file mode 100644
index 000000000..ffc84f8fd
--- /dev/null
+++ b/Source/cmGeneratorExpressionDAGChecker.h
@@ -0,0 +1,44 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2012 Stephen Kelly <steveire@gmail.com>
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+#ifndef cmGeneratorExpressionDAGChecker_h
+#define cmGeneratorExpressionDAGChecker_h
+
+#include "cmStandardIncludes.h"
+
+#include "cmGeneratorExpressionEvaluator.h"
+
+//----------------------------------------------------------------------------
+struct cmGeneratorExpressionDAGChecker
+{
+ cmGeneratorExpressionDAGChecker(const cmListFileBacktrace &backtrace,
+ const std::string &target,
+ const std::string &property,
+ const GeneratorExpressionContent *content,
+ cmGeneratorExpressionDAGChecker *parent);
+
+ bool check() const;
+
+ void reportError(cmGeneratorExpressionContext *context,
+ const std::string &expr);
+private:
+ bool isDAG() const;
+
+private:
+ const cmGeneratorExpressionDAGChecker * const Parent;
+ const std::string Target;
+ const std::string Property;
+ const GeneratorExpressionContent * const Content;
+ const cmListFileBacktrace Backtrace;
+ bool IsDAG;
+};
+
+#endif
diff --git a/Source/cmGeneratorExpressionEvaluator.cxx b/Source/cmGeneratorExpressionEvaluator.cxx
new file mode 100644
index 000000000..2e123a4d9
--- /dev/null
+++ b/Source/cmGeneratorExpressionEvaluator.cxx
@@ -0,0 +1,769 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2012 Stephen Kelly <steveire@gmail.com>
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+#include "cmMakefile.h"
+
+#include "cmGeneratorExpressionEvaluator.h"
+#include "cmGeneratorExpressionParser.h"
+#include "cmGeneratorExpressionDAGChecker.h"
+#include "cmGeneratorExpression.h"
+
+#include <cmsys/String.h>
+
+//----------------------------------------------------------------------------
+#if !defined(__SUNPRO_CC) || __SUNPRO_CC > 0x510
+static
+#endif
+void reportError(cmGeneratorExpressionContext *context,
+ const std::string &expr, const std::string &result)
+{
+ context->HadError = true;
+ if (context->Quiet)
+ {
+ return;
+ }
+
+ cmOStringStream e;
+ e << "Error evaluating generator expression:\n"
+ << " " << expr << "\n"
+ << result;
+ context->Makefile->GetCMakeInstance()
+ ->IssueMessage(cmake::FATAL_ERROR, e.str().c_str(),
+ context->Backtrace);
+}
+
+//----------------------------------------------------------------------------
+struct cmGeneratorExpressionNode
+{
+ virtual ~cmGeneratorExpressionNode() {}
+
+ virtual bool GeneratesContent() const { return true; }
+
+ virtual bool AcceptsSingleArbitraryContentParameter() const
+ { return false; }
+
+ virtual int NumExpectedParameters() const { return 1; }
+
+ virtual std::string Evaluate(const std::vector<std::string> &parameters,
+ cmGeneratorExpressionContext *context,
+ const GeneratorExpressionContent *content,
+ cmGeneratorExpressionDAGChecker *dagChecker
+ ) const = 0;
+};
+
+//----------------------------------------------------------------------------
+static const struct ZeroNode : public cmGeneratorExpressionNode
+{
+ ZeroNode() {}
+
+ virtual bool GeneratesContent() const { return false; }
+
+ std::string Evaluate(const std::vector<std::string> &,
+ cmGeneratorExpressionContext *,
+ const GeneratorExpressionContent *,
+ cmGeneratorExpressionDAGChecker *) const
+ {
+ // Unreachable
+ return std::string();
+ }
+} zeroNode;
+
+//----------------------------------------------------------------------------
+static const struct OneNode : public cmGeneratorExpressionNode
+{
+ OneNode() {}
+
+ virtual bool AcceptsSingleArbitraryContentParameter() const { return true; }
+
+ std::string Evaluate(const std::vector<std::string> &,
+ cmGeneratorExpressionContext *,
+ const GeneratorExpressionContent *,
+ cmGeneratorExpressionDAGChecker *) const
+ {
+ // Unreachable
+ return std::string();
+ }
+} oneNode;
+
+//----------------------------------------------------------------------------
+#define BOOLEAN_OP_NODE(OPNAME, OP, SUCCESS_VALUE, FAILURE_VALUE) \
+static const struct OP ## Node : public cmGeneratorExpressionNode \
+{ \
+ OP ## Node () {} \
+/* We let -1 carry the meaning 'at least one' */ \
+ virtual int NumExpectedParameters() const { return -1; } \
+ \
+ std::string Evaluate(const std::vector<std::string> &parameters, \
+ cmGeneratorExpressionContext *context, \
+ const GeneratorExpressionContent *content, \
+ cmGeneratorExpressionDAGChecker *) const \
+ { \
+ std::vector<std::string>::const_iterator it = parameters.begin(); \
+ const std::vector<std::string>::const_iterator end = parameters.end(); \
+ for ( ; it != end; ++it) \
+ { \
+ if (*it == #FAILURE_VALUE) \
+ { \
+ return #FAILURE_VALUE; \
+ } \
+ else if (*it != #SUCCESS_VALUE) \
+ { \
+ reportError(context, content->GetOriginalExpression(), \
+ "Parameters to $<" #OP "> must resolve to either '0' or '1'."); \
+ return std::string(); \
+ } \
+ } \
+ return #SUCCESS_VALUE; \
+ } \
+} OPNAME;
+
+BOOLEAN_OP_NODE(andNode, AND, 1, 0)
+BOOLEAN_OP_NODE(orNode, OR, 0, 1)
+
+#undef BOOLEAN_OP_NODE
+
+//----------------------------------------------------------------------------
+static const struct NotNode : public cmGeneratorExpressionNode
+{
+ NotNode() {}
+
+ std::string Evaluate(const std::vector<std::string> &parameters,
+ cmGeneratorExpressionContext *context,
+ const GeneratorExpressionContent *content,
+ cmGeneratorExpressionDAGChecker *) const
+ {
+ if (*parameters.begin() != "0" && *parameters.begin() != "1")
+ {
+ reportError(context, content->GetOriginalExpression(),
+ "$<NOT> parameter must resolve to exactly one '0' or '1' value.");
+ return std::string();
+ }
+ return *parameters.begin() == "0" ? "1" : "0";
+ }
+} notNode;
+
+//----------------------------------------------------------------------------
+static const struct BoolNode : public cmGeneratorExpressionNode
+{
+ BoolNode() {}
+
+ virtual int NumExpectedParameters() const { return 1; }
+
+ std::string Evaluate(const std::vector<std::string> &parameters,
+ cmGeneratorExpressionContext *,
+ const GeneratorExpressionContent *,
+ cmGeneratorExpressionDAGChecker *) const
+ {
+ return !cmSystemTools::IsOff(parameters.begin()->c_str()) ? "1" : "0";
+ }
+} boolNode;
+
+//----------------------------------------------------------------------------
+static const struct StrEqualNode : public cmGeneratorExpressionNode
+{
+ StrEqualNode() {}
+
+ virtual int NumExpectedParameters() const { return 2; }
+
+ std::string Evaluate(const std::vector<std::string> &parameters,
+ cmGeneratorExpressionContext *,
+ const GeneratorExpressionContent *,
+ cmGeneratorExpressionDAGChecker *) const
+ {
+ return *parameters.begin() == parameters[1] ? "1" : "0";
+ }
+} strEqualNode;
+
+//----------------------------------------------------------------------------
+static const struct Angle_RNode : public cmGeneratorExpressionNode
+{
+ Angle_RNode() {}
+
+ virtual int NumExpectedParameters() const { return 0; }
+
+ std::string Evaluate(const std::vector<std::string> &,
+ cmGeneratorExpressionContext *,
+ const GeneratorExpressionContent *,
+ cmGeneratorExpressionDAGChecker *) const
+ {
+ return ">";
+ }
+} angle_rNode;
+
+//----------------------------------------------------------------------------
+static const struct CommaNode : public cmGeneratorExpressionNode
+{
+ CommaNode() {}
+
+ virtual int NumExpectedParameters() const { return 0; }
+
+ std::string Evaluate(const std::vector<std::string> &,
+ cmGeneratorExpressionContext *,
+ const GeneratorExpressionContent *,
+ cmGeneratorExpressionDAGChecker *) const
+ {
+ return ",";
+ }
+} commaNode;
+
+//----------------------------------------------------------------------------
+static const struct ConfigurationNode : public cmGeneratorExpressionNode
+{
+ ConfigurationNode() {}
+
+ virtual int NumExpectedParameters() const { return 0; }
+
+ std::string Evaluate(const std::vector<std::string> &,
+ cmGeneratorExpressionContext *context,
+ const GeneratorExpressionContent *,
+ cmGeneratorExpressionDAGChecker *) const
+ {
+ return context->Config ? context->Config : "";
+ }
+} configurationNode;
+
+//----------------------------------------------------------------------------
+static const struct ConfigurationTestNode : public cmGeneratorExpressionNode
+{
+ ConfigurationTestNode() {}
+
+ virtual int NumExpectedParameters() const { return 1; }
+
+ std::string Evaluate(const std::vector<std::string> &parameters,
+ cmGeneratorExpressionContext *context,
+ const GeneratorExpressionContent *content,
+ cmGeneratorExpressionDAGChecker *) const
+ {
+ cmsys::RegularExpression configValidator;
+ configValidator.compile("^[A-Za-z0-9_]*$");
+ if (!configValidator.find(parameters.begin()->c_str()))
+ {
+ reportError(context, content->GetOriginalExpression(),
+ "Expression syntax not recognized.");
+ return std::string();
+ }
+ if (!context->Config)
+ {
+ return parameters.front().empty() ? "1" : "0";
+ }
+
+ return cmsysString_strcasecmp(parameters.begin()->c_str(),
+ context->Config) == 0 ? "1" : "0";
+ }
+} configurationTestNode;
+
+//----------------------------------------------------------------------------
+static const struct TargetPropertyNode : public cmGeneratorExpressionNode
+{
+ TargetPropertyNode() {}
+
+ // This node handles errors on parameter count itself.
+ virtual int NumExpectedParameters() const { return -1; }
+
+ std::string Evaluate(const std::vector<std::string> &parameters,
+ cmGeneratorExpressionContext *context,
+ const GeneratorExpressionContent *content,
+ cmGeneratorExpressionDAGChecker *dagCheckerParent
+ ) const
+ {
+ if (parameters.size() != 1 && parameters.size() != 2)
+ {
+ reportError(context, content->GetOriginalExpression(),
+ "$<TARGET_PROPERTY:...> expression requires one or two parameters");
+ return std::string();
+ }
+ cmsys::RegularExpression targetNameValidator;
+ // The ':' is supported to allow use with IMPORTED targets. At least
+ // Qt 4 and 5 IMPORTED targets use ':' as the namespace delimiter.
+ targetNameValidator.compile("^[A-Za-z0-9_.:-]+$");
+ cmsys::RegularExpression propertyNameValidator;
+ propertyNameValidator.compile("^[A-Za-z0-9_]+$");
+
+ cmGeneratorTarget* target = context->Target;
+ std::string propertyName = *parameters.begin();
+ if (parameters.size() == 2)
+ {
+ if (parameters.begin()->empty() && parameters[1].empty())
+ {
+ reportError(context, content->GetOriginalExpression(),
+ "$<TARGET_PROPERTY:tgt,prop> expression requires a non-empty "
+ "target name and property name.");
+ return std::string();
+ }
+ if (parameters.begin()->empty())
+ {
+ reportError(context, content->GetOriginalExpression(),
+ "$<TARGET_PROPERTY:tgt,prop> expression requires a non-empty "
+ "target name.");
+ return std::string();
+ }
+
+ std::string targetName = parameters.front();
+ propertyName = parameters[1];
+ if (!targetNameValidator.find(targetName.c_str()))
+ {
+ if (!propertyNameValidator.find(propertyName.c_str()))
+ {
+ ::reportError(context, content->GetOriginalExpression(),
+ "Target name and property name not supported.");
+ return std::string();
+ }
+ ::reportError(context, content->GetOriginalExpression(),
+ "Target name not supported.");
+ return std::string();
+ }
+ target = context->Makefile->FindGeneratorTargetToUse(
+ targetName.c_str());
+
+ if (!target)
+ {
+ cmOStringStream e;
+ e << "Target \""
+ << targetName
+ << "\" not found.";
+ reportError(context, content->GetOriginalExpression(), e.str());
+ return std::string();
+ }
+ }
+
+ if (propertyName.empty())
+ {
+ reportError(context, content->GetOriginalExpression(),
+ "$<TARGET_PROPERTY:...> expression requires a non-empty property "
+ "name.");
+ return std::string();
+ }
+
+ if (!propertyNameValidator.find(propertyName.c_str()))
+ {
+ ::reportError(context, content->GetOriginalExpression(),
+ "Property name not supported.");
+ return std::string();
+ }
+
+ cmGeneratorExpressionDAGChecker dagChecker(context->Backtrace,
+ target->GetName(),
+ propertyName,
+ content,
+ dagCheckerParent);
+
+ if (!dagChecker.check())
+ {
+ dagChecker.reportError(context, content->GetOriginalExpression());
+ return std::string();
+ }
+
+ const char *prop = target->GetProperty(propertyName.c_str());
+ return prop ? prop : "";
+ }
+} targetPropertyNode;
+
+//----------------------------------------------------------------------------
+template<bool linker, bool soname>
+struct TargetFilesystemArtifactResultCreator
+{
+ static std::string Create(cmTarget* target,
+ cmGeneratorExpressionContext *context,
+ const GeneratorExpressionContent *content);
+};
+
+//----------------------------------------------------------------------------
+template<>
+struct TargetFilesystemArtifactResultCreator<false, true>
+{
+ static std::string Create(cmTarget* target,
+ cmGeneratorExpressionContext *context,
+ const GeneratorExpressionContent *content)
+ {
+ // The target soname file (.so.1).
+ if(target->IsDLLPlatform())
+ {
+ ::reportError(context, content->GetOriginalExpression(),
+ "TARGET_SONAME_FILE is not allowed "
+ "for DLL target platforms.");
+ return std::string();
+ }
+ if(target->GetType() != cmTarget::SHARED_LIBRARY)
+ {
+ ::reportError(context, content->GetOriginalExpression(),
+ "TARGET_SONAME_FILE is allowed only for "
+ "SHARED libraries.");
+ return std::string();
+ }
+ std::string result = target->GetDirectory(context->Config);
+ result += "/";
+ result += target->GetSOName(context->Config);
+ return result;
+ }
+};
+
+//----------------------------------------------------------------------------
+template<>
+struct TargetFilesystemArtifactResultCreator<true, false>
+{
+ static std::string Create(cmTarget* target,
+ cmGeneratorExpressionContext *context,
+ const GeneratorExpressionContent *content)
+ {
+ // The file used to link to the target (.so, .lib, .a).
+ if(!target->IsLinkable())
+ {
+ ::reportError(context, content->GetOriginalExpression(),
+ "TARGET_LINKER_FILE is allowed only for libraries and "
+ "executables with ENABLE_EXPORTS.");
+ return std::string();
+ }
+ return target->GetFullPath(context->Config,
+ target->HasImportLibrary());
+ }
+};
+
+//----------------------------------------------------------------------------
+template<>
+struct TargetFilesystemArtifactResultCreator<false, false>
+{
+ static std::string Create(cmTarget* target,
+ cmGeneratorExpressionContext *context,
+ const GeneratorExpressionContent *)
+ {
+ return target->GetFullPath(context->Config, false, true);
+ }
+};
+
+
+//----------------------------------------------------------------------------
+template<bool dirQual, bool nameQual>
+struct TargetFilesystemArtifactResultGetter
+{
+ static std::string Get(const std::string &result);
+};
+
+//----------------------------------------------------------------------------
+template<>
+struct TargetFilesystemArtifactResultGetter<false, true>
+{
+ static std::string Get(const std::string &result)
+ { return cmSystemTools::GetFilenameName(result); }
+};
+
+//----------------------------------------------------------------------------
+template<>
+struct TargetFilesystemArtifactResultGetter<true, false>
+{
+ static std::string Get(const std::string &result)
+ { return cmSystemTools::GetFilenamePath(result); }
+};
+
+//----------------------------------------------------------------------------
+template<>
+struct TargetFilesystemArtifactResultGetter<false, false>
+{
+ static std::string Get(const std::string &result)
+ { return result; }
+};
+
+//----------------------------------------------------------------------------
+template<bool linker, bool soname, bool dirQual, bool nameQual>
+struct TargetFilesystemArtifact : public cmGeneratorExpressionNode
+{
+ TargetFilesystemArtifact() {}
+
+ virtual int NumExpectedParameters() const { return 1; }
+
+ std::string Evaluate(const std::vector<std::string> &parameters,
+ cmGeneratorExpressionContext *context,
+ const GeneratorExpressionContent *content,
+ cmGeneratorExpressionDAGChecker *) const
+ {
+ // Lookup the referenced target.
+ std::string name = *parameters.begin();
+
+ cmsys::RegularExpression targetValidator;
+ // The ':' is supported to allow use with IMPORTED targets.
+ targetValidator.compile("^[A-Za-z0-9_.:-]+$");
+ if (!targetValidator.find(name.c_str()))
+ {
+ ::reportError(context, content->GetOriginalExpression(),
+ "Expression syntax not recognized.");
+ return std::string();
+ }
+ cmTarget* target = context->Makefile->FindTargetToUse(name.c_str());
+ if(!target)
+ {
+ ::reportError(context, content->GetOriginalExpression(),
+ "No target \"" + name + "\"");
+ return std::string();
+ }
+ if(target->GetType() >= cmTarget::UTILITY &&
+ target->GetType() != cmTarget::UNKNOWN_LIBRARY)
+ {
+ ::reportError(context, content->GetOriginalExpression(),
+ "Target \"" + name + "\" is not an executable or library.");
+ return std::string();
+ }
+ context->Targets.insert(target);
+
+ std::string result =
+ TargetFilesystemArtifactResultCreator<linker, soname>::Create(
+ target,
+ context,
+ content);
+ if (context->HadError)
+ {
+ return std::string();
+ }
+ return
+ TargetFilesystemArtifactResultGetter<dirQual, nameQual>::Get(result);
+ }
+};
+
+//----------------------------------------------------------------------------
+static const
+TargetFilesystemArtifact<false, false, false, false> targetFileNode;
+static const
+TargetFilesystemArtifact<true, false, false, false> targetLinkerFileNode;
+static const
+TargetFilesystemArtifact<false, true, false, false> targetSoNameFileNode;
+static const
+TargetFilesystemArtifact<false, false, false, true> targetFileNameNode;
+static const
+TargetFilesystemArtifact<true, false, false, true> targetLinkerFileNameNode;
+static const
+TargetFilesystemArtifact<false, true, false, true> targetSoNameFileNameNode;
+static const
+TargetFilesystemArtifact<false, false, true, false> targetFileDirNode;
+static const
+TargetFilesystemArtifact<true, false, true, false> targetLinkerFileDirNode;
+static const
+TargetFilesystemArtifact<false, true, true, false> targetSoNameFileDirNode;
+
+//----------------------------------------------------------------------------
+static const
+cmGeneratorExpressionNode* GetNode(const std::string &identifier)
+{
+ if (identifier == "0")
+ return &zeroNode;
+ if (identifier == "1")
+ return &oneNode;
+ if (identifier == "AND")
+ return &andNode;
+ if (identifier == "OR")
+ return &orNode;
+ if (identifier == "NOT")
+ return &notNode;
+ else if (identifier == "CONFIGURATION")
+ return &configurationNode;
+ else if (identifier == "CONFIG")
+ return &configurationTestNode;
+ else if (identifier == "TARGET_FILE")
+ return &targetFileNode;
+ else if (identifier == "TARGET_LINKER_FILE")
+ return &targetLinkerFileNode;
+ else if (identifier == "TARGET_SONAME_FILE")
+ return &targetSoNameFileNode;
+ else if (identifier == "TARGET_FILE_NAME")
+ return &targetFileNameNode;
+ else if (identifier == "TARGET_LINKER_FILE_NAME")
+ return &targetLinkerFileNameNode;
+ else if (identifier == "TARGET_SONAME_FILE_NAME")
+ return &targetSoNameFileNameNode;
+ else if (identifier == "TARGET_FILE_DIR")
+ return &targetFileDirNode;
+ else if (identifier == "TARGET_LINKER_FILE_DIR")
+ return &targetLinkerFileDirNode;
+ else if (identifier == "TARGET_SONAME_FILE_DIR")
+ return &targetSoNameFileDirNode;
+ else if (identifier == "STREQUAL")
+ return &strEqualNode;
+ else if (identifier == "BOOL")
+ return &boolNode;
+ else if (identifier == "ANGLE-R")
+ return &angle_rNode;
+ else if (identifier == "COMMA")
+ return &commaNode;
+ else if (identifier == "TARGET_PROPERTY")
+ return &targetPropertyNode;
+ return 0;
+
+}
+
+//----------------------------------------------------------------------------
+GeneratorExpressionContent::GeneratorExpressionContent(
+ const char *startContent,
+ unsigned int length)
+ : StartContent(startContent), ContentLength(length)
+{
+
+}
+
+//----------------------------------------------------------------------------
+std::string GeneratorExpressionContent::GetOriginalExpression() const
+{
+ return std::string(this->StartContent, this->ContentLength);
+}
+
+//----------------------------------------------------------------------------
+std::string GeneratorExpressionContent::Evaluate(
+ cmGeneratorExpressionContext *context,
+ cmGeneratorExpressionDAGChecker *dagChecker) const
+{
+ std::string identifier;
+ {
+ std::vector<cmGeneratorExpressionEvaluator*>::const_iterator it
+ = this->IdentifierChildren.begin();
+ const std::vector<cmGeneratorExpressionEvaluator*>::const_iterator end
+ = this->IdentifierChildren.end();
+ for ( ; it != end; ++it)
+ {
+ identifier += (*it)->Evaluate(context, dagChecker);
+ if (context->HadError)
+ {
+ return std::string();
+ }
+ }
+ }
+
+ const cmGeneratorExpressionNode *node = GetNode(identifier);
+
+ if (!node)
+ {
+ reportError(context, this->GetOriginalExpression(),
+ "Expression did not evaluate to a known generator expression");
+ return std::string();
+ }
+
+ if (!node->GeneratesContent())
+ {
+ return std::string();
+ }
+
+ if (node->AcceptsSingleArbitraryContentParameter())
+ {
+ std::string result;
+ std::vector<std::vector<cmGeneratorExpressionEvaluator*> >::const_iterator
+ pit = this->ParamChildren.begin();
+ const
+ std::vector<std::vector<cmGeneratorExpressionEvaluator*> >::const_iterator
+ pend = this->ParamChildren.end();
+ for ( ; pit != pend; ++pit)
+ {
+ if (!result.empty())
+ {
+ result += ",";
+ }
+
+ std::vector<cmGeneratorExpressionEvaluator*>::const_iterator it
+ = pit->begin();
+ const std::vector<cmGeneratorExpressionEvaluator*>::const_iterator end
+ = pit->end();
+ for ( ; it != end; ++it)
+ {
+ result += (*it)->Evaluate(context, dagChecker);
+ if (context->HadError)
+ {
+ return std::string();
+ }
+ }
+ }
+ return result;
+ }
+
+ std::vector<std::string> parameters;
+ {
+ std::vector<std::vector<cmGeneratorExpressionEvaluator*> >::const_iterator
+ pit = this->ParamChildren.begin();
+ const
+ std::vector<std::vector<cmGeneratorExpressionEvaluator*> >::const_iterator
+ pend = this->ParamChildren.end();
+ for ( ; pit != pend; ++pit)
+ {
+ std::string parameter;
+ std::vector<cmGeneratorExpressionEvaluator*>::const_iterator it =
+ pit->begin();
+ const std::vector<cmGeneratorExpressionEvaluator*>::const_iterator end =
+ pit->end();
+ for ( ; it != end; ++it)
+ {
+ parameter += (*it)->Evaluate(context, dagChecker);
+ if (context->HadError)
+ {
+ return std::string();
+ }
+ }
+ parameters.push_back(parameter);
+ }
+ }
+
+ int numExpected = node->NumExpectedParameters();
+ if ((numExpected != -1 && (unsigned int)numExpected != parameters.size()))
+ {
+ if (numExpected == 0)
+ {
+ reportError(context, this->GetOriginalExpression(),
+ "$<" + identifier + "> expression requires no parameters.");
+ }
+ else if (numExpected == 1)
+ {
+ reportError(context, this->GetOriginalExpression(),
+ "$<" + identifier + "> expression requires "
+ "exactly one parameter.");
+ }
+ else
+ {
+ cmOStringStream e;
+ e << "$<" + identifier + "> expression requires "
+ << numExpected
+ << " comma separated parameters, but got "
+ << parameters.size() << " instead.";
+ reportError(context, this->GetOriginalExpression(), e.str());
+ }
+ return std::string();
+ }
+
+ if (numExpected == -1 && parameters.empty())
+ {
+ reportError(context, this->GetOriginalExpression(), "$<" + identifier
+ + "> expression requires at least one parameter.");
+ return std::string();
+ }
+
+ return node->Evaluate(parameters, context, this, dagChecker);
+}
+
+//----------------------------------------------------------------------------
+static void deleteAll(const std::vector<cmGeneratorExpressionEvaluator*> &c)
+{
+ std::vector<cmGeneratorExpressionEvaluator*>::const_iterator it
+ = c.begin();
+ const std::vector<cmGeneratorExpressionEvaluator*>::const_iterator end
+ = c.end();
+ for ( ; it != end; ++it)
+ {
+ delete *it;
+ }
+}
+
+//----------------------------------------------------------------------------
+GeneratorExpressionContent::~GeneratorExpressionContent()
+{
+ deleteAll(this->IdentifierChildren);
+
+ typedef std::vector<cmGeneratorExpressionEvaluator*> EvaluatorVector;
+ typedef std::vector<cmGeneratorExpressionToken> TokenVector;
+ std::vector<EvaluatorVector>::const_iterator pit =
+ this->ParamChildren.begin();
+ const std::vector<EvaluatorVector>::const_iterator pend =
+ this->ParamChildren.end();
+ for ( ; pit != pend; ++pit)
+ {
+ deleteAll(*pit);
+ }
+}
diff --git a/Source/cmGeneratorExpressionEvaluator.h b/Source/cmGeneratorExpressionEvaluator.h
new file mode 100644
index 000000000..04a2acdc6
--- /dev/null
+++ b/Source/cmGeneratorExpressionEvaluator.h
@@ -0,0 +1,127 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2012 Stephen Kelly <steveire@gmail.com>
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+#ifndef cmGeneratorExpressionEvaluator_h
+#define cmGeneratorExpressionEvaluator_h
+
+#include <vector>
+#include <string>
+
+#include "cmListFileCache.h"
+
+class cmTarget;
+class cmGeneratorTarget;
+
+//----------------------------------------------------------------------------
+struct cmGeneratorExpressionContext
+{
+ cmListFileBacktrace Backtrace;
+ std::set<cmTarget*> Targets;
+ cmMakefile *Makefile;
+ const char *Config;
+ cmGeneratorTarget *Target;
+ bool Quiet;
+ bool HadError;
+};
+
+struct cmGeneratorExpressionDAGChecker;
+
+//----------------------------------------------------------------------------
+struct cmGeneratorExpressionEvaluator
+{
+ cmGeneratorExpressionEvaluator() {}
+ virtual ~cmGeneratorExpressionEvaluator() {}
+
+ enum Type
+ {
+ Text,
+ Generator
+ };
+
+ virtual Type GetType() const = 0;
+
+ virtual std::string Evaluate(cmGeneratorExpressionContext *context,
+ cmGeneratorExpressionDAGChecker *) const = 0;
+
+private:
+ cmGeneratorExpressionEvaluator(const cmGeneratorExpressionEvaluator &);
+ void operator=(const cmGeneratorExpressionEvaluator &);
+};
+
+struct TextContent : public cmGeneratorExpressionEvaluator
+{
+ TextContent(const char *start, unsigned int length)
+ : Content(start), Length(length)
+ {
+
+ }
+
+ std::string Evaluate(cmGeneratorExpressionContext *,
+ cmGeneratorExpressionDAGChecker *) const
+ {
+ return std::string(this->Content, this->Length);
+ }
+
+ Type GetType() const
+ {
+ return cmGeneratorExpressionEvaluator::Text;
+ }
+
+ void Extend(unsigned int length)
+ {
+ this->Length += length;
+ }
+
+ unsigned int GetLength()
+ {
+ return this->Length;
+ }
+
+private:
+ const char *Content;
+ unsigned int Length;
+};
+
+//----------------------------------------------------------------------------
+struct GeneratorExpressionContent : public cmGeneratorExpressionEvaluator
+{
+ GeneratorExpressionContent(const char *startContent, unsigned int length);
+ void SetIdentifier(std::vector<cmGeneratorExpressionEvaluator*> identifier)
+ {
+ this->IdentifierChildren = identifier;
+ }
+
+ void SetParameters(
+ std::vector<std::vector<cmGeneratorExpressionEvaluator*> > parameters)
+ {
+ this->ParamChildren = parameters;
+ }
+
+ Type GetType() const
+ {
+ return cmGeneratorExpressionEvaluator::Generator;
+ }
+
+ std::string Evaluate(cmGeneratorExpressionContext *context,
+ cmGeneratorExpressionDAGChecker *) const;
+
+ std::string GetOriginalExpression() const;
+
+ ~GeneratorExpressionContent();
+
+private:
+ std::vector<cmGeneratorExpressionEvaluator*> IdentifierChildren;
+ std::vector<std::vector<cmGeneratorExpressionEvaluator*> > ParamChildren;
+ const char *StartContent;
+ unsigned int ContentLength;
+};
+
+#endif
diff --git a/Source/cmGeneratorExpressionLexer.cxx b/Source/cmGeneratorExpressionLexer.cxx
new file mode 100644
index 000000000..cd71ec033
--- /dev/null
+++ b/Source/cmGeneratorExpressionLexer.cxx
@@ -0,0 +1,85 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2012 Stephen Kelly <steveire@gmail.com>
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+#include "cmGeneratorExpressionLexer.h"
+
+
+//----------------------------------------------------------------------------
+cmGeneratorExpressionLexer::cmGeneratorExpressionLexer()
+ : SawBeginExpression(false), SawGeneratorExpression(false)
+{
+
+}
+
+//----------------------------------------------------------------------------
+static void InsertText(const char *upto, const char *c,
+ std::vector<cmGeneratorExpressionToken> &result)
+{
+ if (upto != c)
+ {
+ result.push_back(cmGeneratorExpressionToken(
+ cmGeneratorExpressionToken::Text, upto, c - upto));
+ }
+}
+
+//----------------------------------------------------------------------------
+std::vector<cmGeneratorExpressionToken>
+cmGeneratorExpressionLexer::Tokenize(const char *input)
+{
+ std::vector<cmGeneratorExpressionToken> result;
+ if (!input)
+ return result;
+
+ const char *c = input;
+ const char *upto = c;
+
+ for ( ; *c; ++c)
+ {
+ if(c[0] == '$' && c[1] == '<')
+ {
+ InsertText(upto, c, result);
+ upto = c;
+ result.push_back(cmGeneratorExpressionToken(
+ cmGeneratorExpressionToken::BeginExpression, upto, 2));
+ upto = c + 2;
+ ++c;
+ SawBeginExpression = true;
+ }
+ else if(c[0] == '>')
+ {
+ InsertText(upto, c, result);
+ upto = c;
+ result.push_back(cmGeneratorExpressionToken(
+ cmGeneratorExpressionToken::EndExpression, upto, 1));
+ upto = c + 1;
+ SawGeneratorExpression = SawBeginExpression;
+ }
+ else if(c[0] == ':')
+ {
+ InsertText(upto, c, result);
+ upto = c;
+ result.push_back(cmGeneratorExpressionToken(
+ cmGeneratorExpressionToken::ColonSeparator, upto, 1));
+ upto = c + 1;
+ }
+ else if(c[0] == ',')
+ {
+ InsertText(upto, c, result);
+ upto = c;
+ result.push_back(cmGeneratorExpressionToken(
+ cmGeneratorExpressionToken::CommaSeparator, upto, 1));
+ upto = c + 1;
+ }
+ }
+ InsertText(upto, c, result);
+
+ return result;
+}
diff --git a/Source/cmGeneratorExpressionLexer.h b/Source/cmGeneratorExpressionLexer.h
new file mode 100644
index 000000000..5f16712fb
--- /dev/null
+++ b/Source/cmGeneratorExpressionLexer.h
@@ -0,0 +1,58 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2012 Stephen Kelly <steveire@gmail.com>
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+#ifndef cmGeneratorExpressionLexer_h
+#define cmGeneratorExpressionLexer_h
+
+#include "cmStandardIncludes.h"
+
+#include <vector>
+
+//----------------------------------------------------------------------------
+struct cmGeneratorExpressionToken
+{
+ cmGeneratorExpressionToken(unsigned type, const char *c, unsigned l)
+ : TokenType(type), Content(c), Length(l)
+ {
+ }
+ enum {
+ Text,
+ BeginExpression,
+ EndExpression,
+ ColonSeparator,
+ CommaSeparator
+ };
+ unsigned TokenType;
+ const char *Content;
+ unsigned Length;
+};
+
+/** \class cmGeneratorExpressionLexer
+ *
+ */
+class cmGeneratorExpressionLexer
+{
+public:
+ cmGeneratorExpressionLexer();
+
+ std::vector<cmGeneratorExpressionToken> Tokenize(const char *input);
+
+ bool GetSawGeneratorExpression() const
+ {
+ return this->SawGeneratorExpression;
+ }
+
+private:
+ bool SawBeginExpression;
+ bool SawGeneratorExpression;
+};
+
+#endif
diff --git a/Source/cmGeneratorExpressionParser.cxx b/Source/cmGeneratorExpressionParser.cxx
new file mode 100644
index 000000000..7a8fc510d
--- /dev/null
+++ b/Source/cmGeneratorExpressionParser.cxx
@@ -0,0 +1,276 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2012 Stephen Kelly <steveire@gmail.com>
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+
+#include "cmGeneratorExpressionParser.h"
+
+#include "cmGeneratorExpressionEvaluator.h"
+
+#include "assert.h"
+
+//----------------------------------------------------------------------------
+cmGeneratorExpressionParser::cmGeneratorExpressionParser(
+ const std::vector<cmGeneratorExpressionToken> &tokens)
+ : Tokens(tokens), NestingLevel(0)
+{
+}
+
+//----------------------------------------------------------------------------
+void cmGeneratorExpressionParser::Parse(
+ std::vector<cmGeneratorExpressionEvaluator*> &result)
+{
+ it = this->Tokens.begin();
+
+ while (this->it != this->Tokens.end())
+ {
+ this->ParseContent(result);
+ }
+}
+
+//----------------------------------------------------------------------------
+static void extendText(std::vector<cmGeneratorExpressionEvaluator*> &result,
+ std::vector<cmGeneratorExpressionToken>::const_iterator it)
+{
+ if (result.size() > 0
+ && (*(result.end() - 1))->GetType()
+ == cmGeneratorExpressionEvaluator::Text)
+ {
+ TextContent *textContent = static_cast<TextContent*>(*(result.end() - 1));
+ textContent->Extend(it->Length);
+ }
+ else
+ {
+ TextContent *textContent = new TextContent(it->Content, it->Length);
+ result.push_back(textContent);
+ }
+}
+
+//----------------------------------------------------------------------------
+static void extendResult(std::vector<cmGeneratorExpressionEvaluator*> &result,
+ const std::vector<cmGeneratorExpressionEvaluator*> &contents)
+{
+ if (result.size() > 0
+ && (*(result.end() - 1))->GetType()
+ == cmGeneratorExpressionEvaluator::Text
+ && (*contents.begin())->GetType()
+ == cmGeneratorExpressionEvaluator::Text)
+ {
+ TextContent *textContent = static_cast<TextContent*>(*(result.end() - 1));
+ textContent->Extend(
+ static_cast<TextContent*>(*contents.begin())->GetLength());
+ delete *contents.begin();
+ result.insert(result.end(), contents.begin() + 1, contents.end());
+ } else {
+ result.insert(result.end(), contents.begin(), contents.end());
+ }
+}
+
+//----------------------------------------------------------------------------
+void cmGeneratorExpressionParser::ParseGeneratorExpression(
+ std::vector<cmGeneratorExpressionEvaluator*> &result)
+{
+ assert(this->it != this->Tokens.end());
+ unsigned int nestedLevel = this->NestingLevel;
+ ++this->NestingLevel;
+
+ std::vector<cmGeneratorExpressionToken>::const_iterator startToken
+ = this->it - 1;
+
+ std::vector<cmGeneratorExpressionEvaluator*> identifier;
+ while(this->it->TokenType != cmGeneratorExpressionToken::EndExpression
+ && this->it->TokenType != cmGeneratorExpressionToken::ColonSeparator)
+ {
+ this->ParseContent(identifier);
+ if (this->it == this->Tokens.end())
+ {
+ break;
+ }
+ }
+ if (identifier.empty())
+ {
+ // ERROR
+ }
+
+ if (this->it != this->Tokens.end() &&
+ this->it->TokenType == cmGeneratorExpressionToken::EndExpression)
+ {
+ GeneratorExpressionContent *content = new GeneratorExpressionContent(
+ startToken->Content, this->it->Content
+ - startToken->Content
+ + this->it->Length);
+ assert(this->it != this->Tokens.end());
+ ++this->it;
+ --this->NestingLevel;
+ content->SetIdentifier(identifier);
+ result.push_back(content);
+ return;
+ }
+
+ std::vector<std::vector<cmGeneratorExpressionEvaluator*> > parameters;
+ std::vector<std::vector<cmGeneratorExpressionToken>::const_iterator>
+ commaTokens;
+ std::vector<cmGeneratorExpressionToken>::const_iterator colonToken;
+ if (this->it != this->Tokens.end() &&
+ this->it->TokenType == cmGeneratorExpressionToken::ColonSeparator)
+ {
+ colonToken = this->it;
+ parameters.resize(parameters.size() + 1);
+ assert(this->it != this->Tokens.end());
+ ++this->it;
+
+ while (this->it != this->Tokens.end() &&
+ this->it->TokenType == cmGeneratorExpressionToken::CommaSeparator)
+ {
+ commaTokens.push_back(this->it);
+ parameters.resize(parameters.size() + 1);
+ assert(this->it != this->Tokens.end());
+ ++this->it;
+ }
+ while (this->it != this->Tokens.end() &&
+ this->it->TokenType == cmGeneratorExpressionToken::ColonSeparator)
+ {
+ extendText(*(parameters.end() - 1), this->it);
+ assert(this->it != this->Tokens.end());
+ ++this->it;
+ }
+ while (this->it != this->Tokens.end() &&
+ this->it->TokenType != cmGeneratorExpressionToken::EndExpression)
+ {
+ this->ParseContent(*(parameters.end() - 1));
+ if (this->it == this->Tokens.end())
+ {
+ break;
+ }
+ while (this->it != this->Tokens.end() &&
+ this->it->TokenType == cmGeneratorExpressionToken::CommaSeparator)
+ {
+ commaTokens.push_back(this->it);
+ parameters.resize(parameters.size() + 1);
+ assert(this->it != this->Tokens.end());
+ ++this->it;
+ }
+ while (this->it != this->Tokens.end() &&
+ this->it->TokenType == cmGeneratorExpressionToken::ColonSeparator)
+ {
+ extendText(*(parameters.end() - 1), this->it);
+ assert(this->it != this->Tokens.end());
+ ++this->it;
+ }
+ }
+ if(this->it != this->Tokens.end()
+ && this->it->TokenType == cmGeneratorExpressionToken::EndExpression)
+ {
+ --this->NestingLevel;
+ assert(this->it != this->Tokens.end());
+ ++this->it;
+ }
+ }
+
+ if (nestedLevel != this->NestingLevel)
+ {
+ // There was a '$<' in the text, but no corresponding '>'. Rebuild to
+ // treat the '$<' as having been plain text, along with the
+ // corresponding : and , tokens that might have been found.
+ extendText(result, startToken);
+ extendResult(result, identifier);
+ if (!parameters.empty())
+ {
+ extendText(result, colonToken);
+
+ typedef std::vector<cmGeneratorExpressionEvaluator*> EvaluatorVector;
+ typedef std::vector<cmGeneratorExpressionToken> TokenVector;
+ std::vector<EvaluatorVector>::const_iterator pit = parameters.begin();
+ const std::vector<EvaluatorVector>::const_iterator pend =
+ parameters.end();
+ std::vector<TokenVector::const_iterator>::const_iterator commaIt =
+ commaTokens.begin();
+ assert(parameters.size() > commaTokens.size());
+ for ( ; pit != pend; ++pit, ++commaIt)
+ {
+ extendResult(result, *pit);
+ if (commaIt != commaTokens.end())
+ {
+ extendText(result, *commaIt);
+ }
+ else
+ {
+ break;
+ }
+ }
+ }
+ return;
+ }
+
+ int contentLength = ((this->it - 1)->Content
+ - startToken->Content)
+ + (this->it - 1)->Length;
+ GeneratorExpressionContent *content = new GeneratorExpressionContent(
+ startToken->Content, contentLength);
+ content->SetIdentifier(identifier);
+ content->SetParameters(parameters);
+ result.push_back(content);
+}
+
+//----------------------------------------------------------------------------
+void cmGeneratorExpressionParser::ParseContent(
+ std::vector<cmGeneratorExpressionEvaluator*> &result)
+{
+ assert(this->it != this->Tokens.end());
+ switch(this->it->TokenType)
+ {
+ case cmGeneratorExpressionToken::Text:
+ {
+ if (this->NestingLevel == 0)
+ {
+ if (result.size() > 0
+ && (*(result.end() - 1))->GetType()
+ == cmGeneratorExpressionEvaluator::Text)
+ {
+ // A comma in 'plain text' could have split text that should
+ // otherwise be continuous. Extend the last text content instead of
+ // creating a new one.
+ TextContent *textContent =
+ static_cast<TextContent*>(*(result.end() - 1));
+ textContent->Extend(this->it->Length);
+ assert(this->it != this->Tokens.end());
+ ++this->it;
+ return;
+ }
+ }
+ cmGeneratorExpressionEvaluator* n = new TextContent(this->it->Content,
+ this->it->Length);
+ result.push_back(n);
+ assert(this->it != this->Tokens.end());
+ ++this->it;
+ return ;
+ }
+ case cmGeneratorExpressionToken::BeginExpression:
+ assert(this->it != this->Tokens.end());
+ ++this->it;
+ this->ParseGeneratorExpression(result);
+ return;
+ case cmGeneratorExpressionToken::EndExpression:
+ case cmGeneratorExpressionToken::ColonSeparator:
+ case cmGeneratorExpressionToken::CommaSeparator:
+ if (this->NestingLevel == 0)
+ {
+ extendText(result, this->it);
+ }
+ else
+ {
+ assert(!"Got unexpected syntax token.");
+ }
+ assert(this->it != this->Tokens.end());
+ ++this->it;
+ return;
+ }
+ assert(!"Unhandled token in generator expression.");
+}
diff --git a/Source/cmGeneratorExpressionParser.h b/Source/cmGeneratorExpressionParser.h
new file mode 100644
index 000000000..28f14410f
--- /dev/null
+++ b/Source/cmGeneratorExpressionParser.h
@@ -0,0 +1,45 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2012 Stephen Kelly <steveire@gmail.com>
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+#ifndef cmGeneratorExpressionParser_h
+#define cmGeneratorExpressionParser_h
+
+#include "cmGeneratorExpressionLexer.h"
+
+#include <set>
+#include <vector>
+
+#include "cmListFileCache.h"
+
+class cmMakefile;
+class cmTarget;
+struct cmGeneratorExpressionEvaluator;
+
+//----------------------------------------------------------------------------
+struct cmGeneratorExpressionParser
+{
+ cmGeneratorExpressionParser(
+ const std::vector<cmGeneratorExpressionToken> &tokens);
+
+ void Parse(std::vector<cmGeneratorExpressionEvaluator*> &result);
+
+private:
+ void ParseContent(std::vector<cmGeneratorExpressionEvaluator*> &);
+ void ParseGeneratorExpression(
+ std::vector<cmGeneratorExpressionEvaluator*> &);
+
+private:
+ std::vector<cmGeneratorExpressionToken>::const_iterator it;
+ const std::vector<cmGeneratorExpressionToken> Tokens;
+ unsigned int NestingLevel;
+};
+
+#endif
diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index 6e2e23da5..19b55c62c 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -14,8 +14,13 @@
#include "cmTarget.h"
#include "cmMakefile.h"
#include "cmLocalGenerator.h"
+#include "cmComputeLinkInformation.h"
#include "cmGlobalGenerator.h"
#include "cmSourceFile.h"
+#include "cmGeneratorExpression.h"
+#include "cmGeneratorExpressionDAGChecker.h"
+
+#include <assert.h>
//----------------------------------------------------------------------------
cmGeneratorTarget::cmGeneratorTarget(cmTarget* t): Target(t)
@@ -27,6 +32,45 @@ cmGeneratorTarget::cmGeneratorTarget(cmTarget* t): Target(t)
this->LookupObjectLibraries();
}
+cmGeneratorTarget::~cmGeneratorTarget()
+{
+ for(std::map<cmStdString, cmComputeLinkInformation*>::iterator i
+ = LinkInformation.begin(); i != LinkInformation.end(); ++i)
+ {
+ delete i->second;
+ }
+}
+
+//----------------------------------------------------------------------------
+int cmGeneratorTarget::GetType() const
+{
+ return this->Target->GetType();
+}
+
+//----------------------------------------------------------------------------
+const char *cmGeneratorTarget::GetName() const
+{
+ return this->Target->GetName();
+}
+
+//----------------------------------------------------------------------------
+const char *cmGeneratorTarget::GetProperty(const char *prop)
+{
+ return this->Target->GetProperty(prop);
+}
+
+//----------------------------------------------------------------------------
+bool cmGeneratorTarget::GetPropertyAsBool(const char *prop)
+{
+ return this->Target->GetPropertyAsBool(prop);
+}
+
+//----------------------------------------------------------------------------
+std::vector<cmSourceFile*> const& cmGeneratorTarget::GetSourceFiles()
+{
+ return this->Target->GetSourceFiles();
+}
+
//----------------------------------------------------------------------------
void cmGeneratorTarget::ClassifySources()
{
@@ -175,3 +219,143 @@ void cmGeneratorTarget::UseObjectLibraries(std::vector<std::string>& objs)
}
}
}
+
+//----------------------------------------------------------------------------
+cmComputeLinkInformation*
+cmGeneratorTarget::GetLinkInformation(const char* config)
+{
+ // Lookup any existing information for this configuration.
+ std::map<cmStdString, cmComputeLinkInformation*>::iterator
+ i = this->LinkInformation.find(config?config:"");
+ if(i == this->LinkInformation.end())
+ {
+ // Compute information for this configuration.
+ cmComputeLinkInformation* info =
+ new cmComputeLinkInformation(this->Target, config);
+ if(!info || !info->Compute())
+ {
+ delete info;
+ info = 0;
+ }
+
+ // Store the information for this configuration.
+ std::map<cmStdString, cmComputeLinkInformation*>::value_type
+ entry(config?config:"", info);
+ i = this->LinkInformation.insert(entry).first;
+ }
+ return i->second;
+}
+
+//----------------------------------------------------------------------------
+void cmGeneratorTarget::GetAppleArchs(const char* config,
+ std::vector<std::string>& archVec)
+{
+ const char* archs = 0;
+ if(config && *config)
+ {
+ std::string defVarName = "OSX_ARCHITECTURES_";
+ defVarName += cmSystemTools::UpperCase(config);
+ archs = this->Target->GetProperty(defVarName.c_str());
+ }
+ if(!archs)
+ {
+ archs = this->Target->GetProperty("OSX_ARCHITECTURES");
+ }
+ if(archs)
+ {
+ cmSystemTools::ExpandListArgument(std::string(archs), archVec);
+ }
+}
+
+//----------------------------------------------------------------------------
+const char* cmGeneratorTarget::GetCreateRuleVariable()
+{
+ switch(this->GetType())
+ {
+ case cmTarget::STATIC_LIBRARY:
+ return "_CREATE_STATIC_LIBRARY";
+ case cmTarget::SHARED_LIBRARY:
+ return "_CREATE_SHARED_LIBRARY";
+ case cmTarget::MODULE_LIBRARY:
+ return "_CREATE_SHARED_MODULE";
+ case cmTarget::EXECUTABLE:
+ return "_LINK_EXECUTABLE";
+ default:
+ break;
+ }
+ return "";
+}
+
+//----------------------------------------------------------------------------
+std::vector<std::string> cmGeneratorTarget::GetIncludeDirectories(
+ const char *config)
+{
+ std::vector<std::string> includes;
+ const char *prop = this->Target->GetProperty("INCLUDE_DIRECTORIES");
+ if(!prop)
+ {
+ return includes;
+ }
+
+ cmListFileBacktrace lfbt;
+ cmGeneratorExpression ge(lfbt);
+
+ cmGeneratorExpressionDAGChecker dagChecker(lfbt,
+ this->GetName(),
+ "INCLUDE_DIRECTORIES", 0, 0);
+
+ cmSystemTools::ExpandListArgument(ge.Parse(prop)
+ .Evaluate(this->Makefile,
+ config,
+ false,
+ this,
+ &dagChecker),
+ includes);
+
+ std::set<std::string> uniqueIncludes;
+ std::vector<std::string> orderedAndUniqueIncludes;
+ for(std::vector<std::string>::const_iterator
+ li = includes.begin(); li != includes.end(); ++li)
+ {
+ std::string inc = *li;
+ if (!cmSystemTools::IsOff(inc.c_str()))
+ {
+ cmSystemTools::ConvertToUnixSlashes(inc);
+ }
+ if(uniqueIncludes.insert(inc).second)
+ {
+ orderedAndUniqueIncludes.push_back(inc);
+ }
+ }
+
+ return orderedAndUniqueIncludes;
+}
+
+//----------------------------------------------------------------------------
+std::string cmGeneratorTarget::GetCompileDefinitions(const char *config)
+{
+ std::string defPropName = "COMPILE_DEFINITIONS";
+ if (config)
+ {
+ defPropName += "_" + cmSystemTools::UpperCase(config);
+ }
+
+ const char *prop = this->Target->GetProperty(defPropName.c_str());
+
+ if (!prop)
+ {
+ return "";
+ }
+
+ cmListFileBacktrace lfbt;
+ cmGeneratorExpression ge(lfbt);
+
+ cmGeneratorExpressionDAGChecker dagChecker(lfbt,
+ this->GetName(),
+ defPropName, 0, 0);
+ return ge.Parse(prop).Evaluate(this->Makefile,
+ config,
+ false,
+ this,
+ &dagChecker);
+}
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h
index 5c7578d94..a29a9f904 100644
--- a/Source/cmGeneratorTarget.h
+++ b/Source/cmGeneratorTarget.h
@@ -14,6 +14,7 @@
#include "cmStandardIncludes.h"
+class cmComputeLinkInformation;
class cmCustomCommand;
class cmGlobalGenerator;
class cmLocalGenerator;
@@ -25,6 +26,13 @@ class cmGeneratorTarget
{
public:
cmGeneratorTarget(cmTarget*);
+ ~cmGeneratorTarget();
+
+ int GetType() const;
+ const char *GetName() const;
+ const char *GetProperty(const char *prop);
+ bool GetPropertyAsBool(const char *prop);
+ std::vector<cmSourceFile*> const& GetSourceFiles();
cmTarget* Target;
cmMakefile* Makefile;
@@ -52,6 +60,22 @@ public:
void UseObjectLibraries(std::vector<std::string>& objs);
+ std::map<cmStdString, cmComputeLinkInformation*> LinkInformation;
+
+ cmComputeLinkInformation* GetLinkInformation(const char* config);
+
+ void GetAppleArchs(const char* config,
+ std::vector<std::string>& archVec);
+
+ ///! Return the rule variable used to create this type of target,
+ // need to add CMAKE_(LANG) for full name.
+ const char* GetCreateRuleVariable();
+
+ /** Get the include directories for this target. */
+ std::vector<std::string> GetIncludeDirectories(const char *config);
+
+ std::string GetCompileDefinitions(const char *config = 0);
+
private:
void ClassifySources();
void LookupObjectLibraries();
@@ -60,4 +84,6 @@ private:
void operator=(cmGeneratorTarget const&);
};
+typedef std::map<cmTarget*, cmGeneratorTarget*> cmGeneratorTargetsType;
+
#endif
diff --git a/Source/cmGetCMakePropertyCommand.h b/Source/cmGetCMakePropertyCommand.h
index 0a5917cfd..b77eaae04 100644
--- a/Source/cmGetCMakePropertyCommand.h
+++ b/Source/cmGetCMakePropertyCommand.h
@@ -17,7 +17,7 @@
class cmGetCMakePropertyCommand : public cmCommand
{
public:
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmGetCMakePropertyCommand;
}
@@ -46,7 +46,7 @@ public:
{
return "Get a property of the CMake instance.";
}
-
+
/**
* Longer documentation.
*/
@@ -63,7 +63,7 @@ public:
"\n"
"See also the more general get_property() command.";
}
-
+
cmTypeMacro(cmGetCMakePropertyCommand, cmCommand);
};
diff --git a/Source/cmGetDirectoryPropertyCommand.cxx b/Source/cmGetDirectoryPropertyCommand.cxx
index 5714b5079..9e76e1bc3 100644
--- a/Source/cmGetDirectoryPropertyCommand.cxx
+++ b/Source/cmGetDirectoryPropertyCommand.cxx
@@ -22,12 +22,12 @@ bool cmGetDirectoryPropertyCommand
this->SetError("called with incorrect number of arguments");
return false;
}
-
+
std::vector<std::string>::const_iterator i = args.begin();
std::string variable = *i;
++i;
std::string output = "";
-
+
// get the directory argument if there is one
cmMakefile *dir = this->Makefile;
if (*i == "DIRECTORY")
@@ -52,7 +52,7 @@ bool cmGetDirectoryPropertyCommand
sd = cmSystemTools::CollapseFullPath(sd.c_str());
// lookup the makefile from the directory name
- cmLocalGenerator *lg =
+ cmLocalGenerator *lg =
this->Makefile->GetLocalGenerator()->GetGlobalGenerator()->
FindLocalGenerator(sd.c_str());
if (!lg)
@@ -69,7 +69,7 @@ bool cmGetDirectoryPropertyCommand
// OK, now we have the directory to process, we just get the requested
// information out of it
-
+
if ( *i == "DEFINITION" )
{
++i;
diff --git a/Source/cmGetDirectoryPropertyCommand.h b/Source/cmGetDirectoryPropertyCommand.h
index 901b90cff..d0d582028 100644
--- a/Source/cmGetDirectoryPropertyCommand.h
+++ b/Source/cmGetDirectoryPropertyCommand.h
@@ -17,7 +17,7 @@
class cmGetDirectoryPropertyCommand : public cmCommand
{
public:
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmGetDirectoryPropertyCommand;
}
@@ -46,7 +46,7 @@ public:
{
return "Get a property of DIRECTORY scope.";
}
-
+
/**
* Longer documentation.
*/
@@ -69,7 +69,7 @@ public:
"\n"
"See also the more general get_property() command.";
}
-
+
cmTypeMacro(cmGetDirectoryPropertyCommand, cmCommand);
};
diff --git a/Source/cmGetFilenameComponentCommand.cxx b/Source/cmGetFilenameComponentCommand.cxx
index 1a31d5428..fd1ad601f 100644
--- a/Source/cmGetFilenameComponentCommand.cxx
+++ b/Source/cmGetFilenameComponentCommand.cxx
@@ -32,7 +32,7 @@ bool cmGetFilenameComponentCommand
return true;
}
}
-
+
std::string result;
std::string filename = args[1];
if(filename.find("[HKEY") != filename.npos)
@@ -79,7 +79,7 @@ bool cmGetFilenameComponentCommand
}
}
}
- cmSystemTools::SplitProgramFromArgs(filename.c_str(),
+ cmSystemTools::SplitProgramFromArgs(filename.c_str(),
result, programArgs);
}
else if (args[2] == "EXT")
@@ -104,7 +104,7 @@ bool cmGetFilenameComponentCommand
result = cmSystemTools::GetRealPath(result.c_str());
}
}
- else
+ else
{
std::string err = "unknown component " + args[2];
this->SetError(err.c_str());
@@ -125,7 +125,7 @@ bool cmGetFilenameComponentCommand
args[2] == "PATH" ? cmCacheManager::FILEPATH
: cmCacheManager::STRING);
}
- else
+ else
{
if(programArgs.size() && storeArgs.size())
{
diff --git a/Source/cmGetFilenameComponentCommand.h b/Source/cmGetFilenameComponentCommand.h
index 0c8e57a26..c46101625 100644
--- a/Source/cmGetFilenameComponentCommand.h
+++ b/Source/cmGetFilenameComponentCommand.h
@@ -18,7 +18,7 @@
* \brief Get a specific component of a filename.
*
* cmGetFilenameComponentCommand is a utility command used to get the path,
- * name, extension or name without extension of a full filename.
+ * name, extension or name without extension of a full filename.
*/
class cmGetFilenameComponentCommand : public cmCommand
{
@@ -26,7 +26,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmGetFilenameComponentCommand;
}
@@ -55,7 +55,7 @@ public:
{
return "Get a specific component of a full filename.";
}
-
+
/**
* More documentation.
*/
@@ -82,7 +82,7 @@ public:
"from the program name and stored in <ARG_VAR>. This is used to "
"separate a program name from its arguments in a command line string.";
}
-
+
cmTypeMacro(cmGetFilenameComponentCommand, cmCommand);
};
diff --git a/Source/cmGetPropertyCommand.h b/Source/cmGetPropertyCommand.h
index dca262725..3c597fdcf 100644
--- a/Source/cmGetPropertyCommand.h
+++ b/Source/cmGetPropertyCommand.h
@@ -19,7 +19,7 @@ class cmGetPropertyCommand : public cmCommand
public:
cmGetPropertyCommand();
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmGetPropertyCommand;
}
@@ -48,7 +48,7 @@ public:
{
return "Get a property.";
}
-
+
/**
* Longer documentation.
*/
@@ -92,7 +92,7 @@ public:
"If documentation is requested for a property that has not been "
"defined NOTFOUND is returned.";
}
-
+
cmTypeMacro(cmGetPropertyCommand, cmCommand);
private:
enum OutType { OutValue, OutDefined, OutBriefDoc, OutFullDoc, OutSet };
diff --git a/Source/cmGetSourceFilePropertyCommand.h b/Source/cmGetSourceFilePropertyCommand.h
index 6d52503b5..2ba81037f 100644
--- a/Source/cmGetSourceFilePropertyCommand.h
+++ b/Source/cmGetSourceFilePropertyCommand.h
@@ -17,7 +17,7 @@
class cmGetSourceFilePropertyCommand : public cmCommand
{
public:
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmGetSourceFilePropertyCommand;
}
@@ -41,7 +41,7 @@ public:
{
return "Get a property for a source file.";
}
-
+
/**
* Longer documentation.
*/
@@ -57,7 +57,7 @@ public:
"\n"
"See also the more general get_property() command.";
}
-
+
cmTypeMacro(cmGetSourceFilePropertyCommand, cmCommand);
};
diff --git a/Source/cmGetTargetPropertyCommand.h b/Source/cmGetTargetPropertyCommand.h
index b60abea4c..f5e1aa729 100644
--- a/Source/cmGetTargetPropertyCommand.h
+++ b/Source/cmGetTargetPropertyCommand.h
@@ -17,7 +17,7 @@
class cmGetTargetPropertyCommand : public cmCommand
{
public:
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmGetTargetPropertyCommand;
}
@@ -41,7 +41,7 @@ public:
{
return "Get a property from a target.";
}
-
+
/**
* Longer documentation.
*/
@@ -59,7 +59,7 @@ public:
"\n"
"See also the more general get_property() command.";
}
-
+
cmTypeMacro(cmGetTargetPropertyCommand, cmCommand);
};
diff --git a/Source/cmGetTestPropertyCommand.h b/Source/cmGetTestPropertyCommand.h
index af6bafaf3..01f54d951 100644
--- a/Source/cmGetTestPropertyCommand.h
+++ b/Source/cmGetTestPropertyCommand.h
@@ -17,7 +17,7 @@
class cmGetTestPropertyCommand : public cmCommand
{
public:
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmGetTestPropertyCommand;
}
diff --git a/Source/cmGlobalBorlandMakefileGenerator.cxx b/Source/cmGlobalBorlandMakefileGenerator.cxx
index b87b7e186..8c6787a2c 100644
--- a/Source/cmGlobalBorlandMakefileGenerator.cxx
+++ b/Source/cmGlobalBorlandMakefileGenerator.cxx
@@ -25,14 +25,14 @@ cmGlobalBorlandMakefileGenerator::cmGlobalBorlandMakefileGenerator()
void cmGlobalBorlandMakefileGenerator
-::EnableLanguage(std::vector<std::string>const& l,
- cmMakefile *mf,
+::EnableLanguage(std::vector<std::string>const& l,
+ cmMakefile *mf,
bool optional)
{
std::string outdir = this->CMakeInstance->GetStartOutputDirectory();
mf->AddDefinition("BORLAND", "1");
mf->AddDefinition("CMAKE_GENERATOR_CC", "bcc32");
- mf->AddDefinition("CMAKE_GENERATOR_CXX", "bcc32");
+ mf->AddDefinition("CMAKE_GENERATOR_CXX", "bcc32");
this->cmGlobalUnixMakefileGenerator3::EnableLanguage(l, mf, optional);
}
diff --git a/Source/cmGlobalBorlandMakefileGenerator.h b/Source/cmGlobalBorlandMakefileGenerator.h
index 0d3868989..c0cb8a6d1 100644
--- a/Source/cmGlobalBorlandMakefileGenerator.h
+++ b/Source/cmGlobalBorlandMakefileGenerator.h
@@ -23,9 +23,9 @@ class cmGlobalBorlandMakefileGenerator : public cmGlobalNMakeMakefileGenerator
{
public:
cmGlobalBorlandMakefileGenerator();
- static cmGlobalGenerator* New()
+ static cmGlobalGenerator* New()
{ return new cmGlobalBorlandMakefileGenerator; }
-
+
///! Get the name for the generator.
virtual const char* GetName() const {
return cmGlobalBorlandMakefileGenerator::GetActualName();}
@@ -33,13 +33,13 @@ public:
/** Get the documentation entry for this generator. */
virtual void GetDocumentation(cmDocumentationEntry& entry) const;
-
+
///! Create a local generator appropriate to this Global Generator
virtual cmLocalGenerator *CreateLocalGenerator();
/**
* Try to determine system infomation such as shared library
- * extension, pthreads, byte order etc.
+ * extension, pthreads, byte order etc.
*/
virtual void EnableLanguage(std::vector<std::string>const& languages,
cmMakefile *, bool optional);
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index a47ca3677..6c95ea805 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -21,10 +21,11 @@
#include "cmQtAutomoc.h"
#include "cmSourceFile.h"
#include "cmVersion.h"
-#include "cmExportInstallFileGenerator.h"
+#include "cmTargetExport.h"
#include "cmComputeTargetDepends.h"
#include "cmGeneratedFileStream.h"
#include "cmGeneratorTarget.h"
+#include "cmGeneratorExpression.h"
#include <cmsys/Directory.hxx>
@@ -76,12 +77,12 @@ cmGlobalGenerator::~cmGlobalGenerator()
}
this->ClearGeneratorTargets();
- this->ClearExportSets();
}
void cmGlobalGenerator::ResolveLanguageCompiler(const std::string &lang,
cmMakefile *mf,
- bool optional) {
+ bool optional)
+{
std::string langComp = "CMAKE_";
langComp += lang;
langComp += "_COMPILER";
@@ -315,9 +316,11 @@ cmGlobalGenerator::EnableLanguage(std::vector<std::string>const& languages,
{
rootBin = this->ConfiguredFilesPath;
}
+ rootBin += "/";
+ rootBin += cmVersion::GetCMakeVersion();
// set the dir for parent files so they can be used by modules
- mf->AddDefinition("CMAKE_PLATFORM_ROOT_BIN",rootBin.c_str());
+ mf->AddDefinition("CMAKE_PLATFORM_INFO_DIR",rootBin.c_str());
// find and make sure CMAKE_MAKE_PROGRAM is defined
this->FindMakeProgram(mf);
@@ -376,21 +379,16 @@ cmGlobalGenerator::EnableLanguage(std::vector<std::string>const& languages,
std::string loadedLang = "CMAKE_";
loadedLang += lang;
loadedLang += "_COMPILER_LOADED";
- // If the existing build tree was already configured with this
- // version of CMake then try to load the configured file first
- // to avoid duplicate compiler tests.
- unsigned int cacheMajor = mf->GetCacheMajorVersion();
- unsigned int cacheMinor = mf->GetCacheMinorVersion();
- unsigned int selfMajor = cmVersion::GetMajorVersion();
- unsigned int selfMinor = cmVersion::GetMinorVersion();
- if((this->CMakeInstance->GetIsInTryCompile() ||
- (selfMajor == cacheMajor && selfMinor == cacheMinor))
- && !mf->GetDefinition(loadedLang.c_str()))
+ if(!mf->GetDefinition(loadedLang.c_str()))
{
fpath = rootBin;
fpath += "/CMake";
fpath += lang;
fpath += "Compiler.cmake";
+
+ // If the existing build tree was already configured with this
+ // version of CMake then try to load the configured file first
+ // to avoid duplicate compiler tests.
if(cmSystemTools::FileExists(fpath.c_str()))
{
if(!mf->ReadListFile(0,fpath.c_str()))
@@ -820,7 +818,7 @@ void cmGlobalGenerator::Configure()
{
this->FirstTimeProgress = 0.0f;
this->ClearGeneratorTargets();
- this->ClearExportSets();
+ this->ExportSets.clear();
// Delete any existing cmLocalGenerators
unsigned int i;
for (i = 0; i < this->LocalGenerators.size(); ++i)
@@ -830,6 +828,7 @@ void cmGlobalGenerator::Configure()
this->LocalGenerators.clear();
this->TargetDependencies.clear();
this->TotalTargets.clear();
+ this->ImportedTargets.clear();
this->LocalGeneratorToTargetMap.clear();
this->ProjectMap.clear();
this->RuleHashes.clear();
@@ -896,7 +895,7 @@ bool cmGlobalGenerator::CheckALLOW_DUPLICATE_CUSTOM_TARGETS()
<< "The \"" << this->GetName() << "\" generator does not support "
<< "duplicate custom targets. "
<< "Consider using a Makefiles generator or fix the project to not "
- << "use duplicat target names.";
+ << "use duplicate target names.";
cmSystemTools::Error(e.str().c_str());
return false;
}
@@ -1078,23 +1077,56 @@ void cmGlobalGenerator::CreateGeneratorTargets()
// Construct per-target generator information.
for(unsigned int i=0; i < this->LocalGenerators.size(); ++i)
{
- cmTargets& targets =
- this->LocalGenerators[i]->GetMakefile()->GetTargets();
+ cmGeneratorTargetsType generatorTargets;
+
+ cmMakefile *mf = this->LocalGenerators[i]->GetMakefile();
+ const char *noconfig_compile_definitions =
+ mf->GetProperty("COMPILE_DEFINITIONS");
+
+ std::vector<std::string> configs;
+ mf->GetConfigurations(configs);
+
+ cmTargets& targets = mf->GetTargets();
for(cmTargets::iterator ti = targets.begin();
ti != targets.end(); ++ti)
{
cmTarget* t = &ti->second;
+
+ {
+ t->AppendProperty("COMPILE_DEFINITIONS", noconfig_compile_definitions);
+ for(std::vector<std::string>::const_iterator ci = configs.begin();
+ ci != configs.end(); ++ci)
+ {
+ std::string defPropName = "COMPILE_DEFINITIONS_";
+ defPropName += cmSystemTools::UpperCase(*ci);
+ t->AppendProperty(defPropName.c_str(),
+ mf->GetProperty(defPropName.c_str()));
+ }
+ }
+
cmGeneratorTarget* gt = new cmGeneratorTarget(t);
this->GeneratorTargets[t] = gt;
this->ComputeTargetObjects(gt);
+ generatorTargets[t] = gt;
+ }
+
+ for(std::vector<cmTarget*>::const_iterator
+ j = mf->GetOwnedImportedTargets().begin();
+ j != mf->GetOwnedImportedTargets().end(); ++j)
+ {
+ cmGeneratorTarget* gt = new cmGeneratorTarget(*j);
+ this->GeneratorTargets[*j] = gt;
+ generatorTargets[*j] = gt;
}
+
+ mf->SetGeneratorTargets(generatorTargets);
}
}
//----------------------------------------------------------------------------
void cmGlobalGenerator::ClearGeneratorTargets()
{
- for(GeneratorTargetsType::iterator i = this->GeneratorTargets.begin();
+ for(cmGeneratorTargetsType::iterator i = this->GeneratorTargets.begin();
i != this->GeneratorTargets.end(); ++i)
{
delete i->second;
@@ -1105,7 +1137,7 @@ void cmGlobalGenerator::ClearGeneratorTargets()
//----------------------------------------------------------------------------
cmGeneratorTarget* cmGlobalGenerator::GetGeneratorTarget(cmTarget* t) const
{
- GeneratorTargetsType::const_iterator ti = this->GeneratorTargets.find(t);
+ cmGeneratorTargetsType::const_iterator ti = this->GeneratorTargets.find(t);
if(ti == this->GeneratorTargets.end())
{
this->CMakeInstance->IssueMessage(
@@ -1132,7 +1164,7 @@ void cmGlobalGenerator::CheckLocalGenerators()
{
manager = this->LocalGenerators[i]->GetMakefile()->GetCacheManager();
this->LocalGenerators[i]->ConfigureFinalPass();
- cmTargets & targets =
+ cmTargets &targets =
this->LocalGenerators[i]->GetMakefile()->GetTargets();
for (cmTargets::iterator l = targets.begin();
l != targets.end(); l++)
@@ -1161,7 +1193,16 @@ void cmGlobalGenerator::CheckLocalGenerators()
}
}
std::vector<std::string> incs;
- this->LocalGenerators[i]->GetIncludeDirectories(incs, &l->second);
+ const char *incDirProp = l->second.GetProperty("INCLUDE_DIRECTORIES");
+ if (!incDirProp)
+ {
+ continue;
+ }
+
+ std::string incDirs = cmGeneratorExpression::Preprocess(incDirProp,
+ cmGeneratorExpression::StripAllGeneratorExpressions);
+
+ cmSystemTools::ExpandListArgument(incDirs.c_str(), incs);
for( std::vector<std::string>::const_iterator incDir = incs.begin();
incDir != incs.end(); ++incDir)
@@ -1469,52 +1510,6 @@ void cmGlobalGenerator::AddInstallComponent(const char* component)
}
}
-void cmGlobalGenerator::AddTargetToExports(const char* exportSetName,
- cmTarget* target,
- cmInstallTargetGenerator* archive,
- cmInstallTargetGenerator* runTime,
- cmInstallTargetGenerator* library,
- cmInstallTargetGenerator* framework,
- cmInstallTargetGenerator* bundle,
- cmInstallFilesGenerator* headers)
-{
- if ((exportSetName) && (*exportSetName) && (target))
- {
- cmTargetExport* te = new cmTargetExport(target, archive, runTime, library,
- framework, bundle, headers);
- this->ExportSets[exportSetName].push_back(te);
- }
-}
-
-//----------------------------------------------------------------------------
-void cmGlobalGenerator::ClearExportSets()
-{
- for(std::map<cmStdString, std::vector<cmTargetExport*> >::iterator
- setIt = this->ExportSets.begin();
- setIt != this->ExportSets.end(); ++setIt)
- {
- for(unsigned int i = 0; i < setIt->second.size(); ++i)
- {
- delete setIt->second[i];
- }
- }
- this->ExportSets.clear();
-}
-
-const std::vector<cmTargetExport*>* cmGlobalGenerator::GetExportSet(
- const char* name) const
-{
- std::map<cmStdString, std::vector<cmTargetExport*> >::const_iterator
- exportSetIt = this->ExportSets.find(name);
- if (exportSetIt != this->ExportSets.end())
- {
- return &exportSetIt->second;
- }
-
- return 0;
-}
-
-
void cmGlobalGenerator::EnableInstallTarget()
{
this->InstallTargetEnabled = true;
diff --git a/Source/cmGlobalGenerator.h b/Source/cmGlobalGenerator.h
index ce9179379..0aab2d63e 100644
--- a/Source/cmGlobalGenerator.h
+++ b/Source/cmGlobalGenerator.h
@@ -18,13 +18,15 @@
#include "cmTarget.h" // For cmTargets
#include "cmTargetDepend.h" // For cmTargetDependSet
#include "cmSystemTools.h" // for cmSystemTools::OutputOption
+#include "cmExportSetMap.h" // For cmExportSetMap
+#include "cmGeneratorTarget.h"
+
class cmake;
class cmGeneratorTarget;
class cmMakefile;
class cmLocalGenerator;
class cmExternalMakefileProjectGenerator;
class cmTarget;
-class cmTargetExport;
class cmInstallTargetGenerator;
class cmInstallFilesGenerator;
@@ -127,8 +129,8 @@ public:
void SetCMakeInstance(cmake *cm);
///! Get the CMake instance
- cmake *GetCMakeInstance() { return this->CMakeInstance; };
- const cmake *GetCMakeInstance() const { return this->CMakeInstance; };
+ cmake *GetCMakeInstance() { return this->CMakeInstance; }
+ const cmake *GetCMakeInstance() const { return this->CMakeInstance; }
void SetConfiguredFilesPath(cmGlobalGenerator* gen);
const std::vector<cmLocalGenerator *>& GetLocalGenerators() const {
@@ -151,18 +153,9 @@ public:
void AddInstallComponent(const char* component);
const std::set<cmStdString>* GetInstallComponents() const
- { return &InstallComponents; }
-
- ///! Add one installed target to the sets of the exports
- void AddTargetToExports(const char* exportSet, cmTarget* target,
- cmInstallTargetGenerator* archive,
- cmInstallTargetGenerator* runTime,
- cmInstallTargetGenerator* library,
- cmInstallTargetGenerator* framework,
- cmInstallTargetGenerator* bundle,
- cmInstallFilesGenerator* publicHeaders);
- ///! Get the export target set with the given name
- const std::vector<cmTargetExport*>* GetExportSet(const char* name) const;
+ { return &this->InstallComponents; }
+
+ cmExportSetMap& GetExportSets() {return this->ExportSets;}
/** Add a file to the manifest of generated targets for a configuration. */
void AddToManifest(const char* config, std::string const& f);
@@ -222,7 +215,7 @@ public:
/** Get the manifest of all targets that will be built for each
configuration. This is valid during generation only. */
cmTargetManifest const& GetTargetManifest() const
- { return this->TargetManifest; }
+ { return this->TargetManifest; }
/** Get the content of a directory. Directory listings are loaded
from disk at most once and cached. During the generation step
@@ -328,15 +321,13 @@ protected:
cmLocalGenerator* CurrentLocalGenerator;
// map from project name to vector of local generators in that project
std::map<cmStdString, std::vector<cmLocalGenerator*> > ProjectMap;
- std::map<cmLocalGenerator*, std::set<cmTarget *> >
- LocalGeneratorToTargetMap;
+ std::map<cmLocalGenerator*, std::set<cmTarget *> > LocalGeneratorToTargetMap;
// Set of named installation components requested by the project.
std::set<cmStdString> InstallComponents;
bool InstallTargetEnabled;
// Sets of named target exports
- std::map<cmStdString, std::vector<cmTargetExport*> > ExportSets;
- void ClearExportSets();
+ cmExportSetMap ExportSets;
// Manifest of all targets that will be built for each configuration.
// This is computed just before local generators generate.
@@ -383,8 +374,7 @@ private:
TargetDependMap TargetDependencies;
// Per-target generator information.
- typedef std::map<cmTarget*, cmGeneratorTarget*> GeneratorTargetsType;
- GeneratorTargetsType GeneratorTargets;
+ cmGeneratorTargetsType GeneratorTargets;
void CreateGeneratorTargets();
void ClearGeneratorTargets();
virtual void ComputeTargetObjects(cmGeneratorTarget* gt) const;
diff --git a/Source/cmGlobalJOMMakefileGenerator.cxx b/Source/cmGlobalJOMMakefileGenerator.cxx
index 411e28bf1..ef42bd4d6 100644
--- a/Source/cmGlobalJOMMakefileGenerator.cxx
+++ b/Source/cmGlobalJOMMakefileGenerator.cxx
@@ -22,14 +22,14 @@ cmGlobalJOMMakefileGenerator::cmGlobalJOMMakefileGenerator()
}
void cmGlobalJOMMakefileGenerator
-::EnableLanguage(std::vector<std::string>const& l,
- cmMakefile *mf,
+::EnableLanguage(std::vector<std::string>const& l,
+ cmMakefile *mf,
bool optional)
{
- // pick a default
+ // pick a default
mf->AddDefinition("CMAKE_GENERATOR_CC", "cl");
mf->AddDefinition("CMAKE_GENERATOR_CXX", "cl");
- if(!(cmSystemTools::GetEnv("INCLUDE") &&
+ if(!(cmSystemTools::GetEnv("INCLUDE") &&
cmSystemTools::GetEnv("LIB"))
)
{
@@ -40,7 +40,7 @@ void cmGlobalJOMMakefileGenerator
mf->IssueMessage(cmake::WARNING,
message);
}
-
+
this->cmGlobalUnixMakefileGenerator3::EnableLanguage(l, mf, optional);
}
diff --git a/Source/cmGlobalJOMMakefileGenerator.h b/Source/cmGlobalJOMMakefileGenerator.h
index 08be4b4fc..691ebdb8f 100644
--- a/Source/cmGlobalJOMMakefileGenerator.h
+++ b/Source/cmGlobalJOMMakefileGenerator.h
@@ -34,13 +34,13 @@ public:
/** Get the documentation entry for this generator. */
virtual void GetDocumentation(cmDocumentationEntry& entry) const;
-
+
///! Create a local generator appropriate to this Global Generator
virtual cmLocalGenerator *CreateLocalGenerator();
/**
* Try to determine system infomation such as shared library
- * extension, pthreads, byte order etc.
+ * extension, pthreads, byte order etc.
*/
virtual void EnableLanguage(std::vector<std::string>const& languages,
cmMakefile *, bool optional);
diff --git a/Source/cmGlobalKdevelopGenerator.cxx b/Source/cmGlobalKdevelopGenerator.cxx
index f69944847..a81c26c0f 100644
--- a/Source/cmGlobalKdevelopGenerator.cxx
+++ b/Source/cmGlobalKdevelopGenerator.cxx
@@ -51,11 +51,11 @@ cmGlobalKdevelopGenerator::cmGlobalKdevelopGenerator()
void cmGlobalKdevelopGenerator::Generate()
{
- // for each sub project in the project create
+ // for each sub project in the project create
// a kdevelop project
- for (std::map<cmStdString, std::vector<cmLocalGenerator*> >::const_iterator
- it = this->GlobalGenerator->GetProjectMap().begin();
- it!= this->GlobalGenerator->GetProjectMap().end();
+ for (std::map<cmStdString, std::vector<cmLocalGenerator*> >::const_iterator
+ it = this->GlobalGenerator->GetProjectMap().begin();
+ it!= this->GlobalGenerator->GetProjectMap().end();
++it)
{
cmMakefile* mf = it->second[0]->GetMakefile();
@@ -94,7 +94,7 @@ void cmGlobalKdevelopGenerator::Generate()
break;
}
}
-
+
// now create a project file
this->CreateProjectFile(outputDir, projectDir, projectName,
executable, cmakeFilePattern, fileToOpen);
@@ -103,7 +103,7 @@ void cmGlobalKdevelopGenerator::Generate()
bool cmGlobalKdevelopGenerator
::CreateFilelistFile(const std::vector<cmLocalGenerator*>& lgs,
- const std::string& outputDir,
+ const std::string& outputDir,
const std::string& projectDirIn,
const std::string& projectname,
std::string& cmakeFilePattern,
@@ -115,24 +115,24 @@ bool cmGlobalKdevelopGenerator
std::set<cmStdString> files;
std::string tmp;
- for (std::vector<cmLocalGenerator*>::const_iterator it=lgs.begin();
+ for (std::vector<cmLocalGenerator*>::const_iterator it=lgs.begin();
it!=lgs.end(); it++)
{
cmMakefile* makefile=(*it)->GetMakefile();
const std::vector<std::string>& listFiles=makefile->GetListFiles();
- for (std::vector<std::string>::const_iterator lt=listFiles.begin();
+ for (std::vector<std::string>::const_iterator lt=listFiles.begin();
lt!=listFiles.end(); lt++)
{
tmp=*lt;
cmSystemTools::ReplaceString(tmp, projectDir.c_str(), "");
// make sure the file is part of this source tree
- if ((tmp[0]!='/') &&
- (strstr(tmp.c_str(),
+ if ((tmp[0]!='/') &&
+ (strstr(tmp.c_str(),
cmake::GetCMakeFilesDirectoryPostSlash())==0))
{
files.insert(tmp);
tmp=cmSystemTools::GetFilenameName(tmp);
- //add all files which dont match the default
+ //add all files which dont match the default
// */CMakeLists.txt;*cmake; to the file pattern
if ((tmp!="CMakeLists.txt")
&& (strstr(tmp.c_str(), ".cmake")==0))
@@ -141,7 +141,7 @@ bool cmGlobalKdevelopGenerator
}
}
}
-
+
//get all sources
cmTargets& targets=makefile->GetTargets();
for (cmTargets::iterator ti = targets.begin();
@@ -158,8 +158,8 @@ bool cmGlobalKdevelopGenerator
cmSystemTools::ReplaceString(tmp, projectDir.c_str(), "");
- if ((tmp[0]!='/') &&
- (strstr(tmp.c_str(),
+ if ((tmp[0]!='/') &&
+ (strstr(tmp.c_str(),
cmake::GetCMakeFilesDirectoryPostSlash())==0) &&
(cmSystemTools::GetFilenameExtension(tmp)!=".moc"))
{
@@ -187,8 +187,8 @@ bool cmGlobalKdevelopGenerator
{
tmp=*lt;
cmSystemTools::ReplaceString(tmp, projectDir.c_str(), "");
- if ((tmp[0]!='/') &&
- (strstr(tmp.c_str(),
+ if ((tmp[0]!='/') &&
+ (strstr(tmp.c_str(),
cmake::GetCMakeFilesDirectoryPostSlash())==0))
{
files.insert(tmp.c_str());
@@ -223,9 +223,9 @@ bool cmGlobalKdevelopGenerator
{
return false;
}
-
+
fileToOpen="";
- for (std::set<cmStdString>::const_iterator it=files.begin();
+ for (std::set<cmStdString>::const_iterator it=files.begin();
it!=files.end(); it++)
{
// get the full path to the file
@@ -257,7 +257,7 @@ existing one, otherwise create a new one */
void cmGlobalKdevelopGenerator
::CreateProjectFile(const std::string& outputDir,
const std::string& projectDir,
- const std::string& projectname,
+ const std::string& projectname,
const std::string& executable,
const std::string& cmakeFilePattern,
const std::string& fileToOpen)
@@ -271,13 +271,13 @@ void cmGlobalKdevelopGenerator
if (cmSystemTools::FileExists(filename.c_str()))
{
- this->MergeProjectFiles(outputDir, projectDir, filename,
- executable, cmakeFilePattern,
+ this->MergeProjectFiles(outputDir, projectDir, filename,
+ executable, cmakeFilePattern,
fileToOpen, sessionFilename);
}
else
{
- // add all subdirectories which are cmake build directories to the
+ // add all subdirectories which are cmake build directories to the
// kdevelop blacklist so they are not monitored for added or removed files
// since this is handled by adding files to the cmake files
cmsys::Directory d;
@@ -295,7 +295,7 @@ void cmGlobalKdevelopGenerator
if (cmSystemTools::FileIsDirectory(tmp.c_str()))
{
tmp += "/CMakeCache.txt";
- if ((nextFile == "CMakeFiles")
+ if ((nextFile == "CMakeFiles")
|| (cmSystemTools::FileExists(tmp.c_str())))
{
this->Blacklist.push_back(nextFile);
@@ -305,17 +305,17 @@ void cmGlobalKdevelopGenerator
}
}
this->CreateNewProjectFile(outputDir, projectDir, filename,
- executable, cmakeFilePattern,
+ executable, cmakeFilePattern,
fileToOpen, sessionFilename);
}
}
void cmGlobalKdevelopGenerator
-::MergeProjectFiles(const std::string& outputDir,
- const std::string& projectDir,
- const std::string& filename,
- const std::string& executable,
+::MergeProjectFiles(const std::string& outputDir,
+ const std::string& projectDir,
+ const std::string& filename,
+ const std::string& executable,
const std::string& cmakeFilePattern,
const std::string& fileToOpen,
const std::string& sessionFilename)
@@ -323,8 +323,8 @@ void cmGlobalKdevelopGenerator
std::ifstream oldProjectFile(filename.c_str());
if (!oldProjectFile)
{
- this->CreateNewProjectFile(outputDir, projectDir, filename,
- executable, cmakeFilePattern,
+ this->CreateNewProjectFile(outputDir, projectDir, filename,
+ executable, cmakeFilePattern,
fileToOpen, sessionFilename);
return;
}
@@ -346,7 +346,7 @@ void cmGlobalKdevelopGenerator
return;
}
- for (std::vector<std::string>::const_iterator it=lines.begin();
+ for (std::vector<std::string>::const_iterator it=lines.begin();
it!=lines.end(); it++)
{
const char* line=(*it).c_str();
@@ -368,7 +368,7 @@ void cmGlobalKdevelopGenerator
if (strstr(line, "<general>"))
{
fout<< " <projectmanagement>KDevCustomProject</projectmanagement>\n";
- fout<< " <projectdirectory>" <<projectDir.c_str()
+ fout<< " <projectdirectory>" <<projectDir.c_str()
<< "</projectdirectory>\n"; //this one is important
fout<<" <absoluteprojectpath>true</absoluteprojectpath>\n";
//and this one
@@ -407,7 +407,7 @@ void cmGlobalKdevelopGenerator
bool hasSvn = cmSystemTools::FileExists((projectDir + "/.svn").c_str());
bool hasCvs = cmSystemTools::FileExists((projectDir + "/CVS").c_str());
- bool enableCxx = (this->GlobalGenerator->GetLanguageEnabled("C")
+ bool enableCxx = (this->GlobalGenerator->GetLanguageEnabled("C")
|| this->GlobalGenerator->GetLanguageEnabled("CXX"));
bool enableFortran = this->GlobalGenerator->GetLanguageEnabled("Fortran");
std::string primaryLanguage = "C++";
@@ -425,7 +425,7 @@ void cmGlobalKdevelopGenerator
" <projectmanagement>KDevCustomProject</projectmanagement>\n"
" <primarylanguage>" << primaryLanguage << "</primarylanguage>\n"
" <ignoreparts/>\n"
- " <projectdirectory>" << projectDir.c_str() <<
+ " <projectdirectory>" << projectDir.c_str() <<
"</projectdirectory>\n"; //this one is important
fout<<" <absoluteprojectpath>true</absoluteprojectpath>\n"; //and this one
@@ -472,7 +472,7 @@ void cmGlobalKdevelopGenerator
" <numberofjobs>1</numberofjobs>\n"
" <dontact>false</dontact>\n"
" <makebin>" << this->GlobalGenerator->GetLocalGenerators()[0]->
- GetMakefile()->GetRequiredDefinition("CMAKE_BUILD_TOOL")
+ GetMakefile()->GetRequiredDefinition("CMAKE_BUILD_TOOL")
<< " </makebin>\n"
" <selectedenvironment>default</selectedenvironment>\n"
" <environments>\n"
diff --git a/Source/cmGlobalMSYSMakefileGenerator.cxx b/Source/cmGlobalMSYSMakefileGenerator.cxx
index 820e7e605..80526aad8 100644
--- a/Source/cmGlobalMSYSMakefileGenerator.cxx
+++ b/Source/cmGlobalMSYSMakefileGenerator.cxx
@@ -22,7 +22,7 @@ cmGlobalMSYSMakefileGenerator::cmGlobalMSYSMakefileGenerator()
this->UseLinkScript = false;
}
-std::string
+std::string
cmGlobalMSYSMakefileGenerator::FindMinGW(std::string const& makeloc)
{
std::string fstab = makeloc;
@@ -45,8 +45,8 @@ cmGlobalMSYSMakefileGenerator::FindMinGW(std::string const& makeloc)
}
void cmGlobalMSYSMakefileGenerator
-::EnableLanguage(std::vector<std::string>const& l,
- cmMakefile *mf,
+::EnableLanguage(std::vector<std::string>const& l,
+ cmMakefile *mf,
bool optional)
{
this->FindMakeProgram(mf);
diff --git a/Source/cmGlobalMSYSMakefileGenerator.h b/Source/cmGlobalMSYSMakefileGenerator.h
index b5294acd5..b76a5bf9b 100644
--- a/Source/cmGlobalMSYSMakefileGenerator.h
+++ b/Source/cmGlobalMSYSMakefileGenerator.h
@@ -23,7 +23,7 @@ class cmGlobalMSYSMakefileGenerator : public cmGlobalUnixMakefileGenerator3
{
public:
cmGlobalMSYSMakefileGenerator();
- static cmGlobalGenerator* New() {
+ static cmGlobalGenerator* New() {
return new cmGlobalMSYSMakefileGenerator; }
///! Get the name for the generator.
@@ -33,13 +33,13 @@ public:
/** Get the documentation entry for this generator. */
virtual void GetDocumentation(cmDocumentationEntry& entry) const;
-
+
///! Create a local generator appropriate to this Global Generator
virtual cmLocalGenerator *CreateLocalGenerator();
/**
* Try to determine system infomation such as shared library
- * extension, pthreads, byte order etc.
+ * extension, pthreads, byte order etc.
*/
virtual void EnableLanguage(std::vector<std::string>const& languages,
cmMakefile *, bool optional);
diff --git a/Source/cmGlobalMinGWMakefileGenerator.cxx b/Source/cmGlobalMinGWMakefileGenerator.cxx
index a9e779847..d6045c8de 100644
--- a/Source/cmGlobalMinGWMakefileGenerator.cxx
+++ b/Source/cmGlobalMinGWMakefileGenerator.cxx
@@ -22,10 +22,10 @@ cmGlobalMinGWMakefileGenerator::cmGlobalMinGWMakefileGenerator()
}
void cmGlobalMinGWMakefileGenerator
-::EnableLanguage(std::vector<std::string>const& l,
- cmMakefile *mf,
+::EnableLanguage(std::vector<std::string>const& l,
+ cmMakefile *mf,
bool optional)
-{
+{
this->FindMakeProgram(mf);
std::string makeProgram = mf->GetRequiredDefinition("CMAKE_MAKE_PROGRAM");
std::vector<std::string> locations;
diff --git a/Source/cmGlobalMinGWMakefileGenerator.h b/Source/cmGlobalMinGWMakefileGenerator.h
index 366146b0a..9a6a5139f 100644
--- a/Source/cmGlobalMinGWMakefileGenerator.h
+++ b/Source/cmGlobalMinGWMakefileGenerator.h
@@ -23,7 +23,7 @@ class cmGlobalMinGWMakefileGenerator : public cmGlobalUnixMakefileGenerator3
{
public:
cmGlobalMinGWMakefileGenerator();
- static cmGlobalGenerator* New() {
+ static cmGlobalGenerator* New() {
return new cmGlobalMinGWMakefileGenerator; }
///! Get the name for the generator.
virtual const char* GetName() const {
@@ -32,13 +32,13 @@ public:
/** Get the documentation entry for this generator. */
virtual void GetDocumentation(cmDocumentationEntry& entry) const;
-
+
///! Create a local generator appropriate to this Global Generator
virtual cmLocalGenerator *CreateLocalGenerator();
/**
* Try to determine system infomation such as shared library
- * extension, pthreads, byte order etc.
+ * extension, pthreads, byte order etc.
*/
virtual void EnableLanguage(std::vector<std::string>const& languages,
cmMakefile *, bool optional);
diff --git a/Source/cmGlobalNMakeMakefileGenerator.cxx b/Source/cmGlobalNMakeMakefileGenerator.cxx
index c3c15e70f..57a26c8ae 100644
--- a/Source/cmGlobalNMakeMakefileGenerator.cxx
+++ b/Source/cmGlobalNMakeMakefileGenerator.cxx
@@ -22,14 +22,14 @@ cmGlobalNMakeMakefileGenerator::cmGlobalNMakeMakefileGenerator()
}
void cmGlobalNMakeMakefileGenerator
-::EnableLanguage(std::vector<std::string>const& l,
- cmMakefile *mf,
+::EnableLanguage(std::vector<std::string>const& l,
+ cmMakefile *mf,
bool optional)
{
- // pick a default
+ // pick a default
mf->AddDefinition("CMAKE_GENERATOR_CC", "cl");
mf->AddDefinition("CMAKE_GENERATOR_CXX", "cl");
- if(!(cmSystemTools::GetEnv("INCLUDE") &&
+ if(!(cmSystemTools::GetEnv("INCLUDE") &&
cmSystemTools::GetEnv("LIB"))
)
{
@@ -40,7 +40,7 @@ void cmGlobalNMakeMakefileGenerator
mf->IssueMessage(cmake::WARNING,
message);
}
-
+
this->cmGlobalUnixMakefileGenerator3::EnableLanguage(l, mf, optional);
}
diff --git a/Source/cmGlobalNMakeMakefileGenerator.h b/Source/cmGlobalNMakeMakefileGenerator.h
index 70a8c1909..de33b8f94 100644
--- a/Source/cmGlobalNMakeMakefileGenerator.h
+++ b/Source/cmGlobalNMakeMakefileGenerator.h
@@ -32,13 +32,13 @@ public:
/** Get the documentation entry for this generator. */
virtual void GetDocumentation(cmDocumentationEntry& entry) const;
-
+
///! Create a local generator appropriate to this Global Generator
virtual cmLocalGenerator *CreateLocalGenerator();
/**
* Try to determine system infomation such as shared library
- * extension, pthreads, byte order etc.
+ * extension, pthreads, byte order etc.
*/
virtual void EnableLanguage(std::vector<std::string>const& languages,
cmMakefile *, bool optional);
diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx
index 3f3cfbbb1..05f5b4c86 100644
--- a/Source/cmGlobalNinjaGenerator.cxx
+++ b/Source/cmGlobalNinjaGenerator.cxx
@@ -106,6 +106,7 @@ void cmGlobalNinjaGenerator::WriteBuild(std::ostream& os,
const cmNinjaDeps& implicitDeps,
const cmNinjaDeps& orderOnlyDeps,
const cmNinjaVars& variables,
+ const std::string& rspfile,
int cmdLineLimit)
{
// Make sure there is a rule.
@@ -181,12 +182,17 @@ void cmGlobalNinjaGenerator::WriteBuild(std::ostream& os,
// check if a response file rule should be used
std::string buildstr = build.str();
- const std::string assignments = variable_assignments.str();
+ std::string assignments = variable_assignments.str();
const std::string args = arguments.str();
if (cmdLineLimit > 0
&& args.size() + buildstr.size() + assignments.size()
- > (size_t) cmdLineLimit)
- buildstr += "_RSPFILE";
+ > (size_t) cmdLineLimit) {
+ buildstr += "_RSP_FILE";
+ variable_assignments.clear();
+ cmGlobalNinjaGenerator::WriteVariable(variable_assignments,
+ "RSP_FILE", rspfile, "", 1);
+ assignments += variable_assignments.str();
+ }
os << buildstr << args << assignments;
}
diff --git a/Source/cmGlobalNinjaGenerator.h b/Source/cmGlobalNinjaGenerator.h
index b2fe24327..24c391610 100644
--- a/Source/cmGlobalNinjaGenerator.h
+++ b/Source/cmGlobalNinjaGenerator.h
@@ -84,6 +84,7 @@ public:
const cmNinjaDeps& implicitDeps,
const cmNinjaDeps& orderOnlyDeps,
const cmNinjaVars& variables,
+ const std::string& rspfile = std::string(),
int cmdLineLimit = -1);
/**
diff --git a/Source/cmGlobalVisualStudio10Generator.cxx b/Source/cmGlobalVisualStudio10Generator.cxx
index 947a1c99d..480c577f2 100644
--- a/Source/cmGlobalVisualStudio10Generator.cxx
+++ b/Source/cmGlobalVisualStudio10Generator.cxx
@@ -29,9 +29,12 @@ cmGlobalVisualStudio10Generator::cmGlobalVisualStudio10Generator()
//----------------------------------------------------------------------------
void cmGlobalVisualStudio10Generator::AddPlatformDefinitions(cmMakefile* mf)
{
- mf->AddDefinition("MSVC10", "1");
- mf->AddDefinition("MSVC_C_ARCHITECTURE_ID", "X86");
- mf->AddDefinition("MSVC_CXX_ARCHITECTURE_ID", "X86");
+ cmGlobalVisualStudio8Generator::AddPlatformDefinitions(mf);
+ if(!this->PlatformToolset.empty())
+ {
+ mf->AddDefinition("CMAKE_VS_PLATFORM_TOOLSET",
+ this->PlatformToolset.c_str());
+ }
}
//----------------------------------------------------------------------------
@@ -94,7 +97,7 @@ void cmGlobalVisualStudio10Generator
//----------------------------------------------------------------------------
void cmGlobalVisualStudio10Generator
-::EnableLanguage(std::vector<std::string>const & lang,
+::EnableLanguage(std::vector<std::string>const & lang,
cmMakefile *mf, bool optional)
{
cmGlobalVisualStudio8Generator::EnableLanguage(lang, mf, optional);
@@ -146,12 +149,12 @@ std::string cmGlobalVisualStudio10Generator::GetUserMacrosRegKeyBase()
std::string cmGlobalVisualStudio10Generator
::GenerateBuildCommand(const char* makeProgram,
- const char *projectName,
+ const char *projectName,
const char* additionalOptions, const char *targetName,
const char* config, bool ignoreErrors, bool fast)
{
// now build the test
- std::string makeCommand
+ std::string makeCommand
= cmSystemTools::ConvertToOutputPath(makeProgram);
std::string lowerCaseCommand = makeCommand;
cmSystemTools::LowerCase(lowerCaseCommand);
@@ -177,7 +180,7 @@ std::string cmGlobalVisualStudio10Generator
if(!targetName || strlen(targetName) == 0)
{
targetName = "ALL_BUILD";
- }
+ }
bool clean = false;
if ( targetName && strcmp(targetName, "clean") == 0 )
{
@@ -202,6 +205,8 @@ std::string cmGlobalVisualStudio10Generator
{
makeCommand += "Debug";
}
+ makeCommand += " /p:VisualStudioVersion=";
+ makeCommand += this->GetIDEVersion();
if ( additionalOptions )
{
makeCommand += " ";
diff --git a/Source/cmGlobalVisualStudio10Generator.h b/Source/cmGlobalVisualStudio10Generator.h
index 060cdfff3..47ce790f8 100644
--- a/Source/cmGlobalVisualStudio10Generator.h
+++ b/Source/cmGlobalVisualStudio10Generator.h
@@ -20,26 +20,26 @@
*
* cmGlobalVisualStudio10Generator manages UNIX build process for a tree
*/
-class cmGlobalVisualStudio10Generator :
+class cmGlobalVisualStudio10Generator :
public cmGlobalVisualStudio8Generator
{
public:
cmGlobalVisualStudio10Generator();
- static cmGlobalGenerator* New() {
+ static cmGlobalGenerator* New() {
return new cmGlobalVisualStudio10Generator; }
-
- virtual std::string
+
+ virtual std::string
GenerateBuildCommand(const char* makeProgram,
- const char *projectName,
+ const char *projectName,
const char* additionalOptions, const char *targetName,
const char* config, bool ignoreErrors, bool);
-
+
///! Get the name for the generator.
virtual const char* GetName() const {
return cmGlobalVisualStudio10Generator::GetActualName();}
static const char* GetActualName() {return "Visual Studio 10";}
virtual void AddPlatformDefinitions(cmMakefile* mf);
-
+
/** Get the documentation entry for this generator. */
virtual void GetDocumentation(cmDocumentationEntry& entry) const;
@@ -50,9 +50,9 @@ public:
/**
* Try to determine system infomation such as shared library
- * extension, pthreads, byte order etc.
+ * extension, pthreads, byte order etc.
*/
- virtual void EnableLanguage(std::vector<std::string>const& languages,
+ virtual void EnableLanguage(std::vector<std::string>const& languages,
cmMakefile *, bool optional);
virtual void WriteSLNHeader(std::ostream& fout);
diff --git a/Source/cmGlobalVisualStudio10IA64Generator.cxx b/Source/cmGlobalVisualStudio10IA64Generator.cxx
index 5f70f6bba..25dd88f2a 100644
--- a/Source/cmGlobalVisualStudio10IA64Generator.cxx
+++ b/Source/cmGlobalVisualStudio10IA64Generator.cxx
@@ -16,6 +16,7 @@
//----------------------------------------------------------------------------
cmGlobalVisualStudio10IA64Generator::cmGlobalVisualStudio10IA64Generator()
{
+ this->ArchitectureId = "x64";
}
//----------------------------------------------------------------------------
@@ -33,8 +34,6 @@ void cmGlobalVisualStudio10IA64Generator
{
this->cmGlobalVisualStudio10Generator::AddPlatformDefinitions(mf);
mf->AddDefinition("CMAKE_FORCE_IA64", "TRUE");
- mf->AddDefinition("MSVC_C_ARCHITECTURE_ID", "x64");
- mf->AddDefinition("MSVC_CXX_ARCHITECTURE_ID", "x64");
}
//----------------------------------------------------------------------------
diff --git a/Source/cmGlobalVisualStudio10Win64Generator.cxx b/Source/cmGlobalVisualStudio10Win64Generator.cxx
index 49dc47364..d0a0c49a1 100644
--- a/Source/cmGlobalVisualStudio10Win64Generator.cxx
+++ b/Source/cmGlobalVisualStudio10Win64Generator.cxx
@@ -16,6 +16,7 @@
//----------------------------------------------------------------------------
cmGlobalVisualStudio10Win64Generator::cmGlobalVisualStudio10Win64Generator()
{
+ this->ArchitectureId = "x64";
}
//----------------------------------------------------------------------------
@@ -33,8 +34,6 @@ void cmGlobalVisualStudio10Win64Generator
{
this->cmGlobalVisualStudio10Generator::AddPlatformDefinitions(mf);
mf->AddDefinition("CMAKE_FORCE_WIN64", "TRUE");
- mf->AddDefinition("MSVC_C_ARCHITECTURE_ID", "x64");
- mf->AddDefinition("MSVC_CXX_ARCHITECTURE_ID", "x64");
}
//----------------------------------------------------------------------------
diff --git a/Source/cmGlobalVisualStudio11ARMGenerator.cxx b/Source/cmGlobalVisualStudio11ARMGenerator.cxx
index fef1aba61..efd71c65d 100644
--- a/Source/cmGlobalVisualStudio11ARMGenerator.cxx
+++ b/Source/cmGlobalVisualStudio11ARMGenerator.cxx
@@ -14,19 +14,16 @@
#include "cmake.h"
//----------------------------------------------------------------------------
-void cmGlobalVisualStudio11ARMGenerator
-::GetDocumentation(cmDocumentationEntry& entry) const
+cmGlobalVisualStudio11ARMGenerator::cmGlobalVisualStudio11ARMGenerator()
{
- entry.Name = this->GetName();
- entry.Brief = "Generates Visual Studio 11 ARM project files.";
- entry.Full = "";
+ this->ArchitectureId = "ARM";
}
//----------------------------------------------------------------------------
void cmGlobalVisualStudio11ARMGenerator
-::AddPlatformDefinitions(cmMakefile* mf)
+::GetDocumentation(cmDocumentationEntry& entry) const
{
- this->cmGlobalVisualStudio11Generator::AddPlatformDefinitions(mf);
- mf->AddDefinition("MSVC_C_ARCHITECTURE_ID", "ARM");
- mf->AddDefinition("MSVC_CXX_ARCHITECTURE_ID", "ARM");
+ entry.Name = this->GetName();
+ entry.Brief = "Generates Visual Studio 11 ARM project files.";
+ entry.Full = "";
}
diff --git a/Source/cmGlobalVisualStudio11ARMGenerator.h b/Source/cmGlobalVisualStudio11ARMGenerator.h
index 77e142994..71dbf2e3b 100644
--- a/Source/cmGlobalVisualStudio11ARMGenerator.h
+++ b/Source/cmGlobalVisualStudio11ARMGenerator.h
@@ -18,7 +18,7 @@ class cmGlobalVisualStudio11ARMGenerator :
public cmGlobalVisualStudio11Generator
{
public:
- cmGlobalVisualStudio11ARMGenerator() {}
+ cmGlobalVisualStudio11ARMGenerator();
static cmGlobalGenerator* New() {
return new cmGlobalVisualStudio11ARMGenerator; }
@@ -31,7 +31,5 @@ public:
/** Get the documentation entry for this generator. */
virtual void GetDocumentation(cmDocumentationEntry& entry) const;
-
- virtual void AddPlatformDefinitions(cmMakefile* mf);
};
#endif
diff --git a/Source/cmGlobalVisualStudio11Generator.cxx b/Source/cmGlobalVisualStudio11Generator.cxx
index be7fd5572..23a1204bd 100644
--- a/Source/cmGlobalVisualStudio11Generator.cxx
+++ b/Source/cmGlobalVisualStudio11Generator.cxx
@@ -17,19 +17,14 @@
cmGlobalVisualStudio11Generator::cmGlobalVisualStudio11Generator()
{
this->FindMakeProgramFile = "CMakeVS11FindMake.cmake";
- this->ExpressEdition = false; // TODO: VS 11 Express support
+ std::string vc11Express;
+ this->ExpressEdition = cmSystemTools::ReadRegistryValue(
+ "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VCExpress\\11.0\\Setup\\VC;"
+ "ProductDir", vc11Express, cmSystemTools::KeyWOW64_32);
this->PlatformToolset = "v110";
}
//----------------------------------------------------------------------------
-void cmGlobalVisualStudio11Generator::AddPlatformDefinitions(cmMakefile* mf)
-{
- mf->AddDefinition("MSVC11", "1");
- mf->AddDefinition("MSVC_C_ARCHITECTURE_ID", "X86");
- mf->AddDefinition("MSVC_CXX_ARCHITECTURE_ID", "X86");
-}
-
-//----------------------------------------------------------------------------
void cmGlobalVisualStudio11Generator::WriteSLNHeader(std::ostream& fout)
{
fout << "Microsoft Visual Studio Solution File, Format Version 12.00\n";
diff --git a/Source/cmGlobalVisualStudio11Generator.h b/Source/cmGlobalVisualStudio11Generator.h
index 7e8f6aa4e..56337a4db 100644
--- a/Source/cmGlobalVisualStudio11Generator.h
+++ b/Source/cmGlobalVisualStudio11Generator.h
@@ -28,7 +28,6 @@ public:
virtual const char* GetName() const {
return cmGlobalVisualStudio11Generator::GetActualName();}
static const char* GetActualName() {return "Visual Studio 11";}
- virtual void AddPlatformDefinitions(cmMakefile* mf);
virtual void WriteSLNHeader(std::ostream& fout);
diff --git a/Source/cmGlobalVisualStudio11Win64Generator.cxx b/Source/cmGlobalVisualStudio11Win64Generator.cxx
index 10c902753..94e07bf38 100644
--- a/Source/cmGlobalVisualStudio11Win64Generator.cxx
+++ b/Source/cmGlobalVisualStudio11Win64Generator.cxx
@@ -14,6 +14,12 @@
#include "cmake.h"
//----------------------------------------------------------------------------
+cmGlobalVisualStudio11Win64Generator::cmGlobalVisualStudio11Win64Generator()
+{
+ this->ArchitectureId = "x64";
+}
+
+//----------------------------------------------------------------------------
void cmGlobalVisualStudio11Win64Generator
::GetDocumentation(cmDocumentationEntry& entry) const
{
@@ -28,6 +34,4 @@ void cmGlobalVisualStudio11Win64Generator
{
this->cmGlobalVisualStudio11Generator::AddPlatformDefinitions(mf);
mf->AddDefinition("CMAKE_FORCE_WIN64", "TRUE");
- mf->AddDefinition("MSVC_C_ARCHITECTURE_ID", "x64");
- mf->AddDefinition("MSVC_CXX_ARCHITECTURE_ID", "x64");
}
diff --git a/Source/cmGlobalVisualStudio11Win64Generator.h b/Source/cmGlobalVisualStudio11Win64Generator.h
index 53f19538c..9445d156c 100644
--- a/Source/cmGlobalVisualStudio11Win64Generator.h
+++ b/Source/cmGlobalVisualStudio11Win64Generator.h
@@ -18,7 +18,7 @@ class cmGlobalVisualStudio11Win64Generator :
public cmGlobalVisualStudio11Generator
{
public:
- cmGlobalVisualStudio11Win64Generator() {}
+ cmGlobalVisualStudio11Win64Generator();
static cmGlobalGenerator* New() {
return new cmGlobalVisualStudio11Win64Generator; }
diff --git a/Source/cmGlobalVisualStudio6Generator.cxx b/Source/cmGlobalVisualStudio6Generator.cxx
index fe44e200e..e8ca78873 100644
--- a/Source/cmGlobalVisualStudio6Generator.cxx
+++ b/Source/cmGlobalVisualStudio6Generator.cxx
@@ -36,18 +36,16 @@ cmGlobalVisualStudio6Generator::cmGlobalVisualStudio6Generator()
}
void cmGlobalVisualStudio6Generator
-::EnableLanguage(std::vector<std::string>const& lang,
- cmMakefile *mf,
+::EnableLanguage(std::vector<std::string>const& lang,
+ cmMakefile *mf,
bool optional)
{
+ cmGlobalVisualStudioGenerator::AddPlatformDefinitions(mf);
mf->AddDefinition("CMAKE_GENERATOR_CC", "cl");
mf->AddDefinition("CMAKE_GENERATOR_CXX", "cl");
- mf->AddDefinition("CMAKE_GENERATOR_RC", "rc");
+ mf->AddDefinition("CMAKE_GENERATOR_RC", "rc");
mf->AddDefinition("CMAKE_GENERATOR_NO_COMPILER_ENV", "1");
mf->AddDefinition("CMAKE_GENERATOR_Fortran", "ifort");
- mf->AddDefinition("MSVC_C_ARCHITECTURE_ID", "X86");
- mf->AddDefinition("MSVC_CXX_ARCHITECTURE_ID", "X86");
- mf->AddDefinition("MSVC60", "1");
this->GenerateConfigurations(mf);
this->cmGlobalGenerator::EnableLanguage(lang, mf, optional);
}
@@ -84,10 +82,10 @@ void cmGlobalVisualStudio6Generator::GenerateConfigurations(cmMakefile* mf)
std::string cmGlobalVisualStudio6Generator
::GenerateBuildCommand(const char* makeProgram,
- const char *projectName,
- const char* additionalOptions,
+ const char *projectName,
+ const char* additionalOptions,
const char *targetName,
- const char* config,
+ const char* config,
bool ignoreErrors,
bool)
{
@@ -100,7 +98,7 @@ std::string cmGlobalVisualStudio6Generator
"\\6.0\\Setup;VsCommonDir]/MSDev98/Bin");
cmSystemTools::ExpandRegistryValues(mp[0]);
std::string originalCommand = makeProgram;
- std::string makeCommand =
+ std::string makeCommand =
cmSystemTools::FindProgram(makeProgram, mp);
if(makeCommand.size() == 0)
{
@@ -116,7 +114,7 @@ std::string cmGlobalVisualStudio6Generator
// if there are spaces in the makeCommand, assume a full path
// and convert it to a path with no spaces in it as the
// RunSingleCommand does not like spaces
-#if defined(_WIN32) && !defined(__CYGWIN__)
+#if defined(_WIN32) && !defined(__CYGWIN__)
if(makeCommand.find(' ') != std::string::npos)
{
cmSystemTools::GetShortPath(makeCommand.c_str(), makeCommand);
@@ -226,7 +224,7 @@ void cmGlobalVisualStudio6Generator
}
void cmGlobalVisualStudio6Generator
-::OutputDSWFile(cmLocalGenerator* root,
+::OutputDSWFile(cmLocalGenerator* root,
std::vector<cmLocalGenerator*>& generators)
{
if(generators.size() == 0)
@@ -250,7 +248,7 @@ void cmGlobalVisualStudio6Generator
// output the DSW file
void cmGlobalVisualStudio6Generator::OutputDSWFile()
-{
+{
std::map<cmStdString, std::vector<cmLocalGenerator*> >::iterator it;
for(it = this->ProjectMap.begin(); it!= this->ProjectMap.end(); ++it)
{
@@ -259,16 +257,16 @@ void cmGlobalVisualStudio6Generator::OutputDSWFile()
}
// Write a dsp file into the DSW file,
-// Note, that dependencies from executables to
+// Note, that dependencies from executables to
// the libraries it uses are also done here
-void cmGlobalVisualStudio6Generator::WriteProject(std::ostream& fout,
+void cmGlobalVisualStudio6Generator::WriteProject(std::ostream& fout,
const char* dspname,
const char* dir,
cmTarget& target)
{
fout << "#########################################################"
"######################\n\n";
- fout << "Project: \"" << dspname << "\"="
+ fout << "Project: \"" << dspname << "\"="
<< dir << "\\" << dspname << ".dsp - Package Owner=<4>\n\n";
fout << "Package=<5>\n{{{\n}}}\n\n";
fout << "Package=<4>\n";
@@ -304,22 +302,22 @@ void cmGlobalVisualStudio6Generator::WriteProject(std::ostream& fout,
// Write a dsp file into the DSW file,
-// Note, that dependencies from executables to
+// Note, that dependencies from executables to
// the libraries it uses are also done here
-void cmGlobalVisualStudio6Generator::WriteExternalProject(std::ostream& fout,
+void cmGlobalVisualStudio6Generator::WriteExternalProject(std::ostream& fout,
const char* name,
const char* location,
const std::set<cmStdString>& dependencies)
{
fout << "#########################################################"
"######################\n\n";
- fout << "Project: \"" << name << "\"="
+ fout << "Project: \"" << name << "\"="
<< location << " - Package Owner=<4>\n\n";
fout << "Package=<5>\n{{{\n}}}\n\n";
fout << "Package=<4>\n";
fout << "{{{\n";
-
+
std::set<cmStdString>::const_iterator i, end;
// write dependencies.
i = dependencies.begin();
@@ -347,7 +345,7 @@ void cmGlobalVisualStudio6Generator::WriteDSWFooter(std::ostream& fout)
"##########################\n\n";
}
-
+
// ouput standard header for dsw file
void cmGlobalVisualStudio6Generator::WriteDSWHeader(std::ostream& fout)
{
diff --git a/Source/cmGlobalVisualStudio6Generator.h b/Source/cmGlobalVisualStudio6Generator.h
index da08a125b..259aa8d03 100644
--- a/Source/cmGlobalVisualStudio6Generator.h
+++ b/Source/cmGlobalVisualStudio6Generator.h
@@ -25,9 +25,9 @@ class cmGlobalVisualStudio6Generator : public cmGlobalVisualStudioGenerator
{
public:
cmGlobalVisualStudio6Generator();
- static cmGlobalGenerator* New() {
+ static cmGlobalGenerator* New() {
return new cmGlobalVisualStudio6Generator; }
-
+
///! Get the name for the generator.
virtual const char* GetName() const {
return cmGlobalVisualStudio6Generator::GetActualName();}
@@ -35,15 +35,15 @@ public:
/** Get the documentation entry for this generator. */
virtual void GetDocumentation(cmDocumentationEntry& entry) const;
-
+
///! Create a local generator appropriate to this Global Generator
virtual cmLocalGenerator *CreateLocalGenerator();
/**
* Try to determine system infomation such as shared library
- * extension, pthreads, byte order etc.
+ * extension, pthreads, byte order etc.
*/
- virtual void EnableLanguage(std::vector<std::string>const& languages,
+ virtual void EnableLanguage(std::vector<std::string>const& languages,
cmMakefile *, bool optional);
/**
@@ -52,8 +52,8 @@ public:
*/
virtual std::string GenerateBuildCommand(const char* makeProgram,
const char *projectName,
- const char* additionalOptions,
- const char *targetName,
+ const char* additionalOptions,
+ const char *targetName,
const char* config,
bool ignoreErrors,
bool fast);
@@ -61,7 +61,7 @@ public:
/**
* Generate the all required files for building this project/tree. This
* basically creates a series of LocalGenerators for each directory and
- * requests that they Generate.
+ * requests that they Generate.
*/
virtual void Generate();
@@ -90,9 +90,9 @@ private:
void GenerateConfigurations(cmMakefile* mf);
void WriteDSWFile(std::ostream& fout);
void WriteDSWHeader(std::ostream& fout);
- void WriteProject(std::ostream& fout,
+ void WriteProject(std::ostream& fout,
const char* name, const char* path, cmTarget &t);
- void WriteExternalProject(std::ostream& fout,
+ void WriteExternalProject(std::ostream& fout,
const char* name, const char* path,
const std::set<cmStdString>& dependencies);
void WriteDSWFooter(std::ostream& fout);
diff --git a/Source/cmGlobalVisualStudio71Generator.cxx b/Source/cmGlobalVisualStudio71Generator.cxx
index d6b653ca6..ab2308f50 100644
--- a/Source/cmGlobalVisualStudio71Generator.cxx
+++ b/Source/cmGlobalVisualStudio71Generator.cxx
@@ -34,14 +34,6 @@ cmLocalGenerator *cmGlobalVisualStudio71Generator::CreateLocalGenerator()
}
//----------------------------------------------------------------------------
-void cmGlobalVisualStudio71Generator::AddPlatformDefinitions(cmMakefile* mf)
-{
- this->cmGlobalVisualStudio7Generator::AddPlatformDefinitions(mf);
- mf->RemoveDefinition("MSVC70");
- mf->AddDefinition("MSVC71", "1");
-}
-
-//----------------------------------------------------------------------------
std::string cmGlobalVisualStudio71Generator::GetUserMacrosDirectory()
{
// Macros not supported on Visual Studio 7.1 and earlier because
@@ -99,7 +91,7 @@ void cmGlobalVisualStudio71Generator
::WriteSLNFile(std::ostream& fout,
cmLocalGenerator* root,
std::vector<cmLocalGenerator*>& generators)
-{
+{
// Write out the header for a SLN file
this->WriteSLNHeader(fout);
@@ -156,7 +148,7 @@ cmGlobalVisualStudio71Generator
//----------------------------------------------------------------------------
// Write a dsp file into the SLN file,
-// Note, that dependencies from executables to
+// Note, that dependencies from executables to
// the libraries it uses are also done here
void
cmGlobalVisualStudio71Generator::WriteProject(std::ostream& fout,
@@ -166,11 +158,11 @@ cmGlobalVisualStudio71Generator::WriteProject(std::ostream& fout,
{
// check to see if this is a fortran build
const char* ext = ".vcproj";
- const char* project =
+ const char* project =
"Project(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"";
if(this->TargetIsFortranOnly(t))
{
- ext = ".vfproj";
+ ext = ".vfproj";
project = "Project(\"{6989167D-11E4-40FE-8C1A-2192A86A7E90}\") = \"";
}
const char* targetExt = t.GetProperty("GENERATOR_FILE_NAME_EXT");
@@ -187,7 +179,7 @@ cmGlobalVisualStudio71Generator::WriteProject(std::ostream& fout,
fout << "\tProjectSection(ProjectDependencies) = postProject\n";
this->WriteProjectDepends(fout, dspname, dir, t);
fout << "\tEndProjectSection\n";
-
+
fout <<"EndProject\n";
UtilityDependsMap::iterator ui = this->UtilityDepends.find(&t);
@@ -208,7 +200,7 @@ cmGlobalVisualStudio71Generator::WriteProject(std::ostream& fout,
//----------------------------------------------------------------------------
// Write a dsp file into the SLN file,
-// Note, that dependencies from executables to
+// Note, that dependencies from executables to
// the libraries it uses are also done here
void
cmGlobalVisualStudio71Generator
@@ -238,12 +230,12 @@ cmGlobalVisualStudio71Generator
// Write a dsp file into the SLN file, Note, that dependencies from
// executables to the libraries it uses are also done here
void cmGlobalVisualStudio71Generator
-::WriteExternalProject(std::ostream& fout,
+::WriteExternalProject(std::ostream& fout,
const char* name,
const char* location,
const char* typeGuid,
const std::set<cmStdString>& depends)
-{
+{
fout << "Project(\"{"
<< (typeGuid ? typeGuid : "8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942")
<< "}\") = \""
@@ -251,7 +243,7 @@ void cmGlobalVisualStudio71Generator
<< this->ConvertToSolutionPath(location) << "\", \"{"
<< this->GetGUID(name)
<< "}\"\n";
-
+
// write out the dependencies here VS 7.1 includes dependencies with the
// project instead of in the global section
if(!depends.empty())
@@ -262,18 +254,18 @@ void cmGlobalVisualStudio71Generator
{
if(it->size() > 0)
{
- fout << "\t\t{"
- << this->GetGUID(it->c_str())
- << "} = {"
- << this->GetGUID(it->c_str())
+ fout << "\t\t{"
+ << this->GetGUID(it->c_str())
+ << "} = {"
+ << this->GetGUID(it->c_str())
<< "}\n";
}
}
fout << "\tEndProjectSection\n";
- }
+ }
fout << "EndProject\n";
-
+
}
@@ -289,7 +281,7 @@ void cmGlobalVisualStudio71Generator
for(std::vector<std::string>::iterator i = this->Configurations.begin();
i != this->Configurations.end(); ++i)
{
- fout << "\t\t{" << guid << "}." << *i
+ fout << "\t\t{" << guid << "}." << *i
<< ".ActiveCfg = " << *i << "|"
<< (platformMapping ? platformMapping : "Win32") << std::endl;
if(partOfDefaultBuild)
diff --git a/Source/cmGlobalVisualStudio71Generator.h b/Source/cmGlobalVisualStudio71Generator.h
index 503b708e5..a8daad6a2 100644
--- a/Source/cmGlobalVisualStudio71Generator.h
+++ b/Source/cmGlobalVisualStudio71Generator.h
@@ -24,9 +24,9 @@ class cmGlobalVisualStudio71Generator : public cmGlobalVisualStudio7Generator
{
public:
cmGlobalVisualStudio71Generator();
- static cmGlobalGenerator* New()
+ static cmGlobalGenerator* New()
{ return new cmGlobalVisualStudio71Generator; }
-
+
///! Get the name for the generator.
virtual const char* GetName() const {
return cmGlobalVisualStudio71Generator::GetActualName();}
@@ -34,7 +34,7 @@ public:
/** Get the documentation entry for this generator. */
virtual void GetDocumentation(cmDocumentationEntry& entry) const;
-
+
///! Create a local generator appropriate to this Global Generator
virtual cmLocalGenerator *CreateLocalGenerator();
@@ -53,14 +53,13 @@ public:
protected:
virtual const char* GetIDEVersion() { return "7.1"; }
- virtual void AddPlatformDefinitions(cmMakefile* mf);
- virtual void WriteSLNFile(std::ostream& fout,
+ virtual void WriteSLNFile(std::ostream& fout,
cmLocalGenerator* root,
std::vector<cmLocalGenerator*>& generators);
virtual void WriteSolutionConfigurations(std::ostream& fout);
- virtual void WriteProject(std::ostream& fout,
+ virtual void WriteProject(std::ostream& fout,
const char* name, const char* path, cmTarget &t);
- virtual void WriteProjectDepends(std::ostream& fout,
+ virtual void WriteProjectDepends(std::ostream& fout,
const char* name, const char* path, cmTarget &t);
virtual void WriteProjectConfigurations(std::ostream& fout,
const char* name,
diff --git a/Source/cmGlobalVisualStudio7Generator.cxx b/Source/cmGlobalVisualStudio7Generator.cxx
index 6332d0b10..b6eea5d0b 100644
--- a/Source/cmGlobalVisualStudio7Generator.cxx
+++ b/Source/cmGlobalVisualStudio7Generator.cxx
@@ -23,7 +23,7 @@ cmGlobalVisualStudio7Generator::cmGlobalVisualStudio7Generator()
void cmGlobalVisualStudio7Generator
-::EnableLanguage(std::vector<std::string>const & lang,
+::EnableLanguage(std::vector<std::string>const & lang,
cmMakefile *mf, bool optional)
{
mf->AddDefinition("CMAKE_GENERATOR_CC", "cl");
@@ -32,13 +32,13 @@ void cmGlobalVisualStudio7Generator
mf->AddDefinition("CMAKE_GENERATOR_NO_COMPILER_ENV", "1");
mf->AddDefinition("CMAKE_GENERATOR_FC", "ifort");
this->AddPlatformDefinitions(mf);
-
+
// Create list of configurations requested by user's cache, if any.
this->cmGlobalGenerator::EnableLanguage(lang, mf, optional);
this->GenerateConfigurations(mf);
-
+
// if this environment variable is set, then copy it to
- // a static cache entry. It will be used by
+ // a static cache entry. It will be used by
// cmLocalGenerator::ConstructScript, to add an extra PATH
// to all custom commands. This is because the VS IDE
// does not use the environment it is run in, and this allows
@@ -48,23 +48,16 @@ void cmGlobalVisualStudio7Generator
if(extraPath)
{
mf->AddCacheDefinition
- ("CMAKE_MSVCIDE_RUN_PATH", extraPath,
+ ("CMAKE_MSVCIDE_RUN_PATH", extraPath,
"Saved environment variable CMAKE_MSVCIDE_RUN_PATH",
cmCacheManager::STATIC);
}
}
-void cmGlobalVisualStudio7Generator::AddPlatformDefinitions(cmMakefile* mf)
-{
- mf->AddDefinition("MSVC70", "1");
- mf->AddDefinition("MSVC_C_ARCHITECTURE_ID", "X86");
- mf->AddDefinition("MSVC_CXX_ARCHITECTURE_ID", "X86");
-}
-
std::string cmGlobalVisualStudio7Generator
::GenerateBuildCommand(const char* makeProgram,
- const char *projectName,
+ const char *projectName,
const char* additionalOptions, const char *targetName,
const char* config, bool ignoreErrors, bool)
{
@@ -72,7 +65,7 @@ std::string cmGlobalVisualStudio7Generator
(void) ignoreErrors;
// now build the test
- std::string makeCommand =
+ std::string makeCommand =
cmSystemTools::ConvertToOutputPath(makeProgram);
std::string lowerCaseCommand = makeCommand;
cmSystemTools::LowerCase(lowerCaseCommand);
@@ -80,7 +73,7 @@ std::string cmGlobalVisualStudio7Generator
// if there are spaces in the makeCommand, assume a full path
// and convert it to a path with no spaces in it as the
// RunSingleCommand does not like spaces
-#if defined(_WIN32) && !defined(__CYGWIN__)
+#if defined(_WIN32) && !defined(__CYGWIN__)
if(makeCommand.find(' ') != std::string::npos)
{
cmSystemTools::GetShortPath(makeCommand.c_str(), makeCommand);
@@ -143,7 +136,7 @@ cmLocalGenerator *cmGlobalVisualStudio7Generator::CreateLocalGenerator()
void cmGlobalVisualStudio7Generator::GenerateConfigurations(cmMakefile* mf)
{
// process the configurations
- const char* ct
+ const char* ct
= this->CMakeInstance->GetCacheDefinition("CMAKE_CONFIGURATION_TYPES");
if ( ct )
{
@@ -152,7 +145,7 @@ void cmGlobalVisualStudio7Generator::GenerateConfigurations(cmMakefile* mf)
for(std::vector<std::string>::iterator i = argsOut.begin();
i != argsOut.end(); ++i)
{
- if(std::find(this->Configurations.begin(),
+ if(std::find(this->Configurations.begin(),
this->Configurations.end(),
*i) == this->Configurations.end())
{
@@ -166,7 +159,7 @@ void cmGlobalVisualStudio7Generator::GenerateConfigurations(cmMakefile* mf)
this->Configurations.push_back("Debug");
this->Configurations.push_back("Release");
}
-
+
// Reset the entry to have a semi-colon separated list.
std::string configs = this->Configurations[0];
for(unsigned int i=1; i < this->Configurations.size(); ++i)
@@ -237,7 +230,7 @@ void cmGlobalVisualStudio7Generator::OutputSLNFile()
void cmGlobalVisualStudio7Generator::WriteTargetConfigurations(
- std::ostream& fout,
+ std::ostream& fout,
cmLocalGenerator* root,
OrderedTargetDependSet const& projectTargets)
{
@@ -258,7 +251,7 @@ void cmGlobalVisualStudio7Generator::WriteTargetConfigurations(
{
bool partOfDefaultBuild = this->IsPartOfDefaultBuild(
root->GetMakefile()->GetProjectName(), target);
- const char *vcprojName =
+ const char *vcprojName =
target->GetProperty("GENERATOR_FILE_NAME");
if (vcprojName)
{
@@ -369,13 +362,13 @@ void cmGlobalVisualStudio7Generator::WriteTargetDepends(
projectTargets.begin(); tt != projectTargets.end(); ++tt)
{
cmTarget* target = *tt;
- cmMakefile* mf = target->GetMakefile();
- const char *vcprojName =
+ cmMakefile* mf = target->GetMakefile();
+ const char *vcprojName =
target->GetProperty("GENERATOR_FILE_NAME");
if (vcprojName)
- {
+ {
std::string dir = mf->GetStartDirectory();
- this->WriteProjectDepends(fout, vcprojName,
+ this->WriteProjectDepends(fout, vcprojName,
dir.c_str(), *target);
}
}
@@ -409,7 +402,7 @@ void cmGlobalVisualStudio7Generator
// Write out the configurations information for the solution
fout << "Global\n"
<< "\tGlobalSection(SolutionConfiguration) = preSolution\n";
-
+
int c = 0;
for(std::vector<std::string>::iterator i = this->Configurations.begin();
i != this->Configurations.end(); ++i)
@@ -418,7 +411,7 @@ void cmGlobalVisualStudio7Generator
c++;
}
fout << "\tEndGlobalSection\n";
- // Write out project(target) depends
+ // Write out project(target) depends
fout << "\tGlobalSection(ProjectDependencies) = postSolution\n";
this->WriteTargetDepends(fout, orderedProjectTargets);
fout << "\tEndGlobalSection\n";
@@ -506,12 +499,12 @@ cmGlobalVisualStudio7Generator::ConvertToSolutionPath(const char* path)
}
// Write a dsp file into the SLN file,
-// Note, that dependencies from executables to
+// Note, that dependencies from executables to
// the libraries it uses are also done here
-void cmGlobalVisualStudio7Generator::WriteProject(std::ostream& fout,
+void cmGlobalVisualStudio7Generator::WriteProject(std::ostream& fout,
const char* dspname,
const char* dir, cmTarget& target)
-{
+{
// check to see if this is a fortran build
const char* ext = ".vcproj";
const char* project =
@@ -544,7 +537,7 @@ void cmGlobalVisualStudio7Generator::WriteProject(std::ostream& fout,
// Write a dsp file into the SLN file,
-// Note, that dependencies from executables to
+// Note, that dependencies from executables to
// the libraries it uses are also done here
void
cmGlobalVisualStudio7Generator
@@ -607,14 +600,14 @@ void cmGlobalVisualStudio7Generator
// Write a dsp file into the SLN file,
-// Note, that dependencies from executables to
+// Note, that dependencies from executables to
// the libraries it uses are also done here
-void cmGlobalVisualStudio7Generator::WriteExternalProject(std::ostream& fout,
+void cmGlobalVisualStudio7Generator::WriteExternalProject(std::ostream& fout,
const char* name,
const char* location,
const char* typeGuid,
const std::set<cmStdString>&)
-{
+{
std::string d = cmSystemTools::ConvertToOutputPath(location);
fout << "Project("
<< "\"{"
@@ -639,7 +632,7 @@ void cmGlobalVisualStudio7Generator::WriteSLNFooter(std::ostream& fout)
<< "EndGlobal\n";
}
-
+
// ouput standard header for dsw file
void cmGlobalVisualStudio7Generator::WriteSLNHeader(std::ostream& fout)
{
@@ -705,7 +698,7 @@ std::string cmGlobalVisualStudio7Generator::GetGUID(const char* name)
{
std::string guidStoreName = name;
guidStoreName += "_GUID_CMAKE";
- const char* storedGUID =
+ const char* storedGUID =
this->CMakeInstance->GetCacheDefinition(guidStoreName.c_str());
if(storedGUID)
{
@@ -733,8 +726,8 @@ void cmGlobalVisualStudio7Generator::CreateGUID(const char* name)
ret = reinterpret_cast<char*>(uidstr);
RpcStringFree(&uidstr);
ret = cmSystemTools::UpperCase(ret);
- this->CMakeInstance->AddCacheEntry(guidStoreName.c_str(),
- ret.c_str(), "Stored GUID",
+ this->CMakeInstance->AddCacheEntry(guidStoreName.c_str(),
+ ret.c_str(), "Stored GUID",
cmCacheManager::INTERNAL);
}
@@ -775,7 +768,7 @@ bool cmGlobalVisualStudio7Generator::IsPartOfDefaultBuild(const char* project,
{
return false;
}
- // if it is a utilitiy target then only make it part of the
+ // if it is a utilitiy target then only make it part of the
// default build if another target depends on it
int type = target->GetType();
if (type == cmTarget::GLOBAL_TARGET)
@@ -785,7 +778,7 @@ bool cmGlobalVisualStudio7Generator::IsPartOfDefaultBuild(const char* project,
if(type == cmTarget::UTILITY)
{
return this->IsDependedOn(project, target);
- }
+ }
// default is to be part of the build
return true;
}
diff --git a/Source/cmGlobalVisualStudio7Generator.h b/Source/cmGlobalVisualStudio7Generator.h
index 9b9107db7..1df58f97b 100644
--- a/Source/cmGlobalVisualStudio7Generator.h
+++ b/Source/cmGlobalVisualStudio7Generator.h
@@ -112,7 +112,6 @@ protected:
virtual void WriteSLNFooter(std::ostream& fout);
virtual void WriteSLNHeader(std::ostream& fout);
virtual std::string WriteUtilityDepend(cmTarget* target);
- virtual void AddPlatformDefinitions(cmMakefile* mf);
virtual void WriteTargetsToSolution(
std::ostream& fout,
diff --git a/Source/cmGlobalVisualStudio8Generator.cxx b/Source/cmGlobalVisualStudio8Generator.cxx
index e7c42327d..bca1754c6 100644
--- a/Source/cmGlobalVisualStudio8Generator.cxx
+++ b/Source/cmGlobalVisualStudio8Generator.cxx
@@ -21,7 +21,6 @@ cmGlobalVisualStudio8Generator::cmGlobalVisualStudio8Generator()
{
this->FindMakeProgramFile = "CMakeVS8FindMake.cmake";
this->ProjectConfigurationSectionName = "ProjectConfigurationPlatforms";
- this->ArchitectureId = "X86";
}
//----------------------------------------------------------------------------
@@ -35,7 +34,7 @@ cmLocalGenerator *cmGlobalVisualStudio8Generator::CreateLocalGenerator()
lg->SetGlobalGenerator(this);
return lg;
}
-
+
//----------------------------------------------------------------------------
// ouput standard header for dsw file
void cmGlobalVisualStudio8Generator::WriteSLNHeader(std::ostream& fout)
@@ -49,19 +48,11 @@ void cmGlobalVisualStudio8Generator
::GetDocumentation(cmDocumentationEntry& entry) const
{
entry.Name = this->GetName();
- entry.Brief = "Generates Visual Studio .NET 2005 project files.";
+ entry.Brief = "Generates Visual Studio 8 2005 project files.";
entry.Full = "";
}
//----------------------------------------------------------------------------
-void cmGlobalVisualStudio8Generator::AddPlatformDefinitions(cmMakefile* mf)
-{
- mf->AddDefinition("MSVC_C_ARCHITECTURE_ID", this->ArchitectureId);
- mf->AddDefinition("MSVC_CXX_ARCHITECTURE_ID", this->ArchitectureId);
- mf->AddDefinition("MSVC80", "1");
-}
-
-//----------------------------------------------------------------------------
void cmGlobalVisualStudio8Generator::Configure()
{
this->cmGlobalVisualStudio7Generator::Configure();
@@ -336,7 +327,7 @@ bool cmGlobalVisualStudio8Generator::NeedLinkLibraryDependencies(
//----------------------------------------------------------------------------
static cmVS7FlagTable cmVS8ExtraFlagTable[] =
-{
+{
{"CallingConvention", "Gd", "cdecl", "0", 0 },
{"CallingConvention", "Gr", "fastcall", "1", 0 },
{"CallingConvention", "Gz", "stdcall", "2", 0 },
diff --git a/Source/cmGlobalVisualStudio8Generator.h b/Source/cmGlobalVisualStudio8Generator.h
index 7dae42907..5009f2960 100644
--- a/Source/cmGlobalVisualStudio8Generator.h
+++ b/Source/cmGlobalVisualStudio8Generator.h
@@ -24,9 +24,9 @@ class cmGlobalVisualStudio8Generator : public cmGlobalVisualStudio71Generator
{
public:
cmGlobalVisualStudio8Generator();
- static cmGlobalGenerator* New() {
+ static cmGlobalGenerator* New() {
return new cmGlobalVisualStudio8Generator; }
-
+
///! Get the name for the generator.
virtual const char* GetName() const {
return cmGlobalVisualStudio8Generator::GetActualName();}
@@ -36,7 +36,7 @@ public:
/** Get the documentation entry for this generator. */
virtual void GetDocumentation(cmDocumentationEntry& entry) const;
-
+
///! Create a local generator appropriate to this Global Generator
virtual cmLocalGenerator *CreateLocalGenerator();
@@ -72,7 +72,6 @@ protected:
void AddCheckTarget();
static cmIDEFlagTable const* GetExtraFlagTableVS8();
- virtual void AddPlatformDefinitions(cmMakefile* mf);
virtual void WriteSLNHeader(std::ostream& fout);
virtual void WriteSolutionConfigurations(std::ostream& fout);
virtual void WriteProjectConfigurations(std::ostream& fout,
@@ -82,7 +81,5 @@ protected:
virtual bool ComputeTargetDepends();
virtual void WriteProjectDepends(std::ostream& fout, const char* name,
const char* path, cmTarget &t);
-
- const char* ArchitectureId;
};
#endif
diff --git a/Source/cmGlobalVisualStudio8Win64Generator.cxx b/Source/cmGlobalVisualStudio8Win64Generator.cxx
index 60e45b840..4cbc2750d 100644
--- a/Source/cmGlobalVisualStudio8Win64Generator.cxx
+++ b/Source/cmGlobalVisualStudio8Win64Generator.cxx
@@ -22,23 +22,12 @@ cmGlobalVisualStudio8Win64Generator::cmGlobalVisualStudio8Win64Generator()
this->ArchitectureId = "x64";
}
-///! Create a local generator appropriate to this Global Generator
-cmLocalGenerator *cmGlobalVisualStudio8Win64Generator::CreateLocalGenerator()
-{
- cmLocalVisualStudio7Generator *lg
- = new cmLocalVisualStudio7Generator(cmLocalVisualStudioGenerator::VS8);
- lg->SetPlatformName(this->GetPlatformName());
- lg->SetExtraFlagTable(this->GetExtraFlagTableVS8());
- lg->SetGlobalGenerator(this);
- return lg;
-}
-
//----------------------------------------------------------------------------
void cmGlobalVisualStudio8Win64Generator
::GetDocumentation(cmDocumentationEntry& entry) const
{
entry.Name = this->GetName();
- entry.Brief = "Generates Visual Studio .NET 2005 Win64 project files.";
+ entry.Brief = "Generates Visual Studio 8 2005 Win64 project files.";
entry.Full = "";
}
diff --git a/Source/cmGlobalVisualStudio8Win64Generator.h b/Source/cmGlobalVisualStudio8Win64Generator.h
index 084ba697c..12f80125a 100644
--- a/Source/cmGlobalVisualStudio8Win64Generator.h
+++ b/Source/cmGlobalVisualStudio8Win64Generator.h
@@ -20,14 +20,14 @@
*
* cmGlobalVisualStudio8Win64Generator manages UNIX build process for a tree
*/
-class cmGlobalVisualStudio8Win64Generator :
+class cmGlobalVisualStudio8Win64Generator :
public cmGlobalVisualStudio8Generator
{
public:
cmGlobalVisualStudio8Win64Generator();
- static cmGlobalGenerator* New() {
+ static cmGlobalGenerator* New() {
return new cmGlobalVisualStudio8Win64Generator; }
-
+
///! Get the name for the generator.
virtual const char* GetName() const {
return cmGlobalVisualStudio8Win64Generator::GetActualName();}
@@ -38,12 +38,9 @@ public:
/** Get the documentation entry for this generator. */
virtual void GetDocumentation(cmDocumentationEntry& entry) const;
- ///! create the correct local generator
- virtual cmLocalGenerator *CreateLocalGenerator();
-
/**
* Try to determine system infomation such as shared library
- * extension, pthreads, byte order etc.
+ * extension, pthreads, byte order etc.
*/
virtual void AddPlatformDefinitions(cmMakefile *);
};
diff --git a/Source/cmGlobalVisualStudio9Generator.cxx b/Source/cmGlobalVisualStudio9Generator.cxx
index f082675eb..70af50d7b 100644
--- a/Source/cmGlobalVisualStudio9Generator.cxx
+++ b/Source/cmGlobalVisualStudio9Generator.cxx
@@ -23,14 +23,6 @@ cmGlobalVisualStudio9Generator::cmGlobalVisualStudio9Generator()
}
//----------------------------------------------------------------------------
-void cmGlobalVisualStudio9Generator::AddPlatformDefinitions(cmMakefile* mf)
-{
- mf->AddDefinition("MSVC_C_ARCHITECTURE_ID", this->ArchitectureId);
- mf->AddDefinition("MSVC_CXX_ARCHITECTURE_ID", this->ArchitectureId);
- mf->AddDefinition("MSVC90", "1");
-}
-
-//----------------------------------------------------------------------------
void cmGlobalVisualStudio9Generator::WriteSLNHeader(std::ostream& fout)
{
fout << "Microsoft Visual Studio Solution File, Format Version 10.00\n";
@@ -59,7 +51,7 @@ void cmGlobalVisualStudio9Generator
//----------------------------------------------------------------------------
void cmGlobalVisualStudio9Generator
-::EnableLanguage(std::vector<std::string>const & lang,
+::EnableLanguage(std::vector<std::string>const & lang,
cmMakefile *mf, bool optional)
{
cmGlobalVisualStudio8Generator::EnableLanguage(lang, mf, optional);
diff --git a/Source/cmGlobalVisualStudio9Generator.h b/Source/cmGlobalVisualStudio9Generator.h
index bfb03c4c5..0b0d1437f 100644
--- a/Source/cmGlobalVisualStudio9Generator.h
+++ b/Source/cmGlobalVisualStudio9Generator.h
@@ -20,20 +20,19 @@
*
* cmGlobalVisualStudio9Generator manages UNIX build process for a tree
*/
-class cmGlobalVisualStudio9Generator :
+class cmGlobalVisualStudio9Generator :
public cmGlobalVisualStudio8Generator
{
public:
cmGlobalVisualStudio9Generator();
- static cmGlobalGenerator* New() {
+ static cmGlobalGenerator* New() {
return new cmGlobalVisualStudio9Generator; }
-
+
///! Get the name for the generator.
virtual const char* GetName() const {
return cmGlobalVisualStudio9Generator::GetActualName();}
static const char* GetActualName() {return "Visual Studio 9 2008";}
- virtual void AddPlatformDefinitions(cmMakefile* mf);
-
+
/** Get the documentation entry for this generator. */
virtual void GetDocumentation(cmDocumentationEntry& entry) const;
@@ -42,9 +41,9 @@ public:
/**
* Try to determine system infomation such as shared library
- * extension, pthreads, byte order etc.
+ * extension, pthreads, byte order etc.
*/
- virtual void EnableLanguage(std::vector<std::string>const& languages,
+ virtual void EnableLanguage(std::vector<std::string>const& languages,
cmMakefile *, bool optional);
virtual void WriteSLNHeader(std::ostream& fout);
diff --git a/Source/cmGlobalVisualStudio9IA64Generator.cxx b/Source/cmGlobalVisualStudio9IA64Generator.cxx
index 993340ae8..38dbfacc4 100644
--- a/Source/cmGlobalVisualStudio9IA64Generator.cxx
+++ b/Source/cmGlobalVisualStudio9IA64Generator.cxx
@@ -19,17 +19,6 @@ cmGlobalVisualStudio9IA64Generator::cmGlobalVisualStudio9IA64Generator()
this->ArchitectureId = "Itanium";
}
-///! Create a local generator appropriate to this Global Generator
-cmLocalGenerator *cmGlobalVisualStudio9IA64Generator::CreateLocalGenerator()
-{
- cmLocalVisualStudio7Generator *lg =
- new cmLocalVisualStudio7Generator(cmLocalVisualStudioGenerator::VS9);
- lg->SetPlatformName(this->GetPlatformName());
- lg->SetExtraFlagTable(this->GetExtraFlagTableVS8());
- lg->SetGlobalGenerator(this);
- return lg;
-}
-
//----------------------------------------------------------------------------
void cmGlobalVisualStudio9IA64Generator
::GetDocumentation(cmDocumentationEntry& entry) const
diff --git a/Source/cmGlobalVisualStudio9IA64Generator.h b/Source/cmGlobalVisualStudio9IA64Generator.h
index e33ee1550..989b0d1af 100644
--- a/Source/cmGlobalVisualStudio9IA64Generator.h
+++ b/Source/cmGlobalVisualStudio9IA64Generator.h
@@ -38,9 +38,6 @@ public:
/** Get the documentation entry for this generator. */
virtual void GetDocumentation(cmDocumentationEntry& entry) const;
- ///! create the correct local generator
- virtual cmLocalGenerator *CreateLocalGenerator();
-
/**
* Try to determine system infomation such as shared library
* extension, pthreads, byte order etc.
diff --git a/Source/cmGlobalVisualStudio9Win64Generator.cxx b/Source/cmGlobalVisualStudio9Win64Generator.cxx
index 08f537d1a..4d8a6463b 100644
--- a/Source/cmGlobalVisualStudio9Win64Generator.cxx
+++ b/Source/cmGlobalVisualStudio9Win64Generator.cxx
@@ -19,17 +19,6 @@ cmGlobalVisualStudio9Win64Generator::cmGlobalVisualStudio9Win64Generator()
this->ArchitectureId = "x64";
}
-///! Create a local generator appropriate to this Global Generator
-cmLocalGenerator *cmGlobalVisualStudio9Win64Generator::CreateLocalGenerator()
-{
- cmLocalVisualStudio7Generator *lg =
- new cmLocalVisualStudio7Generator(cmLocalVisualStudioGenerator::VS9);
- lg->SetPlatformName(this->GetPlatformName());
- lg->SetExtraFlagTable(this->GetExtraFlagTableVS8());
- lg->SetGlobalGenerator(this);
- return lg;
-}
-
//----------------------------------------------------------------------------
void cmGlobalVisualStudio9Win64Generator
::GetDocumentation(cmDocumentationEntry& entry) const
diff --git a/Source/cmGlobalVisualStudio9Win64Generator.h b/Source/cmGlobalVisualStudio9Win64Generator.h
index f6dcc03cd..7c20cf4e2 100644
--- a/Source/cmGlobalVisualStudio9Win64Generator.h
+++ b/Source/cmGlobalVisualStudio9Win64Generator.h
@@ -20,14 +20,14 @@
*
* cmGlobalVisualStudio8Win64Generator manages UNIX build process for a tree
*/
-class cmGlobalVisualStudio9Win64Generator :
+class cmGlobalVisualStudio9Win64Generator :
public cmGlobalVisualStudio9Generator
{
public:
cmGlobalVisualStudio9Win64Generator();
- static cmGlobalGenerator* New() {
+ static cmGlobalGenerator* New() {
return new cmGlobalVisualStudio9Win64Generator; }
-
+
///! Get the name for the generator.
virtual const char* GetName() const {
return cmGlobalVisualStudio9Win64Generator::GetActualName();}
@@ -38,12 +38,9 @@ public:
/** Get the documentation entry for this generator. */
virtual void GetDocumentation(cmDocumentationEntry& entry) const;
- ///! create the correct local generator
- virtual cmLocalGenerator *CreateLocalGenerator();
-
/**
* Try to determine system infomation such as shared library
- * extension, pthreads, byte order etc.
+ * extension, pthreads, byte order etc.
*/
virtual void AddPlatformDefinitions(cmMakefile *);
};
diff --git a/Source/cmGlobalVisualStudioGenerator.cxx b/Source/cmGlobalVisualStudioGenerator.cxx
index 2a918c925..0968b771d 100644
--- a/Source/cmGlobalVisualStudioGenerator.cxx
+++ b/Source/cmGlobalVisualStudioGenerator.cxx
@@ -21,6 +21,7 @@
//----------------------------------------------------------------------------
cmGlobalVisualStudioGenerator::cmGlobalVisualStudioGenerator()
{
+ this->ArchitectureId = "X86";
}
//----------------------------------------------------------------------------
@@ -53,7 +54,7 @@ void cmGlobalVisualStudioGenerator::Generate()
{
// Use no actual command lines so that the target itself is not
// considered always out of date.
- cmTarget* allBuild =
+ cmTarget* allBuild =
gen[0]->GetMakefile()->
AddUtilityCommand("ALL_BUILD", true, no_working_dir,
no_depends, no_commands, false,
@@ -489,6 +490,13 @@ void cmGlobalVisualStudioGenerator::ComputeVSTargetDepends(cmTarget& target)
}
//----------------------------------------------------------------------------
+void cmGlobalVisualStudioGenerator::AddPlatformDefinitions(cmMakefile* mf)
+{
+ mf->AddDefinition("MSVC_C_ARCHITECTURE_ID", this->ArchitectureId);
+ mf->AddDefinition("MSVC_CXX_ARCHITECTURE_ID", this->ArchitectureId);
+}
+
+//----------------------------------------------------------------------------
std::string cmGlobalVisualStudioGenerator::GetUtilityDepend(cmTarget* target)
{
UtilityDependsMap::iterator i = this->UtilityDepends.find(target);
diff --git a/Source/cmGlobalVisualStudioGenerator.h b/Source/cmGlobalVisualStudioGenerator.h
index b62ba229d..cebf7d741 100644
--- a/Source/cmGlobalVisualStudioGenerator.h
+++ b/Source/cmGlobalVisualStudioGenerator.h
@@ -58,7 +58,7 @@ public:
*/
virtual void CallVisualStudioMacro(MacroName m,
const char* vsSolutionFile = 0);
-
+
// return true if target is fortran only
bool TargetIsFortranOnly(cmTarget& t);
@@ -84,6 +84,8 @@ protected:
virtual const char* GetIDEVersion() = 0;
+ virtual void AddPlatformDefinitions(cmMakefile* mf);
+
virtual bool ComputeTargetDepends();
class VSDependSet: public std::set<cmStdString> {};
class VSDependMap: public std::map<cmTarget*, VSDependSet> {};
@@ -96,6 +98,8 @@ protected:
std::string GetUtilityDepend(cmTarget* target);
typedef std::map<cmTarget*, cmStdString> UtilityDependsMap;
UtilityDependsMap UtilityDepends;
+ const char* ArchitectureId;
+
private:
void ComputeTargetObjects(cmGeneratorTarget* gt) const;
diff --git a/Source/cmGlobalWatcomWMakeGenerator.cxx b/Source/cmGlobalWatcomWMakeGenerator.cxx
index 8c6dff9bd..45b171ff2 100644
--- a/Source/cmGlobalWatcomWMakeGenerator.cxx
+++ b/Source/cmGlobalWatcomWMakeGenerator.cxx
@@ -23,11 +23,11 @@ cmGlobalWatcomWMakeGenerator::cmGlobalWatcomWMakeGenerator()
}
void cmGlobalWatcomWMakeGenerator
-::EnableLanguage(std::vector<std::string>const& l,
- cmMakefile *mf,
+::EnableLanguage(std::vector<std::string>const& l,
+ cmMakefile *mf,
bool optional)
{
- // pick a default
+ // pick a default
mf->AddDefinition("WATCOM", "1");
mf->AddDefinition("CMAKE_QUOTE_INCLUDE_PATHS", "1");
mf->AddDefinition("CMAKE_MANGLE_OBJECT_FILE_NAMES", "1");
diff --git a/Source/cmGlobalWatcomWMakeGenerator.h b/Source/cmGlobalWatcomWMakeGenerator.h
index b416bb181..ee16eaebc 100644
--- a/Source/cmGlobalWatcomWMakeGenerator.h
+++ b/Source/cmGlobalWatcomWMakeGenerator.h
@@ -31,15 +31,15 @@ public:
/** Get the documentation entry for this generator. */
virtual void GetDocumentation(cmDocumentationEntry& entry) const;
-
+
///! Create a local generator appropriate to this Global Generator
virtual cmLocalGenerator *CreateLocalGenerator();
/**
* Try to determine system infomation such as shared library
- * extension, pthreads, byte order etc.
+ * extension, pthreads, byte order etc.
*/
- virtual void EnableLanguage(std::vector<std::string>const& languages,
+ virtual void EnableLanguage(std::vector<std::string>const& languages,
cmMakefile *, bool optional);
};
diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
index 938977bfb..30d8f18bb 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -136,8 +136,23 @@ cmGlobalGenerator* cmGlobalXCodeGenerator::New()
{
#if defined(CMAKE_BUILD_WITH_CMAKE)
cmXcodeVersionParser parser;
- if (cmSystemTools::FileExists(
- "/Applications/Xcode.app/Contents/version.plist"))
+ std::string versionFile;
+ {
+ std::string out;
+ std::string::size_type pos;
+ if(cmSystemTools::RunSingleCommand("xcode-select --print-path", &out, 0, 0,
+ cmSystemTools::OUTPUT_NONE) &&
+ (pos = out.find(".app/"), pos != out.npos))
+ {
+ versionFile = out.substr(0, pos+5)+"Contents/version.plist";
+ }
+ }
+ if(!versionFile.empty() && cmSystemTools::FileExists(versionFile.c_str()))
+ {
+ parser.ParseFile(versionFile.c_str());
+ }
+ else if (cmSystemTools::FileExists(
+ "/Applications/Xcode.app/Contents/version.plist"))
{
parser.ParseFile
("/Applications/Xcode.app/Contents/version.plist");
@@ -772,6 +787,10 @@ GetSourcecodeValueFromFileExtension(const std::string& _ext,
{
sourcecode += ".fortran.f90";
}
+ else if(lang == "ASM")
+ {
+ sourcecode += ".asm";
+ }
//else
// {
// // Already specialized above or we leave sourcecode == "sourcecode"
@@ -1628,16 +1647,12 @@ void cmGlobalXCodeGenerator::CreateBuildSettings(cmTarget& target,
// Add the export symbol definition for shared library objects.
this->AppendDefines(ppDefs, exportMacro);
}
- this->AppendDefines
- (ppDefs, this->CurrentMakefile->GetProperty("COMPILE_DEFINITIONS"));
- this->AppendDefines(ppDefs, target.GetProperty("COMPILE_DEFINITIONS"));
+ cmGeneratorTarget *gtgt = this->GetGeneratorTarget(&target);
+ this->AppendDefines(ppDefs, gtgt->GetCompileDefinitions().c_str());
if(configName)
{
- std::string defVarName = "COMPILE_DEFINITIONS_";
- defVarName += cmSystemTools::UpperCase(configName);
- this->AppendDefines
- (ppDefs, this->CurrentMakefile->GetProperty(defVarName.c_str()));
- this->AppendDefines(ppDefs, target.GetProperty(defVarName.c_str()));
+ this->AppendDefines(ppDefs,
+ gtgt->GetCompileDefinitions(configName).c_str());
}
buildSettings->AddAttribute
("GCC_PREPROCESSOR_DEFINITIONS", ppDefs.CreateList());
@@ -1694,7 +1709,8 @@ void cmGlobalXCodeGenerator::CreateBuildSettings(cmTarget& target,
// Set target-specific architectures.
std::vector<std::string> archs;
- target.GetAppleArchs(configName, archs);
+ gtgt->GetAppleArchs(configName, archs);
+
if(!archs.empty())
{
// Enable ARCHS attribute.
@@ -1931,7 +1947,8 @@ void cmGlobalXCodeGenerator::CreateBuildSettings(cmTarget& target,
BuildObjectListOrString dirs(this, this->XcodeVersion >= 30);
BuildObjectListOrString fdirs(this, this->XcodeVersion >= 30);
std::vector<std::string> includes;
- this->CurrentLocalGenerator->GetIncludeDirectories(includes, &target);
+ this->CurrentLocalGenerator->GetIncludeDirectories(includes, gtgt,
+ "C", configName);
std::set<cmStdString> emitted;
emitted.insert("/System/Library/Frameworks");
for(std::vector<std::string>::iterator i = includes.begin();
@@ -2606,7 +2623,8 @@ void cmGlobalXCodeGenerator
}
// Compute the link library and directory information.
- cmComputeLinkInformation* pcli = cmtarget->GetLinkInformation(configName);
+ cmGeneratorTarget* gtgt = this->GetGeneratorTarget(cmtarget);
+ cmComputeLinkInformation* pcli = gtgt->GetLinkInformation(configName);
if(!pcli)
{
continue;
@@ -3099,18 +3117,14 @@ void cmGlobalXCodeGenerator
const char* sysroot =
this->CurrentMakefile->GetDefinition("CMAKE_OSX_SYSROOT");
- const char* sysrootDefault =
- this->CurrentMakefile->GetDefinition("CMAKE_OSX_SYSROOT_DEFAULT");
const char* deploymentTarget =
this->CurrentMakefile->GetDefinition("CMAKE_OSX_DEPLOYMENT_TARGET");
if(osxArch && sysroot)
{
- bool flagsUsed = false;
// recompute this as it may have been changed since enable language
this->Architectures.clear();
cmSystemTools::ExpandListArgument(std::string(osxArch),
this->Architectures);
- flagsUsed = true;
buildSettings->AddAttribute("SDKROOT",
this->CreateString(sysroot));
std::string archString;
@@ -3125,12 +3139,6 @@ void cmGlobalXCodeGenerator
}
buildSettings->AddAttribute("ARCHS",
this->CreateString(archString.c_str()));
- if(!flagsUsed && sysrootDefault &&
- strcmp(sysroot, sysrootDefault) != 0)
- {
- buildSettings->AddAttribute("SDKROOT",
- this->CreateString(sysroot));
- }
}
if(deploymentTarget && *deploymentTarget)
{
@@ -3739,7 +3747,7 @@ cmGlobalXCodeGenerator
const char* configName = this->GetCMakeCFGIntDir();
std::string dir = this->GetObjectsNormalDirectory(
- this->CurrentProject, configName, gt->Target);
+ "$(PROJECT_NAME)", configName, gt->Target);
if(this->XcodeVersion >= 21)
{
dir += "$(CURRENT_ARCH)/";
diff --git a/Source/cmGlobalXCodeGenerator.h b/Source/cmGlobalXCodeGenerator.h
index 800963b9c..afa1ca22e 100644
--- a/Source/cmGlobalXCodeGenerator.h
+++ b/Source/cmGlobalXCodeGenerator.h
@@ -38,15 +38,15 @@ public:
/** Get the documentation entry for this generator. */
virtual void GetDocumentation(cmDocumentationEntry& entry) const;
-
+
///! Create a local generator appropriate to this Global Generator
virtual cmLocalGenerator *CreateLocalGenerator();
/**
* Try to determine system infomation such as shared library
- * extension, pthreads, byte order etc.
+ * extension, pthreads, byte order etc.
*/
- virtual void EnableLanguage(std::vector<std::string>const& languages,
+ virtual void EnableLanguage(std::vector<std::string>const& languages,
cmMakefile *, bool optional);
/**
* Try running cmake and building a file. This is used for dynalically
@@ -54,16 +54,16 @@ public:
*/
virtual std::string GenerateBuildCommand(const char* makeProgram,
const char *projectName,
- const char* additionalOptions,
+ const char* additionalOptions,
const char *targetName,
- const char* config,
+ const char* config,
bool ignoreErrors,
bool fast);
/**
* Generate the all required files for building this project/tree. This
* basically creates a series of LocalGenerators for each directory and
- * requests that they Generate.
+ * requests that they Generate.
*/
virtual void Generate();
@@ -82,7 +82,7 @@ public:
i.e. "Can I build Debug and Release in the same tree?" */
virtual bool IsMultiConfig();
-private:
+private:
cmXCodeObject* CreateOrGetPBXGroup(cmTarget& cmtarget,
cmSourceGroup* sg);
cmXCodeObject* CreatePBXGroup(cmXCodeObject *parent,
@@ -107,18 +107,18 @@ private:
void AddCommandsToBuildPhase(cmXCodeObject* buildphase,
cmTarget& target,
- std::vector<cmCustomCommand>
+ std::vector<cmCustomCommand>
const & commands,
const char* commandFileName);
-
- void CreateCustomRulesMakefile(const char* makefileBasename,
+
+ void CreateCustomRulesMakefile(const char* makefileBasename,
cmTarget& target,
std::vector<cmCustomCommand> const & commands,
const char* configName,
- const std::map<cmStdString, cmStdString>&
+ const std::map<cmStdString, cmStdString>&
multipleOutputPairs
);
-
+
cmXCodeObject* FindXCodeTarget(cmTarget*);
std::string GetOrCreateId(const char* name, const char* id);
@@ -135,9 +135,9 @@ private:
const char* GetTargetFileType(cmTarget& cmtarget);
const char* GetTargetProductType(cmTarget& cmtarget);
std::string AddConfigurations(cmXCodeObject* target, cmTarget& cmtarget);
- void AppendOrAddBuildSetting(cmXCodeObject* settings, const char* attr,
+ void AppendOrAddBuildSetting(cmXCodeObject* settings, const char* attr,
const char* value);
- void AppendBuildSettingAttribute(cmXCodeObject* target, const char* attr,
+ void AppendBuildSettingAttribute(cmXCodeObject* target, const char* attr,
const char* value, const char* configName);
cmXCodeObject* CreateUtilityTarget(cmTarget& target);
void AddDependAndLinkInformation(cmXCodeObject* target);
@@ -161,10 +161,10 @@ private:
const std::string &lang);
cmXCodeObject* CreateXCodeFileReference(cmSourceFile* sf,
cmTarget& cmtarget);
- cmXCodeObject* CreateXCodeSourceFile(cmLocalGenerator* gen,
+ cmXCodeObject* CreateXCodeSourceFile(cmLocalGenerator* gen,
cmSourceFile* sf,
cmTarget& cmtarget);
- void CreateXCodeTargets(cmLocalGenerator* gen,
+ void CreateXCodeTargets(cmLocalGenerator* gen,
std::vector<cmXCodeObject*>&);
bool IsHeaderFile(cmSourceFile*);
void AddDependTarget(cmXCodeObject* target,
@@ -172,9 +172,9 @@ private:
void CreateXCodeDependHackTarget(std::vector<cmXCodeObject*>& targets);
bool SpecialTargetEmitted(std::string const& tname);
void SetGenerationRoot(cmLocalGenerator* root);
- void AddExtraTargets(cmLocalGenerator* root,
+ void AddExtraTargets(cmLocalGenerator* root,
std::vector<cmLocalGenerator*>& gens);
- cmXCodeObject* CreateBuildPhase(const char* name,
+ cmXCodeObject* CreateBuildPhase(const char* name,
const char* name2,
cmTarget& cmtarget,
const std::vector<cmCustomCommand>&);
diff --git a/Source/cmHexFileConverter.cxx b/Source/cmHexFileConverter.cxx
index 2ff794573..a540825ff 100644
--- a/Source/cmHexFileConverter.cxx
+++ b/Source/cmHexFileConverter.cxx
@@ -22,8 +22,8 @@
// might go to SystemTools ?
static bool cm_IsHexChar(char c)
{
- return (((c >= '0') && (c <= '9'))
- || ((c >= 'a') && (c <= 'f'))
+ return (((c >= '0') && (c <= '9'))
+ || ((c >= 'a') && (c <= 'f'))
|| ((c >= 'A') && (c <= 'F')));
}
@@ -45,7 +45,7 @@ static unsigned int ChompStrlen(const char* line)
return length;
}
-static bool OutputBin(FILE* file, const char * buf,
+static bool OutputBin(FILE* file, const char * buf,
unsigned int startIndex, unsigned int stopIndex)
{
bool success = true;
@@ -77,7 +77,7 @@ static bool OutputBin(FILE* file, const char * buf,
static bool ConvertMotorolaSrecLine(const char* buf, FILE* outFile)
{
unsigned int slen = ChompStrlen(buf);
- if ((slen < MOTOROLA_SREC_MIN_LINE_LENGTH)
+ if ((slen < MOTOROLA_SREC_MIN_LINE_LENGTH)
|| (slen > MOTOROLA_SREC_MAX_LINE_LENGTH))
{
return false;
@@ -125,7 +125,7 @@ static bool ConvertMotorolaSrecLine(const char* buf, FILE* outFile)
static bool ConvertIntelHexLine(const char* buf, FILE* outFile)
{
unsigned int slen = ChompStrlen(buf);
- if ((slen < INTEL_HEX_MIN_LINE_LENGTH)
+ if ((slen < INTEL_HEX_MIN_LINE_LENGTH)
|| (slen > INTEL_HEX_MAX_LINE_LENGTH))
{
return false;
@@ -148,7 +148,7 @@ static bool ConvertIntelHexLine(const char* buf, FILE* outFile)
dataStart = 9;
}
// ignore extra address records
- else if ((buf[8] == '2') || (buf[8] == '3') || (buf[8] == '4')
+ else if ((buf[8] == '2') || (buf[8] == '3') || (buf[8] == '4')
|| (buf[8] == '5'))
{
return true;
diff --git a/Source/cmHexFileConverter.h b/Source/cmHexFileConverter.h
index 94c757f79..e11d74a2f 100644
--- a/Source/cmHexFileConverter.h
+++ b/Source/cmHexFileConverter.h
@@ -13,7 +13,7 @@
#define cmHexFileConverter_h
/** \class cmHexFileConverter
- * \brief Can detects Intel Hex and Motorola S-record files and convert them
+ * \brief Can detects Intel Hex and Motorola S-record files and convert them
* to binary files.
*
*/
diff --git a/Source/cmIfCommand.cxx b/Source/cmIfCommand.cxx
index ffc0f35b8..56d717031 100644
--- a/Source/cmIfCommand.cxx
+++ b/Source/cmIfCommand.cxx
@@ -409,14 +409,18 @@ namespace
enum Op { OpLess, OpEqual, OpGreater };
bool HandleVersionCompare(Op op, const char* lhs_str, const char* rhs_str)
{
- // Parse out up to 4 components.
- unsigned int lhs[4] = {0,0,0,0};
- unsigned int rhs[4] = {0,0,0,0};
- sscanf(lhs_str, "%u.%u.%u.%u", &lhs[0], &lhs[1], &lhs[2], &lhs[3]);
- sscanf(rhs_str, "%u.%u.%u.%u", &rhs[0], &rhs[1], &rhs[2], &rhs[3]);
+ // Parse out up to 8 components.
+ unsigned int lhs[8] = {0,0,0,0,0,0,0,0};
+ unsigned int rhs[8] = {0,0,0,0,0,0,0,0};
+ sscanf(lhs_str, "%u.%u.%u.%u.%u.%u.%u.%u",
+ &lhs[0], &lhs[1], &lhs[2], &lhs[3],
+ &lhs[4], &lhs[5], &lhs[6], &lhs[7]);
+ sscanf(rhs_str, "%u.%u.%u.%u.%u.%u.%u.%u",
+ &rhs[0], &rhs[1], &rhs[2], &rhs[3],
+ &rhs[4], &rhs[5], &rhs[6], &rhs[7]);
// Do component-wise comparison.
- for(unsigned int i=0; i < 4; ++i)
+ for(unsigned int i=0; i < 8; ++i)
{
if(lhs[i] < rhs[i])
{
diff --git a/Source/cmIfCommand.h b/Source/cmIfCommand.h
index 94e4d998a..f794b78b8 100644
--- a/Source/cmIfCommand.h
+++ b/Source/cmIfCommand.h
@@ -26,7 +26,7 @@ public:
cmExecutionStatus &);
virtual bool ShouldRemove(const cmListFileFunction& lff,
cmMakefile &mf);
-
+
std::vector<cmListFileArgument> Args;
std::vector<cmListFileFunction> Functions;
bool IsBlocking;
@@ -41,7 +41,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmIfCommand;
}
@@ -52,7 +52,7 @@ public:
*/
virtual bool InvokeInitialPass(const std::vector<cmListFileArgument>& args,
cmExecutionStatus &);
-
+
/**
* This is called when the command is first encountered in
* the CMakeLists.txt file.
@@ -72,7 +72,7 @@ public:
{
return "Conditionally execute a group of commands.";
}
-
+
/**
* This determines if the command is invoked when in script mode.
*/
@@ -114,7 +114,7 @@ public:
"will be evaluated. Possible expressions are:\n"
" if(<constant>)\n"
"True if the constant is 1, ON, YES, TRUE, Y, or a non-zero number. "
- "False if the constant is 0, OFF, NO, FALSE, N, IGNORE, \"\", "
+ "False if the constant is 0, OFF, NO, FALSE, N, IGNORE, NOTFOUND, '', "
"or ends in the suffix '-NOTFOUND'. "
"Named boolean constants are case-insensitive. "
"If the argument is not one of these constants, "
@@ -149,7 +149,12 @@ public:
" if(file1 IS_NEWER_THAN file2)\n"
"True if file1 is newer than file2 or if one of the two files "
"doesn't exist. "
- "Behavior is well-defined only for full paths.\n"
+ "Behavior is well-defined only for full paths. "
+ "If the file time stamps are exactly the same, an "
+ "IS_NEWER_THAN comparison returns true, so that any dependent "
+ "build operations will occur in the event of a tie. "
+ "This includes the case of passing the same file name for both "
+ "file1 and file2.\n"
" if(IS_DIRECTORY directory-name)\n"
"True if the given name is a directory. "
"Behavior is well-defined only for full paths.\n"
@@ -238,22 +243,22 @@ public:
"7) The left and right hand arguments to AND OR are "
"independently tested to see if they are boolean constants, if "
"so they are used as such, otherwise they are assumed to be "
- "variables and are dereferenced. \n"
+ "variables and are dereferenced. \n"
;
}
// this is a shared function for both If and Else to determine if the
// arguments were valid, and if so, was the response true. If there is
// an error, the errorString will be set.
- static bool IsTrue(const std::vector<std::string> &args,
- std::string &errorString, cmMakefile *mf,
+ static bool IsTrue(const std::vector<std::string> &args,
+ std::string &errorString, cmMakefile *mf,
cmake::MessageType &status);
-
+
// Get a definition from the makefile. If it doesn't exist,
// return the original string.
static const char* GetVariableOrString(const char* str,
const cmMakefile* mf);
-
+
cmTypeMacro(cmIfCommand, cmCommand);
};
diff --git a/Source/cmIncludeDirectoryCommand.cxx b/Source/cmIncludeDirectoryCommand.cxx
index 9e6f4b6ef..ba8184989 100644
--- a/Source/cmIncludeDirectoryCommand.cxx
+++ b/Source/cmIncludeDirectoryCommand.cxx
@@ -55,6 +55,11 @@ bool cmIncludeDirectoryCommand
return true;
}
+static bool StartsWithGeneratorExpression(const std::string &input)
+{
+ return input[0] == '$' && input[1] == '<';
+}
+
// do a lot of cleanup on the arguments because this is one place where folks
// sometimes take the output of a program and pass it directly into this
// command not thinking that a single argument could be filled with spaces
@@ -67,8 +72,8 @@ bool cmIncludeDirectoryCommand
// output from a program and passing it into a command the cleanup doesn't
// always happen
//
-void cmIncludeDirectoryCommand::AddDirectory(const char *i,
- bool before,
+void cmIncludeDirectoryCommand::AddDirectory(const char *i,
+ bool before,
bool system)
{
// break apart any line feed arguments
@@ -91,7 +96,7 @@ void cmIncludeDirectoryCommand::AddDirectory(const char *i,
// remove any leading or trailing spaces and \r
std::string::size_type b = ret.find_first_not_of(" \r");
std::string::size_type e = ret.find_last_not_of(" \r");
- if ((b!=ret.npos) && (e!=ret.npos))
+ if ((b!=ret.npos) && (e!=ret.npos))
{
ret.assign(ret, b, 1+e-b); // copy the remaining substring
}
@@ -105,10 +110,13 @@ void cmIncludeDirectoryCommand::AddDirectory(const char *i,
cmSystemTools::ConvertToUnixSlashes(ret);
if(!cmSystemTools::FileIsFullPath(ret.c_str()))
{
- std::string tmp = this->Makefile->GetStartDirectory();
- tmp += "/";
- tmp += ret;
- ret = tmp;
+ if(!StartsWithGeneratorExpression(ret))
+ {
+ std::string tmp = this->Makefile->GetStartDirectory();
+ tmp += "/";
+ tmp += ret;
+ ret = tmp;
+ }
}
}
this->Makefile->AddIncludeDirectory(ret.c_str(), before);
diff --git a/Source/cmIncludeDirectoryCommand.h b/Source/cmIncludeDirectoryCommand.h
index dcc116aa8..6751fc02f 100644
--- a/Source/cmIncludeDirectoryCommand.h
+++ b/Source/cmIncludeDirectoryCommand.h
@@ -26,7 +26,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmIncludeDirectoryCommand;
}
@@ -50,7 +50,7 @@ public:
{
return "Add include directories to the build.";
}
-
+
/**
* More documentation.
*/
@@ -76,7 +76,7 @@ public:
"directories are meant as system include directories on some "
"platforms.";
}
-
+
cmTypeMacro(cmIncludeDirectoryCommand, cmCommand);
protected:
diff --git a/Source/cmIncludeExternalMSProjectCommand.cxx b/Source/cmIncludeExternalMSProjectCommand.cxx
index d219c169a..d40d8fe72 100644
--- a/Source/cmIncludeExternalMSProjectCommand.cxx
+++ b/Source/cmIncludeExternalMSProjectCommand.cxx
@@ -15,7 +15,7 @@
bool cmIncludeExternalMSProjectCommand
::InitialPass(std::vector<std::string> const& args, cmExecutionStatus &)
{
- if(args.size() < 2)
+ if(args.size() < 2)
{
this->SetError("INCLUDE_EXTERNAL_MSPROJECT called with incorrect "
"number of arguments");
@@ -77,7 +77,7 @@ bool cmIncludeExternalMSProjectCommand
}
// Create a target instance for this utility.
- cmTarget* target=this->Makefile->AddNewTarget(cmTarget::UTILITY,
+ cmTarget* target=this->Makefile->AddNewTarget(cmTarget::UTILITY,
utility_name.c_str());
target->SetProperty("GENERATOR_FILE_NAME", utility_name.c_str());
diff --git a/Source/cmIncludeExternalMSProjectCommand.h b/Source/cmIncludeExternalMSProjectCommand.h
index 2b2ed0d15..d5cec01eb 100644
--- a/Source/cmIncludeExternalMSProjectCommand.h
+++ b/Source/cmIncludeExternalMSProjectCommand.h
@@ -27,7 +27,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmIncludeExternalMSProjectCommand;
}
@@ -38,7 +38,7 @@ public:
*/
virtual bool InitialPass(std::vector<std::string> const& args,
cmExecutionStatus &status);
-
+
/**
* The name of the command as specified in CMakeList.txt.
*/
@@ -51,7 +51,7 @@ public:
{
return "Include an external Microsoft project file in a workspace.";
}
-
+
/**
* More documentation.
*/
@@ -75,7 +75,7 @@ public:
"(e.g. WIX projects). "
"These options are not supported by the Visual Studio 6 generator.";
}
-
+
cmTypeMacro(cmIncludeExternalMSProjectCommand, cmCommand);
};
diff --git a/Source/cmIncludeRegularExpressionCommand.cxx b/Source/cmIncludeRegularExpressionCommand.cxx
index b0d8325d3..ef6e8c6ae 100644
--- a/Source/cmIncludeRegularExpressionCommand.cxx
+++ b/Source/cmIncludeRegularExpressionCommand.cxx
@@ -21,12 +21,12 @@ bool cmIncludeRegularExpressionCommand
return false;
}
this->Makefile->SetIncludeRegularExpression(args[0].c_str());
-
+
if(args.size() > 1)
{
this->Makefile->SetComplainRegularExpression(args[1].c_str());
}
-
+
return true;
}
diff --git a/Source/cmIncludeRegularExpressionCommand.h b/Source/cmIncludeRegularExpressionCommand.h
index 7c633c0a3..2e4177548 100644
--- a/Source/cmIncludeRegularExpressionCommand.h
+++ b/Source/cmIncludeRegularExpressionCommand.h
@@ -26,7 +26,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmIncludeRegularExpressionCommand;
}
@@ -37,7 +37,7 @@ public:
*/
virtual bool InitialPass(std::vector<std::string> const& args,
cmExecutionStatus &status);
-
+
/**
* The name of the command as specified in CMakeList.txt.
*/
@@ -50,7 +50,7 @@ public:
{
return "Set the regular expression used for dependency checking.";
}
-
+
/**
* More documentation.
*/
@@ -66,7 +66,7 @@ public:
" regex_match = \"^.*$\" (match everything)\n"
" regex_complain = \"^$\" (match empty string only)";
}
-
+
cmTypeMacro(cmIncludeRegularExpressionCommand, cmCommand);
};
diff --git a/Source/cmInstallCommand.cxx b/Source/cmInstallCommand.cxx
index 401673460..dcd418b45 100644
--- a/Source/cmInstallCommand.cxx
+++ b/Source/cmInstallCommand.cxx
@@ -17,6 +17,8 @@
#include "cmInstallTargetGenerator.h"
#include "cmInstallExportGenerator.h"
#include "cmInstallCommandArguments.h"
+#include "cmTargetExport.h"
+#include "cmExportSet.h"
#include <cmsys/Glob.hxx>
@@ -735,11 +737,16 @@ bool cmInstallCommand::HandleTargetsMode(std::vector<std::string> const& args)
// this is not a namelink-only rule.
if(!exports.GetString().empty() && !namelinkOnly)
{
+ cmTargetExport *te = new cmTargetExport;
+ te->Target = &target;
+ te->ArchiveGenerator = archiveGenerator;
+ te->BundleGenerator = bundleGenerator;
+ te->FrameworkGenerator = frameworkGenerator;
+ te->HeaderGenerator = publicHeaderGenerator;
+ te->LibraryGenerator = libraryGenerator;
+ te->RuntimeGenerator = runtimeGenerator;
this->Makefile->GetLocalGenerator()->GetGlobalGenerator()
- ->AddTargetToExports(exports.GetCString(), &target,
- archiveGenerator, runtimeGenerator,
- libraryGenerator, frameworkGenerator,
- bundleGenerator, publicHeaderGenerator);
+ ->GetExportSets()[exports.GetString()]->AddTargetExport(te);
}
}
@@ -1264,7 +1271,9 @@ bool cmInstallCommand::HandleExportMode(std::vector<std::string> const& args)
// Create the export install generator.
cmInstallExportGenerator* exportGenerator =
new cmInstallExportGenerator(
- exp.GetCString(), ica.GetDestination().c_str(),
+ this->Makefile->GetLocalGenerator()
+ ->GetGlobalGenerator()->GetExportSets()[exp.GetString()],
+ ica.GetDestination().c_str(),
ica.GetPermissions().c_str(), ica.GetConfigurations(),
ica.GetComponent().c_str(), fname.c_str(),
name_space.GetCString(), this->Makefile);
diff --git a/Source/cmInstallCommand.h b/Source/cmInstallCommand.h
index 76e622e81..7c060090d 100644
--- a/Source/cmInstallCommand.h
+++ b/Source/cmInstallCommand.h
@@ -70,7 +70,9 @@ public:
"the directory on disk to which a file will be installed. "
"If a full path (with a leading slash or drive letter) is given it "
"is used directly. If a relative path is given it is interpreted "
- "relative to the value of CMAKE_INSTALL_PREFIX.\n"
+ "relative to the value of CMAKE_INSTALL_PREFIX. The prefix can "
+ "be relocated at install time using DESTDIR mechanism explained in the "
+ "CMAKE_INSTALL_PREFIX variable documentation.\n"
"PERMISSIONS arguments specify permissions for installed files. "
"Valid permissions are "
"OWNER_READ, OWNER_WRITE, OWNER_EXECUTE, "
diff --git a/Source/cmInstallExportGenerator.cxx b/Source/cmInstallExportGenerator.cxx
index 28a19d740..0a645a8fa 100644
--- a/Source/cmInstallExportGenerator.cxx
+++ b/Source/cmInstallExportGenerator.cxx
@@ -23,10 +23,11 @@
#include "cmInstallFilesGenerator.h"
#include "cmExportInstallFileGenerator.h"
+#include "cmExportSet.h"
//----------------------------------------------------------------------------
cmInstallExportGenerator::cmInstallExportGenerator(
- const char* name,
+ cmExportSet* exportSet,
const char* destination,
const char* file_permissions,
std::vector<std::string> const& configurations,
@@ -34,13 +35,14 @@ cmInstallExportGenerator::cmInstallExportGenerator(
const char* filename, const char* name_space,
cmMakefile* mf)
:cmInstallGenerator(destination, configurations, component)
- ,Name(name)
+ ,ExportSet(exportSet)
,FilePermissions(file_permissions)
,FileName(filename)
,Namespace(name_space)
,Makefile(mf)
{
this->EFGen = new cmExportInstallFileGenerator(this);
+ exportSet->AddInstallation(this);
}
//----------------------------------------------------------------------------
@@ -113,16 +115,12 @@ void cmInstallExportGenerator::ComputeTempDir()
//----------------------------------------------------------------------------
void cmInstallExportGenerator::GenerateScript(std::ostream& os)
{
- // Get the export set requested.
- ExportSet const* exportSet =
- this->Makefile->GetLocalGenerator()->GetGlobalGenerator()
- ->GetExportSet(this->Name.c_str());
-
// Skip empty sets.
- if(!exportSet)
+ if(ExportSet->GetTargetExports()->empty())
{
cmOStringStream e;
- e << "INSTALL(EXPORT) given unknown export \"" << this->Name << "\"";
+ e << "INSTALL(EXPORT) given unknown export \""
+ << ExportSet->GetName() << "\"";
cmSystemTools::Error(e.str().c_str());
return;
}
@@ -137,8 +135,6 @@ void cmInstallExportGenerator::GenerateScript(std::ostream& os)
this->MainImportFile += this->FileName;
// Generate the import file for this export set.
- this->EFGen->SetName(this->Name.c_str());
- this->EFGen->SetExportSet(exportSet);
this->EFGen->SetExportFile(this->MainImportFile.c_str());
this->EFGen->SetNamespace(this->Namespace.c_str());
if(this->ConfigurationTypes->empty())
diff --git a/Source/cmInstallExportGenerator.h b/Source/cmInstallExportGenerator.h
index 1ff6e38e6..ee92906fe 100644
--- a/Source/cmInstallExportGenerator.h
+++ b/Source/cmInstallExportGenerator.h
@@ -17,8 +17,7 @@
class cmExportInstallFileGenerator;
class cmInstallFilesGenerator;
class cmInstallTargetGenerator;
-class cmTarget;
-class cmTargetExport;
+class cmExportSet;
class cmMakefile;
/** \class cmInstallExportGenerator
@@ -27,24 +26,27 @@ class cmMakefile;
class cmInstallExportGenerator: public cmInstallGenerator
{
public:
- cmInstallExportGenerator(const char* name,
+ cmInstallExportGenerator(cmExportSet* exportSet,
const char* dest, const char* file_permissions,
const std::vector<std::string>& configurations,
const char* component,
const char* filename, const char* name_space,
cmMakefile* mf);
~cmInstallExportGenerator();
-protected:
- typedef std::vector<cmTargetExport*> ExportSet;
+ cmExportSet* GetExportSet() {return this->ExportSet;}
+
+ const std::string& GetNamespace() const { return this->Namespace; }
+
+protected:
virtual void GenerateScript(std::ostream& os);
virtual void GenerateScriptConfigs(std::ostream& os, Indent const& indent);
virtual void GenerateScriptActions(std::ostream& os, Indent const& indent);
- void GenerateImportFile(ExportSet const* exportSet);
- void GenerateImportFile(const char* config, ExportSet const* exportSet);
+ void GenerateImportFile(cmExportSet const* exportSet);
+ void GenerateImportFile(const char* config, cmExportSet const* exportSet);
void ComputeTempDir();
- std::string Name;
+ cmExportSet* ExportSet;
std::string FilePermissions;
std::string FileName;
std::string Namespace;
diff --git a/Source/cmInstallFilesCommand.h b/Source/cmInstallFilesCommand.h
index d3c7ed67f..bb0a6ccaf 100644
--- a/Source/cmInstallFilesCommand.h
+++ b/Source/cmInstallFilesCommand.h
@@ -18,7 +18,7 @@
* \brief Specifies where to install some files
*
* cmInstallFilesCommand specifies the relative path where a list of
- * files should be installed.
+ * files should be installed.
*/
class cmInstallFilesCommand : public cmCommand
{
@@ -26,7 +26,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmInstallFilesCommand;
}
@@ -50,7 +50,7 @@ public:
{
return "Deprecated. Use the install(FILES ) command instead.";
}
-
+
/**
* This is called at the end after all the information
* specified by the command is accumulated. Most commands do
@@ -90,7 +90,7 @@ public:
"The directory <dir> is relative to the installation prefix, which "
"is stored in the variable CMAKE_INSTALL_PREFIX.";
}
-
+
/** This command is kept for compatibility with older CMake versions. */
virtual bool IsDiscouraged() const
{
@@ -102,7 +102,7 @@ public:
protected:
void CreateInstallGenerator() const;
std::string FindInstallSource(const char* name) const;
-
+
private:
std::vector<std::string> FinalArgs;
bool IsFilesForm;
diff --git a/Source/cmInstallProgramsCommand.h b/Source/cmInstallProgramsCommand.h
index 29c84a09f..27a0498e5 100644
--- a/Source/cmInstallProgramsCommand.h
+++ b/Source/cmInstallProgramsCommand.h
@@ -18,7 +18,7 @@
* \brief Specifies where to install some programs
*
* cmInstallProgramsCommand specifies the relative path where a list of
- * programs should be installed.
+ * programs should be installed.
*/
class cmInstallProgramsCommand : public cmCommand
{
@@ -26,7 +26,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmInstallProgramsCommand;
}
@@ -50,7 +50,7 @@ public:
{
return "Deprecated. Use the install(PROGRAMS ) command instead.";
}
-
+
/**
* This is called at the end after all the information
* specified by the command is accumulated. Most commands do
@@ -87,7 +87,7 @@ public:
"The directory <dir> is relative to the installation prefix, which "
"is stored in the variable CMAKE_INSTALL_PREFIX.";
}
-
+
/** This command is kept for compatibility with older CMake versions. */
virtual bool IsDiscouraged() const
{
diff --git a/Source/cmInstallTargetGenerator.cxx b/Source/cmInstallTargetGenerator.cxx
index 5f9b6585e..347ad3ec5 100644
--- a/Source/cmInstallTargetGenerator.cxx
+++ b/Source/cmInstallTargetGenerator.cxx
@@ -16,6 +16,7 @@
#include "cmLocalGenerator.h"
#include "cmMakefile.h"
#include "cmake.h"
+#include "cmGeneratorTarget.h"
#include <assert.h>
@@ -26,7 +27,8 @@ cmInstallTargetGenerator
std::vector<std::string> const& configurations,
const char* component, bool optional):
cmInstallGenerator(dest, configurations, component), Target(&t),
- ImportLibrary(implib), FilePermissions(file_permissions), Optional(optional)
+ ImportLibrary(implib), FilePermissions(file_permissions),
+ Optional(optional), GeneratorTarget(0)
{
this->ActionsPerConfig = true;
this->NamelinkMode = NamelinkModeNone;
@@ -484,6 +486,17 @@ void cmInstallTargetGenerator::PostReplacementTweaks(std::ostream& os,
this->AddStripRule(os, indent, file);
}
+void cmInstallTargetGenerator::CreateGeneratorTarget()
+{
+ if (!this->GeneratorTarget)
+ {
+ this->GeneratorTarget = this->Target->GetMakefile()
+ ->GetLocalGenerator()
+ ->GetGlobalGenerator()
+ ->GetGeneratorTarget(this->Target);
+ }
+}
+
//----------------------------------------------------------------------------
void
cmInstallTargetGenerator
@@ -507,10 +520,13 @@ cmInstallTargetGenerator
return;
}
+ this->CreateGeneratorTarget();
+
// Build a map of build-tree install_name to install-tree install_name for
// shared libraries linked to this target.
std::map<cmStdString, cmStdString> install_name_remap;
- if(cmComputeLinkInformation* cli = this->Target->GetLinkInformation(config))
+ if(cmComputeLinkInformation* cli =
+ this->GeneratorTarget->GetLinkInformation(config))
{
std::set<cmTarget*> const& sharedLibs = cli->GetSharedLibrariesLinked();
for(std::set<cmTarget*>::const_iterator j = sharedLibs.begin();
@@ -608,9 +624,12 @@ cmInstallTargetGenerator
return;
}
+ this->CreateGeneratorTarget();
+
// Get the link information for this target.
// It can provide the RPATH.
- cmComputeLinkInformation* cli = this->Target->GetLinkInformation(config);
+ cmComputeLinkInformation* cli =
+ this->GeneratorTarget->GetLinkInformation(config);
if(!cli)
{
return;
@@ -639,9 +658,12 @@ cmInstallTargetGenerator
return;
}
+ this->CreateGeneratorTarget();
+
// Get the link information for this target.
// It can provide the RPATH.
- cmComputeLinkInformation* cli = this->Target->GetLinkInformation(config);
+ cmComputeLinkInformation* cli =
+ this->GeneratorTarget->GetLinkInformation(config);
if(!cli)
{
return;
diff --git a/Source/cmInstallTargetGenerator.h b/Source/cmInstallTargetGenerator.h
index b48d45661..cab3e9065 100644
--- a/Source/cmInstallTargetGenerator.h
+++ b/Source/cmInstallTargetGenerator.h
@@ -15,6 +15,8 @@
#include "cmInstallGenerator.h"
#include "cmTarget.h"
+class cmGeneratorTarget;
+
/** \class cmInstallTargetGenerator
* \brief Generate target installation rules.
*/
@@ -24,7 +26,7 @@ public:
cmInstallTargetGenerator(
cmTarget& t, const char* dest, bool implib,
const char* file_permissions = "",
- std::vector<std::string> const& configurations
+ std::vector<std::string> const& configurations
= std::vector<std::string>(),
const char* component = "Unspecified",
bool optional = false
@@ -86,17 +88,20 @@ protected:
void AddRPathCheckRule(std::ostream& os, Indent const& indent,
const char* config,
std::string const& toDestDirPath);
-
+
void AddStripRule(std::ostream& os, Indent const& indent,
const std::string& toDestDirPath);
void AddRanlibRule(std::ostream& os, Indent const& indent,
const std::string& toDestDirPath);
+ void CreateGeneratorTarget();
+
cmTarget* Target;
bool ImportLibrary;
std::string FilePermissions;
bool Optional;
NamelinkModeType NamelinkMode;
+ cmGeneratorTarget* GeneratorTarget;
};
#endif
diff --git a/Source/cmInstallTargetsCommand.h b/Source/cmInstallTargetsCommand.h
index e05462faa..c47b38700 100644
--- a/Source/cmInstallTargetsCommand.h
+++ b/Source/cmInstallTargetsCommand.h
@@ -19,7 +19,7 @@
*
* cmInstallTargetsCommand specifies the relative path where a list of
* targets should be installed. The targets can be executables or
- * libraries.
+ * libraries.
*/
class cmInstallTargetsCommand : public cmCommand
{
@@ -27,7 +27,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmInstallTargetsCommand;
}
@@ -51,7 +51,7 @@ public:
{
return "Deprecated. Use the install(TARGETS ) command instead.";
}
-
+
/**
* More documentation.
*/
@@ -67,7 +67,7 @@ public:
"is specified, then on systems with special runtime files "
"(Windows DLL), the files will be copied to that directory.";
}
-
+
/** This command is kept for compatibility with older CMake versions. */
virtual bool IsDiscouraged() const
{
diff --git a/Source/cmLinkDirectoriesCommand.h b/Source/cmLinkDirectoriesCommand.h
index a7cd58340..889118cbc 100644
--- a/Source/cmLinkDirectoriesCommand.h
+++ b/Source/cmLinkDirectoriesCommand.h
@@ -18,8 +18,8 @@
* \brief Define a list of directories containing files to link.
*
* cmLinkDirectoriesCommand is used to specify a list
- * of directories containing files to link into executable(s).
- * Note that the command supports the use of CMake built-in variables
+ * of directories containing files to link into executable(s).
+ * Note that the command supports the use of CMake built-in variables
* such as CMAKE_BINARY_DIR and CMAKE_SOURCE_DIR.
*/
class cmLinkDirectoriesCommand : public cmCommand
@@ -28,7 +28,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmLinkDirectoriesCommand;
}
@@ -52,7 +52,7 @@ public:
{
return "Specify directories in which the linker will look for libraries.";
}
-
+
/**
* More documentation.
*/
@@ -73,7 +73,7 @@ public:
"them."
;
}
-
+
cmTypeMacro(cmLinkDirectoriesCommand, cmCommand);
private:
void AddLinkDir(std::string const& dir);
diff --git a/Source/cmLinkLibrariesCommand.cxx b/Source/cmLinkLibrariesCommand.cxx
index c4458aa6a..2f1db2aa0 100644
--- a/Source/cmLinkLibrariesCommand.cxx
+++ b/Source/cmLinkLibrariesCommand.cxx
@@ -19,7 +19,7 @@ bool cmLinkLibrariesCommand
{
return true;
}
- // add libraries, nothe that there is an optional prefix
+ // add libraries, nothe that there is an optional prefix
// of debug and optimized than can be used
for(std::vector<std::string>::const_iterator i = args.begin();
i != args.end(); ++i)
@@ -50,10 +50,10 @@ bool cmLinkLibrariesCommand
}
else
{
- this->Makefile->AddLinkLibrary(i->c_str());
+ this->Makefile->AddLinkLibrary(i->c_str());
}
}
-
+
return true;
}
diff --git a/Source/cmLinkLibrariesCommand.h b/Source/cmLinkLibrariesCommand.h
index 2c0212cef..c450a1cb9 100644
--- a/Source/cmLinkLibrariesCommand.h
+++ b/Source/cmLinkLibrariesCommand.h
@@ -19,7 +19,7 @@
*
* cmLinkLibrariesCommand is used to specify a list of libraries to link
* into executable(s) or shared objects. The names of the libraries
- * should be those defined by the LIBRARY(library) command(s).
+ * should be those defined by the LIBRARY(library) command(s).
*/
class cmLinkLibrariesCommand : public cmCommand
{
@@ -27,7 +27,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmLinkLibrariesCommand;
}
@@ -51,7 +51,7 @@ public:
{
return "Deprecated. Use the target_link_libraries() command instead.";
}
-
+
/**
* More documentation.
*/
@@ -68,7 +68,7 @@ public:
"the next library listed is to be used only for that specific "
"type of build.";
}
-
+
/** This command is kept for compatibility with older CMake versions. */
virtual bool IsDiscouraged() const
{
diff --git a/Source/cmListCommand.cxx b/Source/cmListCommand.cxx
index 908f3b060..7848424c6 100644
--- a/Source/cmListCommand.cxx
+++ b/Source/cmListCommand.cxx
@@ -98,7 +98,7 @@ bool cmListCommand::GetList(std::vector<std::string>& list, const char* var)
{
return false;
}
- // if the size of the list
+ // if the size of the list
if(listString.size() == 0)
{
return true;
@@ -107,7 +107,7 @@ bool cmListCommand::GetList(std::vector<std::string>& list, const char* var)
cmSystemTools::ExpandListArgument(listString, list, true);
// check the list for empty values
bool hasEmpty = false;
- for(std::vector<std::string>::iterator i = list.begin();
+ for(std::vector<std::string>::iterator i = list.begin();
i != list.end(); ++i)
{
if(i->size() == 0)
@@ -116,7 +116,7 @@ bool cmListCommand::GetList(std::vector<std::string>& list, const char* var)
break;
}
}
- // if no empty elements then just return
+ // if no empty elements then just return
if(!hasEmpty)
{
return true;
@@ -124,7 +124,7 @@ bool cmListCommand::GetList(std::vector<std::string>& list, const char* var)
// if we have empty elements we need to check policy CMP0007
switch(this->Makefile->GetPolicyStatus(cmPolicies::CMP0007))
{
- case cmPolicies::WARN:
+ case cmPolicies::WARN:
{
// Default is to warn and use old behavior
// OLD behavior is to allow compatibility, so recall
@@ -429,6 +429,12 @@ bool cmListCommand
this->SetError("sub-command REVERSE requires a list as an argument.");
return false;
}
+ else if(args.size() > 2)
+ {
+ this->SetError(
+ "sub-command REVERSE only takes one argument.");
+ return false;
+ }
const std::string& listName = args[1];
// expand the variable
@@ -463,6 +469,12 @@ bool cmListCommand
"sub-command REMOVE_DUPLICATES requires a list as an argument.");
return false;
}
+ else if(args.size() > 2)
+ {
+ this->SetError(
+ "sub-command REMOVE_DUPLICATES only takes one argument.");
+ return false;
+ }
const std::string& listName = args[1];
// expand the variable
@@ -506,6 +518,12 @@ bool cmListCommand
this->SetError("sub-command SORT requires a list as an argument.");
return false;
}
+ else if(args.size() > 2)
+ {
+ this->SetError(
+ "sub-command SORT only takes one argument.");
+ return false;
+ }
const std::string& listName = args[1];
// expand the variable
diff --git a/Source/cmListFileCache.cxx b/Source/cmListFileCache.cxx
index 84cb8fd83..36d84f3be 100644
--- a/Source/cmListFileCache.cxx
+++ b/Source/cmListFileCache.cxx
@@ -26,7 +26,7 @@ bool cmListFileCacheParseFunction(cmListFileLexer* lexer,
cmListFileFunction& function,
const char* filename);
-bool cmListFile::ParseFile(const char* filename,
+bool cmListFile::ParseFile(const char* filename,
bool topLevel,
cmMakefile *mf)
{
@@ -47,7 +47,7 @@ bool cmListFile::ParseFile(const char* filename,
if(!cmListFileLexer_SetFileName(lexer, filename))
{
cmListFileLexer_Delete(lexer);
- cmSystemTools::Error("cmListFileCache: error can not open file ",
+ cmSystemTools::Error("cmListFileCache: error can not open file ",
filename);
return false;
}
@@ -119,7 +119,7 @@ bool cmListFile::ParseFile(const char* filename,
{
bool hasVersion = false;
// search for the right policy command
- for(std::vector<cmListFileFunction>::iterator i
+ for(std::vector<cmListFileFunction>::iterator i
= this->Functions.begin();
i != this->Functions.end(); ++i)
{
@@ -129,7 +129,7 @@ bool cmListFile::ParseFile(const char* filename,
break;
}
}
- // if no policy command is found this is an error if they use any
+ // if no policy command is found this is an error if they use any
// non advanced functions or a lot of functions
if(!hasVersion)
{
@@ -152,7 +152,7 @@ bool cmListFile::ParseFile(const char* filename,
allowedCommands.insert("option");
allowedCommands.insert("message");
isProblem = false;
- for(std::vector<cmListFileFunction>::iterator i
+ for(std::vector<cmListFileFunction>::iterator i
= this->Functions.begin();
i != this->Functions.end(); ++i)
{
@@ -161,10 +161,10 @@ bool cmListFile::ParseFile(const char* filename,
{
isProblem = true;
break;
- }
+ }
}
}
-
+
if (isProblem)
{
// Tell the top level cmMakefile to diagnose
@@ -181,7 +181,7 @@ bool cmListFile::ParseFile(const char* filename,
{
bool hasProject = false;
// search for a project command
- for(std::vector<cmListFileFunction>::iterator i
+ for(std::vector<cmListFileFunction>::iterator i
= this->Functions.begin();
i != this->Functions.end(); ++i)
{
@@ -256,7 +256,7 @@ bool cmListFileCacheParseFunction(cmListFileLexer* lexer,
parenDepth--;
cmListFileArgument a(")",
false, filename, token->line);
- function.Arguments.push_back(a);
+ function.Arguments.push_back(a);
}
else if(token->type == cmListFileLexer_Token_Identifier ||
token->type == cmListFileLexer_Token_ArgumentUnquoted)
@@ -276,7 +276,7 @@ bool cmListFileCacheParseFunction(cmListFileLexer* lexer,
// Error.
cmOStringStream error;
error << "Error in cmake code at\n"
- << filename << ":" << cmListFileLexer_GetCurrentLine(lexer)
+ << filename << ":" << cmListFileLexer_GetCurrentLine(lexer)
<< ":\n"
<< "Parse error. Function missing ending \")\". "
<< "Instead found "
diff --git a/Source/cmListFileCache.h b/Source/cmListFileCache.h
index ec5886dbd..c057754a3 100644
--- a/Source/cmListFileCache.h
+++ b/Source/cmListFileCache.h
@@ -22,7 +22,7 @@
*/
class cmMakefile;
-
+
struct cmListFileArgument
{
cmListFileArgument(): Value(), Quoted(false), FilePath(0), Line(0) {}
@@ -64,11 +64,11 @@ class cmListFileBacktrace: public std::vector<cmListFileContext> {};
struct cmListFile
{
- cmListFile()
- :ModifiedTime(0)
+ cmListFile()
+ :ModifiedTime(0)
{
}
- bool ParseFile(const char* path,
+ bool ParseFile(const char* path,
bool topLevel,
cmMakefile *mf);
diff --git a/Source/cmListFileLexer.c b/Source/cmListFileLexer.c
index df5dc2b65..b6424d60e 100644
--- a/Source/cmListFileLexer.c
+++ b/Source/cmListFileLexer.c
@@ -43,7 +43,7 @@ typedef uint32_t flex_uint32_t;
typedef signed char flex_int8_t;
typedef short int flex_int16_t;
typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t;
+typedef unsigned char flex_uint8_t;
typedef unsigned short int flex_uint16_t;
typedef unsigned int flex_uint32_t;
#endif /* ! C99 */
@@ -165,7 +165,7 @@ typedef struct yy_buffer_state *YY_BUFFER_STATE;
/* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
* access to the local variable yy_act. Since yyless() is a macro, it would break
- * existing scanners that call yyless() from OUTSIDE cmListFileLexer_yylex.
+ * existing scanners that call yyless() from OUTSIDE cmListFileLexer_yylex.
* One obvious solution it to make yy_act a global. I tried that, and saw
* a 5% performance hit in a non-yylineno scanner, because yy_act is
* normally declared as a register variable-- so it is not worth it.
@@ -177,7 +177,7 @@ typedef struct yy_buffer_state *YY_BUFFER_STATE;
if ( yytext[yyl] == '\n' )\
--yylineno;\
}while(0)
-
+
/* Return all but the first "n" matched characters back to the input stream. */
#define yyless(n) \
do \
@@ -242,7 +242,7 @@ struct yy_buffer_state
int yy_bs_lineno; /**< The line count. */
int yy_bs_column; /**< The column count. */
-
+
/* Whether to try to fill the input buffer when we reach the
* end of it.
*/
@@ -834,7 +834,7 @@ yy_find_action:
int yyl;
for ( yyl = 0; yyl < yyleng; ++yyl )
if ( yytext[yyl] == '\n' )
-
+
do{ yylineno++;
yycolumn=0;
}while(0)
@@ -1380,7 +1380,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
yyg->yy_hold_char = *++yyg->yy_c_buf_p;
if ( c == '\n' )
-
+
do{ yylineno++;
yycolumn=0;
}while(0)
@@ -1463,7 +1463,7 @@ static void cmListFileLexer_yy_load_buffer_state (yyscan_t yyscanner)
YY_BUFFER_STATE cmListFileLexer_yy_create_buffer (FILE * file, int size , yyscan_t yyscanner)
{
YY_BUFFER_STATE b;
-
+
b = (YY_BUFFER_STATE) cmListFileLexer_yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
if ( ! b )
YY_FATAL_ERROR( "out of dynamic memory in cmListFileLexer_yy_create_buffer()" );
@@ -1529,7 +1529,7 @@ static void cmListFileLexer_yy_load_buffer_state (yyscan_t yyscanner)
}
b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
-
+
errno = oerrno;
}
@@ -1633,9 +1633,9 @@ static void cmListFileLexer_yyensure_buffer_stack (yyscan_t yyscanner)
yyg->yy_buffer_stack = (struct yy_buffer_state**)cmListFileLexer_yyalloc
(num_to_alloc * sizeof(struct yy_buffer_state*)
, yyscanner);
-
+
memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-
+
yyg->yy_buffer_stack_max = num_to_alloc;
yyg->yy_buffer_stack_top = 0;
return;
@@ -1662,12 +1662,12 @@ static void cmListFileLexer_yyensure_buffer_stack (yyscan_t yyscanner)
* @param base the character buffer
* @param size the size in bytes of the character buffer
* @param yyscanner The scanner object.
- * @return the newly allocated buffer state object.
+ * @return the newly allocated buffer state object.
*/
YY_BUFFER_STATE cmListFileLexer_yy_scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner)
{
YY_BUFFER_STATE b;
-
+
if ( size < 2 ||
base[size-2] != YY_END_OF_BUFFER_CHAR ||
base[size-1] != YY_END_OF_BUFFER_CHAR )
@@ -1703,7 +1703,7 @@ YY_BUFFER_STATE cmListFileLexer_yy_scan_buffer (char * base, yy_size_t size ,
*/
YY_BUFFER_STATE cmListFileLexer_yy_scan_string (yyconst char * yy_str , yyscan_t yyscanner)
{
-
+
return cmListFileLexer_yy_scan_bytes(yy_str,strlen(yy_str) ,yyscanner);
}
@@ -1720,7 +1720,7 @@ YY_BUFFER_STATE cmListFileLexer_yy_scan_bytes (yyconst char * bytes, int len ,
char *buf;
yy_size_t n;
int i;
-
+
/* Get memory for full buffer, including space for trailing EOB's. */
n = len + 2;
buf = (char *) cmListFileLexer_yyalloc(n ,yyscanner );
@@ -1789,10 +1789,10 @@ YY_EXTRA_TYPE cmListFileLexer_yyget_extra (yyscan_t yyscanner)
int cmListFileLexer_yyget_lineno (yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-
+
if (! YY_CURRENT_BUFFER)
return 0;
-
+
return yylineno;
}
@@ -1802,10 +1802,10 @@ int cmListFileLexer_yyget_lineno (yyscan_t yyscanner)
int cmListFileLexer_yyget_column (yyscan_t yyscanner)
{
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
-
+
if (! YY_CURRENT_BUFFER)
return 0;
-
+
return yycolumn;
}
@@ -1866,8 +1866,8 @@ void cmListFileLexer_yyset_lineno (int line_number , yyscan_t yyscanner)
/* lineno is only valid if an input buffer exists. */
if (! YY_CURRENT_BUFFER )
- yy_fatal_error( "cmListFileLexer_yyset_lineno called with no buffer" , yyscanner);
-
+ yy_fatal_error( "cmListFileLexer_yyset_lineno called with no buffer" , yyscanner);
+
yylineno = line_number;
}
@@ -1881,8 +1881,8 @@ void cmListFileLexer_yyset_column (int column_no , yyscan_t yyscanner)
/* column is only valid if an input buffer exists. */
if (! YY_CURRENT_BUFFER )
- yy_fatal_error( "cmListFileLexer_yyset_column called with no buffer" , yyscanner);
-
+ yy_fatal_error( "cmListFileLexer_yyset_column called with no buffer" , yyscanner);
+
yycolumn = column_no;
}
diff --git a/Source/cmLoadCacheCommand.cxx b/Source/cmLoadCacheCommand.cxx
index a239e55bf..462e086ef 100644
--- a/Source/cmLoadCacheCommand.cxx
+++ b/Source/cmLoadCacheCommand.cxx
@@ -26,7 +26,7 @@ bool cmLoadCacheCommand
{
return this->ReadWithPrefix(args);
}
-
+
// Cache entries to be excluded from the import list.
// If this set is empty, all cache entries are brought in
// and they can not be overridden.
@@ -97,7 +97,7 @@ bool cmLoadCacheCommand::ReadWithPrefix(std::vector<std::string> const& args)
this->SetError("READ_WITH_PREFIX form must specify a prefix.");
return false;
}
-
+
// Make sure the cache file exists.
std::string cacheFile = args[0]+"/CMakeCache.txt";
if(!cmSystemTools::FileExists(cacheFile.c_str()))
@@ -106,22 +106,22 @@ bool cmLoadCacheCommand::ReadWithPrefix(std::vector<std::string> const& args)
this->SetError(e.c_str());
return false;
}
-
+
// Prepare the table of variables to read.
this->Prefix = args[2];
for(unsigned int i=3; i < args.size(); ++i)
{
this->VariablesToRead.insert(args[i]);
}
-
+
// Read the cache file.
- std::ifstream fin(cacheFile.c_str());
-
+ std::ifstream fin(cacheFile.c_str());
+
// This is a big hack read loop to overcome a buggy ifstream
// implementation on HP-UX. This should work on all platforms even
// for small buffer sizes.
const int bufferSize = 4096;
- char buffer[bufferSize];
+ char buffer[bufferSize];
std::string line;
while(fin)
{
@@ -152,7 +152,7 @@ bool cmLoadCacheCommand::ReadWithPrefix(std::vector<std::string> const& args)
// Completed a line.
this->CheckLine(line.c_str());
line = "";
-
+
// Skip the newline character.
++i;
}
@@ -164,7 +164,7 @@ bool cmLoadCacheCommand::ReadWithPrefix(std::vector<std::string> const& args)
// Partial last line.
this->CheckLine(line.c_str());
}
-
+
return true;
}
diff --git a/Source/cmLoadCacheCommand.h b/Source/cmLoadCacheCommand.h
index ac50f8d39..f55cbb3c1 100644
--- a/Source/cmLoadCacheCommand.h
+++ b/Source/cmLoadCacheCommand.h
@@ -25,7 +25,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmLoadCacheCommand;
}
@@ -49,7 +49,7 @@ public:
{
return "Load in the values from another project's CMake cache.";
}
-
+
/**
* More documentation.
*/
@@ -74,13 +74,13 @@ public:
"of this form of the command is strongly discouraged, but it is "
"provided for backward compatibility.";
}
-
+
cmTypeMacro(cmLoadCacheCommand, cmCommand);
protected:
-
+
std::set<cmStdString> VariablesToRead;
std::string Prefix;
-
+
bool ReadWithPrefix(std::vector<std::string> const& args);
void CheckLine(const char* line);
};
diff --git a/Source/cmLoadCommandCommand.cxx b/Source/cmLoadCommandCommand.cxx
index 3a0115c96..b2acf06ad 100644
--- a/Source/cmLoadCommandCommand.cxx
+++ b/Source/cmLoadCommandCommand.cxx
@@ -25,23 +25,23 @@
#include <signal.h>
extern "C" void TrapsForSignalsCFunction(int sig);
-
+
// a class for loadabple commands
class cmLoadedCommand : public cmCommand
{
public:
cmLoadedCommand() {
- memset(&this->info,0,sizeof(this->info));
+ memset(&this->info,0,sizeof(this->info));
this->info.CAPI = &cmStaticCAPI;
}
-
+
///! clean up any memory allocated by the plugin
~cmLoadedCommand();
-
+
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
cmLoadedCommand *newC = new cmLoadedCommand;
// we must copy when we clone
@@ -53,7 +53,7 @@ public:
* This is called when the command is first encountered in
* the CMakeLists.txt file.
*/
- virtual bool InitialPass(std::vector<std::string> const& args,
+ virtual bool InitialPass(std::vector<std::string> const& args,
cmExecutionStatus &);
/**
@@ -70,7 +70,7 @@ public:
* The name of the command as specified in CMakeList.txt.
*/
virtual const char* GetName() const { return info.Name; }
-
+
/**
* Succinct documentation.
*/
@@ -79,7 +79,7 @@ public:
if (this->info.GetTerseDocumentation)
{
cmLoadedCommand::InstallSignalHandlers(info.Name);
- const char* ret = info.GetTerseDocumentation();
+ const char* ret = info.GetTerseDocumentation();
cmLoadedCommand::InstallSignalHandlers(info.Name, 1);
return ret;
}
@@ -101,7 +101,7 @@ public:
{
cmLoadedCommand::LastName = "????";
}
-
+
if(!remove)
{
signal(SIGSEGV, TrapsForSignalsCFunction);
@@ -119,7 +119,7 @@ public:
signal(SIGILL, 0);
}
}
-
+
/**
* More documentation.
*/
@@ -137,7 +137,7 @@ public:
return "LoadedCommand without any additional documentation";
}
}
-
+
cmTypeMacro(cmLoadedCommand, cmCommand);
cmLoadedCommandInfo info;
@@ -164,7 +164,7 @@ bool cmLoadedCommand::InitialPass(std::vector<std::string> const& args,
{
free(this->info.Error);
}
-
+
// create argc and argv and then invoke the command
int argc = static_cast<int> (args.size());
char **argv = 0;
@@ -179,10 +179,10 @@ bool cmLoadedCommand::InitialPass(std::vector<std::string> const& args,
}
cmLoadedCommand::InstallSignalHandlers(info.Name);
int result = info.InitialPass((void *)&info,
- (void *)this->Makefile,argc,argv);
+ (void *)this->Makefile,argc,argv);
cmLoadedCommand::InstallSignalHandlers(info.Name, 1);
cmFreeArguments(argc,argv);
-
+
if (result)
{
return true;
@@ -249,7 +249,7 @@ bool cmLoadCommandCommand
// expand variables
std::string exp = args[j];
cmSystemTools::ExpandRegistryValues(exp);
-
+
// Glob the entry in case of wildcards.
cmSystemTools::GlobDirs(exp.c_str(), path);
}
@@ -298,7 +298,7 @@ bool cmLoadCommandCommand
initFunction = (CM_INIT_FUNCTION)(
cmsys::DynamicLoader::GetSymbolAddress(lib, initFuncName.c_str()));
}
- // if the symbol is found call it to set the name on the
+ // if the symbol is found call it to set the name on the
// function blocker
if(initFunction)
{
diff --git a/Source/cmLoadCommandCommand.h b/Source/cmLoadCommandCommand.h
index 651701948..f0b34ee59 100644
--- a/Source/cmLoadCommandCommand.h
+++ b/Source/cmLoadCommandCommand.h
@@ -25,7 +25,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmLoadCommandCommand;
}
@@ -41,7 +41,7 @@ public:
* The name of the command as specified in CMakeList.txt.
*/
virtual const char* GetName() const {return "load_command";}
-
+
/**
* Succinct documentation.
*/
@@ -49,7 +49,7 @@ public:
{
return "Load a command into a running CMake.";
}
-
+
/**
* More documentation.
*/
@@ -66,7 +66,7 @@ public:
"will be set to the full path of the module that was loaded. "
"Otherwise the variable will not be set.";
}
-
+
cmTypeMacro(cmLoadCommandCommand, cmCommand);
};
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index 0cfb36bc3..4952a8ce9 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -554,9 +554,9 @@ void cmLocalGenerator::GenerateTargetManifest()
}
void cmLocalGenerator::AddCustomCommandToCreateObject(const char* ofname,
- const char* lang,
- cmSourceFile& source,
- cmTarget& target)
+ const char* lang,
+ cmSourceFile& source,
+ cmGeneratorTarget& target)
{
std::string objectDir = cmSystemTools::GetFilenamePath(std::string(ofname));
objectDir = this->Convert(objectDir.c_str(),START_OUTPUT,SHELL);
@@ -635,7 +635,8 @@ void cmLocalGenerator::AddCustomCommandToCreateObject(const char* ofname,
);
}
-void cmLocalGenerator::AddBuildTargetRule(const char* llang, cmTarget& target)
+void cmLocalGenerator::AddBuildTargetRule(const char* llang,
+ cmGeneratorTarget& target)
{
cmStdString objs;
std::vector<std::string> objVector;
@@ -669,15 +670,19 @@ void cmLocalGenerator::AddBuildTargetRule(const char* llang, cmTarget& target)
std::string createRule = "CMAKE_";
createRule += llang;
createRule += target.GetCreateRuleVariable();
- std::string targetName = target.GetFullName();
+ std::string targetName = target.Target->GetFullName();
// Executable :
// Shared Library:
// Static Library:
// Shared Module:
std::string linkLibs; // should be set
+ std::string frameworkPath;
+ std::string linkPath;
std::string flags; // should be set
std::string linkFlags; // should be set
- this->GetTargetFlags(linkLibs, flags, linkFlags, target);
+ this->GetTargetFlags(linkLibs, frameworkPath, linkPath, flags, linkFlags,
+ &target);
+ linkLibs = frameworkPath + linkPath + linkLibs;
cmLocalGenerator::RuleVariables vars;
vars.Language = llang;
vars.Objects = objs.c_str();
@@ -714,7 +719,7 @@ void cmLocalGenerator::AddBuildTargetRule(const char* llang, cmTarget& target)
// Store this command line.
commandLines.push_back(commandLine);
}
- std::string targetFullPath = target.GetFullPath();
+ std::string targetFullPath = target.Target->GetFullPath();
// Generate a meaningful comment for the command.
std::string comment = "Linking ";
comment += llang;
@@ -728,7 +733,7 @@ void cmLocalGenerator::AddBuildTargetRule(const char* llang, cmTarget& target)
comment.c_str(),
this->Makefile->GetStartOutputDirectory()
);
- target.AddSourceFile
+ target.Target->AddSourceFile
(this->Makefile->GetSource(targetFullPath.c_str()));
}
@@ -736,11 +741,15 @@ void cmLocalGenerator::AddBuildTargetRule(const char* llang, cmTarget& target)
void cmLocalGenerator
::CreateCustomTargetsAndCommands(std::set<cmStdString> const& lang)
{
- cmTargets &tgts = this->Makefile->GetTargets();
- for(cmTargets::iterator l = tgts.begin();
+ cmGeneratorTargetsType tgts = this->Makefile->GetGeneratorTargets();
+ for(cmGeneratorTargetsType::iterator l = tgts.begin();
l != tgts.end(); l++)
{
- cmTarget& target = l->second;
+ if (l->first->IsImported())
+ {
+ continue;
+ }
+ cmGeneratorTarget& target = *l->second;
switch(target.GetType())
{
case cmTarget::STATIC_LIBRARY:
@@ -748,12 +757,12 @@ void cmLocalGenerator
case cmTarget::MODULE_LIBRARY:
case cmTarget::EXECUTABLE:
{
- const char* llang = target.GetLinkerLanguage();
+ const char* llang = target.Target->GetLinkerLanguage();
if(!llang)
{
cmSystemTools::Error
("CMake can not determine linker language for target:",
- target.GetName());
+ target.Target->GetName());
return;
}
// if the language is not in the set lang then create custom
@@ -1318,8 +1327,9 @@ std::string cmLocalGenerator::GetIncludeFlags(
//----------------------------------------------------------------------------
void cmLocalGenerator::GetIncludeDirectories(std::vector<std::string>& dirs,
- cmTarget* target,
- const char* lang)
+ cmGeneratorTarget* target,
+ const char* lang,
+ const char *config)
{
// Need to decide whether to automatically include the source and
// binary directories at the beginning of the include path.
@@ -1389,6 +1399,11 @@ void cmLocalGenerator::GetIncludeDirectories(std::vector<std::string>& dirs,
}
}
+ if(!target)
+ {
+ return;
+ }
+
// Load implicit include directories for this language.
std::string impDirVar = "CMAKE_";
impDirVar += lang;
@@ -1406,10 +1421,8 @@ void cmLocalGenerator::GetIncludeDirectories(std::vector<std::string>& dirs,
// Get the target-specific include directories.
std::vector<std::string> includes;
- if(target)
- {
- includes = target->GetIncludeDirectories();
- }
+
+ includes = target->GetIncludeDirectories(config);
// Support putting all the in-project include directories first if
// it is requested by the project.
@@ -1449,7 +1462,9 @@ void cmLocalGenerator::GetIncludeDirectories(std::vector<std::string>& dirs,
void cmLocalGenerator::GetTargetFlags(std::string& linkLibs,
std::string& flags,
std::string& linkFlags,
- cmTarget& target)
+ std::string& frameworkPath,
+ std::string& linkPath,
+ cmGeneratorTarget* target)
{
std::string buildType =
this->Makefile->GetSafeDefinition("CMAKE_BUILD_TYPE");
@@ -1457,12 +1472,12 @@ void cmLocalGenerator::GetTargetFlags(std::string& linkLibs,
const char* libraryLinkVariable =
"CMAKE_SHARED_LINKER_FLAGS"; // default to shared library
- switch(target.GetType())
+ switch(target->GetType())
{
case cmTarget::STATIC_LIBRARY:
{
const char* targetLinkFlags =
- target.GetProperty("STATIC_LIBRARY_FLAGS");
+ target->GetProperty("STATIC_LIBRARY_FLAGS");
if(targetLinkFlags)
{
linkFlags += targetLinkFlags;
@@ -1472,7 +1487,7 @@ void cmLocalGenerator::GetTargetFlags(std::string& linkLibs,
{
std::string build = "STATIC_LIBRARY_FLAGS_";
build += buildType;
- targetLinkFlags = target.GetProperty(build.c_str());
+ targetLinkFlags = target->GetProperty(build.c_str());
if(targetLinkFlags)
{
linkFlags += targetLinkFlags;
@@ -1498,7 +1513,7 @@ void cmLocalGenerator::GetTargetFlags(std::string& linkLibs,
if(this->Makefile->IsOn("WIN32") &&
!(this->Makefile->IsOn("CYGWIN") || this->Makefile->IsOn("MINGW")))
{
- const std::vector<cmSourceFile*>& sources = target.GetSourceFiles();
+ const std::vector<cmSourceFile*>& sources = target->GetSourceFiles();
for(std::vector<cmSourceFile*>::const_iterator i = sources.begin();
i != sources.end(); ++i)
{
@@ -1513,7 +1528,7 @@ void cmLocalGenerator::GetTargetFlags(std::string& linkLibs,
}
}
}
- const char* targetLinkFlags = target.GetProperty("LINK_FLAGS");
+ const char* targetLinkFlags = target->GetProperty("LINK_FLAGS");
if(targetLinkFlags)
{
linkFlags += targetLinkFlags;
@@ -1523,16 +1538,15 @@ void cmLocalGenerator::GetTargetFlags(std::string& linkLibs,
{
std::string configLinkFlags = "LINK_FLAGS_";
configLinkFlags += buildType;
- targetLinkFlags = target.GetProperty(configLinkFlags.c_str());
+ targetLinkFlags = target->GetProperty(configLinkFlags.c_str());
if(targetLinkFlags)
{
linkFlags += targetLinkFlags;
linkFlags += " ";
}
}
- cmOStringStream linklibsStr;
- this->OutputLinkLibraries(linklibsStr, target, false);
- linkLibs = linklibsStr.str();
+ this->OutputLinkLibraries(linkLibs, frameworkPath, linkPath,
+ *target, false);
}
break;
case cmTarget::EXECUTABLE:
@@ -1547,18 +1561,17 @@ void cmLocalGenerator::GetTargetFlags(std::string& linkLibs,
linkFlags += this->Makefile->GetSafeDefinition(build.c_str());
linkFlags += " ";
}
- const char* linkLanguage = target.GetLinkerLanguage();
+ const char* linkLanguage = target->Target->GetLinkerLanguage();
if(!linkLanguage)
{
cmSystemTools::Error
("CMake can not determine linker language for target:",
- target.GetName());
+ target->Target->GetName());
return;
}
this->AddLanguageFlags(flags, linkLanguage, buildType.c_str());
- cmOStringStream linklibs;
- this->OutputLinkLibraries(linklibs, target, false);
- linkLibs = linklibs.str();
+ this->OutputLinkLibraries(linkLibs, frameworkPath, linkPath,
+ *target, false);
if(cmSystemTools::IsOn
(this->Makefile->GetDefinition("BUILD_SHARED_LIBS")))
{
@@ -1567,7 +1580,7 @@ void cmLocalGenerator::GetTargetFlags(std::string& linkLibs,
linkFlags += this->Makefile->GetSafeDefinition(sFlagVar.c_str());
linkFlags += " ";
}
- if ( target.GetPropertyAsBool("WIN32_EXECUTABLE") )
+ if ( target->GetPropertyAsBool("WIN32_EXECUTABLE") )
{
linkFlags +=
this->Makefile->GetSafeDefinition("CMAKE_CREATE_WIN32_EXE");
@@ -1579,7 +1592,7 @@ void cmLocalGenerator::GetTargetFlags(std::string& linkLibs,
this->Makefile->GetSafeDefinition("CMAKE_CREATE_CONSOLE_EXE");
linkFlags += " ";
}
- if (target.IsExecutableWithExports())
+ if (target->Target->IsExecutableWithExports())
{
std::string exportFlagVar = "CMAKE_EXE_EXPORTS_";
exportFlagVar += linkLanguage;
@@ -1589,7 +1602,7 @@ void cmLocalGenerator::GetTargetFlags(std::string& linkLibs,
this->Makefile->GetSafeDefinition(exportFlagVar.c_str());
linkFlags += " ";
}
- const char* targetLinkFlags = target.GetProperty("LINK_FLAGS");
+ const char* targetLinkFlags = target->GetProperty("LINK_FLAGS");
if(targetLinkFlags)
{
linkFlags += targetLinkFlags;
@@ -1599,7 +1612,7 @@ void cmLocalGenerator::GetTargetFlags(std::string& linkLibs,
{
std::string configLinkFlags = "LINK_FLAGS_";
configLinkFlags += buildType;
- targetLinkFlags = target.GetProperty(configLinkFlags.c_str());
+ targetLinkFlags = target->GetProperty(configLinkFlags.c_str());
if(targetLinkFlags)
{
linkFlags += targetLinkFlags;
@@ -1650,10 +1663,13 @@ std::string cmLocalGenerator::ConvertToLinkReference(std::string const& lib)
* targetLibrary should be a NULL pointer. For libraries, it should point
* to the name of the library. This will not link a library against itself.
*/
-void cmLocalGenerator::OutputLinkLibraries(std::ostream& fout,
- cmTarget& tgt,
+void cmLocalGenerator::OutputLinkLibraries(std::string& linkLibraries,
+ std::string& frameworkPath,
+ std::string& linkPath,
+ cmGeneratorTarget &tgt,
bool relink)
{
+ cmOStringStream fout;
const char* config = this->Makefile->GetDefinition("CMAKE_BUILD_TYPE");
cmComputeLinkInformation* pcli = tgt.GetLinkInformation(config);
if(!pcli)
@@ -1687,9 +1703,9 @@ void cmLocalGenerator::OutputLinkLibraries(std::ostream& fout,
for(std::vector<std::string>::const_iterator fdi = fwDirs.begin();
fdi != fwDirs.end(); ++fdi)
{
- linkLibs += "-F";
- linkLibs += this->Convert(fdi->c_str(), NONE, SHELL, false);
- linkLibs += " ";
+ frameworkPath = " -F";
+ frameworkPath += this->Convert(fdi->c_str(), NONE, SHELL, false);
+ frameworkPath += " ";
}
// Append the library search path flags.
@@ -1698,10 +1714,10 @@ void cmLocalGenerator::OutputLinkLibraries(std::ostream& fout,
libDir != libDirs.end(); ++libDir)
{
std::string libpath = this->ConvertToOutputForExisting(libDir->c_str());
- linkLibs += libPathFlag;
- linkLibs += libpath;
- linkLibs += libPathTerminator;
- linkLibs += " ";
+ linkPath += " " + libPathFlag;
+ linkPath += libpath;
+ linkPath += libPathTerminator;
+ linkPath += " ";
}
// Append the link items.
@@ -1773,12 +1789,14 @@ void cmLocalGenerator::OutputLinkLibraries(std::ostream& fout,
{
fout << stdLibs << " ";
}
+
+ linkLibraries = fout.str();
}
//----------------------------------------------------------------------------
void cmLocalGenerator::AddArchitectureFlags(std::string& flags,
- cmTarget* target,
+ cmGeneratorTarget* target,
const char *lang,
const char* config)
{
@@ -1792,46 +1810,34 @@ void cmLocalGenerator::AddArchitectureFlags(std::string& flags,
{
std::vector<std::string> archs;
target->GetAppleArchs(config, archs);
- const char* sysroot =
- this->Makefile->GetDefinition("CMAKE_OSX_SYSROOT");
- const char* sysrootDefault =
- this->Makefile->GetDefinition("CMAKE_OSX_SYSROOT_DEFAULT");
+ const char* sysroot = this->Makefile->GetDefinition("CMAKE_OSX_SYSROOT");
+ if(sysroot && sysroot[0] == '/' && !sysroot[1])
+ { sysroot = 0; }
+ std::string sysrootFlagVar =
+ std::string("CMAKE_") + lang + "_SYSROOT_FLAG";
+ const char* sysrootFlag =
+ this->Makefile->GetDefinition(sysrootFlagVar.c_str());
const char* deploymentTarget =
this->Makefile->GetDefinition("CMAKE_OSX_DEPLOYMENT_TARGET");
- std::string isysrootVar = std::string("CMAKE_") + lang + "_HAS_ISYSROOT";
- bool hasIsysroot = this->Makefile->IsOn(isysrootVar.c_str());
std::string deploymentTargetFlagVar =
std::string("CMAKE_") + lang + "_OSX_DEPLOYMENT_TARGET_FLAG";
const char* deploymentTargetFlag =
this->Makefile->GetDefinition(deploymentTargetFlagVar.c_str());
- bool flagsUsed = false;
- if(!archs.empty() && sysroot && lang && (lang[0] =='C' || lang[0] == 'F'))
- {
- // if there is more than one arch add the -arch and
- // -isysroot flags, or if there is one arch flag, but
- // it is not the default -arch flag for the system, then
- // add it. Otherwize do not add -arch and -isysroot
- if(archs[0] != "")
+ if(!archs.empty() && lang && (lang[0] =='C' || lang[0] == 'F'))
+ {
+ for(std::vector<std::string>::iterator i = archs.begin();
+ i != archs.end(); ++i)
{
- for( std::vector<std::string>::iterator i = archs.begin();
- i != archs.end(); ++i)
- {
- flags += " -arch ";
- flags += *i;
- }
- if(hasIsysroot)
- {
- flags += " -isysroot ";
- flags += sysroot;
- }
- flagsUsed = true;
+ flags += " -arch ";
+ flags += *i;
}
}
- if(!flagsUsed && sysroot && sysrootDefault &&
- strcmp(sysroot, sysrootDefault) != 0 && hasIsysroot)
+ if(sysrootFlag && *sysrootFlag && sysroot && *sysroot)
{
- flags += " -isysroot ";
+ flags += " ";
+ flags += sysrootFlag;
+ flags += " ";
flags += sysroot;
}
@@ -2101,9 +2107,8 @@ void cmLocalGenerator::AppendFlags(std::string& flags,
}
//----------------------------------------------------------------------------
-void cmLocalGenerator::AppendDefines(std::string& defines,
- const char* defines_list,
- const char* lang)
+void cmLocalGenerator::AppendDefines(std::set<std::string>& defines,
+ const char* defines_list)
{
// Short-circuit if there are no definitions.
if(!defines_list)
@@ -2115,12 +2120,23 @@ void cmLocalGenerator::AppendDefines(std::string& defines,
std::vector<std::string> defines_vec;
cmSystemTools::ExpandListArgument(defines_list, defines_vec);
- // Short-circuit if there are no definitions.
- if(defines_vec.empty())
+ for(std::vector<std::string>::const_iterator di = defines_vec.begin();
+ di != defines_vec.end(); ++di)
{
- return;
+ // Skip unsupported definitions.
+ if(!this->CheckDefinition(*di))
+ {
+ continue;
+ }
+ defines.insert(*di);
}
+}
+//----------------------------------------------------------------------------
+void cmLocalGenerator::JoinDefines(const std::set<std::string>& defines,
+ std::string &definesString,
+ const char* lang)
+{
// Lookup the define flag for the current language.
std::string dflag = "-D";
if(lang)
@@ -2135,23 +2151,13 @@ void cmLocalGenerator::AppendDefines(std::string& defines,
}
}
- // Add each definition to the command line with appropriate escapes.
- const char* dsep = defines.empty()? "" : " ";
- for(std::vector<std::string>::const_iterator di = defines_vec.begin();
- di != defines_vec.end(); ++di)
+ std::set<std::string>::const_iterator defineIt = defines.begin();
+ const std::set<std::string>::const_iterator defineEnd = defines.end();
+ const char* itemSeparator = definesString.empty() ? "" : " ";
+ for( ; defineIt != defineEnd; ++defineIt)
{
- // Skip unsupported definitions.
- if(!this->CheckDefinition(*di))
- {
- continue;
- }
-
- // Separate from previous definitions.
- defines += dsep;
- dsep = " ";
-
// Append the definition with proper escaping.
- defines += dflag;
+ std::string def = dflag;
if(this->WatcomWMake)
{
// The Watcom compiler does its own command line parsing instead
@@ -2164,27 +2170,30 @@ void cmLocalGenerator::AppendDefines(std::string& defines,
// command line without any escapes. However we still have to
// get the '$' and '#' characters through WMake as '$$' and
// '$#'.
- for(const char* c = di->c_str(); *c; ++c)
+ for(const char* c = defineIt->c_str(); *c; ++c)
{
if(*c == '$' || *c == '#')
{
- defines += '$';
+ def += '$';
}
- defines += *c;
+ def += *c;
}
}
else
{
// Make the definition appear properly on the command line. Use
// -DNAME="value" instead of -D"NAME=value" to help VS6 parser.
- std::string::size_type eq = di->find("=");
- defines += di->substr(0, eq);
- if(eq != di->npos)
+ std::string::size_type eq = defineIt->find("=");
+ def += defineIt->substr(0, eq);
+ if(eq != defineIt->npos)
{
- defines += "=";
- defines += this->EscapeForShell(di->c_str() + eq + 1, true);
+ def += "=";
+ def += this->EscapeForShell(defineIt->c_str() + eq + 1, true);
}
}
+ definesString += itemSeparator;
+ itemSeparator = " ";
+ definesString += def;
}
}
diff --git a/Source/cmLocalGenerator.h b/Source/cmLocalGenerator.h
index 39b493fb1..bd582181c 100644
--- a/Source/cmLocalGenerator.h
+++ b/Source/cmLocalGenerator.h
@@ -16,6 +16,7 @@
class cmMakefile;
class cmGlobalGenerator;
+class cmGeneratorTarget;
class cmTarget;
class cmTargetManifest;
class cmSourceFile;
@@ -135,7 +136,7 @@ public:
std::vector<cmLocalGenerator*>& GetChildren() { return this->Children; };
- void AddArchitectureFlags(std::string& flags, cmTarget* target,
+ void AddArchitectureFlags(std::string& flags, cmGeneratorTarget* target,
const char *lang, const char* config);
void AddLanguageFlags(std::string& flags, const char* lang,
@@ -154,8 +155,19 @@ public:
* Encode a list of preprocessor definitions for the compiler
* command line.
*/
- void AppendDefines(std::string& defines, const char* defines_list,
- const char* lang);
+ void AppendDefines(std::set<std::string>& defines,
+ const char* defines_list);
+ void AppendDefines(std::set<std::string>& defines,
+ std::string defines_list)
+ {
+ this->AppendDefines(defines, defines_list.c_str());
+ }
+ /**
+ * Join a set of defines into a definesString with a space separator.
+ */
+ void JoinDefines(const std::set<std::string>& defines,
+ std::string &definesString,
+ const char* lang);
/** Lookup and append options associated with a particular feature. */
void AppendFeatureOptions(std::string& flags, const char* lang,
@@ -199,8 +211,8 @@ public:
/** Get the include flags for the current makefile and language. */
void GetIncludeDirectories(std::vector<std::string>& dirs,
- cmTarget* target,
- const char* lang = "C");
+ cmGeneratorTarget* target,
+ const char* lang = "C", const char *config = 0);
/** Compute the language used to compile the given source file. */
const char* GetSourceFileLanguage(const cmSourceFile& source);
@@ -328,11 +340,17 @@ public:
void GetTargetFlags(std::string& linkLibs,
std::string& flags,
std::string& linkFlags,
- cmTarget&target);
+ std::string& frameworkPath,
+ std::string& linkPath,
+ cmGeneratorTarget* target);
protected:
///! put all the libraries for a target on into the given stream
- virtual void OutputLinkLibraries(std::ostream&, cmTarget&, bool relink);
+ virtual void OutputLinkLibraries(std::string& linkLibraries,
+ std::string& frameworkPath,
+ std::string& linkPath,
+ cmGeneratorTarget &,
+ bool relink);
// Expand rule variables in CMake of the type found in language rules
void ExpandRuleVariables(std::string& string,
@@ -348,12 +366,12 @@ protected:
/** Convert a target to a utility target for unsupported
* languages of a generator */
- void AddBuildTargetRule(const char* llang, cmTarget& target);
+ void AddBuildTargetRule(const char* llang, cmGeneratorTarget& target);
///! add a custom command to build a .o file that is part of a target
void AddCustomCommandToCreateObject(const char* ofname,
const char* lang,
cmSourceFile& source,
- cmTarget& target);
+ cmGeneratorTarget& target);
// Create Custom Targets and commands for unsupported languages
// The set passed in should contain the languages supported by the
// generator directly. Any targets containing files that are not
diff --git a/Source/cmLocalVisualStudio10Generator.cxx b/Source/cmLocalVisualStudio10Generator.cxx
index ace7adfa1..c3789a022 100644
--- a/Source/cmLocalVisualStudio10Generator.cxx
+++ b/Source/cmLocalVisualStudio10Generator.cxx
@@ -21,9 +21,9 @@ class cmVS10XMLParser : public cmXMLParser
public:
virtual void EndElement(const char* /* name */)
{
- }
+ }
virtual void CharacterDataHandler(const char* data, int length)
- {
+ {
if(this->DoGUID )
{
this->GUID.assign(data+1, length-2);
@@ -40,7 +40,7 @@ class cmVS10XMLParser : public cmXMLParser
if(strcmp("ProjectGUID", name) == 0 || strcmp("ProjectGuid", name) == 0)
{
this->DoGUID = true;
- }
+ }
}
int InitializeParser()
{
@@ -50,7 +50,7 @@ class cmVS10XMLParser : public cmXMLParser
{
return ret;
}
- // visual studio projects have a strange encoding, but it is
+ // visual studio projects have a strange encoding, but it is
// really utf-8
XML_SetEncoding(static_cast<XML_Parser>(this->Parser), "utf-8");
return 1;
@@ -72,7 +72,7 @@ cmLocalVisualStudio10Generator::~cmLocalVisualStudio10Generator()
void cmLocalVisualStudio10Generator::Generate()
{
-
+
cmTargets &tgts = this->Makefile->GetTargets();
for(cmTargets::iterator l = tgts.begin(); l != tgts.end(); ++l)
{
@@ -98,7 +98,7 @@ void cmLocalVisualStudio10Generator
const char* path)
{
cmVS10XMLParser parser;
- parser.ParseFile(path);
+ parser.ParseFile(path);
// if we can not find a GUID then create one
if(parser.GUID.empty())
diff --git a/Source/cmLocalVisualStudio10Generator.h b/Source/cmLocalVisualStudio10Generator.h
index 699de4c00..41db735b2 100644
--- a/Source/cmLocalVisualStudio10Generator.h
+++ b/Source/cmLocalVisualStudio10Generator.h
@@ -31,7 +31,7 @@ public:
/**
- * Generate the makefile for this directory.
+ * Generate the makefile for this directory.
*/
virtual void Generate();
virtual void ReadAndStoreExternalGUID(const char* name,
diff --git a/Source/cmLocalVisualStudio6Generator.cxx b/Source/cmLocalVisualStudio6Generator.cxx
index 5ab223b7e..f15322be6 100644
--- a/Source/cmLocalVisualStudio6Generator.cxx
+++ b/Source/cmLocalVisualStudio6Generator.cxx
@@ -108,7 +108,7 @@ void cmLocalVisualStudio6Generator::Generate()
}
void cmLocalVisualStudio6Generator::OutputDSPFile()
-{
+{
// If not an in source build, then create the output directory
if(strcmp(this->Makefile->GetStartOutputDirectory(),
this->Makefile->GetHomeDirectory()) != 0)
@@ -126,7 +126,7 @@ void cmLocalVisualStudio6Generator::OutputDSPFile()
cmTargets &tgts = this->Makefile->GetTargets();
// build any targets
- for(cmTargets::iterator l = tgts.begin();
+ for(cmTargets::iterator l = tgts.begin();
l != tgts.end(); l++)
{
switch(l->second.GetType())
@@ -152,7 +152,7 @@ void cmLocalVisualStudio6Generator::OutputDSPFile()
}
// INCLUDE_EXTERNAL_MSPROJECT command only affects the workspace
// so don't build a projectfile for it
- const char* path =
+ const char* path =
l->second.GetProperty("EXTERNAL_MSPROJECT");
if(!path)
{
@@ -178,7 +178,7 @@ void cmLocalVisualStudio6Generator::OutputDSPFile()
//
extern std::string GetVS6TargetName(const std::string& targetName);
-void cmLocalVisualStudio6Generator::CreateSingleDSP(const char *lname,
+void cmLocalVisualStudio6Generator::CreateSingleDSP(const char *lname,
cmTarget &target)
{
// add to the list of projects
@@ -210,7 +210,7 @@ void cmLocalVisualStudio6Generator::AddDSPBuildRule(cmTarget& tgt)
{
std::string dspname = GetVS6TargetName(tgt.GetName());
dspname += ".dsp.cmake";
- const char* dsprule =
+ const char* dsprule =
this->Makefile->GetRequiredDefinition("CMAKE_COMMAND");
cmCustomCommandLine commandLine;
commandLine.push_back(dsprule);
@@ -229,8 +229,8 @@ void cmLocalVisualStudio6Generator::AddDSPBuildRule(cmTarget& tgt)
START_OUTPUT, UNCHANGED, true);
commandLine.push_back(args);
args = "-B";
- args +=
- this->Convert(this->Makefile->GetHomeOutputDirectory(),
+ args +=
+ this->Convert(this->Makefile->GetHomeOutputDirectory(),
START_OUTPUT, UNCHANGED, true);
commandLine.push_back(args);
@@ -254,7 +254,7 @@ void cmLocalVisualStudio6Generator::AddDSPBuildRule(cmTarget& tgt)
}
-void cmLocalVisualStudio6Generator::WriteDSPFile(std::ostream& fout,
+void cmLocalVisualStudio6Generator::WriteDSPFile(std::ostream& fout,
const char *libName,
cmTarget &target)
{
@@ -301,21 +301,21 @@ void cmLocalVisualStudio6Generator::WriteDSPFile(std::ostream& fout,
this->AddUtilityCommandHack(target, count++, depends, *cr);
}
}
-
+
// We may be modifying the source groups temporarily, so make a copy.
std::vector<cmSourceGroup> sourceGroups = this->Makefile->GetSourceGroups();
-
+
// get the classes from the source lists then add them to the groups
std::vector<cmSourceFile*> const & classes = target.GetSourceFiles();
// now all of the source files have been properly assigned to the target
// now stick them into source groups using the reg expressions
- for(std::vector<cmSourceFile*>::const_iterator i = classes.begin();
+ for(std::vector<cmSourceFile*>::const_iterator i = classes.begin();
i != classes.end(); i++)
{
// Add the file to the list of sources.
std::string source = (*i)->GetFullPath();
- cmSourceGroup& sourceGroup =
+ cmSourceGroup& sourceGroup =
this->Makefile->FindSourceGroup(source.c_str(), sourceGroups);
sourceGroup.AssignSource(*i);
// while we are at it, if it is a .rule file then for visual studio 6 we
@@ -326,11 +326,11 @@ void cmLocalVisualStudio6Generator::WriteDSPFile(std::ostream& fout,
{
cmSystemTools::ReplaceString(source, "$(IntDir)/", "");
#if defined(_WIN32) || defined(__CYGWIN__)
- std::ofstream fout(source.c_str(),
- std::ios::binary | std::ios::out
+ std::ofstream fout(source.c_str(),
+ std::ios::binary | std::ios::out
| std::ios::trunc);
#else
- std::ofstream fout(source.c_str(),
+ std::ofstream fout(source.c_str(),
std::ios::out | std::ios::trunc);
#endif
if(fout)
@@ -345,14 +345,14 @@ void cmLocalVisualStudio6Generator::WriteDSPFile(std::ostream& fout,
// Write the DSP file's header.
this->WriteDSPHeader(fout, libName, target, sourceGroups);
-
+
// Loop through every source group.
for(std::vector<cmSourceGroup>::const_iterator sg = sourceGroups.begin();
sg != sourceGroups.end(); ++sg)
{
this->WriteGroup(&(*sg), target, fout, libName);
- }
+ }
// Write the DSP file's footer.
this->WriteDSPFooter(fout);
@@ -364,15 +364,15 @@ void cmLocalVisualStudio6Generator
{
cmGeneratorTarget* gt =
this->GlobalGenerator->GetGeneratorTarget(&target);
- const std::vector<const cmSourceFile *> &sourceFiles =
+ const std::vector<const cmSourceFile *> &sourceFiles =
sg->GetSourceFiles();
// If the group is empty, don't write it at all.
-
+
if(sourceFiles.empty() && sg->GetGroupChildren().empty())
- {
- return;
+ {
+ return;
}
-
+
// If the group has a name, write the header.
std::string name = sg->GetName();
if(name != "")
@@ -385,7 +385,7 @@ void cmLocalVisualStudio6Generator
sourceFiles.begin(); sf != sourceFiles.end(); ++sf)
{
std::string source = (*sf)->GetFullPath();
- const cmCustomCommand *command =
+ const cmCustomCommand *command =
(*sf)->GetCustomCommand();
std::string compileFlags;
std::vector<std::string> depends;
@@ -418,30 +418,47 @@ void cmLocalVisualStudio6Generator
// Add per-source and per-configuration preprocessor definitions.
std::map<cmStdString, cmStdString> cdmap;
- this->AppendDefines(compileFlags,
- (*sf)->GetProperty("COMPILE_DEFINITIONS"), lang);
+
+ {
+ std::set<std::string> targetCompileDefinitions;
+
+ this->AppendDefines(targetCompileDefinitions,
+ (*sf)->GetProperty("COMPILE_DEFINITIONS"));
+ this->JoinDefines(targetCompileDefinitions, compileFlags, lang);
+ }
+
if(const char* cdefs = (*sf)->GetProperty("COMPILE_DEFINITIONS_DEBUG"))
{
- this->AppendDefines(cdmap["DEBUG"], cdefs, lang);
+ std::set<std::string> debugCompileDefinitions;
+ this->AppendDefines(debugCompileDefinitions, cdefs);
+ this->JoinDefines(debugCompileDefinitions, cdmap["DEBUG"], lang);
}
if(const char* cdefs = (*sf)->GetProperty("COMPILE_DEFINITIONS_RELEASE"))
{
- this->AppendDefines(cdmap["RELEASE"], cdefs, lang);
+ std::set<std::string> releaseCompileDefinitions;
+ this->AppendDefines(releaseCompileDefinitions, cdefs);
+ this->JoinDefines(releaseCompileDefinitions, cdmap["RELEASE"], lang);
}
if(const char* cdefs =
(*sf)->GetProperty("COMPILE_DEFINITIONS_MINSIZEREL"))
{
- this->AppendDefines(cdmap["MINSIZEREL"], cdefs, lang);
+ std::set<std::string> minsizerelCompileDefinitions;
+ this->AppendDefines(minsizerelCompileDefinitions, cdefs);
+ this->JoinDefines(minsizerelCompileDefinitions, cdmap["MINSIZEREL"],
+ lang);
}
if(const char* cdefs =
(*sf)->GetProperty("COMPILE_DEFINITIONS_RELWITHDEBINFO"))
{
- this->AppendDefines(cdmap["RELWITHDEBINFO"], cdefs, lang);
+ std::set<std::string> relwithdebinfoCompileDefinitions;
+ this->AppendDefines(relwithdebinfoCompileDefinitions, cdefs);
+ this->JoinDefines(relwithdebinfoCompileDefinitions,
+ cdmap["RELWITHDEBINFO"], lang);
}
bool excludedFromBuild =
(lang && (*sf)->GetPropertyAsBool("HEADER_FILE_ONLY"));
-
+
// Check for extra object-file dependencies.
const char* dependsValue = (*sf)->GetProperty("OBJECT_DEPENDS");
if(dependsValue)
@@ -453,10 +470,10 @@ void cmLocalVisualStudio6Generator
target.GetType() == cmTarget::GLOBAL_TARGET)
{
fout << "# Begin Source File\n\n";
-
+
// Tell MS-Dev what the source is. If the compiler knows how to
// build it, then it will.
- fout << "SOURCE=" <<
+ fout << "SOURCE=" <<
this->ConvertToOptionallyRelativeOutputPath(source.c_str()) << "\n\n";
if(!depends.empty())
{
@@ -464,8 +481,8 @@ void cmLocalVisualStudio6Generator
fout << "USERDEP__HACK=";
for(std::vector<std::string>::const_iterator d = depends.begin();
d != depends.end(); ++d)
- {
- fout << "\\\n\t" <<
+ {
+ fout << "\\\n\t" <<
this->ConvertToOptionallyRelativeOutputPath(d->c_str());
}
fout << "\n";
@@ -479,16 +496,16 @@ void cmLocalVisualStudio6Generator
excludedFromBuild || !cdmap.empty())
{
for(std::vector<std::string>::iterator i
- = this->Configurations.begin();
+ = this->Configurations.begin();
i != this->Configurations.end(); ++i)
- {
+ {
// Strip the subdirectory name out of the configuration name.
std::string config = this->GetConfigName(*i);
if (i == this->Configurations.begin())
{
fout << "!IF \"$(CFG)\" == " << i->c_str() << std::endl;
}
- else
+ else
{
fout << "!ELSEIF \"$(CFG)\" == " << i->c_str() << std::endl;
}
@@ -512,7 +529,7 @@ void cmLocalVisualStudio6Generator
fout << "\n# PROP Intermediate_Dir \""
<< config << "/" << objectNameDir << "\"\n\n";
}
- }
+ }
fout << "!ENDIF\n\n";
}
fout << "# End Source File\n";
@@ -528,7 +545,7 @@ void cmLocalVisualStudio6Generator
-
+
// If the group has a name, write the footer.
if(name != "")
{
@@ -586,7 +603,7 @@ cmLocalVisualStudio6Generator
{
comment = "";
}
-
+
// Write the rule for each configuration.
std::vector<std::string>::iterator i;
for(i = this->Configurations.begin(); i != this->Configurations.end(); ++i)
@@ -594,12 +611,12 @@ cmLocalVisualStudio6Generator
std::string config = this->GetConfigName(*i);
std::string script =
this->ConstructScript(command, config.c_str(), "\\\n\t");
-
+
if (i == this->Configurations.begin())
{
fout << "!IF \"$(CFG)\" == " << i->c_str() << std::endl;
}
- else
+ else
{
fout << "!ELSEIF \"$(CFG)\" == " << i->c_str() << std::endl;
}
@@ -609,9 +626,9 @@ cmLocalVisualStudio6Generator
}
// Write out the dependencies for the rule.
fout << "USERDEP__HACK=";
- for(std::vector<std::string>::const_iterator d =
+ for(std::vector<std::string>::const_iterator d =
command.GetDepends().begin();
- d != command.GetDepends().end();
+ d != command.GetDepends().end();
++d)
{
// Lookup the real name of the dependency in case it is a CMake target.
@@ -633,15 +650,15 @@ cmLocalVisualStudio6Generator
fout << "\n\n";
if(command.GetOutputs().empty())
{
- fout << source
+ fout << source
<< "_force : \"$(SOURCE)\" \"$(INTDIR)\" \"$(OUTDIR)\"\n\t";
fout << script.c_str() << "\n\n";
}
else
{
- for(std::vector<std::string>::const_iterator o =
+ for(std::vector<std::string>::const_iterator o =
command.GetOutputs().begin();
- o != command.GetOutputs().end();
+ o != command.GetOutputs().end();
++o)
{
// Write a rule for every output generated by this command.
@@ -652,12 +669,12 @@ cmLocalVisualStudio6Generator
}
fout << "# End Custom Build\n\n";
}
-
+
fout << "!ENDIF\n\n";
}
-void cmLocalVisualStudio6Generator::WriteDSPBeginGroup(std::ostream& fout,
+void cmLocalVisualStudio6Generator::WriteDSPBeginGroup(std::ostream& fout,
const char* group,
const char* filter)
{
@@ -679,7 +696,7 @@ void cmLocalVisualStudio6Generator::SetBuildType(BuildType b,
cmTarget& target)
{
std::string root= this->Makefile->GetRequiredDefinition("CMAKE_ROOT");
- const char *def=
+ const char *def=
this->Makefile->GetDefinition( "MSPROJECT_TEMPLATE_DIRECTORY");
if( def)
@@ -690,7 +707,7 @@ void cmLocalVisualStudio6Generator::SetBuildType(BuildType b,
{
root += "/Templates";
}
-
+
switch(b)
{
case STATIC_LIBRARY:
@@ -740,7 +757,7 @@ void cmLocalVisualStudio6Generator::SetBuildType(BuildType b,
}
// reset this->Configurations
- this->Configurations.erase(this->Configurations.begin(),
+ this->Configurations.erase(this->Configurations.begin(),
this->Configurations.end());
// now add all the configurations possible
@@ -785,9 +802,9 @@ cmLocalVisualStudio6Generator::MaybeCreateOutputDir(cmTarget& target,
}
// look for custom rules on a target and collect them together
-std::string
-cmLocalVisualStudio6Generator::CreateTargetRules(cmTarget &target,
- const char* configName,
+std::string
+cmLocalVisualStudio6Generator::CreateTargetRules(cmTarget &target,
+ const char* configName,
const char * /* libName */)
{
if (target.GetType() >= cmTarget::UTILITY )
@@ -836,7 +853,8 @@ inline std::string removeQuotes(const std::string& s)
std::string
-cmLocalVisualStudio6Generator::GetTargetIncludeOptions(cmTarget &target)
+cmLocalVisualStudio6Generator::GetTargetIncludeOptions(cmTarget &target,
+ const char *config)
{
std::string includeOptions;
@@ -845,10 +863,13 @@ cmLocalVisualStudio6Generator::GetTargetIncludeOptions(cmTarget &target)
// the length threatens this problem.
unsigned int maxIncludeLength = 3000;
bool useShortPath = false;
+
+ cmGeneratorTarget* gt =
+ this->GlobalGenerator->GetGeneratorTarget(&target);
for(int j=0; j < 2; ++j)
{
std::vector<std::string> includes;
- this->GetIncludeDirectories(includes, &target);
+ this->GetIncludeDirectories(includes, gt, "C", config);
std::vector<std::string>::iterator i;
for(i = includes.begin(); i != includes.end(); ++i)
@@ -895,8 +916,8 @@ cmLocalVisualStudio6Generator::GetTargetIncludeOptions(cmTarget &target)
#define CM_USE_OLD_VS6
void cmLocalVisualStudio6Generator
-::WriteDSPHeader(std::ostream& fout,
- const char *libName, cmTarget &target,
+::WriteDSPHeader(std::ostream& fout,
+ const char *libName, cmTarget &target,
std::vector<cmSourceGroup> &)
{
bool targetBuilds = (target.GetType() >= cmTarget::EXECUTABLE &&
@@ -931,7 +952,7 @@ void cmLocalVisualStudio6Generator
}
std::set<std::string> pathEmitted;
-
+
// determine the link directories
std::string libOptions;
std::string libDebugOptions;
@@ -944,14 +965,14 @@ void cmLocalVisualStudio6Generator
if(libPath.size())
{
- std::string lpath =
+ std::string lpath =
this->ConvertToOptionallyRelativeOutputPath(libPath.c_str());
if(lpath.size() == 0)
{
lpath = ".";
}
std::string lpathIntDir = libPath + "$(INTDIR)";
- lpathIntDir =
+ lpathIntDir =
this->ConvertToOptionallyRelativeOutputPath(lpathIntDir.c_str());
if(pathEmitted.insert(lpath).second)
{
@@ -977,7 +998,7 @@ void cmLocalVisualStudio6Generator
}
if(exePath.size())
{
- std::string lpath =
+ std::string lpath =
this->ConvertToOptionallyRelativeOutputPath(exePath.c_str());
if(lpath.size() == 0)
{
@@ -986,7 +1007,7 @@ void cmLocalVisualStudio6Generator
std::string lpathIntDir = exePath + "$(INTDIR)";
lpathIntDir =
this->ConvertToOptionallyRelativeOutputPath(lpathIntDir.c_str());
-
+
if(pathEmitted.insert(lpath).second)
{
libOptions += " /LIBPATH:";
@@ -1018,7 +1039,7 @@ void cmLocalVisualStudio6Generator
{
path += "/";
}
- std::string lpath =
+ std::string lpath =
this->ConvertToOptionallyRelativeOutputPath(path.c_str());
if(lpath.size() == 0)
{
@@ -1035,7 +1056,7 @@ void cmLocalVisualStudio6Generator
libOptions += " /LIBPATH:";
libOptions += lpath;
libOptions += " ";
-
+
libMultiLineOptions += "# ADD LINK32 /LIBPATH:";
libMultiLineOptions += lpathIntDir;
libMultiLineOptions += " ";
@@ -1059,8 +1080,8 @@ void cmLocalVisualStudio6Generator
// a library in a library, bad recursion)
// NEVER LINK STATIC LIBRARIES TO OTHER STATIC LIBRARIES
if ((target.GetType() != cmTarget::SHARED_LIBRARY
- && target.GetType() != cmTarget::STATIC_LIBRARY
- && target.GetType() != cmTarget::MODULE_LIBRARY) ||
+ && target.GetType() != cmTarget::STATIC_LIBRARY
+ && target.GetType() != cmTarget::MODULE_LIBRARY) ||
(target.GetType()==cmTarget::SHARED_LIBRARY
&& libName != GetVS6TargetName(j->first)) ||
(target.GetType()==cmTarget::MODULE_LIBRARY
@@ -1090,7 +1111,7 @@ void cmLocalVisualStudio6Generator
}
}
lib = this->ConvertToOptionallyRelativeOutputPath(lib.c_str());
- libDebug =
+ libDebug =
this->ConvertToOptionallyRelativeOutputPath(libDebug.c_str());
if (j->second == cmTarget::GENERAL)
@@ -1121,13 +1142,21 @@ void cmLocalVisualStudio6Generator
libMultiLineOptimizedOptions += "# ADD LINK32 ";
libMultiLineOptimizedOptions += lib;
libMultiLineOptimizedOptions += "\n";
- }
+ }
}
}
#endif
// Get include options for this target.
- std::string includeOptions = this->GetTargetIncludeOptions(target);
+ std::string includeOptionsDebug = this->GetTargetIncludeOptions(target,
+ "DEBUG");
+ std::string includeOptionsRelease = this->GetTargetIncludeOptions(target,
+ "RELEASE");
+ std::string includeOptionsRelWithDebInfo = this->GetTargetIncludeOptions(
+ target,
+ "RELWITHDEBINFO");
+ std::string includeOptionsMinSizeRel = this->GetTargetIncludeOptions(target,
+ "MINSIZEREL");
// Get extra linker options for this target type.
std::string extraLinkOptions;
@@ -1137,17 +1166,17 @@ void cmLocalVisualStudio6Generator
std::string extraLinkOptionsRelWithDebInfo;
if(target.GetType() == cmTarget::EXECUTABLE)
{
- extraLinkOptions =
+ extraLinkOptions =
this->Makefile->GetRequiredDefinition("CMAKE_EXE_LINKER_FLAGS");
}
if(target.GetType() == cmTarget::SHARED_LIBRARY)
{
- extraLinkOptions =
+ extraLinkOptions =
this->Makefile->GetRequiredDefinition("CMAKE_SHARED_LINKER_FLAGS");
}
if(target.GetType() == cmTarget::MODULE_LIBRARY)
{
- extraLinkOptions =
+ extraLinkOptions =
this->Makefile->GetRequiredDefinition("CMAKE_MODULE_LINKER_FLAGS");
}
@@ -1229,7 +1258,7 @@ void cmLocalVisualStudio6Generator
}
// Compute the real name of the target.
- std::string outputName =
+ std::string outputName =
"(OUTPUT_NAME is for libraries and executables only)";
std::string outputNameDebug = outputName;
std::string outputNameRelease = outputName;
@@ -1380,13 +1409,13 @@ void cmLocalVisualStudio6Generator
// are there any custom rules on the target itself
// only if the target is a lib or exe
- std::string customRuleCodeRelease
+ std::string customRuleCodeRelease
= this->CreateTargetRules(target, "RELEASE", libName);
- std::string customRuleCodeDebug
+ std::string customRuleCodeDebug
= this->CreateTargetRules(target, "DEBUG", libName);
- std::string customRuleCodeMinSizeRel
+ std::string customRuleCodeMinSizeRel
= this->CreateTargetRules(target, "MINSIZEREL", libName);
- std::string customRuleCodeRelWithDebInfo
+ std::string customRuleCodeRelWithDebInfo
= this->CreateTargetRules(target, "RELWITHDEBINFO", libName);
std::ifstream fin(this->DSPHeaderTemplate.c_str());
@@ -1400,7 +1429,7 @@ void cmLocalVisualStudio6Generator
std::string staticLibOptionsMinSizeRel;
std::string staticLibOptionsRelWithDebInfo;
if(target.GetType() == cmTarget::STATIC_LIBRARY )
- {
+ {
if(const char* libflags = target.GetProperty("STATIC_LIBRARY_FLAGS"))
{
staticLibOptions = libflags;
@@ -1484,7 +1513,7 @@ void cmLocalVisualStudio6Generator
staticLibOptionsRelWithDebInfo.c_str());
cmSystemTools::ReplaceString(line, "CM_STATIC_LIB_ARGS",
staticLibOptions.c_str());
- }
+ }
if(this->Makefile->IsOn("CMAKE_VERBOSE_MAKEFILE"))
{
cmSystemTools::ReplaceString(line, "/nologo", "");
@@ -1506,8 +1535,8 @@ void cmLocalVisualStudio6Generator
cmSystemTools::ReplaceString(line, "CM_MULTILINE_OPTIMIZED_LIBRARIES",
libMultiLineOptimizedOptions.c_str());
#endif
-
- // Substitute the rules for custom command. When specifying just the
+
+ // Substitute the rules for custom command. When specifying just the
// target name for the command the command can be different for
// different configs
cmSystemTools::ReplaceString(line, "CMAKE_CUSTOM_RULE_CODE_RELEASE",
@@ -1520,28 +1549,35 @@ void cmLocalVisualStudio6Generator
customRuleCodeRelWithDebInfo.c_str());
// Substitute the real output name into the template.
- cmSystemTools::ReplaceString(line, "OUTPUT_NAME_DEBUG",
+ cmSystemTools::ReplaceString(line, "OUTPUT_NAME_DEBUG",
outputNameDebug.c_str());
- cmSystemTools::ReplaceString(line, "OUTPUT_NAME_RELEASE",
+ cmSystemTools::ReplaceString(line, "OUTPUT_NAME_RELEASE",
outputNameRelease.c_str());
cmSystemTools::ReplaceString(line, "OUTPUT_NAME_MINSIZEREL",
outputNameMinSizeRel.c_str());
- cmSystemTools::ReplaceString(line, "OUTPUT_NAME_RELWITHDEBINFO",
+ cmSystemTools::ReplaceString(line, "OUTPUT_NAME_RELWITHDEBINFO",
outputNameRelWithDebInfo.c_str());
cmSystemTools::ReplaceString(line, "OUTPUT_NAME", outputName.c_str());
// Substitute the proper link information into the template.
- cmSystemTools::ReplaceString(line, "CM_MULTILINE_OPTIONS_DEBUG",
+ cmSystemTools::ReplaceString(line, "CM_MULTILINE_OPTIONS_DEBUG",
optionsDebug.c_str());
- cmSystemTools::ReplaceString(line, "CM_MULTILINE_OPTIONS_RELEASE",
+ cmSystemTools::ReplaceString(line, "CM_MULTILINE_OPTIONS_RELEASE",
optionsRelease.c_str());
cmSystemTools::ReplaceString(line, "CM_MULTILINE_OPTIONS_MINSIZEREL",
optionsMinSizeRel.c_str());
- cmSystemTools::ReplaceString(line, "CM_MULTILINE_OPTIONS_RELWITHDEBINFO",
+ cmSystemTools::ReplaceString(line, "CM_MULTILINE_OPTIONS_RELWITHDEBINFO",
optionsRelWithDebInfo.c_str());
- cmSystemTools::ReplaceString(line, "BUILD_INCLUDES",
- includeOptions.c_str());
+ cmSystemTools::ReplaceString(line, "BUILD_INCLUDES_DEBUG",
+ includeOptionsDebug.c_str());
+ cmSystemTools::ReplaceString(line, "BUILD_INCLUDES_RELEASE",
+ includeOptionsRelease.c_str());
+ cmSystemTools::ReplaceString(line, "BUILD_INCLUDES_MINSIZEREL",
+ includeOptionsMinSizeRel.c_str());
+ cmSystemTools::ReplaceString(line, "BUILD_INCLUDES_RELWITHDEBINFO",
+ includeOptionsRelWithDebInfo.c_str());
+
cmSystemTools::ReplaceString(line, "TARGET_VERSION_FLAG",
targetVersionFlag.c_str());
cmSystemTools::ReplaceString(line, "TARGET_IMPLIB_FLAG_DEBUG",
@@ -1588,12 +1624,12 @@ void cmLocalVisualStudio6Generator
}
}
- cmSystemTools::ReplaceString(line,
- "EXTRA_DEFINES",
+ cmSystemTools::ReplaceString(line,
+ "EXTRA_DEFINES",
this->Makefile->GetDefineFlags());
const char* debugPostfix
= this->Makefile->GetDefinition("CMAKE_DEBUG_POSTFIX");
- cmSystemTools::ReplaceString(line, "DEBUG_POSTFIX",
+ cmSystemTools::ReplaceString(line, "DEBUG_POSTFIX",
debugPostfix?debugPostfix:"");
// store flags for each configuration
std::string flags = " ";
@@ -1601,7 +1637,7 @@ void cmLocalVisualStudio6Generator
std::string flagsMinSize = " ";
std::string flagsDebug = " ";
std::string flagsDebugRel = " ";
- if(target.GetType() >= cmTarget::EXECUTABLE &&
+ if(target.GetType() >= cmTarget::EXECUTABLE &&
target.GetType() <= cmTarget::OBJECT_LIBRARY)
{
const char* linkLanguage = target.GetLinkerLanguage();
@@ -1617,7 +1653,7 @@ void cmLocalVisualStudio6Generator
baseFlagVar += linkLanguage;
baseFlagVar += "_FLAGS";
flags = this->Makefile->GetSafeDefinition(baseFlagVar.c_str());
-
+
std::string flagVar = baseFlagVar + "_RELEASE";
flagsRelease = this->Makefile->GetSafeDefinition(flagVar.c_str());
flagsRelease += " -DCMAKE_INTDIR=\\\"Release\\\" ";
@@ -1653,70 +1689,71 @@ void cmLocalVisualStudio6Generator
}
// Add per-target and per-configuration preprocessor definitions.
- std::string defines = " ";
- std::string debugDefines = " ";
- std::string releaseDefines = " ";
- std::string minsizeDefines = " ";
- std::string debugrelDefines = " ";
+ std::set<std::string> definesSet;
+ std::set<std::string> debugDefinesSet;
+ std::set<std::string> releaseDefinesSet;
+ std::set<std::string> minsizeDefinesSet;
+ std::set<std::string> debugrelDefinesSet;
- this->AppendDefines(
- defines,
- this->Makefile->GetProperty("COMPILE_DEFINITIONS"), 0);
- this->AppendDefines(
- debugDefines,
- this->Makefile->GetProperty("COMPILE_DEFINITIONS_DEBUG"),0);
- this->AppendDefines(
- releaseDefines,
- this->Makefile->GetProperty("COMPILE_DEFINITIONS_RELEASE"), 0);
- this->AppendDefines(
- minsizeDefines,
- this->Makefile->GetProperty("COMPILE_DEFINITIONS_MINSIZEREL"), 0);
- this->AppendDefines(
- debugrelDefines,
- this->Makefile->GetProperty("COMPILE_DEFINITIONS_RELWITHDEBINFO"), 0);
+
+ cmGeneratorTarget* gt =
+ this->GlobalGenerator->GetGeneratorTarget(&target);
this->AppendDefines(
- defines,
- target.GetProperty("COMPILE_DEFINITIONS"), 0);
+ definesSet,
+ gt->GetCompileDefinitions());
this->AppendDefines(
- debugDefines,
- target.GetProperty("COMPILE_DEFINITIONS_DEBUG"), 0);
+ debugDefinesSet,
+ gt->GetCompileDefinitions("DEBUG"));
this->AppendDefines(
- releaseDefines,
- target.GetProperty("COMPILE_DEFINITIONS_RELEASE"), 0);
+ releaseDefinesSet,
+ gt->GetCompileDefinitions("RELEASE"));
this->AppendDefines(
- minsizeDefines,
- target.GetProperty("COMPILE_DEFINITIONS_MINSIZEREL"), 0);
+ minsizeDefinesSet,
+ gt->GetCompileDefinitions("MINSIZEREL"));
this->AppendDefines(
- debugrelDefines,
- target.GetProperty("COMPILE_DEFINITIONS_RELWITHDEBINFO"), 0);
+ debugrelDefinesSet,
+ gt->GetCompileDefinitions("RELWITHDEBINFO"));
+
+ std::string defines = " ";
+ std::string debugDefines = " ";
+ std::string releaseDefines = " ";
+ std::string minsizeDefines = " ";
+ std::string debugrelDefines = " ";
+
+ this->JoinDefines(definesSet, defines, 0);
+ this->JoinDefines(debugDefinesSet, debugDefines, 0);
+ this->JoinDefines(releaseDefinesSet, releaseDefines, 0);
+ this->JoinDefines(minsizeDefinesSet, minsizeDefines, 0);
+ this->JoinDefines(debugrelDefinesSet, debugrelDefines, 0);
+
flags += defines;
flagsDebug += debugDefines;
flagsRelease += releaseDefines;
flagsMinSize += minsizeDefines;
flagsDebugRel += debugrelDefines;
-
+
// The template files have CXX FLAGS in them, that need to be replaced.
// There are not separate CXX and C template files, so we use the same
// variable names. The previous code sets up flags* variables to contain
// the correct C or CXX flags
cmSystemTools::ReplaceString(line, "CMAKE_CXX_FLAGS_MINSIZEREL",
flagsMinSize.c_str());
- cmSystemTools::ReplaceString(line, "CMAKE_CXX_FLAGS_DEBUG",
+ cmSystemTools::ReplaceString(line, "CMAKE_CXX_FLAGS_DEBUG",
flagsDebug.c_str());
- cmSystemTools::ReplaceString(line, "CMAKE_CXX_FLAGS_RELWITHDEBINFO",
+ cmSystemTools::ReplaceString(line, "CMAKE_CXX_FLAGS_RELWITHDEBINFO",
flagsDebugRel.c_str());
- cmSystemTools::ReplaceString(line, "CMAKE_CXX_FLAGS_RELEASE",
+ cmSystemTools::ReplaceString(line, "CMAKE_CXX_FLAGS_RELEASE",
flagsRelease.c_str());
cmSystemTools::ReplaceString(line, "CMAKE_CXX_FLAGS", flags.c_str());
cmSystemTools::ReplaceString(line, "COMPILE_DEFINITIONS_MINSIZEREL",
minsizeDefines.c_str());
- cmSystemTools::ReplaceString(line, "COMPILE_DEFINITIONS_DEBUG",
+ cmSystemTools::ReplaceString(line, "COMPILE_DEFINITIONS_DEBUG",
debugDefines.c_str());
- cmSystemTools::ReplaceString(line, "COMPILE_DEFINITIONS_RELWITHDEBINFO",
+ cmSystemTools::ReplaceString(line, "COMPILE_DEFINITIONS_RELWITHDEBINFO",
debugrelDefines.c_str());
- cmSystemTools::ReplaceString(line, "COMPILE_DEFINITIONS_RELEASE",
+ cmSystemTools::ReplaceString(line, "COMPILE_DEFINITIONS_RELEASE",
releaseDefines.c_str());
cmSystemTools::ReplaceString(line, "COMPILE_DEFINITIONS", defines.c_str());
@@ -1725,7 +1762,7 @@ void cmLocalVisualStudio6Generator
}
void cmLocalVisualStudio6Generator::WriteDSPFooter(std::ostream& fout)
-{
+{
std::ifstream fin(this->DSPFooterTemplate.c_str());
if(!fin)
{
@@ -1746,8 +1783,10 @@ void cmLocalVisualStudio6Generator
const std::string extraOptions,
std::string& options)
{
+ cmGeneratorTarget* gt =
+ this->GlobalGenerator->GetGeneratorTarget(&target);
// Compute the link information for this configuration.
- cmComputeLinkInformation* pcli = target.GetLinkInformation(configName);
+ cmComputeLinkInformation* pcli = gt->GetLinkInformation(configName);
if(!pcli)
{
return;
diff --git a/Source/cmLocalVisualStudio6Generator.h b/Source/cmLocalVisualStudio6Generator.h
index 1decc3531..f45bc1758 100644
--- a/Source/cmLocalVisualStudio6Generator.h
+++ b/Source/cmLocalVisualStudio6Generator.h
@@ -37,7 +37,7 @@ public:
virtual void AddCMakeListsRules();
/**
- * Generate the makefile for this directory.
+ * Generate the makefile for this directory.
*/
virtual void Generate();
@@ -57,9 +57,9 @@ private:
std::string DSPFooterTemplate;
void CreateSingleDSP(const char *lname, cmTarget &tgt);
- void WriteDSPFile(std::ostream& fout, const char *libName,
+ void WriteDSPFile(std::ostream& fout, const char *libName,
cmTarget &tgt);
- void WriteDSPBeginGroup(std::ostream& fout,
+ void WriteDSPBeginGroup(std::ostream& fout,
const char* group,
const char* filter);
void WriteDSPEndGroup(std::ostream& fout);
@@ -82,15 +82,15 @@ private:
friend class EventWriter;
cmsys::auto_ptr<cmCustomCommand>
MaybeCreateOutputDir(cmTarget& target, const char* config);
- std::string CreateTargetRules(cmTarget &target,
- const char* configName,
+ std::string CreateTargetRules(cmTarget &target,
+ const char* configName,
const char *libName);
void ComputeLinkOptions(cmTarget& target, const char* configName,
const std::string extraOptions,
std::string& options);
void OutputObjects(cmTarget& target, const char* tool,
std::string& options);
- std::string GetTargetIncludeOptions(cmTarget &target);
+ std::string GetTargetIncludeOptions(cmTarget &target, const char *config);
std::vector<std::string> Configurations;
std::string GetConfigName(std::string const& configuration) const;
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx
index f2ab79d7e..f9a2d3200 100644
--- a/Source/cmLocalVisualStudio7Generator.cxx
+++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -291,7 +291,7 @@ cmSourceFile* cmLocalVisualStudio7Generator::CreateVCProjBuildRule()
comment += makefileIn;
std::string args;
args = "-H";
- args += this->Convert(this->Makefile->GetHomeDirectory(),
+ args += this->Convert(this->Makefile->GetHomeDirectory(),
START_OUTPUT, UNCHANGED, true);
commandLine.push_back(args);
args = "-B";
@@ -343,8 +343,8 @@ void cmLocalVisualStudio7Generator::WriteConfigurations(std::ostream& fout,
fout << "\t</Configurations>\n";
}
cmVS7FlagTable cmLocalVisualStudio7GeneratorFortranFlagTable[] =
-{
- {"Preprocess", "fpp", "Run Preprocessor on files", "preprocessYes", 0},
+{
+ {"Preprocess", "fpp", "Run Preprocessor on files", "preprocessYes", 0},
{"SuppressStartupBanner", "nologo", "SuppressStartupBanner", "true", 0},
{"SourceFileFormat", "fixed", "Use Fixed Format", "fileFormatFixed", 0},
{"SourceFileFormat", "free", "Use Free Format", "fileFormatFree", 0},
@@ -376,15 +376,15 @@ cmVS7FlagTable cmLocalVisualStudio7GeneratorFortranFlagTable[] =
{"OptimizeForProcessor", "QxO", "", "codeExclusivelyCore2StreamingSIMD", 0},
{"OptimizeForProcessor", "QxS", "", "codeExclusivelyCore2StreamingSIMD4", 0},
- {"ModulePath", "module:", "", "",
+ {"ModulePath", "module:", "", "",
cmVS7FlagTable::UserValueRequired},
- {"LoopUnrolling", "Qunroll:", "", "",
+ {"LoopUnrolling", "Qunroll:", "", "",
cmVS7FlagTable::UserValueRequired},
- {"AutoParallelThreshold", "Qpar-threshold:", "", "",
+ {"AutoParallelThreshold", "Qpar-threshold:", "", "",
cmVS7FlagTable::UserValueRequired},
- {"HeapArrays", "heap-arrays:", "", "",
+ {"HeapArrays", "heap-arrays:", "", "",
cmVS7FlagTable::UserValueRequired},
- {"ObjectText", "bintext:", "", "",
+ {"ObjectText", "bintext:", "", "",
cmVS7FlagTable::UserValueRequired},
{"Parallelization", "Qparallel", "", "true", 0},
{"PrefetchInsertion", "Qprefetch-", "", "false", 0},
@@ -476,7 +476,7 @@ cmVS7FlagTable cmLocalVisualStudio7GeneratorFlagTable[] =
// boolean flags
{"BufferSecurityCheck", "GS", "Buffer security check", "TRUE", 0},
{"BufferSecurityCheck", "GS-", "Turn off Buffer security check", "FALSE", 0},
- {"Detect64BitPortabilityProblems", "Wp64",
+ {"Detect64BitPortabilityProblems", "Wp64",
"Detect 64-bit Portability Problems", "TRUE", 0},
{"EnableFiberSafeOptimizations", "GT", "Enable Fiber-safe Optimizations",
"TRUE", 0},
@@ -566,7 +566,7 @@ cmVS7FlagTable cmLocalVisualStudio7GeneratorLinkFlagTable[] =
{"TurnOffAssemblyGeneration", "NOASSEMBLY",
"No assembly even if CLR information is present in objects.", "true", 0},
{"ModuleDefinitionFile", "DEF:", "add an export def file", "",
- cmVS7FlagTable::UserValue},
+ cmVS7FlagTable::UserValue},
{"GenerateMapFile", "MAP", "enable generation of map file", "TRUE", 0},
{0,0,0,0,0}
};
@@ -724,10 +724,6 @@ void cmLocalVisualStudio7Generator::WriteConfiguration(std::ostream& fout,
flags += targetFlags;
}
- std::string configUpper = cmSystemTools::UpperCase(configName);
- std::string defPropName = "COMPILE_DEFINITIONS_";
- defPropName += configUpper;
-
// Get preprocessor definitions for this directory.
std::string defineFlags = this->Makefile->GetDefineFlags();
Options::Tool t = Options::Compiler;
@@ -744,11 +740,10 @@ void cmLocalVisualStudio7Generator::WriteConfiguration(std::ostream& fout,
targetOptions.Parse(flags.c_str());
targetOptions.Parse(defineFlags.c_str());
targetOptions.ParseFinish();
- targetOptions.AddDefines
- (this->Makefile->GetProperty("COMPILE_DEFINITIONS"));
- targetOptions.AddDefines(target.GetProperty("COMPILE_DEFINITIONS"));
- targetOptions.AddDefines(this->Makefile->GetProperty(defPropName.c_str()));
- targetOptions.AddDefines(target.GetProperty(defPropName.c_str()));
+ cmGeneratorTarget* gt =
+ this->GlobalGenerator->GetGeneratorTarget(&target);
+ targetOptions.AddDefines(gt->GetCompileDefinitions().c_str());
+ targetOptions.AddDefines(gt->GetCompileDefinitions(configName).c_str());
targetOptions.SetVerboseMakefile(
this->Makefile->IsOn("CMAKE_VERBOSE_MAKEFILE"));
@@ -800,7 +795,7 @@ void cmLocalVisualStudio7Generator::WriteConfiguration(std::ostream& fout,
if(this->FortranProject)
{
const char* target_mod_dir =
- target.GetProperty("Fortran_MODULE_DIRECTORY");
+ target.GetProperty("Fortran_MODULE_DIRECTORY");
std::string modDir;
if(target_mod_dir)
{
@@ -812,21 +807,21 @@ void cmLocalVisualStudio7Generator::WriteConfiguration(std::ostream& fout,
{
modDir = ".";
}
- fout << "\t\t\t\tModulePath=\""
+ fout << "\t\t\t\tModulePath=\""
<< this->ConvertToXMLOutputPath(modDir.c_str())
<< "\\$(ConfigurationName)\"\n";
}
targetOptions.OutputAdditionalOptions(fout, "\t\t\t\t", "\n");
fout << "\t\t\t\tAdditionalIncludeDirectories=\"";
std::vector<std::string> includes;
- this->GetIncludeDirectories(includes, &target);
+ this->GetIncludeDirectories(includes, gt, "C", configName);
std::vector<std::string>::iterator i = includes.begin();
for(;i != includes.end(); ++i)
{
// output the include path
std::string ipath = this->ConvertToXMLOutputPath(i->c_str());
fout << ipath << ";";
- // if this is fortran then output the include with
+ // if this is fortran then output the include with
// a ConfigurationName on the end of it.
if(this->FortranProject)
{
@@ -847,7 +842,7 @@ void cmLocalVisualStudio7Generator::WriteConfiguration(std::ostream& fout,
// non-debug configurations because VS still creates .idb files.
fout << "\t\t\t\tProgramDataBaseFileName=\""
<< this->ConvertToXMLOutputPathSingle(
- target.GetDirectory(configName).c_str())
+ target.GetPDBDirectory(configName).c_str())
<< "/"
<< target.GetPDBName(configName) << "\"\n";
}
@@ -918,7 +913,7 @@ void cmLocalVisualStudio7Generator::WriteConfiguration(std::ostream& fout,
// Add a flag telling the manifest tool to use a workaround
// for FAT32 file systems, which can cause an empty manifest
// to be embedded into the resulting executable. See CMake
- // bug #2617.
+ // bug #2617.
const char* tool = "VCManifestTool";
if(this->FortranProject)
{
@@ -941,7 +936,7 @@ cmLocalVisualStudio7Generator
::GetBuildTypeLinkerFlags(std::string rootLinkerFlags, const char* configName)
{
std::string configTypeUpper = cmSystemTools::UpperCase(configName);
- std::string extraLinkOptionsBuildTypeDef =
+ std::string extraLinkOptionsBuildTypeDef =
rootLinkerFlags + "_" + configTypeUpper;
std::string extraLinkOptionsBuildType =
@@ -962,23 +957,23 @@ void cmLocalVisualStudio7Generator::OutputBuildTool(std::ostream& fout,
std::string extraLinkOptions;
if(target.GetType() == cmTarget::EXECUTABLE)
{
- extraLinkOptions =
- this->Makefile->GetRequiredDefinition("CMAKE_EXE_LINKER_FLAGS")
- + std::string(" ")
+ extraLinkOptions =
+ this->Makefile->GetRequiredDefinition("CMAKE_EXE_LINKER_FLAGS")
+ + std::string(" ")
+ GetBuildTypeLinkerFlags("CMAKE_EXE_LINKER_FLAGS", configName);
}
if(target.GetType() == cmTarget::SHARED_LIBRARY)
{
- extraLinkOptions =
- this->Makefile->GetRequiredDefinition("CMAKE_SHARED_LINKER_FLAGS")
- + std::string(" ")
+ extraLinkOptions =
+ this->Makefile->GetRequiredDefinition("CMAKE_SHARED_LINKER_FLAGS")
+ + std::string(" ")
+ GetBuildTypeLinkerFlags("CMAKE_SHARED_LINKER_FLAGS", configName);
}
if(target.GetType() == cmTarget::MODULE_LIBRARY)
{
- extraLinkOptions =
- this->Makefile->GetRequiredDefinition("CMAKE_MODULE_LINKER_FLAGS")
- + std::string(" ")
+ extraLinkOptions =
+ this->Makefile->GetRequiredDefinition("CMAKE_MODULE_LINKER_FLAGS")
+ + std::string(" ")
+ GetBuildTypeLinkerFlags("CMAKE_MODULE_LINKER_FLAGS", configName);
}
@@ -1079,7 +1074,9 @@ void cmLocalVisualStudio7Generator::OutputBuildTool(std::ostream& fout,
targetNameImport, targetNamePDB, configName);
// Compute the link library and directory information.
- cmComputeLinkInformation* pcli = target.GetLinkInformation(configName);
+ cmGeneratorTarget* gt =
+ this->GlobalGenerator->GetGeneratorTarget(&target);
+ cmComputeLinkInformation* pcli = gt->GetLinkInformation(configName);
if(!pcli)
{
return;
@@ -1125,7 +1122,7 @@ void cmLocalVisualStudio7Generator::OutputBuildTool(std::ostream& fout,
fout << "\t\t\t\tAdditionalLibraryDirectories=\"";
this->OutputLibraryDirectories(fout, cli.GetDirectories());
fout << "\"\n";
- temp = target.GetDirectory(configName);
+ temp = target.GetPDBDirectory(configName);
temp += "/";
temp += targetNamePDB;
fout << "\t\t\t\tProgramDatabaseFile=\"" <<
@@ -1164,7 +1161,9 @@ void cmLocalVisualStudio7Generator::OutputBuildTool(std::ostream& fout,
targetNameImport, targetNamePDB, configName);
// Compute the link library and directory information.
- cmComputeLinkInformation* pcli = target.GetLinkInformation(configName);
+ cmGeneratorTarget* gt =
+ this->GlobalGenerator->GetGeneratorTarget(&target);
+ cmComputeLinkInformation* pcli = gt->GetLinkInformation(configName);
if(!pcli)
{
return;
@@ -1203,7 +1202,7 @@ void cmLocalVisualStudio7Generator::OutputBuildTool(std::ostream& fout,
temp = target.GetDirectory(configName);
temp += "/";
temp += targetNameFull;
- fout << "\t\t\t\tOutputFile=\""
+ fout << "\t\t\t\tOutputFile=\""
<< this->ConvertToXMLOutputPathSingle(temp.c_str()) << "\"\n";
this->WriteTargetVersionAttribute(fout, target);
linkOptions.OutputFlagMap(fout, "\t\t\t\t");
@@ -1211,7 +1210,7 @@ void cmLocalVisualStudio7Generator::OutputBuildTool(std::ostream& fout,
this->OutputLibraryDirectories(fout, cli.GetDirectories());
fout << "\"\n";
std::string path = this->ConvertToXMLOutputPathSingle(
- target.GetDirectory(configName).c_str());
+ target.GetPDBDirectory(configName).c_str());
fout << "\t\t\t\tProgramDatabaseFile=\""
<< path << "/" << targetNamePDB
<< "\"\n";
@@ -1594,7 +1593,7 @@ cmLocalVisualStudio7Generator
void cmLocalVisualStudio7Generator
::WriteGroup(const cmSourceGroup *sg, cmTarget& target,
- std::ostream &fout, const char *libName,
+ std::ostream &fout, const char *libName,
std::vector<std::string> *configs)
{
const std::vector<const cmSourceFile *> &sourceFiles =
@@ -1652,7 +1651,7 @@ void cmLocalVisualStudio7Generator
}
if(ext == "rc")
{
- aCompilerTool = "VCResourceCompilerTool";
+ aCompilerTool = "VCResourceCompilerTool";
lang = "RC";
if(this->FortranProject)
{
@@ -1744,7 +1743,7 @@ WriteCustomRule(std::ostream& fout,
FCInfo& fcinfo)
{
std::string comment = this->ConstructComment(command);
-
+
// Write the rule for each configuration.
std::vector<std::string>::iterator i;
std::vector<std::string> *configs =
@@ -1780,9 +1779,9 @@ WriteCustomRule(std::ostream& fout,
}
fout << "\t\t\t\t\t<Tool\n"
<< "\t\t\t\t\tName=\"" << customTool << "\"\n"
- << "\t\t\t\t\tDescription=\""
+ << "\t\t\t\t\tDescription=\""
<< this->EscapeForXML(comment.c_str()) << "\"\n"
- << "\t\t\t\t\tCommandLine=\""
+ << "\t\t\t\t\tCommandLine=\""
<< this->EscapeForXML(script.c_str()) << "\"\n"
<< "\t\t\t\t\tAdditionalDependencies=\"";
if(command.GetDepends().empty())
@@ -1799,9 +1798,9 @@ WriteCustomRule(std::ostream& fout,
else
{
// Write out the dependencies for the rule.
- for(std::vector<std::string>::const_iterator d =
+ for(std::vector<std::string>::const_iterator d =
command.GetDepends().begin();
- d != command.GetDepends().end();
+ d != command.GetDepends().end();
++d)
{
// Get the real name of the dependency in case it is a CMake target.
@@ -1823,9 +1822,9 @@ WriteCustomRule(std::ostream& fout,
{
// Write a rule for the output generated by this command.
const char* sep = "";
- for(std::vector<std::string>::const_iterator o =
- command.GetOutputs().begin();
- o != command.GetOutputs().end();
+ for(std::vector<std::string>::const_iterator o =
+ command.GetOutputs().begin();
+ o != command.GetOutputs().end();
++o)
{
fout << sep << this->ConvertToXMLOutputPathSingle(o->c_str());
@@ -1922,7 +1921,7 @@ cmLocalVisualStudio7Generator
const char *libName,
cmTarget & target)
{
-
+
cmGlobalVisualStudio7Generator* gg =
static_cast<cmGlobalVisualStudio7Generator *>(this->GlobalGenerator);
@@ -1954,7 +1953,7 @@ cmLocalVisualStudio7Generator
if(!keyword)
{
keyword = "Console Application";
- }
+ }
const char* projectType = 0;
switch(target.GetType())
{
@@ -1990,7 +1989,7 @@ cmLocalVisualStudio7Generator
fout << "\tProjectType=\"" << projectType << "\"\n";
}
this->WriteProjectSCC(fout, target);
- fout<< "\tKeyword=\"" << keyword << "\">\n"
+ fout<< "\tKeyword=\"" << keyword << "\">\n"
<< "\tProjectGUID=\"{" << gg->GetGUID(libName) << "}\">\n"
<< "\t<Platforms>\n"
<< "\t\t<Platform\n\t\t\tName=\"" << this->PlatformName << "\"/>\n"
@@ -2110,7 +2109,7 @@ std::string cmLocalVisualStudio7Generator
// This class is used to parse an existing vs 7 project
-// and extract the GUID
+// and extract the GUID
class cmVS7XMLParser : public cmXMLParser
{
public:
@@ -2130,7 +2129,7 @@ public:
while(atts[i])
{
if(strcmp(atts[i], "ProjectGUID") == 0)
- {
+ {
if(atts[i+1])
{
this->GUID = atts[i+1];
@@ -2144,7 +2143,7 @@ public:
}
++i;
}
- }
+ }
}
int InitializeParser()
{
@@ -2153,7 +2152,7 @@ public:
{
return ret;
}
- // visual studio projects have a strange encoding, but it is
+ // visual studio projects have a strange encoding, but it is
// really utf-8
XML_SetEncoding(static_cast<XML_Parser>(this->Parser), "utf-8");
return 1;
diff --git a/Source/cmLocalVisualStudio7Generator.h b/Source/cmLocalVisualStudio7Generator.h
index 9aa408eda..95db2cc8c 100644
--- a/Source/cmLocalVisualStudio7Generator.h
+++ b/Source/cmLocalVisualStudio7Generator.h
@@ -42,7 +42,7 @@ public:
virtual void AddHelperCommands();
/**
- * Generate the makefile for this directory.
+ * Generate the makefile for this directory.
*/
virtual void Generate();
@@ -77,17 +77,17 @@ private:
void WriteVCProjHeader(std::ostream& fout, const char *libName,
cmTarget &tgt, std::vector<cmSourceGroup> &sgs);
void WriteVCProjFooter(std::ostream& fout, cmTarget &target);
- void WriteVCProjFile(std::ostream& fout, const char *libName,
+ void WriteVCProjFile(std::ostream& fout, const char *libName,
cmTarget &tgt);
void WriteConfigurations(std::ostream& fout,
const char *libName, cmTarget &tgt);
void WriteConfiguration(std::ostream& fout,
const char* configName,
- const char* libName, cmTarget &tgt);
+ const char* libName, cmTarget &tgt);
std::string EscapeForXML(const char* s);
std::string ConvertToXMLOutputPath(const char* path);
std::string ConvertToXMLOutputPathSingle(const char* path);
- void OutputTargetRules(std::ostream& fout, const char* configName,
+ void OutputTargetRules(std::ostream& fout, const char* configName,
cmTarget &target, const char *libName);
void OutputBuildTool(std::ostream& fout, const char* configName,
cmTarget& t, bool debug);
@@ -98,18 +98,18 @@ private:
cmTarget &tgt, std::vector<cmSourceGroup> &sgs);
void WriteProjectStartFortran(std::ostream& fout, const char *libName,
cmTarget &tgt);
- void WriteVCProjBeginGroup(std::ostream& fout,
+ void WriteVCProjBeginGroup(std::ostream& fout,
const char* group,
const char* filter);
void WriteVCProjEndGroup(std::ostream& fout);
-
+
void WriteCustomRule(std::ostream& fout,
const char* source,
const cmCustomCommand& command,
FCInfo& fcinfo);
void WriteTargetVersionAttribute(std::ostream& fout, cmTarget& target);
- void WriteGroup(const cmSourceGroup *sg,
+ void WriteGroup(const cmSourceGroup *sg,
cmTarget& target, std::ostream &fout,
const char *libName, std::vector<std::string> *configs);
@@ -122,7 +122,7 @@ private:
cmVS7FlagTable const* ExtraFlagTable;
std::string ModuleDefinitionFile;
bool FortranProject;
- std::string PlatformName; // Win32 or x64
+ std::string PlatformName; // Win32 or x64
cmLocalVisualStudio7GeneratorInternals* Internal;
};
diff --git a/Source/cmMacroCommand.cxx b/Source/cmMacroCommand.cxx
index 259922759..bd7ec004b 100644
--- a/Source/cmMacroCommand.cxx
+++ b/Source/cmMacroCommand.cxx
@@ -56,7 +56,7 @@ public:
* This is called when the command is first encountered in
* the CMakeLists.txt file.
*/
- virtual bool InvokeInitialPass(const std::vector<cmListFileArgument>& args,
+ virtual bool InvokeInitialPass(const std::vector<cmListFileArgument>& args,
cmExecutionStatus &);
virtual bool InitialPass(std::vector<std::string> const&,
@@ -66,7 +66,7 @@ public:
* The name of the command as specified in CMakeList.txt.
*/
virtual const char* GetName() const { return this->Args[0].c_str(); }
-
+
/**
* Succinct documentation.
*/
@@ -164,7 +164,7 @@ bool cmMacroHelperCommand::InvokeInitialPass
{
variable = "${";
variable += this->Args[j];
- variable += "}";
+ variable += "}";
cmSystemTools::ReplaceString(tmps, variable.c_str(),
expandedArgs[j-1].c_str());
}
@@ -270,7 +270,7 @@ IsFunctionBlocked(const cmListFileFunction& lff, cmMakefile &mf,
else if(!cmSystemTools::Strucmp(lff.Name.c_str(),"endmacro"))
{
// if this is the endmacro for this macro then execute
- if (!this->Depth)
+ if (!this->Depth)
{
std::string name = this->Args[0];
std::vector<std::string>::size_type cc;
@@ -287,7 +287,7 @@ IsFunctionBlocked(const cmListFileFunction& lff, cmMakefile &mf,
f->Functions = this->Functions;
mf.RecordPolicies(f->Policies);
std::string newName = "_" + this->Args[0];
- mf.GetCMakeInstance()->RenameCommand(this->Args[0].c_str(),
+ mf.GetCMakeInstance()->RenameCommand(this->Args[0].c_str(),
newName.c_str());
mf.AddCommand(f);
@@ -341,7 +341,7 @@ bool cmMacroCommand::InitialPass(std::vector<std::string> const& args,
cmMacroFunctionBlocker *f = new cmMacroFunctionBlocker();
for(std::vector<std::string>::const_iterator j = args.begin();
j != args.end(); ++j)
- {
+ {
f->Args.push_back(*j);
}
this->Makefile->AddFunctionBlocker(f);
diff --git a/Source/cmMacroCommand.h b/Source/cmMacroCommand.h
index 36e4b2f6b..f8c40c002 100644
--- a/Source/cmMacroCommand.h
+++ b/Source/cmMacroCommand.h
@@ -20,11 +20,11 @@ class cmMacroFunctionBlocker : public cmFunctionBlocker
public:
cmMacroFunctionBlocker() {this->Depth=0;}
virtual ~cmMacroFunctionBlocker() {}
- virtual bool IsFunctionBlocked(const cmListFileFunction&,
+ virtual bool IsFunctionBlocked(const cmListFileFunction&,
cmMakefile &mf,
cmExecutionStatus &);
virtual bool ShouldRemove(const cmListFileFunction&, cmMakefile &mf);
-
+
std::vector<std::string> Args;
std::vector<cmListFileFunction> Functions;
int Depth;
diff --git a/Source/cmMakeDepend.cxx b/Source/cmMakeDepend.cxx
index 6055c5585..2ae35ef14 100644
--- a/Source/cmMakeDepend.cxx
+++ b/Source/cmMakeDepend.cxx
@@ -11,6 +11,7 @@
============================================================================*/
#include "cmMakeDepend.h"
#include "cmSystemTools.h"
+#include "cmGeneratorExpression.h"
#include <cmsys/RegularExpression.hxx>
@@ -31,8 +32,8 @@ cmMakeDepend::cmMakeDepend()
cmMakeDepend::~cmMakeDepend()
-{
- for(DependInformationMapType::iterator i =
+{
+ for(DependInformationMapType::iterator i =
this->DependInformationMap.begin();
i != this->DependInformationMap.end(); ++i)
{
@@ -58,11 +59,22 @@ void cmMakeDepend::SetMakefile(cmMakefile* makefile)
// Now extract any include paths from the targets
std::set<std::string> uniqueIncludes;
std::vector<std::string> orderedAndUniqueIncludes;
- cmTargets & targets = this->Makefile->GetTargets();
- for (cmTargets::iterator l = targets.begin(); l != targets.end(); ++l)
+ cmTargets &targets = this->Makefile->GetTargets();
+ for (cmTargets::iterator l = targets.begin();
+ l != targets.end(); ++l)
{
- const std::vector<std::string>& includes =
- l->second.GetIncludeDirectories();
+ const char *incDirProp = l->second.GetProperty("INCLUDE_DIRECTORIES");
+ if (!incDirProp)
+ {
+ continue;
+ }
+
+ std::string incDirs = cmGeneratorExpression::Preprocess(incDirProp,
+ cmGeneratorExpression::StripAllGeneratorExpressions);
+
+ std::vector<std::string> includes;
+ cmSystemTools::ExpandListArgument(incDirs.c_str(), includes);
+
for(std::vector<std::string>::const_iterator j = includes.begin();
j != includes.end(); ++j)
{
@@ -162,7 +174,7 @@ void cmMakeDepend::GenerateDependInformation(cmDependInformation* info)
else
{
//try to guess which include path to use
- for(std::vector<std::string>::iterator t =
+ for(std::vector<std::string>::iterator t =
this->IncludeDirectories.begin();
t != this->IncludeDirectories.end(); ++t)
{
@@ -175,7 +187,7 @@ void cmMakeDepend::GenerateDependInformation(cmDependInformation* info)
if (srcFile->GetFullPath() == incpath)
{
// set the path to the guessed path
- info->FullPath = incpath;
+ info->FullPath = incpath;
found=true;
}
}
@@ -243,7 +255,7 @@ void cmMakeDepend::DependWalk(cmDependInformation* info)
void cmMakeDepend::AddDependency(cmDependInformation* info, const char* file)
{
- cmDependInformation* dependInfo =
+ cmDependInformation* dependInfo =
this->GetDependInformation(file, info->PathOnly.c_str());
this->GenerateDependInformation(dependInfo);
info->AddDependencies(dependInfo);
@@ -288,7 +300,7 @@ std::string cmMakeDepend::FullPath(const char* fname, const char *extraPath)
{
m = this->DirectoryToFileToPathMap.find("");
}
-
+
if(m != this->DirectoryToFileToPathMap.end())
{
FileToPathMapType& map = m->second;
@@ -305,7 +317,7 @@ std::string cmMakeDepend::FullPath(const char* fname, const char *extraPath)
this->DirectoryToFileToPathMap[extraPath? extraPath: ""][fname] = fp;
return fp;
}
-
+
for(std::vector<std::string>::iterator i = this->IncludeDirectories.begin();
i != this->IncludeDirectories.end(); ++i)
{
diff --git a/Source/cmMakeDepend.h b/Source/cmMakeDepend.h
index 185f4e356..b6e3928e9 100644
--- a/Source/cmMakeDepend.h
+++ b/Source/cmMakeDepend.h
@@ -48,26 +48,26 @@ public:
* to it.
*/
const cmSourceFile *SourceFile;
-
+
/**
* Full path to this file.
*/
std::string FullPath;
-
+
/**
* Full path not including file name.
*/
std::string PathOnly;
-
+
/**
* Name used to #include this file.
*/
std::string IncludeName;
-
+
/**
* This method adds the dependencies of another file to this one.
*/
- void AddDependencies(cmDependInformation*);
+ void AddDependencies(cmDependInformation*);
};
@@ -85,11 +85,11 @@ public:
* Destructor.
*/
virtual ~cmMakeDepend();
-
- /**
+
+ /**
* Set the makefile that is used as a source of classes.
*/
- virtual void SetMakefile(cmMakefile* makefile);
+ virtual void SetMakefile(cmMakefile* makefile);
/**
* Add a directory to the search path for include files.
@@ -107,26 +107,26 @@ protected:
* Compute the depend information for this class.
*/
virtual void DependWalk(cmDependInformation* info);
-
+
/**
* Add a dependency. Possibly walk it for more dependencies.
*/
virtual void AddDependency(cmDependInformation* info, const char* file);
-
+
/**
* Fill in the given object with dependency information. If the
* information is already complete, nothing is done.
*/
void GenerateDependInformation(cmDependInformation* info);
-
+
/**
* Get an instance of cmDependInformation corresponding to the given file
* name.
*/
- cmDependInformation* GetDependInformation(const char* file,
- const char *extraPath);
-
- /**
+ cmDependInformation* GetDependInformation(const char* file,
+ const char *extraPath);
+
+ /**
* Find the full path name for the given file name.
* This uses the include directories.
* TODO: Cache path conversions to reduce FileExists calls.
@@ -139,9 +139,9 @@ protected:
cmsys::RegularExpression ComplainFileRegularExpression;
std::vector<std::string> IncludeDirectories;
typedef std::map<cmStdString, cmStdString> FileToPathMapType;
- typedef std::map<cmStdString, FileToPathMapType>
+ typedef std::map<cmStdString, FileToPathMapType>
DirectoryToFileToPathMapType;
- typedef std::map<cmStdString, cmDependInformation*>
+ typedef std::map<cmStdString, cmDependInformation*>
DependInformationMapType;
DependInformationMapType DependInformationMap;
DirectoryToFileToPathMapType DirectoryToFileToPathMap;
diff --git a/Source/cmMakeDirectoryCommand.h b/Source/cmMakeDirectoryCommand.h
index 4e6e1d5ab..a0f866a5f 100644
--- a/Source/cmMakeDirectoryCommand.h
+++ b/Source/cmMakeDirectoryCommand.h
@@ -29,7 +29,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmMakeDirectoryCommand;
}
@@ -45,7 +45,7 @@ public:
* The name of the command as specified in CMakeList.txt.
*/
virtual const char* GetName() const { return "make_directory";}
-
+
/**
* This determines if the command is invoked when in script mode.
*/
@@ -58,7 +58,7 @@ public:
{
return "Deprecated. Use the file(MAKE_DIRECTORY ) command instead.";
}
-
+
/**
* More documentation.
*/
@@ -70,7 +70,7 @@ public:
"parent directories that do not exist will also be created. Use with "
"care.";
}
-
+
/** This command is kept for compatibility with older CMake versions. */
virtual bool IsDiscouraged() const
{
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 7b6c450f1..f067da491 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -46,6 +46,7 @@ public:
std::stack<cmDefinitions, std::list<cmDefinitions> > VarStack;
std::stack<std::set<cmStdString> > VarInitStack;
std::stack<std::set<cmStdString> > VarUsageStack;
+ bool IsSourceFileTryCompile;
};
// default is not to be building executables
@@ -56,6 +57,7 @@ cmMakefile::cmMakefile(): Internal(new Internals)
this->Internal->VarStack.push(defs);
this->Internal->VarInitStack.push(globalKeys);
this->Internal->VarUsageStack.push(globalKeys);
+ this->Internal->IsSourceFileTryCompile = false;
// Initialize these first since AddDefaultDefinitions calls AddDefinition
this->WarnUnused = false;
@@ -2912,6 +2914,7 @@ int cmMakefile::TryCompile(const char *srcdir, const char *bindir,
const std::vector<std::string> *cmakeArgs,
std::string *output)
{
+ this->Internal->IsSourceFileTryCompile = fast;
// does the binary directory exist ? If not create it...
if (!cmSystemTools::FileIsDirectory(bindir))
{
@@ -2937,6 +2940,7 @@ int cmMakefile::TryCompile(const char *srcdir, const char *bindir,
"Internal CMake error, TryCompile bad GlobalGenerator");
// return to the original directory
cmSystemTools::ChangeDirectory(cwd.c_str());
+ this->Internal->IsSourceFileTryCompile = false;
return 1;
}
cm.SetGlobalGenerator(gg);
@@ -3009,6 +3013,7 @@ int cmMakefile::TryCompile(const char *srcdir, const char *bindir,
"Internal CMake error, TryCompile configure of cmake failed");
// return to the original directory
cmSystemTools::ChangeDirectory(cwd.c_str());
+ this->Internal->IsSourceFileTryCompile = false;
return 1;
}
@@ -3018,6 +3023,7 @@ int cmMakefile::TryCompile(const char *srcdir, const char *bindir,
"Internal CMake error, TryCompile generation of cmake failed");
// return to the original directory
cmSystemTools::ChangeDirectory(cwd.c_str());
+ this->Internal->IsSourceFileTryCompile = false;
return 1;
}
@@ -3031,9 +3037,15 @@ int cmMakefile::TryCompile(const char *srcdir, const char *bindir,
this);
cmSystemTools::ChangeDirectory(cwd.c_str());
+ this->Internal->IsSourceFileTryCompile = false;
return ret;
}
+bool cmMakefile::GetIsSourceFileTryCompile() const
+{
+ return this->Internal->IsSourceFileTryCompile;
+}
+
cmake *cmMakefile::GetCMakeInstance() const
{
if ( this->LocalGenerator && this->LocalGenerator->GetGlobalGenerator() )
@@ -3972,6 +3984,12 @@ cmTarget* cmMakefile::FindTargetToUse(const char* name)
return this->LocalGenerator->GetGlobalGenerator()->FindTarget(0, name);
}
+cmGeneratorTarget* cmMakefile::FindGeneratorTargetToUse(const char* name)
+{
+ cmTarget *t = this->FindTargetToUse(name);
+ return this->LocalGenerator->GetGlobalGenerator()->GetGeneratorTarget(t);
+}
+
//----------------------------------------------------------------------------
bool cmMakefile::EnforceUniqueName(std::string const& name, std::string& msg,
bool isCustom)
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index 8a0088b1a..70cfe5421 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -20,6 +20,7 @@
#include "cmSystemTools.h"
#include "cmTarget.h"
#include "cmNewLineStyle.h"
+#include "cmGeneratorTarget.h"
#include "cmake.h"
#if defined(CMAKE_BUILD_WITH_CMAKE)
@@ -128,6 +129,8 @@ public:
const std::vector<std::string> *cmakeArgs,
std::string *output);
+ bool GetIsSourceFileTryCompile() const;
+
/**
* Specify the makefile generator. This is platform/compiler
* dependent, although the interface is through a generic
@@ -516,12 +519,27 @@ public:
* Get the list of targets, const version
*/
const cmTargets &GetTargets() const { return this->Targets; }
+ const std::vector<cmTarget*> &GetOwnedImportedTargets() const
+ {
+ return this->ImportedTargetsOwned;
+ }
+
+ const cmGeneratorTargetsType &GetGeneratorTargets() const
+ {
+ return this->GeneratorTargets;
+ }
+
+ void SetGeneratorTargets(const cmGeneratorTargetsType &targets)
+ {
+ this->GeneratorTargets = targets;
+ }
cmTarget* FindTarget(const char* name);
/** Find a target to use in place of the given name. The target
returned may be imported or built within the project. */
cmTarget* FindTargetToUse(const char* name);
+ cmGeneratorTarget* FindGeneratorTargetToUse(const char* name);
/**
* Mark include directories as system directories.
@@ -863,6 +881,7 @@ protected:
// libraries, classes, and executables
cmTargets Targets;
+ cmGeneratorTargetsType GeneratorTargets;
std::vector<cmSourceFile*> SourceFiles;
// Tests
diff --git a/Source/cmMakefileExecutableTargetGenerator.cxx b/Source/cmMakefileExecutableTargetGenerator.cxx
index ab5150a36..b7a454b17 100644
--- a/Source/cmMakefileExecutableTargetGenerator.cxx
+++ b/Source/cmMakefileExecutableTargetGenerator.cxx
@@ -131,9 +131,14 @@ void cmMakefileExecutableTargetGenerator::WriteExecutableRule(bool relink)
outpathImp += "/";
}
}
+
+ std::string pdbOutputPath = this->Target->GetPDBDirectory();
+ cmSystemTools::MakeDirectory(pdbOutputPath.c_str());
+ pdbOutputPath += "/";
+
std::string targetFullPath = outpath + targetName;
std::string targetFullPathReal = outpath + targetNameReal;
- std::string targetFullPathPDB = outpath + targetNamePDB;
+ std::string targetFullPathPDB = pdbOutputPath + targetNamePDB;
std::string targetFullPathImport = outpathImp + targetNameImport;
std::string targetOutPathPDB =
this->Convert(targetFullPathPDB.c_str(),
@@ -210,7 +215,7 @@ void cmMakefileExecutableTargetGenerator::WriteExecutableRule(bool relink)
// Add language feature flags.
this->AddFeatureFlags(flags, linkLanguage);
- this->LocalGenerator->AddArchitectureFlags(flags, this->Target,
+ this->LocalGenerator->AddArchitectureFlags(flags, this->GeneratorTarget,
linkLanguage, this->ConfigName);
// Add target-specific linker flags.
@@ -318,9 +323,13 @@ void cmMakefileExecutableTargetGenerator::WriteExecutableRule(bool relink)
this->LocalGenerator->SetLinkScriptShell(useLinkScript);
// Collect up flags to link in needed libraries.
- cmOStringStream linklibs;
- this->LocalGenerator->OutputLinkLibraries(linklibs, *this->Target, relink);
-
+ std::string linkLibs;
+ std::string frameworkPath;
+ std::string linkPath;
+ this->LocalGenerator->OutputLinkLibraries(linkLibs, frameworkPath, linkPath,
+ *this->GeneratorTarget,
+ relink);
+ linkLibs = frameworkPath + linkPath + linkLibs;
// Construct object file lists that may be needed to expand the
// rule.
std::string buildObjs;
@@ -359,8 +368,7 @@ void cmMakefileExecutableTargetGenerator::WriteExecutableRule(bool relink)
vars.TargetVersionMajor = targetVersionMajor.c_str();
vars.TargetVersionMinor = targetVersionMinor.c_str();
- std::string linkString = linklibs.str();
- vars.LinkLibraries = linkString.c_str();
+ vars.LinkLibraries = linkLibs.c_str();
vars.Flags = flags.c_str();
vars.LinkFlags = linkFlags.c_str();
// Expand placeholders in the commands.
diff --git a/Source/cmMakefileLibraryTargetGenerator.cxx b/Source/cmMakefileLibraryTargetGenerator.cxx
index 577e5fd07..e7004d668 100644
--- a/Source/cmMakefileLibraryTargetGenerator.cxx
+++ b/Source/cmMakefileLibraryTargetGenerator.cxx
@@ -328,8 +328,12 @@ void cmMakefileLibraryTargetGenerator::WriteLibraryRules
}
}
+ std::string pdbOutputPath = this->Target->GetPDBDirectory();
+ cmSystemTools::MakeDirectory(pdbOutputPath.c_str());
+ pdbOutputPath += "/";
+
std::string targetFullPath = outpath + targetName;
- std::string targetFullPathPDB = outpath + targetNamePDB;
+ std::string targetFullPathPDB = pdbOutputPath + targetNamePDB;
std::string targetFullPathSO = outpath + targetNameSO;
std::string targetFullPathReal = outpath + targetNameReal;
std::string targetFullPathImport = outpathImp + targetNameImport;
@@ -542,11 +546,15 @@ void cmMakefileLibraryTargetGenerator::WriteLibraryRules
this->LocalGenerator->SetLinkScriptShell(useLinkScript);
// Collect up flags to link in needed libraries.
- cmOStringStream linklibs;
+ std::string linkLibs;
if(this->Target->GetType() != cmTarget::STATIC_LIBRARY)
{
+ std::string frameworkPath;
+ std::string linkPath;
this->LocalGenerator
- ->OutputLinkLibraries(linklibs, *this->Target, relink);
+ ->OutputLinkLibraries(linkLibs, frameworkPath, linkPath,
+ *this->GeneratorTarget, relink);
+ linkLibs = frameworkPath + linkPath + linkLibs;
}
// Construct object file lists that may be needed to expand the
@@ -587,8 +595,7 @@ void cmMakefileLibraryTargetGenerator::WriteLibraryRules
cmLocalGenerator::SHELL);
vars.ObjectDir = objdir.c_str();
vars.Target = targetOutPathReal.c_str();
- std::string linkString = linklibs.str();
- vars.LinkLibraries = linkString.c_str();
+ vars.LinkLibraries = linkLibs.c_str();
vars.ObjectsQuoted = buildObjs.c_str();
if (this->Target->HasSOName(this->ConfigName))
{
@@ -625,7 +632,7 @@ void cmMakefileLibraryTargetGenerator::WriteLibraryRules
std::string langFlags;
this->AddFeatureFlags(langFlags, linkLanguage);
- this->LocalGenerator->AddArchitectureFlags(langFlags, this->Target,
+ this->LocalGenerator->AddArchitectureFlags(langFlags, this->GeneratorTarget,
linkLanguage, this->ConfigName);
// remove any language flags that might not work with the
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx
index 0de182ede..3d02d6a04 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -259,7 +259,7 @@ std::string cmMakefileTargetGenerator::GetFlags(const std::string &l)
// Add language feature flags.
this->AddFeatureFlags(flags, lang);
- this->LocalGenerator->AddArchitectureFlags(flags, this->Target,
+ this->LocalGenerator->AddArchitectureFlags(flags, this->GeneratorTarget,
lang, this->ConfigName);
// Fortran-specific flags computed for this target.
@@ -292,28 +292,26 @@ std::string cmMakefileTargetGenerator::GetDefines(const std::string &l)
ByLanguageMap::iterator i = this->DefinesByLanguage.find(l);
if (i == this->DefinesByLanguage.end())
{
- std::string defines;
+ std::set<std::string> defines;
const char *lang = l.c_str();
// Add the export symbol definition for shared library objects.
if(const char* exportMacro = this->Target->GetExportMacro())
{
- this->LocalGenerator->AppendDefines(defines, exportMacro, lang);
+ this->LocalGenerator->AppendDefines(defines, exportMacro);
}
// Add preprocessor definitions for this target and configuration.
this->LocalGenerator->AppendDefines
- (defines, this->Makefile->GetProperty("COMPILE_DEFINITIONS"), lang);
- this->LocalGenerator->AppendDefines
- (defines, this->Target->GetProperty("COMPILE_DEFINITIONS"), lang);
- std::string defPropName = "COMPILE_DEFINITIONS_";
- defPropName +=
- cmSystemTools::UpperCase(this->LocalGenerator->ConfigurationName);
- this->LocalGenerator->AppendDefines
- (defines, this->Makefile->GetProperty(defPropName.c_str()), lang);
+ (defines, this->GeneratorTarget->GetCompileDefinitions());
+
this->LocalGenerator->AppendDefines
- (defines, this->Target->GetProperty(defPropName.c_str()), lang);
+ (defines, this->GeneratorTarget->GetCompileDefinitions(
+ this->LocalGenerator->ConfigurationName.c_str()));
- ByLanguageMap::value_type entry(l, defines);
+ std::string definesString;
+ this->LocalGenerator->JoinDefines(defines, definesString, lang);
+
+ ByLanguageMap::value_type entry(l, definesString);
i = this->DefinesByLanguage.insert(entry).first;
}
return i->second;
@@ -587,14 +585,12 @@ cmMakefileTargetGenerator
}
// Add language-specific defines.
- std::string defines = "$(";
- defines += lang;
- defines += "_DEFINES)";
+ std::set<std::string> defines;
// Add source-sepcific preprocessor definitions.
if(const char* compile_defs = source.GetProperty("COMPILE_DEFINITIONS"))
{
- this->LocalGenerator->AppendDefines(defines, compile_defs, lang);
+ this->LocalGenerator->AppendDefines(defines, compile_defs);
*this->FlagFileStream << "# Custom defines: "
<< relativeObj << "_DEFINES = "
<< compile_defs << "\n"
@@ -607,7 +603,7 @@ cmMakefileTargetGenerator
if(const char* config_compile_defs =
source.GetProperty(defPropName.c_str()))
{
- this->LocalGenerator->AppendDefines(defines, config_compile_defs, lang);
+ this->LocalGenerator->AppendDefines(defines, config_compile_defs);
*this->FlagFileStream
<< "# Custom defines: "
<< relativeObj << "_DEFINES_" << configUpper
@@ -651,7 +647,7 @@ cmMakefileTargetGenerator
this->Target->GetType() == cmTarget::SHARED_LIBRARY ||
this->Target->GetType() == cmTarget::MODULE_LIBRARY)
{
- targetFullPathPDB = this->Target->GetDirectory(this->ConfigName);
+ targetFullPathPDB = this->Target->GetPDBDirectory(this->ConfigName);
targetFullPathPDB += "/";
targetFullPathPDB += this->Target->GetPDBName(this->ConfigName);
}
@@ -676,7 +672,14 @@ cmMakefileTargetGenerator
cmLocalGenerator::SHELL);
vars.ObjectDir = objectDir.c_str();
vars.Flags = flags.c_str();
- vars.Defines = defines.c_str();
+
+ std::string definesString = "$(";
+ definesString += lang;
+ definesString += "_DEFINES)";
+
+ this->LocalGenerator->JoinDefines(defines, definesString, lang);
+
+ vars.Defines = definesString.c_str();
bool lang_is_c_or_cxx = ((strcmp(lang, "C") == 0) ||
(strcmp(lang, "CXX") == 0));
@@ -1014,7 +1017,8 @@ void cmMakefileTargetGenerator::WriteTargetDependRules()
<< "SET(CMAKE_TARGET_LINKED_INFO_FILES\n";
std::set<cmTarget const*> emitted;
const char* cfg = this->LocalGenerator->ConfigurationName.c_str();
- if(cmComputeLinkInformation* cli = this->Target->GetLinkInformation(cfg))
+ if(cmComputeLinkInformation* cli =
+ this->GeneratorTarget->GetLinkInformation(cfg))
{
cmComputeLinkInformation::ItemVector const& items = cli->GetItems();
for(cmComputeLinkInformation::ItemVector::const_iterator
@@ -1053,7 +1057,11 @@ void cmMakefileTargetGenerator::WriteTargetDependRules()
*this->InfoFileStream
<< "SET(CMAKE_C_TARGET_INCLUDE_PATH\n";
std::vector<std::string> includes;
- this->LocalGenerator->GetIncludeDirectories(includes, this->Target);
+
+ const char *config = this->Makefile->GetDefinition("CMAKE_BUILD_TYPE");
+ this->LocalGenerator->GetIncludeDirectories(includes,
+ this->GeneratorTarget,
+ "C", config);
for(std::vector<std::string>::iterator i = includes.begin();
i != includes.end(); ++i)
{
@@ -1538,7 +1546,11 @@ std::string cmMakefileTargetGenerator::GetFrameworkFlags()
emitted.insert("/System/Library/Frameworks");
#endif
std::vector<std::string> includes;
- this->LocalGenerator->GetIncludeDirectories(includes, this->Target);
+
+ const char *config = this->Makefile->GetDefinition("CMAKE_BUILD_TYPE");
+ this->LocalGenerator->GetIncludeDirectories(includes,
+ this->GeneratorTarget,
+ "C", config);
std::vector<std::string>::iterator i;
// check all include directories for frameworks as this
// will already have added a -F for the framework
@@ -1582,7 +1594,8 @@ void cmMakefileTargetGenerator
// Loop over all library dependencies.
const char* cfg = this->LocalGenerator->ConfigurationName.c_str();
- if(cmComputeLinkInformation* cli = this->Target->GetLinkInformation(cfg))
+ if(cmComputeLinkInformation* cli =
+ this->GeneratorTarget->GetLinkInformation(cfg))
{
std::vector<std::string> const& libDeps = cli->GetDepends();
for(std::vector<std::string>::const_iterator j = libDeps.begin();
@@ -1842,7 +1855,10 @@ void cmMakefileTargetGenerator::AddIncludeFlags(std::string& flags,
std::vector<std::string> includes;
- this->LocalGenerator->GetIncludeDirectories(includes, this->Target, lang);
+ const char *config = this->Makefile->GetDefinition("CMAKE_BUILD_TYPE");
+ this->LocalGenerator->GetIncludeDirectories(includes,
+ this->GeneratorTarget,
+ lang, config);
std::string includeFlags =
this->LocalGenerator->GetIncludeFlags(includes, lang, useResponseFile);
@@ -1945,7 +1961,10 @@ void cmMakefileTargetGenerator::AddFortranFlags(std::string& flags)
this->Makefile->GetDefinition("CMAKE_Fortran_MODPATH_FLAG"))
{
std::vector<std::string> includes;
- this->LocalGenerator->GetIncludeDirectories(includes, this->Target);
+ const char *config = this->Makefile->GetDefinition("CMAKE_BUILD_TYPE");
+ this->LocalGenerator->GetIncludeDirectories(includes,
+ this->GeneratorTarget,
+ "C", config);
for(std::vector<std::string>::const_iterator idi = includes.begin();
idi != includes.end(); ++idi)
{
diff --git a/Source/cmMarkAsAdvancedCommand.cxx b/Source/cmMarkAsAdvancedCommand.cxx
index a80f7ecd6..4236d102c 100644
--- a/Source/cmMarkAsAdvancedCommand.cxx
+++ b/Source/cmMarkAsAdvancedCommand.cxx
@@ -37,7 +37,7 @@ bool cmMarkAsAdvancedCommand
{
std::string variable = args[i];
cmCacheManager* manager = this->Makefile->GetCacheManager();
- cmCacheManager::CacheIterator it =
+ cmCacheManager::CacheIterator it =
manager->GetCacheIterator(variable.c_str());
if ( it.IsAtEnd() )
{
diff --git a/Source/cmMarkAsAdvancedCommand.h b/Source/cmMarkAsAdvancedCommand.h
index 3658dbbd3..246eb8aa3 100644
--- a/Source/cmMarkAsAdvancedCommand.h
+++ b/Source/cmMarkAsAdvancedCommand.h
@@ -25,7 +25,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmMarkAsAdvancedCommand;
}
@@ -41,7 +41,7 @@ public:
* The name of the command as specified in CMakeList.txt.
*/
virtual const char* GetName() const {return "mark_as_advanced";}
-
+
/**
* Succinct documentation.
*/
@@ -49,7 +49,7 @@ public:
{
return "Mark cmake cached variables as advanced.";
}
-
+
/**
* More documentation.
*/
diff --git a/Source/cmMathCommand.cxx b/Source/cmMathCommand.cxx
index 3c1129d04..9fc42659a 100644
--- a/Source/cmMathCommand.cxx
+++ b/Source/cmMathCommand.cxx
@@ -43,7 +43,7 @@ bool cmMathCommand::HandleExprCommand(std::vector<std::string> const& args)
const std::string& outputVariable = args[1];
const std::string& expression = args[2];
-
+
cmExprParserHelper helper;
if ( !helper.ParseString(expression.c_str(), 0) )
{
diff --git a/Source/cmMathCommand.h b/Source/cmMathCommand.h
index d62290428..27c5b6a3b 100644
--- a/Source/cmMathCommand.h
+++ b/Source/cmMathCommand.h
@@ -21,7 +21,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmMathCommand;
}
@@ -50,7 +50,7 @@ public:
{
return "Mathematical expressions.";
}
-
+
/**
* More documentation.
*/
@@ -64,10 +64,10 @@ public:
"+ - * / % | & ^ ~ << >> * / %. They have the same meaning "
" as they do in c code.";
}
-
+
cmTypeMacro(cmMathCommand, cmCommand);
protected:
-
+
bool HandleExprCommand(std::vector<std::string> const& args);
};
diff --git a/Source/cmMessageCommand.h b/Source/cmMessageCommand.h
index 03ab94b1c..9f01eaf24 100644
--- a/Source/cmMessageCommand.h
+++ b/Source/cmMessageCommand.h
@@ -24,7 +24,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmMessageCommand;
}
@@ -53,7 +53,7 @@ public:
{
return "Display a message to the user.";
}
-
+
/**
* More documentation.
*/
@@ -83,7 +83,7 @@ public:
"Indented text is considered pre-formatted."
;
}
-
+
cmTypeMacro(cmMessageCommand, cmCommand);
};
diff --git a/Source/cmNinjaNormalTargetGenerator.cxx b/Source/cmNinjaNormalTargetGenerator.cxx
index a923d6068..6c54ced9a 100644
--- a/Source/cmNinjaNormalTargetGenerator.cxx
+++ b/Source/cmNinjaNormalTargetGenerator.cxx
@@ -153,7 +153,7 @@ cmNinjaNormalTargetGenerator
cmTarget::TargetType targetType = this->GetTarget()->GetType();
std::string ruleName = this->LanguageLinkerRule();
if (useResponseFile)
- ruleName += "_RSPFILE";
+ ruleName += "_RSP_FILE";
// Select whether to use a response file for objects.
std::string rspfile;
@@ -168,20 +168,29 @@ cmNinjaNormalTargetGenerator
std::string responseFlag;
if (!useResponseFile) {
vars.Objects = "$in";
- vars.LinkLibraries = "$LINK_LIBRARIES";
+ vars.LinkLibraries = "$LINK_PATH $LINK_LIBRARIES";
} else {
- // handle response file
- std::string cmakeLinkVar = std::string("CMAKE_") +
- this->TargetLinkLanguage + "_RESPONSE_FILE_LINK_FLAG";
+ std::string cmakeVarLang = "CMAKE_";
+ cmakeVarLang += this->TargetLinkLanguage;
+
+ // build response file name
+ std::string cmakeLinkVar = cmakeVarLang + "_RESPONSE_FILE_LINK_FLAG";
const char * flag = GetMakefile()->GetDefinition(cmakeLinkVar.c_str());
if(flag) {
responseFlag = flag;
} else {
responseFlag = "@";
}
- rspfile = "$out.rsp";
+ rspfile = "$RSP_FILE";
responseFlag += rspfile;
- rspcontent = "$in $LINK_LIBRARIES";
+
+ // build response file content
+ std::string linkOptionVar = cmakeVarLang;
+ linkOptionVar += "_COMPILER_LINKER_OPTION_FLAG_";
+ linkOptionVar += cmTarget::GetTargetTypeName(targetType);
+ const std::string linkOption =
+ GetMakefile()->GetSafeDefinition(linkOptionVar.c_str());
+ rspcontent = "$in " + linkOption + " $LINK_PATH $LINK_LIBRARIES";
vars.Objects = responseFlag.c_str();
vars.LinkLibraries = "";
}
@@ -420,12 +429,17 @@ void cmNinjaNormalTargetGenerator::WriteLinkStatement()
cmNinjaDeps explicitDeps = this->GetObjects();
cmNinjaDeps implicitDeps = this->ComputeLinkDeps();
+ std::string frameworkPath;
+ std::string linkPath;
this->GetLocalGenerator()->GetTargetFlags(vars["LINK_LIBRARIES"],
vars["FLAGS"],
vars["LINK_FLAGS"],
- *this->GetTarget());
+ frameworkPath,
+ linkPath,
+ this->GetGeneratorTarget());
this->AddModuleDefinitionFlag(vars["LINK_FLAGS"]);
+ vars["LINK_PATH"] = frameworkPath + linkPath;
// Compute architecture specific link flags. Yes, these go into a different
// variable for executables, probably due to a mistake made when duplicating
@@ -434,7 +448,7 @@ void cmNinjaNormalTargetGenerator::WriteLinkStatement()
? vars["FLAGS"]
: vars["ARCH_FLAGS"]);
this->GetLocalGenerator()->AddArchitectureFlags(flags,
- this->GetTarget(),
+ this->GetGeneratorTarget(),
this->TargetLinkLanguage,
this->GetConfigName());
if (targetType == cmTarget::EXECUTABLE) {
@@ -459,25 +473,16 @@ void cmNinjaNormalTargetGenerator::WriteLinkStatement()
}
}
- std::string path;
if (!this->TargetNameImport.empty()) {
- path = this->GetLocalGenerator()->ConvertToOutputFormat(
- targetOutputImplib.c_str(), cmLocalGenerator::SHELL);
- vars["TARGET_IMPLIB"] = path;
- EnsureParentDirectoryExists(path);
+ const std::string impLibPath = this->GetLocalGenerator()
+ ->ConvertToOutputFormat(targetOutputImplib.c_str(),
+ cmLocalGenerator::SHELL);
+ vars["TARGET_IMPLIB"] = impLibPath;
+ EnsureParentDirectoryExists(impLibPath);
}
cmMakefile* mf = this->GetMakefile();
- if (mf->GetDefinition("MSVC_C_ARCHITECTURE_ID") ||
- mf->GetDefinition("MSVC_CXX_ARCHITECTURE_ID"))
- {
- path = this->GetTargetPDB();
- vars["TARGET_PDB"] = this->GetLocalGenerator()->ConvertToOutputFormat(
- ConvertToNinjaPath(path.c_str()).c_str(),
- cmLocalGenerator::SHELL);
- EnsureParentDirectoryExists(path);
- }
- else
+ if (!this->SetMsvcTargetPdbVariable(vars))
{
// It is common to place debug symbols at a specific place,
// so we need a plain target name in the rule available.
@@ -494,9 +499,9 @@ void cmNinjaNormalTargetGenerator::WriteLinkStatement()
if (mf->IsOn("CMAKE_COMPILER_IS_MINGW"))
{
- path = GetTarget()->GetSupportDirectory();
- vars["OBJECT_DIR"] = ConvertToNinjaPath(path.c_str());
- EnsureDirectoryExists(path);
+ const std::string objPath = GetTarget()->GetSupportDirectory();
+ vars["OBJECT_DIR"] = ConvertToNinjaPath(objPath.c_str());
+ EnsureDirectoryExists(objPath);
// ar.exe can't handle backslashes in rsp files (implictly used by gcc)
std::string& linkLibraries = vars["LINK_LIBRARIES"];
std::replace(linkLibraries.begin(), linkLibraries.end(), '\\', '/');
@@ -527,10 +532,10 @@ void cmNinjaNormalTargetGenerator::WriteLinkStatement()
// If we have any PRE_LINK commands, we need to go back to HOME_OUTPUT for
// the link commands.
if (!preLinkCmdLines.empty()) {
- path = this->GetLocalGenerator()->ConvertToOutputFormat(
- this->GetMakefile()->GetHomeOutputDirectory(),
- cmLocalGenerator::SHELL);
- preLinkCmdLines.push_back("cd " + path);
+ const std::string homeOutDir = this->GetLocalGenerator()
+ ->ConvertToOutputFormat(this->GetMakefile()->GetHomeOutputDirectory(),
+ cmLocalGenerator::SHELL);
+ preLinkCmdLines.push_back("cd " + homeOutDir);
}
vars["PRE_LINK"] =
@@ -548,15 +553,24 @@ void cmNinjaNormalTargetGenerator::WriteLinkStatement()
int linkRuleLength = this->GetGlobalGenerator()->
GetRuleCmdLength(this->LanguageLinkerRule());
+
+ int commandLineLengthLimit = 1;
+ const char* forceRspFile = "CMAKE_NINJA_FORCE_RESPONSE_FILE";
+ if (!this->GetMakefile()->IsDefinitionSet(forceRspFile) &&
+ cmSystemTools::GetEnv(forceRspFile) == 0) {
#ifdef _WIN32
- int commandLineLengthLimit = 8000 - linkRuleLength;
+ commandLineLengthLimit = 8000 - linkRuleLength;
#elif defined(__linux) || defined(__APPLE__)
- // for instance ARG_MAX is 2096152 on Ubuntu or 262144 on Mac
- int commandLineLengthLimit = ((int)sysconf(_SC_ARG_MAX))
- - linkRuleLength - 1000;
+ // for instance ARG_MAX is 2096152 on Ubuntu or 262144 on Mac
+ commandLineLengthLimit = ((int)sysconf(_SC_ARG_MAX))-linkRuleLength-1000;
#else
- int commandLineLengthLimit = -1;
+ commandLineLengthLimit = -1;
#endif
+ }
+
+ const std::string rspfile = std::string
+ (cmake::GetCMakeFilesDirectoryPostSlash()) +
+ this->GetTarget()->GetName() + ".rsp";
// Write the build statement for this target.
cmGlobalNinjaGenerator::WriteBuild(this->GetBuildFileStream(),
@@ -567,6 +581,7 @@ void cmNinjaNormalTargetGenerator::WriteLinkStatement()
implicitDeps,
emptyDeps,
vars,
+ rspfile,
commandLineLengthLimit);
if (targetOutput != targetOutputReal) {
diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx
index 3532c8ba4..0f1015208 100644
--- a/Source/cmNinjaTargetGenerator.cxx
+++ b/Source/cmNinjaTargetGenerator.cxx
@@ -134,7 +134,7 @@ cmNinjaTargetGenerator::ComputeFlagsForObject(cmSourceFile *source,
this->AddFeatureFlags(flags, language.c_str());
this->GetLocalGenerator()->AddArchitectureFlags(flags,
- this->GetTarget(),
+ this->GeneratorTarget,
language.c_str(),
this->GetConfigName());
@@ -152,8 +152,10 @@ cmNinjaTargetGenerator::ComputeFlagsForObject(cmSourceFile *source,
// Add include directory flags.
{
std::vector<std::string> includes;
- this->LocalGenerator->GetIncludeDirectories(includes, this->Target,
- language.c_str());
+ const char *config = this->Makefile->GetDefinition("CMAKE_BUILD_TYPE");
+ this->LocalGenerator->GetIncludeDirectories(includes,
+ this->GeneratorTarget,
+ language.c_str(), config);
std::string includeFlags =
this->LocalGenerator->GetIncludeFlags(includes, language.c_str(),
language == "RC" ? true : false); // full include paths for RC
@@ -167,11 +169,41 @@ cmNinjaTargetGenerator::ComputeFlagsForObject(cmSourceFile *source,
// Append old-style preprocessor definition flags.
this->LocalGenerator->AppendFlags(flags, this->Makefile->GetDefineFlags());
- // Add target-specific and source-specific flags.
- this->LocalGenerator->AppendFlags(flags,
- this->Target->GetProperty("COMPILE_FLAGS"));
- this->LocalGenerator->AppendFlags(flags,
- source->GetProperty("COMPILE_FLAGS"));
+ // Add target-specific flags.
+ if(this->Target->GetProperty("COMPILE_FLAGS"))
+ {
+ std::string langIncludeExpr = "CMAKE_";
+ langIncludeExpr += language;
+ langIncludeExpr += "_FLAG_REGEX";
+ const char* regex = this->Makefile->
+ GetDefinition(langIncludeExpr.c_str());
+ if(regex)
+ {
+ cmsys::RegularExpression r(regex);
+ std::vector<std::string> args;
+ cmSystemTools::ParseWindowsCommandLine(
+ this->Target->GetProperty("COMPILE_FLAGS"),
+ args);
+ for(std::vector<std::string>::iterator i = args.begin();
+ i != args.end(); ++i)
+ {
+ if(r.find(i->c_str()))
+ {
+ this->LocalGenerator->AppendFlags
+ (flags, i->c_str());
+ }
+ }
+ }
+ else
+ {
+ this->LocalGenerator->AppendFlags
+ (flags, this->Target->GetProperty("COMPILE_FLAGS"));
+ }
+ }
+
+ // Add source file specific flags.
+ this->LocalGenerator->AppendFlags(flags,
+ source->GetProperty("COMPILE_FLAGS"));
// TODO: Handle Apple frameworks.
@@ -184,46 +216,37 @@ std::string
cmNinjaTargetGenerator::
ComputeDefines(cmSourceFile *source, const std::string& language)
{
- std::string defines;
+ std::set<std::string> defines;
// Add the export symbol definition for shared library objects.
if(const char* exportMacro = this->Target->GetExportMacro())
{
- this->LocalGenerator->AppendDefines(defines, exportMacro,
- language.c_str());
+ this->LocalGenerator->AppendDefines(defines, exportMacro);
}
// Add preprocessor definitions for this target and configuration.
this->LocalGenerator->AppendDefines
(defines,
- this->Makefile->GetProperty("COMPILE_DEFINITIONS"),
- language.c_str());
+ this->GeneratorTarget->GetCompileDefinitions());
this->LocalGenerator->AppendDefines
(defines,
- this->Target->GetProperty("COMPILE_DEFINITIONS"),
- language.c_str());
- this->LocalGenerator->AppendDefines
- (defines,
- source->GetProperty("COMPILE_DEFINITIONS"),
- language.c_str());
+ source->GetProperty("COMPILE_DEFINITIONS"));
{
std::string defPropName = "COMPILE_DEFINITIONS_";
defPropName += cmSystemTools::UpperCase(this->GetConfigName());
this->LocalGenerator->AppendDefines
(defines,
- this->Makefile->GetProperty(defPropName.c_str()),
- language.c_str());
- this->LocalGenerator->AppendDefines
- (defines,
- this->Target->GetProperty(defPropName.c_str()),
- language.c_str());
+ this->GeneratorTarget->GetCompileDefinitions(this->GetConfigName()));
this->LocalGenerator->AppendDefines
(defines,
- source->GetProperty(defPropName.c_str()),
- language.c_str());
+ source->GetProperty(defPropName.c_str()));
}
- return defines;
+ std::string definesString;
+ this->LocalGenerator->JoinDefines(defines, definesString,
+ language.c_str());
+
+ return definesString;
}
cmNinjaDeps cmNinjaTargetGenerator::ComputeLinkDeps() const
@@ -234,7 +257,7 @@ cmNinjaDeps cmNinjaTargetGenerator::ComputeLinkDeps() const
return cmNinjaDeps();
cmComputeLinkInformation* cli =
- this->Target->GetLinkInformation(this->GetConfigName());
+ this->GeneratorTarget->GetLinkInformation(this->GetConfigName());
if(!cli)
return cmNinjaDeps();
@@ -295,23 +318,33 @@ std::string cmNinjaTargetGenerator::GetTargetName() const
return this->Target->GetName();
}
-std::string cmNinjaTargetGenerator::GetTargetPDB() const
+
+bool cmNinjaTargetGenerator::SetMsvcTargetPdbVariable(cmNinjaVars& vars) const
{
- std::string targetFullPathPDB;
- if(this->Target->GetType() == cmTarget::EXECUTABLE ||
- this->Target->GetType() == cmTarget::STATIC_LIBRARY ||
- this->Target->GetType() == cmTarget::SHARED_LIBRARY ||
- this->Target->GetType() == cmTarget::MODULE_LIBRARY)
+ cmMakefile* mf = this->GetMakefile();
+ if (mf->GetDefinition("MSVC_C_ARCHITECTURE_ID") ||
+ mf->GetDefinition("MSVC_CXX_ARCHITECTURE_ID"))
{
- targetFullPathPDB = this->Target->GetDirectory(this->GetConfigName());
- targetFullPathPDB += "/";
- targetFullPathPDB += this->Target->GetPDBName(this->GetConfigName());
- }
+ std::string pdbPath;
+ if(this->Target->GetType() == cmTarget::EXECUTABLE ||
+ this->Target->GetType() == cmTarget::STATIC_LIBRARY ||
+ this->Target->GetType() == cmTarget::SHARED_LIBRARY ||
+ this->Target->GetType() == cmTarget::MODULE_LIBRARY)
+ {
+ pdbPath = this->Target->GetPDBDirectory(this->GetConfigName());
+ pdbPath += "/";
+ pdbPath += this->Target->GetPDBName(this->GetConfigName());
+ }
- return targetFullPathPDB.c_str();
+ vars["TARGET_PDB"] = this->GetLocalGenerator()->ConvertToOutputFormat(
+ ConvertToNinjaPath(pdbPath.c_str()).c_str(),
+ cmLocalGenerator::SHELL);
+ EnsureParentDirectoryExists(pdbPath);
+ return true;
+ }
+ return false;
}
-
void
cmNinjaTargetGenerator
::WriteLanguageRules(const std::string& language)
@@ -337,29 +370,30 @@ cmNinjaTargetGenerator
std::string flags = "$FLAGS";
vars.Defines = "$DEFINES";
vars.TargetPDB = "$TARGET_PDB";
-
+ vars.ObjectDir = "$OBJECT_DIR";
cmMakefile* mf = this->GetMakefile();
bool useClDeps = false;
+ std::string clBinary;
std::string clDepsBinary;
std::string clShowPrefix;
if (lang == "C" || lang == "CXX" || lang == "RC")
{
- const char* depsPtr = mf->GetDefinition("CMAKE_CMCLDEPS_EXECUTABLE");
- const char* showPtr = mf->GetDefinition("CMAKE_CL_SHOWINCLUDE_PREFIX");
- if (depsPtr && showPtr)
+ clDepsBinary = mf->GetSafeDefinition("CMAKE_CMCLDEPS_EXECUTABLE");
+ if (!clDepsBinary.empty() && !mf->GetIsSourceFileTryCompile())
{
- // don't wrap for try_compile,
- // TODO but why doesn't it work with cmcldeps?
- const std::string projectName = mf->GetProjectName() ?
- mf->GetProjectName() : "";
- if (projectName != "CMAKE_TRY_COMPILE")
+ clShowPrefix = mf->GetSafeDefinition("CMAKE_CL_SHOWINCLUDE_PREFIX");
+ clBinary = mf->GetDefinition("CMAKE_C_COMPILER") ?
+ mf->GetSafeDefinition("CMAKE_C_COMPILER") :
+ mf->GetSafeDefinition("CMAKE_CXX_COMPILER");
+ if (!clBinary.empty() && !clShowPrefix.empty())
{
useClDeps = true;
- std::string qu = "\"";
- clDepsBinary = qu + depsPtr + qu;
- clShowPrefix = qu + showPtr + qu;
+ const std::string quote = " \"";
+ clBinary = quote + clBinary + "\" ";
+ clDepsBinary = quote + clDepsBinary + "\" ";
+ clShowPrefix = quote + clShowPrefix + "\" ";
vars.DependencyFile = "$DEP_FILE";
}
}
@@ -393,16 +427,14 @@ cmNinjaTargetGenerator
i != compileCmds.end(); ++i)
this->GetLocalGenerator()->ExpandRuleVariables(*i, vars);
- std::string cmdLine =
- this->GetLocalGenerator()->BuildCommandLine(compileCmds);
-
+ std::string cmdLine;
if(useClDeps)
{
- std::string cl = mf->GetDefinition("CMAKE_C_COMPILER");
- cl = "\"" + cl + "\" ";
- cmdLine = clDepsBinary + " " + lang + " $in \"$DEP_FILE\" $out "
- + clShowPrefix + " " + cl + cmdLine;
+ cmdLine = clDepsBinary + lang + " $in \"$DEP_FILE\" $out " +
+ clShowPrefix + clBinary;
}
+ cmdLine += this->GetLocalGenerator()->BuildCommandLine(compileCmds);
+
// Write the rule for compiling file of the given language.
cmOStringStream comment;
@@ -478,8 +510,6 @@ void
cmNinjaTargetGenerator
::WriteObjectBuildStatement(cmSourceFile* source)
{
- cmNinjaDeps emptyDeps;
-
std::string comment;
const std::string language = source->GetLanguage();
std::string rule = this->LanguageCompilerRule(language);
@@ -503,11 +533,12 @@ cmNinjaTargetGenerator
cmNinjaDeps orderOnlyDeps;
this->GetLocalGenerator()->AppendTargetDepends(this->Target, orderOnlyDeps);
+ cmNinjaDeps implicitDeps;
if(const char* objectDeps = source->GetProperty("OBJECT_DEPENDS")) {
std::vector<std::string> depList;
cmSystemTools::ExpandListArgument(objectDeps, depList);
std::transform(depList.begin(), depList.end(),
- std::back_inserter(orderOnlyDeps), MapToNinjaPath());
+ std::back_inserter(implicitDeps), MapToNinjaPath());
}
// Add order-only dependencies on custom command outputs.
@@ -518,7 +549,7 @@ cmNinjaTargetGenerator
cmCustomCommand const* cc = (*si)->GetCustomCommand();
const std::vector<std::string>& ccoutputs = cc->GetOutputs();
std::transform(ccoutputs.begin(), ccoutputs.end(),
- std::back_inserter(orderOnlyDeps), MapToNinjaPath());
+ std::back_inserter(implicitDeps), MapToNinjaPath());
}
// If the source file is GENERATED and does not have a custom command
@@ -537,15 +568,14 @@ cmNinjaTargetGenerator
vars["DEP_FILE"] = objectFileName + ".d";;
EnsureParentDirectoryExists(objectFileName);
- // TODO move to GetTargetPDB
- cmMakefile* mf = this->GetMakefile();
- if (mf->GetDefinition("MSVC_C_ARCHITECTURE_ID") ||
- mf->GetDefinition("MSVC_CXX_ARCHITECTURE_ID"))
- {
- vars["TARGET_PDB"] = this->GetLocalGenerator()->ConvertToOutputFormat(
- ConvertToNinjaPath(GetTargetPDB().c_str()).c_str(),
- cmLocalGenerator::SHELL);
- }
+ std::string objectDir = cmSystemTools::GetFilenamePath(objectFileName);
+ objectDir = this->GetLocalGenerator()->Convert(objectDir.c_str(),
+ cmLocalGenerator::START_OUTPUT,
+ cmLocalGenerator::SHELL);
+ vars["OBJECT_DIR"] = objectDir;
+
+
+ this->SetMsvcTargetPdbVariable(vars);
if(this->Makefile->IsOn("CMAKE_EXPORT_COMPILE_COMMANDS"))
{
@@ -569,6 +599,7 @@ cmNinjaTargetGenerator
compileObjectVars.Source = escapedSourceFileName.c_str();
compileObjectVars.Object = objectFileName.c_str();
+ compileObjectVars.ObjectDir = objectDir.c_str();
compileObjectVars.Flags = vars["FLAGS"].c_str();
compileObjectVars.Defines = vars["DEFINES"].c_str();
@@ -597,7 +628,7 @@ cmNinjaTargetGenerator
rule,
outputs,
explicitDeps,
- emptyDeps,
+ implicitDeps,
orderOnlyDeps,
vars);
@@ -641,14 +672,24 @@ cmNinjaTargetGenerator
void
cmNinjaTargetGenerator
-::EnsureDirectoryExists(const std::string& dir)
+::EnsureDirectoryExists(const std::string& path) const
{
- cmSystemTools::MakeDirectory(dir.c_str());
+ if (cmSystemTools::FileIsFullPath(path.c_str()))
+ {
+ cmSystemTools::MakeDirectory(path.c_str());
+ }
+ else
+ {
+ const std::string fullPath = std::string(this->GetGlobalGenerator()->
+ GetCMakeInstance()->GetHomeOutputDirectory())
+ + "/" + path;
+ cmSystemTools::MakeDirectory(fullPath.c_str());
+ }
}
void
cmNinjaTargetGenerator
-::EnsureParentDirectoryExists(const std::string& path)
+::EnsureParentDirectoryExists(const std::string& path) const
{
EnsureDirectoryExists(cmSystemTools::GetParentDirectory(path.c_str()));
}
diff --git a/Source/cmNinjaTargetGenerator.h b/Source/cmNinjaTargetGenerator.h
index 84573cec2..cf06bfdf5 100644
--- a/Source/cmNinjaTargetGenerator.h
+++ b/Source/cmNinjaTargetGenerator.h
@@ -40,16 +40,21 @@ public:
virtual void Generate() = 0;
- std::string GetTargetPDB() const;
std::string GetTargetName() const;
protected:
+
+ bool SetMsvcTargetPdbVariable(cmNinjaVars&) const;
+
cmGeneratedFileStream& GetBuildFileStream() const;
cmGeneratedFileStream& GetRulesFileStream() const;
cmTarget* GetTarget() const
{ return this->Target; }
+ cmGeneratorTarget* GetGeneratorTarget() const
+ { return this->GeneratorTarget; }
+
cmLocalNinjaGenerator* GetLocalGenerator() const
{ return this->LocalGenerator; }
@@ -112,8 +117,8 @@ protected:
// Helper to add flag for windows .def file.
void AddModuleDefinitionFlag(std::string& flags);
- void EnsureDirectoryExists(const std::string& dir);
- void EnsureParentDirectoryExists(const std::string& path);
+ void EnsureDirectoryExists(const std::string& dir) const;
+ void EnsureParentDirectoryExists(const std::string& path) const;
// write rules for Mac OS X Application Bundle content.
struct MacOSXContentGeneratorType :
diff --git a/Source/cmObject.h b/Source/cmObject.h
index 1a39aa76a..ca6a54fd0 100644
--- a/Source/cmObject.h
+++ b/Source/cmObject.h
@@ -27,7 +27,7 @@ public:
* Need virtual destructor to destroy real command type.
*/
virtual ~cmObject() {}
-
+
/**
* The class name of the command.
*/
@@ -38,7 +38,7 @@ public:
*/
static bool IsTypeOf(const char *type)
{ return !strcmp("cmObject", type); }
-
+
/**
* Returns true if this object is an instance of the given class or
* a subclass of it.
diff --git a/Source/cmOptionCommand.cxx b/Source/cmOptionCommand.cxx
index af9d94bcf..776a3a443 100644
--- a/Source/cmOptionCommand.cxx
+++ b/Source/cmOptionCommand.cxx
@@ -42,11 +42,11 @@ bool cmOptionCommand
this->SetError(m.c_str());
return false;
}
-
+
std::string initialValue = "Off";
// Now check and see if the value has been stored in the cache
// already, if so use that value and don't look for the program
- cmCacheManager::CacheIterator it =
+ cmCacheManager::CacheIterator it =
this->Makefile->GetCacheManager()->GetCacheIterator(args[0].c_str());
if(!it.IsAtEnd())
{
diff --git a/Source/cmOptionCommand.h b/Source/cmOptionCommand.h
index da3133237..7d0240050 100644
--- a/Source/cmOptionCommand.h
+++ b/Source/cmOptionCommand.h
@@ -25,7 +25,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmOptionCommand;
}
@@ -41,7 +41,7 @@ public:
* The name of the command as specified in CMakeList.txt.
*/
virtual const char* GetName() const {return "option";}
-
+
/**
* Succinct documentation.
*/
@@ -49,7 +49,7 @@ public:
{
return "Provides an option that the user can optionally select.";
}
-
+
/**
* More documentation.
*/
diff --git a/Source/cmOutputRequiredFilesCommand.cxx b/Source/cmOutputRequiredFilesCommand.cxx
index be079c096..01fc2cf8a 100644
--- a/Source/cmOutputRequiredFilesCommand.cxx
+++ b/Source/cmOutputRequiredFilesCommand.cxx
@@ -28,7 +28,7 @@ void cmLBDepend::DependWalk(cmDependInformation* info)
cmSystemTools::Error("error can not open ", info->FullPath.c_str());
return;
}
-
+
std::string line;
while(cmSystemTools::GetLineFromStream(fin, line))
{
@@ -45,7 +45,7 @@ void cmLBDepend::DependWalk(cmDependInformation* info)
// if a < is not found then move on
if(qstart == std::string::npos)
{
- cmSystemTools::Error("unknown include directive ",
+ cmSystemTools::Error("unknown include directive ",
currentline.c_str() );
continue;
}
@@ -73,7 +73,7 @@ void cmLBDepend::DependWalk(cmDependInformation* info)
}
continue;
}
-
+
// Add this file and all its dependencies.
this->AddDependency(info, includeFile.c_str());
/// add the cxx file if it exists
@@ -89,7 +89,7 @@ void cmLBDepend::DependWalk(cmDependInformation* info)
{
found = true;
}
- for(std::vector<std::string>::iterator i =
+ for(std::vector<std::string>::iterator i =
this->IncludeDirectories.begin();
i != this->IncludeDirectories.end(); ++i)
{
@@ -108,7 +108,7 @@ void cmLBDepend::DependWalk(cmDependInformation* info)
{
found = true;
}
- for(std::vector<std::string>::iterator i =
+ for(std::vector<std::string>::iterator i =
this->IncludeDirectories.begin();
i != this->IncludeDirectories.end(); ++i)
{
@@ -128,7 +128,7 @@ void cmLBDepend::DependWalk(cmDependInformation* info)
{
found = true;
}
- for(std::vector<std::string>::iterator i =
+ for(std::vector<std::string>::iterator i =
this->IncludeDirectories.begin();
i != this->IncludeDirectories.end(); ++i)
{
@@ -148,7 +148,7 @@ void cmLBDepend::DependWalk(cmDependInformation* info)
{
found = true;
}
- for(std::vector<std::string>::iterator i =
+ for(std::vector<std::string>::iterator i =
this->IncludeDirectories.begin();
i != this->IncludeDirectories.end(); ++i)
{
@@ -183,7 +183,7 @@ bool cmOutputRequiredFilesCommand
// store the arg for final pass
this->File = args[0];
this->OutputFile = args[1];
-
+
// compute the list of files
cmLBDepend md;
md.SetMakefile(this->Makefile);
@@ -217,7 +217,7 @@ ListDependencies(cmDependInformation const *info,
// add info to the visited set
visited->insert(info);
// now recurse with info's dependencies
- for(cmDependInformation::DependencySetType::const_iterator d =
+ for(cmDependInformation::DependencySetType::const_iterator d =
info->DependencySet.begin();
d != info->DependencySet.end(); ++d)
{
diff --git a/Source/cmOutputRequiredFilesCommand.h b/Source/cmOutputRequiredFilesCommand.h
index 85d9095e2..1d7e39457 100644
--- a/Source/cmOutputRequiredFilesCommand.h
+++ b/Source/cmOutputRequiredFilesCommand.h
@@ -25,7 +25,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmOutputRequiredFilesCommand;
}
@@ -49,7 +49,7 @@ public:
{
return "Deprecated. Approximate C preprocessor dependency scanning.";
}
-
+
/**
* More documentation.
*/
@@ -72,7 +72,7 @@ public:
return true;
}
-
+
cmTypeMacro(cmOutputRequiredFilesCommand, cmCommand);
void ListDependencies(cmDependInformation const *info,
FILE *fout,
diff --git a/Source/cmProjectCommand.cxx b/Source/cmProjectCommand.cxx
index fcf0a4903..11f9a7621 100644
--- a/Source/cmProjectCommand.cxx
+++ b/Source/cmProjectCommand.cxx
@@ -19,14 +19,14 @@ bool cmProjectCommand
{
this->SetError("PROJECT called with incorrect number of arguments");
return false;
- }
+ }
this->Makefile->SetProjectName(args[0].c_str());
std::string bindir = args[0];
bindir += "_BINARY_DIR";
std::string srcdir = args[0];
srcdir += "_SOURCE_DIR";
-
+
this->Makefile->AddCacheDefinition
(bindir.c_str(),
this->Makefile->GetCurrentOutputDirectory(),
@@ -35,7 +35,7 @@ bool cmProjectCommand
(srcdir.c_str(),
this->Makefile->GetCurrentDirectory(),
"Value Computed by CMake", cmCacheManager::STATIC);
-
+
bindir = "PROJECT_BINARY_DIR";
srcdir = "PROJECT_SOURCE_DIR";
diff --git a/Source/cmProjectCommand.h b/Source/cmProjectCommand.h
index 88a1944b4..a53cb3fb8 100644
--- a/Source/cmProjectCommand.h
+++ b/Source/cmProjectCommand.h
@@ -28,7 +28,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmProjectCommand;
}
@@ -39,7 +39,7 @@ public:
*/
virtual bool InitialPass(std::vector<std::string> const& args,
cmExecutionStatus &status);
-
+
/**
* The name of the command as specified in CMakeList.txt.
*/
@@ -52,7 +52,7 @@ public:
{
return "Set a name for the entire project.";
}
-
+
/**
* More documentation.
*/
@@ -73,7 +73,7 @@ public:
"the file pointed to by that variable will be included as the last step "
"of the project command.";
}
-
+
cmTypeMacro(cmProjectCommand, cmCommand);
};
diff --git a/Source/cmProperty.h b/Source/cmProperty.h
index e0fcd631e..bb75bb0b9 100644
--- a/Source/cmProperty.h
+++ b/Source/cmProperty.h
@@ -14,7 +14,7 @@
#include "cmStandardIncludes.h"
-class cmProperty
+class cmProperty
{
public:
enum ScopeType { TARGET, SOURCE_FILE, DIRECTORY, GLOBAL, CACHE,
diff --git a/Source/cmPropertyDefinition.h b/Source/cmPropertyDefinition.h
index 16bd148a7..296366dca 100644
--- a/Source/cmPropertyDefinition.h
+++ b/Source/cmPropertyDefinition.h
@@ -29,7 +29,7 @@ public:
/// Define this property
void DefineProperty(const char *name, cmProperty::ScopeType scope,
const char *ShortDescription,
- const char *FullDescription,
+ const char *FullDescription,
const char *DocumentationSection,
bool chained);
@@ -44,7 +44,7 @@ public:
/// Get the section if any
const std::string &GetDocumentationSection() const {
- return this->DocumentationSection; };
+ return this->DocumentationSection; };
/// Get the scope
cmProperty::ScopeType GetScope() const {
@@ -56,7 +56,7 @@ public:
/// Get the documentation (full version)
const std::string &GetFullDescription() const {
- return this->FullDescription; };
+ return this->FullDescription; };
protected:
std::string Name;
diff --git a/Source/cmPropertyDefinitionMap.cxx b/Source/cmPropertyDefinitionMap.cxx
index fcdb93776..20fa07c43 100644
--- a/Source/cmPropertyDefinitionMap.cxx
+++ b/Source/cmPropertyDefinitionMap.cxx
@@ -30,7 +30,7 @@ void cmPropertyDefinitionMap
if (it == this->end())
{
prop = &(*this)[name];
- prop->DefineProperty(name,scope,ShortDescription, FullDescription,
+ prop->DefineProperty(name,scope,ShortDescription, FullDescription,
DocumentationSection, chain);
}
}
@@ -49,10 +49,10 @@ void cmPropertyDefinitionMap
{
switch (j->second.GetScope())
{
- case cmProperty::GLOBAL:
+ case cmProperty::GLOBAL:
secName = "Properties of Global Scope";
break;
- case cmProperty::TARGET:
+ case cmProperty::TARGET:
secName = "Properties on Targets";
break;
case cmProperty::SOURCE_FILE:
@@ -80,7 +80,7 @@ void cmPropertyDefinitionMap
}
if (!v[secName])
{
- v[secName] = new
+ v[secName] = new
cmDocumentationSection(secName.c_str(),
cmSystemTools::UpperCase(secName).c_str());
}
diff --git a/Source/cmPropertyDefinitionMap.h b/Source/cmPropertyDefinitionMap.h
index c6f9d59cd..007e26515 100644
--- a/Source/cmPropertyDefinitionMap.h
+++ b/Source/cmPropertyDefinitionMap.h
@@ -16,7 +16,7 @@
class cmDocumentationSection;
-class cmPropertyDefinitionMap :
+class cmPropertyDefinitionMap :
public std::map<cmStdString,cmPropertyDefinition>
{
public:
diff --git a/Source/cmPropertyMap.cxx b/Source/cmPropertyMap.cxx
index a4d0bf3d8..78f378ab7 100644
--- a/Source/cmPropertyMap.cxx
+++ b/Source/cmPropertyMap.cxx
@@ -43,7 +43,7 @@ void cmPropertyMap::SetProperty(const char *name, const char *value,
#ifdef CMAKE_STRICT
if (!this->CMakeInstance)
{
- cmSystemTools::Error("CMakeInstance not set on a property map!");
+ cmSystemTools::Error("CMakeInstance not set on a property map!");
abort();
}
else
@@ -85,10 +85,10 @@ void cmPropertyMap::AppendProperty(const char* name, const char* value,
}
const char *cmPropertyMap
-::GetPropertyValue(const char *name,
- cmProperty::ScopeType scope,
+::GetPropertyValue(const char *name,
+ cmProperty::ScopeType scope,
bool &chain) const
-{
+{
chain = false;
if (!name)
{
@@ -99,7 +99,7 @@ const char *cmPropertyMap
#ifdef CMAKE_STRICT
if (!this->CMakeInstance)
{
- cmSystemTools::Error("CMakeInstance not set on a property map!");
+ cmSystemTools::Error("CMakeInstance not set on a property map!");
abort();
}
else
diff --git a/Source/cmPropertyMap.h b/Source/cmPropertyMap.h
index 94275e2ac..0c3aad461 100644
--- a/Source/cmPropertyMap.h
+++ b/Source/cmPropertyMap.h
@@ -21,13 +21,13 @@ class cmPropertyMap : public std::map<cmStdString,cmProperty>
public:
cmProperty *GetOrCreateProperty(const char *name);
- void SetProperty(const char *name, const char *value,
+ void SetProperty(const char *name, const char *value,
cmProperty::ScopeType scope);
void AppendProperty(const char* name, const char* value,
cmProperty::ScopeType scope, bool asString=false);
- const char *GetPropertyValue(const char *name,
+ const char *GetPropertyValue(const char *name,
cmProperty::ScopeType scope,
bool &chain) const;
diff --git a/Source/cmQTWrapCPPCommand.cxx b/Source/cmQTWrapCPPCommand.cxx
index 1f1aed72f..0d3c9941c 100644
--- a/Source/cmQTWrapCPPCommand.cxx
+++ b/Source/cmQTWrapCPPCommand.cxx
@@ -12,7 +12,7 @@
#include "cmQTWrapCPPCommand.h"
// cmQTWrapCPPCommand
-bool cmQTWrapCPPCommand::InitialPass(std::vector<std::string> const& argsIn,
+bool cmQTWrapCPPCommand::InitialPass(std::vector<std::string> const& argsIn,
cmExecutionStatus &)
{
if(argsIn.size() < 3 )
diff --git a/Source/cmQTWrapCPPCommand.h b/Source/cmQTWrapCPPCommand.h
index 0184927c9..4863402e4 100644
--- a/Source/cmQTWrapCPPCommand.h
+++ b/Source/cmQTWrapCPPCommand.h
@@ -17,9 +17,9 @@
#include "cmSourceFile.h"
/** \class cmQTWrapCPPCommand
- * \brief Create moc file rules for QT classes
+ * \brief Create moc file rules for Qt classes
*
- * cmQTWrapCPPCommand is used to create wrappers for QT classes into
+ * cmQTWrapCPPCommand is used to create wrappers for Qt classes into
* normal C++
*/
class cmQTWrapCPPCommand : public cmCommand
@@ -30,7 +30,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmQTWrapCPPCommand;
}
@@ -54,7 +54,7 @@ public:
{
return "Create Qt Wrappers.";
}
-
+
/**
* More documentation.
*/
diff --git a/Source/cmQTWrapUICommand.cxx b/Source/cmQTWrapUICommand.cxx
index bbecd8dcc..a6a4b5158 100644
--- a/Source/cmQTWrapUICommand.cxx
+++ b/Source/cmQTWrapUICommand.cxx
@@ -12,7 +12,7 @@
#include "cmQTWrapUICommand.h"
// cmQTWrapUICommand
-bool cmQTWrapUICommand::InitialPass(std::vector<std::string> const& argsIn,
+bool cmQTWrapUICommand::InitialPass(std::vector<std::string> const& argsIn,
cmExecutionStatus &)
{
if(argsIn.size() < 4 )
diff --git a/Source/cmQTWrapUICommand.h b/Source/cmQTWrapUICommand.h
index 744ae9838..b15c5cde0 100644
--- a/Source/cmQTWrapUICommand.h
+++ b/Source/cmQTWrapUICommand.h
@@ -17,9 +17,9 @@
#include "cmSourceFile.h"
/** \class cmQTWrapUICommand
- * \brief Create .h and .cxx files rules for QT user interfaces files
+ * \brief Create .h and .cxx files rules for Qt user interfaces files
*
- * cmQTWrapUICommand is used to create wrappers for QT classes into normal C++
+ * cmQTWrapUICommand is used to create wrappers for Qt classes into normal C++
*/
class cmQTWrapUICommand : public cmCommand
{
@@ -28,7 +28,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmQTWrapUICommand;
}
@@ -52,7 +52,7 @@ public:
{
return "Create Qt user interfaces Wrappers.";
}
-
+
/**
* More documentation.
*/
diff --git a/Source/cmQtAutomoc.cxx b/Source/cmQtAutomoc.cxx
index 65ecdf73f..25614b862 100644
--- a/Source/cmQtAutomoc.cxx
+++ b/Source/cmQtAutomoc.cxx
@@ -111,6 +111,7 @@ cmQtAutomoc::cmQtAutomoc()
void cmQtAutomoc::SetupAutomocTarget(cmTarget* target)
{
cmMakefile* makefile = target->GetMakefile();
+ cmLocalGenerator* localGen = makefile->GetLocalGenerator();
const char* targetName = target->GetName();
// don't do anything if there is no Qt4 or Qt5Core (which contains moc):
std::string qtMajorVersion = makefile->GetSafeDefinition("QT_VERSION_MAJOR");
@@ -169,7 +170,8 @@ void cmQtAutomoc::SetupAutomocTarget(cmTarget* target)
++fileIt)
{
cmSourceFile* sf = *fileIt;
- std::string absFile = sf->GetFullPath();
+ std::string absFile = cmsys::SystemTools::GetRealPath(
+ sf->GetFullPath().c_str());
bool skip = cmSystemTools::IsOn(sf->GetPropertyForUser("SKIP_AUTOMOC"));
bool generated = cmSystemTools::IsOn(sf->GetPropertyForUser("GENERATED"));
@@ -193,12 +195,87 @@ void cmQtAutomoc::SetupAutomocTarget(cmTarget* target)
}
}
- const char* tmp = makefile->GetProperty("INCLUDE_DIRECTORIES");
- std::string _moc_incs = (tmp!=0 ? tmp : "");
- tmp = makefile->GetProperty("DEFINITIONS");
- std::string _moc_defs = (tmp!=0 ? tmp : "");
- tmp = makefile->GetProperty("COMPILE_DEFINITIONS");
+
+ const char* qtIncDir = 0;
+ const char* qtCoreIncDir = 0;
+
+ // check whether ${QT_INCLUDE_DIR} is part of the implicit include dirs,
+ // see http://public.kitware.com/Bug/view.php?id=13667
+ bool qtIncludeDirMayHaveBeenRemoved = false;
+ if (makefile->IsSet("QT_INCLUDE_DIR"))
+ {
+ qtIncDir = makefile->GetDefinition("QT_INCLUDE_DIR");
+ std::string s =
+ makefile->GetSafeDefinition("CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES");
+ std::vector<std::string> implIncDirs;
+ cmSystemTools::ExpandListArgument(s, implIncDirs);
+ if (std::find(implIncDirs.begin(), implIncDirs.end(),std::string(qtIncDir))
+ != implIncDirs.end())
+ {
+ qtIncludeDirMayHaveBeenRemoved = true;
+ if (makefile->IsSet("QT_QTCORE_INCLUDE_DIR"))
+ {
+ qtCoreIncDir = makefile->GetDefinition("QT_QTCORE_INCLUDE_DIR");
+ }
+ }
+ }
+
+ bool haveQtCoreIncDir = false;
+ bool haveQtIncDir = false;
+
+ std::vector<std::string> includeDirs;
+ cmGeneratorTarget gtgt(target);
+ localGen->GetIncludeDirectories(includeDirs, &gtgt, "CXX");
+ std::string _moc_incs = "";
+ const char* sep = "";
+ for(std::vector<std::string>::const_iterator incDirIt = includeDirs.begin();
+ incDirIt != includeDirs.end();
+ ++incDirIt)
+ {
+ _moc_incs += sep;
+ sep = ";";
+ _moc_incs += *incDirIt;
+
+ if (qtIncludeDirMayHaveBeenRemoved && qtCoreIncDir && qtIncDir) // #13667
+ {
+ if (*incDirIt == qtIncDir)
+ {
+ haveQtIncDir = true;
+ qtIncludeDirMayHaveBeenRemoved = false; // it's here, i.e. not removed
+ }
+ if (*incDirIt == qtCoreIncDir)
+ {
+ haveQtCoreIncDir = true;
+ }
+ }
+ }
+
+ // Some projects (kdelibs, phonon) query the compiler for its default
+ // include search dirs, and add those to
+ // CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES.
+ // These may include e.g./usr/lib/qt/include . This is typically also part
+ // of ${QT_INCLUDES}. If this directory is then contained in the implicit
+ // include dirs, it is removed from the include dirs returned from the
+ // target above. So we add ${QT_INCLUDE_DIR} manually for moc if we detected
+ // that ${QT_QTCORE_INCLUDE_DIR} is among the include dirs (there shouldn't
+ // be a way to use Qt4 without using ${QT_QTCORE_INCLUDE_DIR} I think.
+ // See #13646 and #13667.
+ if (qtIncludeDirMayHaveBeenRemoved && qtCoreIncDir && qtIncDir
+ && (haveQtCoreIncDir == true) && (haveQtIncDir == false))
+ {
+ _moc_incs += sep;
+ sep = ";";
+ _moc_incs += qtIncDir;
+ }
+
+ const char* tmp = target->GetProperty("COMPILE_DEFINITIONS");
std::string _moc_compile_defs = (tmp!=0 ? tmp : "");
+ tmp = makefile->GetProperty("COMPILE_DEFINITIONS");
+ if (tmp)
+ {
+ _moc_compile_defs += ";";
+ _moc_compile_defs += tmp;
+ }
tmp = target->GetProperty("AUTOMOC_MOC_OPTIONS");
std::string _moc_options = (tmp!=0 ? tmp : "");
@@ -210,8 +287,6 @@ void cmQtAutomoc::SetupAutomocTarget(cmTarget* target)
cmLocalGenerator::EscapeForCMake(automocTargetName.c_str()).c_str());
makefile->AddDefinition("_moc_incs",
cmLocalGenerator::EscapeForCMake(_moc_incs.c_str()).c_str());
- makefile->AddDefinition("_moc_defs",
- cmLocalGenerator::EscapeForCMake(_moc_defs.c_str()).c_str());
makefile->AddDefinition("_moc_compile_defs",
cmLocalGenerator::EscapeForCMake(_moc_compile_defs.c_str()).c_str());
makefile->AddDefinition("_moc_options",
@@ -314,19 +389,37 @@ bool cmQtAutomoc::ReadAutomocInfoFile(cmMakefile* makefile,
this->MocExecutable = makefile->GetSafeDefinition("AM_QT_MOC_EXECUTABLE");
this->MocCompileDefinitionsStr = makefile->GetSafeDefinition(
"AM_MOC_COMPILE_DEFINITIONS");
- this->MocDefinitionsStr = makefile->GetSafeDefinition("AM_MOC_DEFINITIONS");
this->MocIncludesStr = makefile->GetSafeDefinition("AM_MOC_INCLUDES");
this->MocOptionsStr = makefile->GetSafeDefinition("AM_MOC_OPTIONS");
this->ProjectBinaryDir = makefile->GetSafeDefinition("AM_CMAKE_BINARY_DIR");
this->ProjectSourceDir = makefile->GetSafeDefinition("AM_CMAKE_SOURCE_DIR");
this->TargetName = makefile->GetSafeDefinition("AM_TARGET_NAME");
+ this->CurrentCompileSettingsStr = this->MakeCompileSettingsString(makefile);
+
this->RelaxedMode = makefile->IsOn("AM_RELAXED_MODE");
return true;
}
+std::string cmQtAutomoc::MakeCompileSettingsString(cmMakefile* makefile)
+{
+ std::string s;
+ s += makefile->GetSafeDefinition("AM_MOC_COMPILE_DEFINITIONS");
+ s += " ~~~ ";
+ s += makefile->GetSafeDefinition("AM_MOC_INCLUDES");
+ s += " ~~~ ";
+ s += makefile->GetSafeDefinition("AM_MOC_OPTIONS");
+ s += " ~~~ ";
+ s += makefile->IsOn("AM_CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE") ? "TRUE"
+ : "FALSE";
+ s += " ~~~ ";
+
+ return s;
+}
+
+
bool cmQtAutomoc::ReadOldMocDefinitionsFile(cmMakefile* makefile,
const char* targetDirectory)
{
@@ -336,8 +429,8 @@ bool cmQtAutomoc::ReadOldMocDefinitionsFile(cmMakefile* makefile,
if (makefile->ReadListFile(0, filename.c_str()))
{
- this->OldMocDefinitionsStr =
- makefile->GetSafeDefinition("AM_OLD_MOC_DEFINITIONS");
+ this->OldCompileSettingsStr =
+ makefile->GetSafeDefinition("AM_OLD_COMPILE_SETTINGS");
}
return true;
}
@@ -352,9 +445,9 @@ void cmQtAutomoc::WriteOldMocDefinitionsFile(const char* targetDirectory)
std::fstream outfile;
outfile.open(filename.c_str(),
std::ios::out | std::ios::trunc);
- outfile << "set(AM_OLD_MOC_DEFINITIONS "
+ outfile << "set(AM_OLD_COMPILE_SETTINGS "
<< cmLocalGenerator::EscapeForCMake(
- this->Join(this->MocDefinitions, ' ').c_str()) << ")\n";
+ this->CurrentCompileSettingsStr.c_str()) << ")\n";
outfile.close();
}
@@ -368,32 +461,11 @@ void cmQtAutomoc::Init()
std::vector<std::string> cdefList;
cmSystemTools::ExpandListArgument(this->MocCompileDefinitionsStr, cdefList);
- if (!cdefList.empty())
- {
- for(std::vector<std::string>::const_iterator it = cdefList.begin();
- it != cdefList.end();
- ++it)
- {
- this->MocDefinitions.push_back("-D" + (*it));
- }
- }
- else
+ for(std::vector<std::string>::const_iterator it = cdefList.begin();
+ it != cdefList.end();
+ ++it)
{
- std::string tmpMocDefs = this->MocDefinitionsStr;
- cmSystemTools::ReplaceString(tmpMocDefs, " ", ";");
-
- std::vector<std::string> defList;
- cmSystemTools::ExpandListArgument(tmpMocDefs, defList);
-
- for(std::vector<std::string>::const_iterator it = defList.begin();
- it != defList.end();
- ++it)
- {
- if (this->StartsWith(*it, "-D"))
- {
- this->MocDefinitions.push_back(*it);
- }
- }
+ this->MocDefinitions.push_back("-D" + (*it));
}
cmSystemTools::ExpandListArgument(this->MocOptionsStr, this->MocOptions);
@@ -471,7 +543,7 @@ void cmQtAutomoc::Init()
bool cmQtAutomoc::RunAutomoc()
{
if (!cmsys::SystemTools::FileExists(this->OutMocCppFilename.c_str())
- || (this->OldMocDefinitionsStr != this->Join(this->MocDefinitions, ' ')))
+ || (this->OldCompileSettingsStr != this->CurrentCompileSettingsStr))
{
this->GenerateAll = true;
}
diff --git a/Source/cmQtAutomoc.h b/Source/cmQtAutomoc.h
index 8cbbac19d..a73747781 100644
--- a/Source/cmQtAutomoc.h
+++ b/Source/cmQtAutomoc.h
@@ -35,6 +35,8 @@ private:
const char* targetDirectory);
void WriteOldMocDefinitionsFile(const char* targetDirectory);
+ std::string MakeCompileSettingsString(cmMakefile* makefile);
+
bool RunAutomoc();
bool GenerateMoc(const std::string& sourceFile,
const std::string& mocFileName);
@@ -67,14 +69,14 @@ private:
std::string Builddir;
std::string MocExecutable;
std::string MocCompileDefinitionsStr;
- std::string MocDefinitionsStr;
std::string MocIncludesStr;
std::string MocOptionsStr;
std::string ProjectBinaryDir;
std::string ProjectSourceDir;
std::string TargetName;
- std::string OldMocDefinitionsStr;
+ std::string CurrentCompileSettingsStr;
+ std::string OldCompileSettingsStr;
std::string OutMocCppFilename;
std::list<std::string> MocIncludes;
diff --git a/Source/cmRemoveCommand.cxx b/Source/cmRemoveCommand.cxx
index d80b3fe9f..bcb856438 100644
--- a/Source/cmRemoveCommand.cxx
+++ b/Source/cmRemoveCommand.cxx
@@ -30,13 +30,13 @@ bool cmRemoveCommand
{
return true;
}
-
+
// expand the variable
std::vector<std::string> varArgsExpanded;
cmSystemTools::ExpandListArgument(cacheValue, varArgsExpanded);
-
+
// expand the args
- // check for REMOVE(VAR v1 v2 ... vn)
+ // check for REMOVE(VAR v1 v2 ... vn)
std::vector<std::string> argsExpanded;
std::vector<std::string> temp;
for(unsigned int j = 1; j < args.size(); ++j)
@@ -44,7 +44,7 @@ bool cmRemoveCommand
temp.push_back(args[j]);
}
cmSystemTools::ExpandList(temp, argsExpanded);
-
+
// now create the new value
std::string value;
for(unsigned int j = 0; j < varArgsExpanded.size(); ++j)
@@ -67,7 +67,7 @@ bool cmRemoveCommand
value += varArgsExpanded[j];
}
}
-
+
// add the definition
this->Makefile->AddDefinition(variable, value.c_str());
diff --git a/Source/cmRemoveCommand.h b/Source/cmRemoveCommand.h
index c62d58f64..5aedc26e5 100644
--- a/Source/cmRemoveCommand.h
+++ b/Source/cmRemoveCommand.h
@@ -25,7 +25,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmRemoveCommand;
}
@@ -46,7 +46,7 @@ public:
* The name of the command as specified in CMakeList.txt.
*/
virtual const char* GetName() const {return "remove";}
-
+
/**
* Succinct documentation.
*/
@@ -54,7 +54,7 @@ public:
{
return "Deprecated. Use the list(REMOVE_ITEM ) command instead.";
}
-
+
/**
* More documentation.
*/
@@ -66,13 +66,13 @@ public:
"This is typically used to remove entries from a vector "
"(e.g. semicolon separated list). VALUE is expanded.";
}
-
+
/** This command is kept for compatibility with older CMake versions. */
virtual bool IsDiscouraged() const
{
return true;
}
-
+
cmTypeMacro(cmRemoveCommand, cmCommand);
};
diff --git a/Source/cmRemoveDefinitionsCommand.h b/Source/cmRemoveDefinitionsCommand.h
index f0e906d15..18f617124 100644
--- a/Source/cmRemoveDefinitionsCommand.h
+++ b/Source/cmRemoveDefinitionsCommand.h
@@ -17,9 +17,9 @@
/** \class cmRemoveDefinitionsCommand
* \brief Specify a list of compiler defines
*
- * cmRemoveDefinitionsCommand specifies a list of compiler defines.
+ * cmRemoveDefinitionsCommand specifies a list of compiler defines.
* These defines will
- * be removed from the compile command.
+ * be removed from the compile command.
*/
class cmRemoveDefinitionsCommand : public cmCommand
{
@@ -27,7 +27,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmRemoveDefinitionsCommand;
}
@@ -43,7 +43,7 @@ public:
* The name of the command as specified in CMakeList.txt.
*/
virtual const char* GetName() const {return "remove_definitions";}
-
+
/**
* Succinct documentation.
*/
@@ -51,7 +51,7 @@ public:
{
return "Removes -D define flags added by add_definitions.";
}
-
+
/**
* More documentation.
*/
@@ -62,7 +62,7 @@ public:
"Removes flags (added by add_definitions) from the compiler command "
"line for sources in the current directory and below.";
}
-
+
cmTypeMacro(cmRemoveDefinitionsCommand, cmCommand);
};
diff --git a/Source/cmReturnCommand.h b/Source/cmReturnCommand.h
index 690ab79ca..a6e87eff3 100644
--- a/Source/cmReturnCommand.h
+++ b/Source/cmReturnCommand.h
@@ -25,7 +25,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmReturnCommand;
}
@@ -46,7 +46,7 @@ public:
* The name of the command as specified in CMakeList.txt.
*/
virtual const char* GetName() const {return "return";}
-
+
/**
* Succinct documentation.
*/
@@ -54,7 +54,7 @@ public:
{
return "Return from a file, directory or function.";
}
-
+
/**
* More documentation.
*/
@@ -72,7 +72,7 @@ public:
"of the function. Note that a macro "
"is not a function and does not handle return like a function does.";
}
-
+
cmTypeMacro(cmReturnCommand, cmCommand);
};
diff --git a/Source/cmSeparateArgumentsCommand.h b/Source/cmSeparateArgumentsCommand.h
index 6a51a9223..d62baf787 100644
--- a/Source/cmSeparateArgumentsCommand.h
+++ b/Source/cmSeparateArgumentsCommand.h
@@ -25,7 +25,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmSeparateArgumentsCommand;
}
@@ -46,16 +46,16 @@ public:
* The name of the command as specified in CMakeList.txt.
*/
virtual const char* GetName() const {return "separate_arguments";}
-
+
/**
* Succinct documentation.
*/
virtual const char* GetTerseDocumentation() const
{
- return
+ return
"Parse space-separated arguments into a semicolon-separated list.";
}
-
+
/**
* More documentation.
*/
@@ -83,7 +83,7 @@ public:
"All spaces are replaced with ';'. This helps with generating "
"command lines.";
}
-
+
cmTypeMacro(cmSeparateArgumentsCommand, cmCommand);
};
diff --git a/Source/cmSetCommand.cxx b/Source/cmSetCommand.cxx
index d00fc86cf..20f38be10 100644
--- a/Source/cmSetCommand.cxx
+++ b/Source/cmSetCommand.cxx
@@ -20,7 +20,7 @@ bool cmSetCommand
this->SetError("called with incorrect number of arguments");
return false;
}
-
+
// watch for ENV signatures
const char* variable = args[0].c_str(); // VAR is always first
if (!strncmp(variable,"ENV{",4) && strlen(variable) > 5)
@@ -31,7 +31,7 @@ bool cmSetCommand
varName[strlen(variable)-5] = '\0';
std::string putEnvArg = varName;
putEnvArg += "=";
-
+
// what is the current value if any
const char *currValue = getenv(varName);
delete [] varName;
@@ -47,7 +47,7 @@ bool cmSetCommand
}
return true;
}
-
+
// if it will be cleared, then clear it if it isn;t already clear
if (currValue)
{
@@ -55,7 +55,7 @@ bool cmSetCommand
}
return true;
}
-
+
// SET (VAR) // Removes the definition of VAR.
if (args.size() == 1)
{
@@ -63,7 +63,7 @@ bool cmSetCommand
return true;
}
- // here are the remaining options
+ // here are the remaining options
// SET (VAR value )
// SET (VAR CACHE TYPE "doc String" [FORCE])
// SET (VAR value CACHE TYPE "doc string" [FORCE])
@@ -71,10 +71,10 @@ bool cmSetCommand
bool cache = false; // optional
bool force = false; // optional
bool parentScope = false;
- cmCacheManager::CacheEntryType type
+ cmCacheManager::CacheEntryType type
= cmCacheManager::STRING; // required if cache
const char* docstring = 0; // required if cache
-
+
unsigned int ignoreLastArgs = 0;
// look for PARENT_SCOPE argument
if (args.size() > 1 && args[args.size()-1] == "PARENT_SCOPE")
@@ -136,7 +136,7 @@ bool cmSetCommand
this->SetError("given invalid arguments for CACHE mode.");
return false;
}
-
+
if(cache)
{
std::string::size_type cacheStart = args.size() - 3 - (force ? 1 : 0);
@@ -145,7 +145,7 @@ bool cmSetCommand
}
// see if this is already in the cache
- cmCacheManager::CacheIterator it =
+ cmCacheManager::CacheIterator it =
this->Makefile->GetCacheManager()->GetCacheIterator(variable);
if(!it.IsAtEnd() && (it.GetType() != cmCacheManager::UNINITIALIZED))
{
@@ -158,7 +158,7 @@ bool cmSetCommand
return true;
}
}
-
+
// if it is meant to be in the cache then define it in the cache
if(cache)
{
diff --git a/Source/cmSetCommand.h b/Source/cmSetCommand.h
index 2dd80e37f..fe1d58df6 100644
--- a/Source/cmSetCommand.h
+++ b/Source/cmSetCommand.h
@@ -17,7 +17,7 @@
/** \class cmSetCommand
* \brief Set a CMAKE variable
*
- * cmSetCommand sets a variable to a value with expansion.
+ * cmSetCommand sets a variable to a value with expansion.
*/
class cmSetCommand : public cmCommand
{
@@ -25,7 +25,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmSetCommand;
}
@@ -46,7 +46,7 @@ public:
* The name of the command as specified in CMakeList.txt.
*/
virtual const char* GetName() const {return "set";}
-
+
/**
* Succinct documentation.
*/
@@ -54,7 +54,7 @@ public:
{
return "Set a CMake, cache or environment variable to a given value.";
}
-
+
/**
* More documentation.
*/
@@ -154,7 +154,7 @@ public:
"variable will use the value from the normal variable, which hides the "
"cache variable.";
}
-
+
cmTypeMacro(cmSetCommand, cmCommand);
};
diff --git a/Source/cmSetDirectoryPropertiesCommand.cxx b/Source/cmSetDirectoryPropertiesCommand.cxx
index b956313a0..62c9b87c7 100644
--- a/Source/cmSetDirectoryPropertiesCommand.cxx
+++ b/Source/cmSetDirectoryPropertiesCommand.cxx
@@ -22,11 +22,11 @@ bool cmSetDirectoryPropertiesCommand
this->SetError("called with incorrect number of arguments");
return false;
}
-
+
std::string errors;
- bool ret =
- cmSetDirectoryPropertiesCommand::RunCommand(this->Makefile,
- args.begin() + 1,
+ bool ret =
+ cmSetDirectoryPropertiesCommand::RunCommand(this->Makefile,
+ args.begin() + 1,
args.end(), errors);
if (!ret)
{
@@ -52,19 +52,19 @@ bool cmSetDirectoryPropertiesCommand
const std::string& value = *(ait+1);
if ( prop == "VARIABLES" )
{
- errors =
+ errors =
"Variables and cache variables should be set using SET command";
return false;
}
else if ( prop == "MACROS" )
{
- errors =
+ errors =
"Commands and macros cannot be set using SET_CMAKE_PROPERTIES";
return false;
}
mf->SetProperty(prop.c_str(), value.c_str());
}
-
+
return true;
}
diff --git a/Source/cmSetDirectoryPropertiesCommand.h b/Source/cmSetDirectoryPropertiesCommand.h
index ee401582a..8a50c60ff 100644
--- a/Source/cmSetDirectoryPropertiesCommand.h
+++ b/Source/cmSetDirectoryPropertiesCommand.h
@@ -17,7 +17,7 @@
class cmSetDirectoryPropertiesCommand : public cmCommand
{
public:
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmSetDirectoryPropertiesCommand;
}
@@ -46,7 +46,7 @@ public:
{
return "Set a property of the directory.";
}
-
+
/**
* Static entry point for use by other commands
*/
@@ -69,7 +69,7 @@ public:
"ADDITIONAL_MAKE_CLEAN_FILES is a list of files that will be cleaned "
"as a part of \"make clean\" stage.";
}
-
+
cmTypeMacro(cmSetDirectoryPropertiesCommand, cmCommand);
};
diff --git a/Source/cmSetSourceFilesPropertiesCommand.cxx b/Source/cmSetSourceFilesPropertiesCommand.cxx
index 89ff4b18b..619dfc5a5 100644
--- a/Source/cmSetSourceFilesPropertiesCommand.cxx
+++ b/Source/cmSetSourceFilesPropertiesCommand.cxx
@@ -40,14 +40,14 @@ bool cmSetSourceFilesPropertiesCommand
++j;
}
- // now call the worker function
+ // now call the worker function
std::string errors;
- bool ret =
+ bool ret =
cmSetSourceFilesPropertiesCommand
- ::RunCommand(this->Makefile,
+ ::RunCommand(this->Makefile,
args.begin(),
args.begin() + numFiles,
- args.begin() + numFiles,
+ args.begin() + numFiles,
args.end(), errors);
if (!ret)
{
diff --git a/Source/cmSetSourceFilesPropertiesCommand.h b/Source/cmSetSourceFilesPropertiesCommand.h
index 2a67bc09f..f7009e781 100644
--- a/Source/cmSetSourceFilesPropertiesCommand.h
+++ b/Source/cmSetSourceFilesPropertiesCommand.h
@@ -17,7 +17,7 @@
class cmSetSourceFilesPropertiesCommand : public cmCommand
{
public:
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmSetSourceFilesPropertiesCommand;
}
@@ -41,7 +41,7 @@ public:
{
return "Source files can have properties that affect how they are built.";
}
-
+
/**
* Longer documentation.
*/
@@ -58,7 +58,7 @@ public:
"Source file properties are visible only to targets "
"added in the same directory (CMakeLists.txt).";
}
-
+
cmTypeMacro(cmSetSourceFilesPropertiesCommand, cmCommand);
static bool RunCommand(cmMakefile *mf,
diff --git a/Source/cmSetTargetPropertiesCommand.cxx b/Source/cmSetTargetPropertiesCommand.cxx
index 45a305e32..a2b50a8ef 100644
--- a/Source/cmSetTargetPropertiesCommand.cxx
+++ b/Source/cmSetTargetPropertiesCommand.cxx
@@ -67,11 +67,11 @@ bool cmSetTargetPropertiesCommand
"a PROPERTIES specifier?");
return false;
}
-
+
// now loop over all the targets
int i;
for(i = 0; i < numFiles; ++i)
- {
+ {
bool ret = cmSetTargetPropertiesCommand::SetOneTarget
(args[i].c_str(),propertyPairs,this->Makefile);
if (!ret)
@@ -86,7 +86,7 @@ bool cmSetTargetPropertiesCommand
}
bool cmSetTargetPropertiesCommand
-::SetOneTarget(const char *tname,
+::SetOneTarget(const char *tname,
std::vector<std::string> &propertyPairs,
cmMakefile *mf)
{
@@ -103,7 +103,7 @@ bool cmSetTargetPropertiesCommand
}
// if file is not already in the makefile, then add it
else
- {
+ {
return false;
}
return true;
diff --git a/Source/cmSetTargetPropertiesCommand.h b/Source/cmSetTargetPropertiesCommand.h
index 1bc429cfd..65c89fad4 100644
--- a/Source/cmSetTargetPropertiesCommand.h
+++ b/Source/cmSetTargetPropertiesCommand.h
@@ -17,7 +17,7 @@
class cmSetTargetPropertiesCommand : public cmCommand
{
public:
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmSetTargetPropertiesCommand;
}
@@ -41,12 +41,12 @@ public:
{
return "Targets can have properties that affect how they are built.";
}
-
+
/**
* Used by this command and cmSetPropertiesCommand
*/
- static bool SetOneTarget(const char *tname,
- std::vector<std::string> &propertyPairs,
+ static bool SetOneTarget(const char *tname,
+ std::vector<std::string> &propertyPairs,
cmMakefile *mf);
/**
@@ -138,7 +138,7 @@ public:
"are used to initialize these properties.\n"
"PROJECT_LABEL can be used to change the name of "
"the target in an IDE like visual studio. VS_KEYWORD can be set "
- "to change the visual studio keyword, for example QT integration "
+ "to change the visual studio keyword, for example Qt integration "
"works better if this is set to Qt4VSv1.0.\n"
"VS_SCC_PROJECTNAME, VS_SCC_LOCALPATH, VS_SCC_PROVIDER and "
"VS_SCC_AUXPATH can be set "
@@ -159,7 +159,7 @@ public:
"part of the default build when you select \"Build Solution\"."
;
}
-
+
cmTypeMacro(cmSetTargetPropertiesCommand, cmCommand);
};
diff --git a/Source/cmSetTestsPropertiesCommand.cxx b/Source/cmSetTestsPropertiesCommand.cxx
index e4fee18f1..3d52cf242 100644
--- a/Source/cmSetTestsPropertiesCommand.cxx
+++ b/Source/cmSetTestsPropertiesCommand.cxx
@@ -73,10 +73,10 @@ bool cmSetTestsPropertiesCommand
// now loop over all the targets
int i;
for(i = 0; i < numFiles; ++i)
- {
+ {
std::string errors;
- bool ret =
- cmSetTestsPropertiesCommand::SetOneTest(args[i].c_str(),
+ bool ret =
+ cmSetTestsPropertiesCommand::SetOneTest(args[i].c_str(),
propertyPairs,
this->Makefile, errors);
if (!ret)
@@ -91,7 +91,7 @@ bool cmSetTestsPropertiesCommand
bool cmSetTestsPropertiesCommand
-::SetOneTest(const char *tname,
+::SetOneTest(const char *tname,
std::vector<std::string> &propertyPairs,
cmMakefile *mf, std::string &errors)
{
@@ -106,11 +106,11 @@ bool cmSetTestsPropertiesCommand
}
}
else
- {
+ {
errors = "Can not find test to add properties to: ";
errors += tname;
return false;
- }
+ }
return true;
}
diff --git a/Source/cmSetTestsPropertiesCommand.h b/Source/cmSetTestsPropertiesCommand.h
index 10df17dd8..3a592189b 100644
--- a/Source/cmSetTestsPropertiesCommand.h
+++ b/Source/cmSetTestsPropertiesCommand.h
@@ -17,7 +17,7 @@
class cmSetTestsPropertiesCommand : public cmCommand
{
public:
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmSetTestsPropertiesCommand;
}
@@ -70,7 +70,7 @@ public:
cmTypeMacro(cmSetTestsPropertiesCommand, cmCommand);
- static bool SetOneTest(const char *tname,
+ static bool SetOneTest(const char *tname,
std::vector<std::string> &propertyPairs,
cmMakefile *mf,
std::string &errors);
diff --git a/Source/cmSiteNameCommand.cxx b/Source/cmSiteNameCommand.cxx
index 04e357ca8..2bdd1ad28 100644
--- a/Source/cmSiteNameCommand.cxx
+++ b/Source/cmSiteNameCommand.cxx
@@ -29,25 +29,25 @@ bool cmSiteNameCommand
paths.push_back("/bin");
paths.push_back("/sbin");
paths.push_back("/usr/local/bin");
-
+
const char* cacheValue
= this->Makefile->GetDefinition(args[0].c_str());
if(cacheValue)
{
return true;
}
-
+
const char *temp = this->Makefile->GetDefinition("HOSTNAME");
std::string hostname_cmd;
if(temp)
{
hostname_cmd = temp;
}
- else
+ else
{
hostname_cmd = cmSystemTools::FindProgram("hostname", paths);
}
-
+
std::string siteName = "unknown";
#if defined(_WIN32) && !defined(__CYGWIN__)
std::string host;
@@ -64,7 +64,7 @@ bool cmSiteNameCommand
std::string host;
cmSystemTools::RunSingleCommand(hostname_cmd.c_str(),
&host, 0, 0, cmSystemTools::OUTPUT_NONE);
-
+
// got the hostname
if (host.length())
{
diff --git a/Source/cmSiteNameCommand.h b/Source/cmSiteNameCommand.h
index 532710cc1..52a63bc9c 100644
--- a/Source/cmSiteNameCommand.h
+++ b/Source/cmSiteNameCommand.h
@@ -25,7 +25,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmSiteNameCommand;
}
@@ -46,7 +46,7 @@ public:
* The name of the command as specified in CMakeList.txt.
*/
virtual const char* GetName() const {return "site_name";}
-
+
/**
* Succinct documentation.
*/
@@ -54,7 +54,7 @@ public:
{
return "Set the given variable to the name of the computer.";
}
-
+
/**
* More documentation.
*/
@@ -63,7 +63,7 @@ public:
return
" site_name(variable)\n";
}
-
+
cmTypeMacro(cmSiteNameCommand, cmCommand);
};
diff --git a/Source/cmSourceFile.cxx b/Source/cmSourceFile.cxx
index cd94753cb..cc3b6d603 100644
--- a/Source/cmSourceFile.cxx
+++ b/Source/cmSourceFile.cxx
@@ -346,7 +346,7 @@ const char* cmSourceFile::GetProperty(const char* prop) const
}
bool chain = false;
- const char *retVal =
+ const char *retVal =
this->Properties.GetPropertyValue(prop, cmProperty::SOURCE_FILE, chain);
if (chain)
{
@@ -354,7 +354,7 @@ const char* cmSourceFile::GetProperty(const char* prop) const
return mf->GetProperty(prop,cmProperty::SOURCE_FILE);
}
- return retVal;
+ return retVal;
}
//----------------------------------------------------------------------------
@@ -388,7 +388,7 @@ void cmSourceFile::DefineProperties(cmake *cm)
{
// define properties
cm->DefineProperty
- ("ABSTRACT", cmProperty::SOURCE_FILE,
+ ("ABSTRACT", cmProperty::SOURCE_FILE,
"Is this source file an abstract class.",
"A property on a source file that indicates if the source file "
"represents a class that is abstract. This only makes sense for "
@@ -396,7 +396,7 @@ void cmSourceFile::DefineProperties(cmake *cm)
"only used by some tools that wrap classes into other languages.");
cm->DefineProperty
- ("COMPILE_FLAGS", cmProperty::SOURCE_FILE,
+ ("COMPILE_FLAGS", cmProperty::SOURCE_FILE,
"Additional flags to be added when compiling this source file.",
"These flags will be added to the list of compile flags when "
"this source file builds. Use COMPILE_DEFINITIONS to pass additional "
@@ -430,7 +430,7 @@ void cmSourceFile::DefineProperties(cmake *cm)
"be ignored by the Xcode generator.");
cm->DefineProperty
- ("EXTERNAL_OBJECT", cmProperty::SOURCE_FILE,
+ ("EXTERNAL_OBJECT", cmProperty::SOURCE_FILE,
"If set to true then this is an object file.",
"If this property is set to true then the source file "
"is really an object file and should not be compiled. "
@@ -446,14 +446,14 @@ void cmSourceFile::DefineProperties(cmake *cm)
"source files in a target share the same format.");
cm->DefineProperty
- ("GENERATED", cmProperty::SOURCE_FILE,
+ ("GENERATED", cmProperty::SOURCE_FILE,
"Is this source file generated as part of the build process.",
"If a source file is generated by the build process CMake will "
"handle it differently in terms of dependency checking etc. "
"Otherwise having a non-existent source file could create problems.");
cm->DefineProperty
- ("HEADER_FILE_ONLY", cmProperty::SOURCE_FILE,
+ ("HEADER_FILE_ONLY", cmProperty::SOURCE_FILE,
"Is this source file only a header file.",
"A property on a source file that indicates if the source file "
"is a header file with no associated implementation. This is "
@@ -462,7 +462,7 @@ void cmSourceFile::DefineProperties(cmake *cm)
"computed.");
cm->DefineProperty
- ("KEEP_EXTENSION", cmProperty::SOURCE_FILE,
+ ("KEEP_EXTENSION", cmProperty::SOURCE_FILE,
"Make the output file have the same extension as the source file.",
"If this property is set then the file extension of the output "
"file will be the same as that of the source file. Normally "
@@ -477,7 +477,7 @@ void cmSourceFile::DefineProperties(cmake *cm)
"No other semantics are currently specified.");
cm->DefineProperty
- ("LANGUAGE", cmProperty::SOURCE_FILE,
+ ("LANGUAGE", cmProperty::SOURCE_FILE,
"What programming language is the file.",
"A property that can be set to indicate what programming language "
"the source file is. If it is not set the language is determined "
@@ -486,13 +486,13 @@ void cmSourceFile::DefineProperties(cmake *cm)
"Do not set this for header or files that should not be compiled.");
cm->DefineProperty
- ("LOCATION", cmProperty::SOURCE_FILE,
+ ("LOCATION", cmProperty::SOURCE_FILE,
"The full path to a source file.",
"A read only property on a SOURCE FILE that contains the full path "
"to the source file.");
cm->DefineProperty
- ("MACOSX_PACKAGE_LOCATION", cmProperty::SOURCE_FILE,
+ ("MACOSX_PACKAGE_LOCATION", cmProperty::SOURCE_FILE,
"Place a source file inside a Mac OS X bundle, CFBundle, or framework.",
"Executable targets with the MACOSX_BUNDLE property set are built "
"as Mac OS X application bundles on Apple platforms. "
@@ -531,7 +531,7 @@ void cmSourceFile::DefineProperties(cmake *cm)
"command (if one does not already exist due to linking relationships).");
cm->DefineProperty
- ("OBJECT_OUTPUTS", cmProperty::SOURCE_FILE,
+ ("OBJECT_OUTPUTS", cmProperty::SOURCE_FILE,
"Additional outputs for a Makefile rule.",
"Additional outputs created by compilation of this source file. "
"If any of these outputs is missing the object will be recompiled. "
@@ -539,14 +539,14 @@ void cmSourceFile::DefineProperties(cmake *cm)
"on other generators.");
cm->DefineProperty
- ("SYMBOLIC", cmProperty::SOURCE_FILE,
+ ("SYMBOLIC", cmProperty::SOURCE_FILE,
"Is this just a name for a rule.",
"If SYMBOLIC (boolean) is set to true the build system will be "
"informed that the source file is not actually created on disk but "
"instead used as a symbolic name for a build rule.");
-
+
cm->DefineProperty
- ("WRAP_EXCLUDE", cmProperty::SOURCE_FILE,
+ ("WRAP_EXCLUDE", cmProperty::SOURCE_FILE,
"Exclude this source file from any code wrapping techniques.",
"Some packages can wrap source files into alternate languages "
"to provide additional functionality. For example, C++ code "
diff --git a/Source/cmSourceFile.h b/Source/cmSourceFile.h
index ae012747d..6c68b8745 100644
--- a/Source/cmSourceFile.h
+++ b/Source/cmSourceFile.h
@@ -21,7 +21,7 @@ class cmake;
/** \class cmSourceFile
* \brief Represent a class loaded from a makefile.
*
- * cmSourceFile is represents a class loaded from
+ * cmSourceFile is represents a class loaded from
* a makefile.
*/
class cmSourceFile
diff --git a/Source/cmSourceGroup.cxx b/Source/cmSourceGroup.cxx
index 2b34f2bfc..4fd98518b 100644
--- a/Source/cmSourceGroup.cxx
+++ b/Source/cmSourceGroup.cxx
@@ -71,13 +71,13 @@ void cmSourceGroup::SetGroupRegex(const char* regex)
this->GroupRegex.compile("^$");
}
}
-
+
//----------------------------------------------------------------------------
void cmSourceGroup::AddGroupFile(const char* name)
{
this->GroupFiles.insert(name);
}
-
+
//----------------------------------------------------------------------------
const char* cmSourceGroup::GetName() const
{
@@ -89,7 +89,7 @@ const char* cmSourceGroup::GetFullName() const
{
return this->FullName.c_str();
}
-
+
//----------------------------------------------------------------------------
bool cmSourceGroup::MatchesRegex(const char* name)
{
@@ -137,12 +137,12 @@ cmSourceGroup *cmSourceGroup::lookupChild(const char* name)
// st
for(;iter!=end; ++iter)
{
- std::string sgName = iter->GetName();
+ std::string sgName = iter->GetName();
// look if descenened is the one were looking for
if(sgName == name)
{
- return &(*iter); // if it so return it
+ return &(*iter); // if it so return it
}
}
diff --git a/Source/cmSourceGroup.h b/Source/cmSourceGroup.h
index 641dcbd57..11a0c74ae 100644
--- a/Source/cmSourceGroup.h
+++ b/Source/cmSourceGroup.h
@@ -37,12 +37,12 @@ public:
cmSourceGroup(cmSourceGroup const& r);
~cmSourceGroup();
cmSourceGroup& operator=(cmSourceGroup const&);
-
+
/**
* Set the regular expression for this group.
*/
void SetGroupRegex(const char* regex);
-
+
/**
* Add a file name to the explicit list of files for this group.
*/
@@ -57,7 +57,7 @@ public:
* Looks up child and returns it
*/
cmSourceGroup *lookupChild(const char *name);
-
+
/**
* Get the name of this group.
*/
@@ -67,12 +67,12 @@ public:
* Get the full path name for group.
*/
const char* GetFullName() const;
-
+
/**
* Check if the given name matches this group's regex.
*/
bool MatchesRegex(const char* name);
-
+
/**
* Check if the given name matches this group's explicit file list.
*/
@@ -88,8 +88,8 @@ public:
* Check if the given name matches this group's regex in children.
*/
cmSourceGroup *MatchChildrenRegex(const char *name);
-
- /**
+
+ /**
* Assign the given source file to this group. Used only by
* generators.
*/
@@ -100,7 +100,7 @@ public:
* source group.
*/
const std::vector<const cmSourceFile*>& GetSourceFiles() const;
-
+
std::vector<cmSourceGroup> const& GetGroupChildren() const;
private:
/**
@@ -109,17 +109,17 @@ private:
std::string Name;
// Full path to group
std::string FullName;
-
+
/**
* The regular expression matching the files in the group.
*/
cmsys::RegularExpression GroupRegex;
-
+
/**
* Set of file names explicitly added to this group.
*/
std::set<cmStdString> GroupFiles;
-
+
/**
* Vector of all source files that have been assigned to
* this group.
diff --git a/Source/cmSourceGroupCommand.cxx b/Source/cmSourceGroupCommand.cxx
index 8e61d0a15..9cb80f617 100644
--- a/Source/cmSourceGroupCommand.cxx
+++ b/Source/cmSourceGroupCommand.cxx
@@ -19,7 +19,7 @@ bool cmSourceGroupCommand
{
this->SetError("called with incorrect number of arguments");
return false;
- }
+ }
std::string delimiter = "\\";
if(this->Makefile->GetDefinition("SOURCE_GROUP_DELIMITER"))
@@ -29,7 +29,7 @@ bool cmSourceGroupCommand
std::vector<std::string> folders =
cmSystemTools::tokenize(args[0], delimiter);
-
+
cmSourceGroup* sg = 0;
sg = this->Makefile->GetSourceGroup(folders);
if(!sg)
@@ -50,7 +50,7 @@ bool cmSourceGroupCommand
sg->SetGroupRegex(args[1].c_str());
return true;
}
-
+
// Process arguments.
bool doingFiles = false;
for(unsigned int i=1; i < args.size(); ++i)
@@ -97,6 +97,6 @@ bool cmSourceGroupCommand
return false;
}
}
-
+
return true;
}
diff --git a/Source/cmSourceGroupCommand.h b/Source/cmSourceGroupCommand.h
index 6a29fc810..6c87b7101 100644
--- a/Source/cmSourceGroupCommand.h
+++ b/Source/cmSourceGroupCommand.h
@@ -26,7 +26,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmSourceGroupCommand;
}
@@ -37,7 +37,7 @@ public:
*/
virtual bool InitialPass(std::vector<std::string> const& args,
cmExecutionStatus &status);
-
+
/**
* The name of the command as specified in CMakeList.txt.
*/
@@ -50,7 +50,7 @@ public:
{
return "Define a grouping for sources in the makefile.";
}
-
+
/**
* More documentation.
*/
@@ -72,7 +72,7 @@ public:
"format:\n"
" source_group(name regex)";
}
-
+
cmTypeMacro(cmSourceGroupCommand, cmCommand);
};
diff --git a/Source/cmStandardIncludes.h b/Source/cmStandardIncludes.h
index ea299ca90..a4aec2e12 100644
--- a/Source/cmStandardIncludes.h
+++ b/Source/cmStandardIncludes.h
@@ -152,10 +152,10 @@ extern int putenv (char *__string) __THROW;
// if std:: is not supported, then just #define it away
#ifdef CMAKE_NO_STD_NAMESPACE
-#define std
+#define std
#endif
-// if the compiler does not support ansi for scoping of vars use a
+// if the compiler does not support ansi for scoping of vars use a
// #define hack
#ifdef CMAKE_NO_ANSI_FOR_SCOPE
#define for if(false) {} else for
@@ -178,7 +178,7 @@ namespace std { typedef ios ios_base; }
#endif
#ifdef __DECCXX_VER
-# if __DECCXX_VER <= 60390008
+# if __DECCXX_VER <= 60390008
# define CM_HAS_STD_BUT_NOT_FOR_IOSTREAM
# endif
#endif
@@ -200,7 +200,7 @@ using ::cerr;
using ::cin;
using ::ifstream;
using ::ofstream;
-
+
#if !defined(CMAKE_NO_ANSI_STRING_STREAM)
using ::ostringstream;
using ::istringstream;
@@ -208,7 +208,7 @@ using ::ofstream;
using ::ostrstream;
using ::istrstream;
#endif
-
+
using ::endl;
using ::ends;
using ::flush;
@@ -324,8 +324,8 @@ struct cmDocumentationEntry
std::string Full;
cmDocumentationEntry(){};
cmDocumentationEntry(const char *doc[3])
- { if (doc[0]) this->Name = doc[0];
- if (doc[1]) this->Brief = doc[1];
+ { if (doc[0]) this->Name = doc[0];
+ if (doc[1]) this->Brief = doc[1];
if (doc[2]) this->Full = doc[2]; };
cmDocumentationEntry(const char *n, const char *b, const char *f)
{ if (n) this->Name = n; if (b) this->Brief = b; if (f) this->Full = f; };
@@ -353,7 +353,7 @@ public:
# pragma reset woff 1375 /* base class destructor not virtual */
#endif
-// All subclasses of cmCommand or cmCTestGenericHandler should
+// All subclasses of cmCommand or cmCTestGenericHandler should
// invoke this macro.
#define cmTypeMacro(thisClass,superclass) \
virtual const char* GetNameOfClass() { return #thisClass; } \
diff --git a/Source/cmStringCommand.cxx b/Source/cmStringCommand.cxx
index ec10d571f..0193dc9e7 100644
--- a/Source/cmStringCommand.cxx
+++ b/Source/cmStringCommand.cxx
@@ -28,7 +28,7 @@ bool cmStringCommand
this->SetError("must be called with at least one argument.");
return false;
}
-
+
const std::string &subCommand = args[0];
if(subCommand == "REGEX")
{
@@ -134,11 +134,11 @@ bool cmStringCommand::HandleToUpperLowerCommand(
std::string outvar = args[2];
std::string output;
- if (toUpper)
+ if (toUpper)
{
output = cmSystemTools::UpperCase(args[1]);
- }
- else
+ }
+ else
{
output = cmSystemTools::LowerCase(args[1]);
}
@@ -266,7 +266,7 @@ bool cmStringCommand::HandleRegexCommand(std::vector<std::string> const& args)
}
return this->RegexReplace(args);
}
-
+
std::string e = "sub-command REGEX does not recognize mode "+mode;
this->SetError(e.c_str());
return false;
@@ -279,25 +279,25 @@ bool cmStringCommand::RegexMatch(std::vector<std::string> const& args)
// <input> [<input>...])\n";
std::string regex = args[2];
std::string outvar = args[3];
-
+
// Concatenate all the last arguments together.
std::string input = args[4];
for(unsigned int i=5; i < args.size(); ++i)
{
input += args[i];
}
-
+
this->ClearMatches(this->Makefile);
// Compile the regular expression.
cmsys::RegularExpression re;
if(!re.compile(regex.c_str()))
{
- std::string e =
+ std::string e =
"sub-command REGEX, mode MATCH failed to compile regex \""+regex+"\".";
this->SetError(e.c_str());
return false;
}
-
+
// Scan through the input for all matches.
std::string output;
if(re.find(input.c_str()))
@@ -307,7 +307,7 @@ bool cmStringCommand::RegexMatch(std::vector<std::string> const& args)
std::string::size_type r = re.end();
if(r-l == 0)
{
- std::string e =
+ std::string e =
"sub-command REGEX, mode MATCH regex \""+regex+
"\" matched an empty string.";
this->SetError(e.c_str());
@@ -315,7 +315,7 @@ bool cmStringCommand::RegexMatch(std::vector<std::string> const& args)
}
output = input.substr(l, r-l);
}
-
+
// Store the output in the provided variable.
this->Makefile->AddDefinition(outvar.c_str(), output.c_str());
return true;
@@ -324,18 +324,18 @@ bool cmStringCommand::RegexMatch(std::vector<std::string> const& args)
//----------------------------------------------------------------------------
bool cmStringCommand::RegexMatchAll(std::vector<std::string> const& args)
{
- //"STRING(REGEX MATCHALL <regular_expression> <output variable> <input>
+ //"STRING(REGEX MATCHALL <regular_expression> <output variable> <input>
// [<input>...])\n";
std::string regex = args[2];
std::string outvar = args[3];
-
+
// Concatenate all the last arguments together.
std::string input = args[4];
for(unsigned int i=5; i < args.size(); ++i)
{
input += args[i];
}
-
+
this->ClearMatches(this->Makefile);
// Compile the regular expression.
cmsys::RegularExpression re;
@@ -347,7 +347,7 @@ bool cmStringCommand::RegexMatchAll(std::vector<std::string> const& args)
this->SetError(e.c_str());
return false;
}
-
+
// Scan through the input for all matches.
std::string output;
const char* p = input.c_str();
@@ -370,7 +370,7 @@ bool cmStringCommand::RegexMatchAll(std::vector<std::string> const& args)
output += std::string(p+l, r-l);
p += r;
}
-
+
// Store the output in the provided variable.
this->Makefile->AddDefinition(outvar.c_str(), output.c_str());
return true;
@@ -379,12 +379,12 @@ bool cmStringCommand::RegexMatchAll(std::vector<std::string> const& args)
//----------------------------------------------------------------------------
bool cmStringCommand::RegexReplace(std::vector<std::string> const& args)
{
- //"STRING(REGEX REPLACE <regular_expression> <replace_expression>
+ //"STRING(REGEX REPLACE <regular_expression> <replace_expression>
// <output variable> <input> [<input>...])\n"
std::string regex = args[2];
- std::string replace = args[3];
+ std::string replace = args[3];
std::string outvar = args[4];
-
+
// Pull apart the replace expression to find the escaped [0-9] values.
std::vector<RegexReplacement> replacement;
std::string::size_type l = 0;
@@ -432,26 +432,26 @@ bool cmStringCommand::RegexReplace(std::vector<std::string> const& args)
}
l = r;
}
-
+
// Concatenate all the last arguments together.
std::string input = args[5];
for(unsigned int i=6; i < args.size(); ++i)
{
input += args[i];
}
-
+
this->ClearMatches(this->Makefile);
// Compile the regular expression.
cmsys::RegularExpression re;
if(!re.compile(regex.c_str()))
{
- std::string e =
+ std::string e =
"sub-command REGEX, mode REPLACE failed to compile regex \""+
regex+"\".";
this->SetError(e.c_str());
return false;
}
-
+
// Scan through the input for all matches.
std::string output;
std::string::size_type base = 0;
@@ -460,10 +460,10 @@ bool cmStringCommand::RegexReplace(std::vector<std::string> const& args)
this->StoreMatches(this->Makefile, re);
std::string::size_type l2 = re.start();
std::string::size_type r = re.end();
-
+
// Concatenate the part of the input that was not matched.
output += input.substr(base, l2);
-
+
// Make sure the match had some text.
if(r-l2 == 0)
{
@@ -472,7 +472,7 @@ bool cmStringCommand::RegexReplace(std::vector<std::string> const& args)
this->SetError(e.c_str());
return false;
}
-
+
// Concatenate the replacement for the match.
for(unsigned int i=0; i < replacement.size(); ++i)
{
@@ -504,14 +504,14 @@ bool cmStringCommand::RegexReplace(std::vector<std::string> const& args)
}
}
}
-
+
// Move past the match.
base += r;
}
-
+
// Concatenate the text after the last match.
output += input.substr(base, input.length()-base);
-
+
// Store the output in the provided variable.
this->Makefile->AddDefinition(outvar.c_str(), output.c_str());
return true;
@@ -624,9 +624,9 @@ bool cmStringCommand::HandleCompareCommand(std::vector<std::string> const&
this->SetError(e.c_str());
return false;
}
-
+
const std::string& left = args[2];
- const std::string& right = args[3];
+ const std::string& right = args[3];
const std::string& outvar = args[4];
bool result;
if(mode == "LESS")
@@ -654,7 +654,7 @@ bool cmStringCommand::HandleCompareCommand(std::vector<std::string> const&
this->Makefile->AddDefinition(outvar.c_str(), "0");
}
return true;
- }
+ }
std::string e = "sub-command COMPARE does not recognize mode "+mode;
this->SetError(e.c_str());
return false;
@@ -680,7 +680,7 @@ bool cmStringCommand::HandleReplaceCommand(std::vector<std::string> const&
input += args[i];
}
- cmsys::SystemTools::ReplaceString(input, matchExpression.c_str(),
+ cmsys::SystemTools::ReplaceString(input, matchExpression.c_str(),
replaceExpression.c_str());
this->Makefile->AddDefinition(variableName.c_str(), input.c_str());
@@ -688,7 +688,7 @@ bool cmStringCommand::HandleReplaceCommand(std::vector<std::string> const&
}
//----------------------------------------------------------------------------
-bool cmStringCommand::HandleSubstringCommand(std::vector<std::string> const&
+bool cmStringCommand::HandleSubstringCommand(std::vector<std::string> const&
args)
{
if(args.size() != 5)
@@ -722,7 +722,7 @@ bool cmStringCommand::HandleSubstringCommand(std::vector<std::string> const&
return false;
}
- this->Makefile->AddDefinition(variableName.c_str(),
+ this->Makefile->AddDefinition(variableName.c_str(),
stringValue.substr(begin, end).c_str());
return true;
}
@@ -780,7 +780,7 @@ bool cmStringCommand::HandleStripCommand(
size_t outLength = 0;
- // if the input string didn't contain any non-space characters, return
+ // if the input string didn't contain any non-space characters, return
// an empty string
if (startPos > inStringLength)
{
diff --git a/Source/cmStringCommand.h b/Source/cmStringCommand.h
index 3e585a5b3..728b1bc5f 100644
--- a/Source/cmStringCommand.h
+++ b/Source/cmStringCommand.h
@@ -30,7 +30,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmStringCommand;
}
@@ -59,7 +59,7 @@ public:
{
return "String operations.";
}
-
+
/**
* More documentation.
*/
@@ -133,7 +133,8 @@ public:
" . Matches any single character\n"
" [ ] Matches any character(s) inside the brackets\n"
" [^ ] Matches any character(s) not inside the brackets\n"
- " - Matches any character in range on either side of a dash\n"
+ " - Inside brackets, specifies an inclusive range between\n"
+ " characters on either side e.g. [a-f] is [abcdef]\n"
" * Matches preceding pattern zero or more times\n"
" + Matches preceding pattern one or more times\n"
" ? Matches preceding pattern zero or once only\n"
@@ -143,7 +144,7 @@ public:
" by all regular expression-related commands, including \n"
" e.g. if( MATCHES ), in the variables CMAKE_MATCH_(0..9).";
}
-
+
cmTypeMacro(cmStringCommand, cmCommand);
static void ClearMatches(cmMakefile* mf);
static void StoreMatches(cmMakefile* mf, cmsys::RegularExpression& re);
diff --git a/Source/cmSubdirCommand.cxx b/Source/cmSubdirCommand.cxx
index 9fcbe77ec..0cfe7722d 100644
--- a/Source/cmSubdirCommand.cxx
+++ b/Source/cmSubdirCommand.cxx
@@ -39,13 +39,13 @@ bool cmSubdirCommand
}
// if they specified a relative path then compute the full
- std::string srcPath =
- std::string(this->Makefile->GetCurrentDirectory()) +
+ std::string srcPath =
+ std::string(this->Makefile->GetCurrentDirectory()) +
"/" + i->c_str();
if (cmSystemTools::FileIsDirectory(srcPath.c_str()))
{
- std::string binPath =
- std::string(this->Makefile->GetCurrentOutputDirectory()) +
+ std::string binPath =
+ std::string(this->Makefile->GetCurrentOutputDirectory()) +
"/" + i->c_str();
this->Makefile->AddSubDirectory(srcPath.c_str(), binPath.c_str(),
excludeFromAll, preorder, false);
@@ -55,8 +55,8 @@ bool cmSubdirCommand
{
// we must compute the binPath from the srcPath, we just take the last
// element from the source path and use that
- std::string binPath =
- std::string(this->Makefile->GetCurrentOutputDirectory()) +
+ std::string binPath =
+ std::string(this->Makefile->GetCurrentOutputDirectory()) +
"/" + cmSystemTools::GetFilenameName(i->c_str());
this->Makefile->AddSubDirectory(i->c_str(), binPath.c_str(),
excludeFromAll, preorder, false);
@@ -65,7 +65,7 @@ bool cmSubdirCommand
{
std::string error = "Incorrect SUBDIRS command. Directory: ";
error += *i + " does not exists.";
- this->SetError(error.c_str());
+ this->SetError(error.c_str());
res = false;
}
}
diff --git a/Source/cmSubdirCommand.h b/Source/cmSubdirCommand.h
index eedbfff92..618d5ff2b 100644
--- a/Source/cmSubdirCommand.h
+++ b/Source/cmSubdirCommand.h
@@ -27,7 +27,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmSubdirCommand;
}
@@ -51,7 +51,7 @@ public:
{
return "Deprecated. Use the add_subdirectory() command instead.";
}
-
+
/**
* More documentation.
*/
@@ -68,7 +68,7 @@ public:
"This will cause any CMakeLists.txt files in the sub directories "
"to be processed by CMake. Any directories after the PREORDER flag "
"are traversed first by makefile builds, the PREORDER flag has no "
- "effect on IDE projects. "
+ "effect on IDE projects. "
" Any directories after the EXCLUDE_FROM_ALL marker "
"will not be included in the top level makefile or project file. "
"This is useful for having CMake create makefiles or projects for "
@@ -77,7 +77,7 @@ public:
"the same time, but you would not want them to show up in the "
"top level project or be built each time make is run from the top.";
}
-
+
/** This command is kept for compatibility with older CMake versions. */
virtual bool IsDiscouraged() const
{
diff --git a/Source/cmSubdirDependsCommand.h b/Source/cmSubdirDependsCommand.h
index daf97cd2f..b274d0196 100644
--- a/Source/cmSubdirDependsCommand.h
+++ b/Source/cmSubdirDependsCommand.h
@@ -27,7 +27,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmSubdirDependsCommand;
}
@@ -51,7 +51,7 @@ public:
{
return "Deprecated. Does nothing.";
}
-
+
/**
* More documentation.
*/
@@ -62,7 +62,7 @@ public:
"Does not do anything. This command used to help projects order "
"parallel builds correctly. This functionality is now automatic.";
}
-
+
/** This command is kept for compatibility with older CMake versions. */
virtual bool IsDiscouraged() const
{
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx
index 89f03f62c..544f7e43e 100644
--- a/Source/cmSystemTools.cxx
+++ b/Source/cmSystemTools.cxx
@@ -1932,6 +1932,7 @@ bool extract_tar(const char* outFileName, bool verbose,
{
cmSystemTools::Error("Problem with archive_read_next_header(): ",
archive_error_string(a));
+ break;
}
if (verbose && extract)
{
@@ -1954,6 +1955,7 @@ bool extract_tar(const char* outFileName, bool verbose,
cmSystemTools::Error(
"Problem with archive_write_disk_set_options(): ",
archive_error_string(ext));
+ break;
}
r = archive_write_header(ext, entry);
@@ -1963,6 +1965,7 @@ bool extract_tar(const char* outFileName, bool verbose,
archive_error_string(ext));
cmSystemTools::Error("Current file:",
archive_entry_pathname(entry));
+ break;
}
else
{
@@ -1972,6 +1975,7 @@ bool extract_tar(const char* outFileName, bool verbose,
{
cmSystemTools::Error("Problem with archive_write_finish_entry(): ",
archive_error_string(ext));
+ break;
}
}
}
@@ -1982,8 +1986,7 @@ bool extract_tar(const char* outFileName, bool verbose,
}
archive_read_close(a);
archive_read_finish(a);
- return true;
-
+ return r == ARCHIVE_EOF || r == ARCHIVE_OK;
}
}
#endif
diff --git a/Source/cmSystemTools.h b/Source/cmSystemTools.h
index 69673c938..0b2def216 100644
--- a/Source/cmSystemTools.h
+++ b/Source/cmSystemTools.h
@@ -92,7 +92,8 @@ public:
static bool GetErrorOccuredFlag()
{
return cmSystemTools::s_ErrorOccured ||
- cmSystemTools::s_FatalErrorOccured;
+ cmSystemTools::s_FatalErrorOccured ||
+ GetInterruptFlag();
}
///! If this is set to true, cmake stops processing commands.
static void SetFatalErrorOccured()
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 775662cc3..f3eb52b76 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -15,8 +15,8 @@
#include "cmSourceFile.h"
#include "cmLocalGenerator.h"
#include "cmGlobalGenerator.h"
-#include "cmComputeLinkInformation.h"
#include "cmDocumentCompileDefinitions.h"
+#include "cmDocumentGeneratorExpressions.h"
#include "cmDocumentLocationUndefined.h"
#include "cmListFileCache.h"
#include "cmGeneratorExpression.h"
@@ -57,6 +57,7 @@ struct cmTarget::OutputInfo
{
std::string OutDir;
std::string ImpDir;
+ std::string PdbDir;
};
//----------------------------------------------------------------------------
@@ -205,6 +206,9 @@ void cmTarget::DefineProperties(cmake *cm)
"are not supported by the native build tool. "
"The VS6 IDE does not support definition values with spaces "
"(but NMake does).\n"
+ "Contents of COMPILE_DEFINITIONS may use \"generator expressions\" with "
+ "the syntax \"$<...>\". "
+ CM_DOCUMENT_COMMAND_GENERATOR_EXPRESSIONS
CM_DOCUMENT_COMPILE_DEFINITIONS_DISCLAIMER);
cm->DefineProperty
@@ -498,8 +502,11 @@ void cmTarget::DefineProperties(cmake *cm)
"to the include_directories command."
"\n"
"The target property values are used by the generators to set "
- "the include paths for the compiler. "
- "See also the include_directories command.");
+ "the include paths for the compiler. "
+ "See also the include_directories command.\n"
+ "Contents of INCLUDE_DIRECTORIES may use \"generator expressions\" with "
+ "the syntax \"$<...>\". "
+ CM_DOCUMENT_COMMAND_GENERATOR_EXPRESSIONS);
cm->DefineProperty
("INSTALL_NAME_DIR", cmProperty::TARGET,
@@ -741,6 +748,22 @@ void cmTarget::DefineProperties(cmake *cm)
"Use OUTPUT_NAME_<CONFIG> instead.");
cm->DefineProperty
+ ("PDB_NAME", cmProperty::TARGET,
+ "Output name for MS debug symbols .pdb file.",
+ "Set the base name for debug symbols file created for an "
+ "executable or library target. "
+ "If not set, the logical target name is used by default. "
+ "\n"
+ "This property is not implemented by the Visual Studio 6 generator.");
+
+ cm->DefineProperty
+ ("PDB_NAME_<CONFIG>", cmProperty::TARGET,
+ "Per-configuration name for MS debug symbols .pdb file. ",
+ "This is the configuration-specific version of PDB_NAME. "
+ "\n"
+ "This property is not implemented by the Visual Studio 6 generator.");
+
+ cm->DefineProperty
("PRE_INSTALL_SCRIPT", cmProperty::TARGET,
"Deprecated install support.",
"The PRE_INSTALL_SCRIPT and POST_INSTALL_SCRIPT properties are the "
@@ -761,7 +784,10 @@ void cmTarget::DefineProperties(cmake *cm)
"The POSITION_INDEPENDENT_CODE property determines whether position "
"independent executables or shared libraries will be created. "
"This property is true by default for SHARED and MODULE library "
- "targets and false otherwise.");
+ "targets and false otherwise. "
+ "This property is initialized by the value of the variable "
+ "CMAKE_POSITION_INDEPENDENT_CODE if it is set when a target is "
+ "created.");
cm->DefineProperty
("POST_INSTALL_SCRIPT", cmProperty::TARGET,
@@ -903,7 +929,7 @@ void cmTarget::DefineProperties(cmake *cm)
"Build an executable with a WinMain entry point on windows.",
"When this property is set to true the executable when linked "
"on Windows will be created with a WinMain() entry point instead "
- "of of just main()."
+ "of just main(). "
"This makes it a GUI executable instead of a console application. "
"See the CMAKE_MFC_FLAG variable documentation to configure use "
"of MFC for WinMain executables. "
@@ -1068,7 +1094,7 @@ void cmTarget::DefineProperties(cmake *cm)
("VS_KEYWORD", cmProperty::TARGET,
"Visual Studio project keyword.",
"Can be set to change the visual studio keyword, for example "
- "QT integration works better if this is set to Qt4VSv1.0. ");
+ "Qt integration works better if this is set to Qt4VSv1.0. ");
cm->DefineProperty
("VS_SCC_PROVIDER", cmProperty::TARGET,
"Visual Studio Source Code Control Provider.",
@@ -1187,6 +1213,27 @@ void cmTarget::DefineProperties(cmake *cm)
CM_TARGET_OUTDIR_CONFIG_DOC(RUNTIME));
cm->DefineProperty
+ ("PDB_OUTPUT_DIRECTORY", cmProperty::TARGET,
+ "Output directory for MS debug symbols .pdb files.",
+ "This property specifies the directory into which the MS debug symbols "
+ "will be placed. "
+ "This property is initialized by the value of the variable "
+ "CMAKE_PDB_OUTPUT_DIRECTORY if it is set when a target is created."
+ "\n"
+ "This property is not implemented by the Visual Studio 6 generator.");
+ cm->DefineProperty
+ ("PDB_OUTPUT_DIRECTORY_<CONFIG>", cmProperty::TARGET,
+ "Per-configuration output directory for MS debug symbols .pdb files.",
+ "This is a per-configuration version of PDB_OUTPUT_DIRECTORY, "
+ "but multi-configuration generators (VS, Xcode) do NOT append "
+ "a per-configuration subdirectory to the specified directory. "
+ "This property is initialized by the value of the variable "
+ "CMAKE_PDB_OUTPUT_DIRECTORY_<CONFIG> "
+ "if it is set when a target is created."
+ "\n"
+ "This property is not implemented by the Visual Studio 6 generator.");
+
+ cm->DefineProperty
("ARCHIVE_OUTPUT_NAME", cmProperty::TARGET,
"Output name for ARCHIVE target files.",
"This property specifies the base name for archive target files. "
@@ -1260,6 +1307,7 @@ void cmTarget::SetMakefile(cmMakefile* mf)
this->SetPropertyDefault("ARCHIVE_OUTPUT_DIRECTORY", 0);
this->SetPropertyDefault("LIBRARY_OUTPUT_DIRECTORY", 0);
this->SetPropertyDefault("RUNTIME_OUTPUT_DIRECTORY", 0);
+ this->SetPropertyDefault("PDB_OUTPUT_DIRECTORY", 0);
this->SetPropertyDefault("Fortran_FORMAT", 0);
this->SetPropertyDefault("Fortran_MODULE_DIRECTORY", 0);
this->SetPropertyDefault("GNUtoMS", 0);
@@ -1279,6 +1327,7 @@ void cmTarget::SetMakefile(cmMakefile* mf)
"ARCHIVE_OUTPUT_DIRECTORY_",
"LIBRARY_OUTPUT_DIRECTORY_",
"RUNTIME_OUTPUT_DIRECTORY_",
+ "PDB_OUTPUT_DIRECTORY_",
0};
for(std::vector<std::string>::iterator ci = configNames.begin();
ci != configNames.end(); ++ci)
@@ -1620,7 +1669,11 @@ cmTargetTraceDependencies
{
// Transform command names that reference targets built in this
// project to corresponding target-level dependencies.
- cmGeneratorExpression ge(this->Makefile, 0, cc.GetBacktrace(), true);
+ cmGeneratorExpression ge(cc.GetBacktrace());
+
+ // Add target-level dependencies referenced by generator expressions.
+ std::set<cmTarget*> targets;
+
for(cmCustomCommandLines::const_iterator cit = cc.GetCommandLines().begin();
cit != cc.GetCommandLines().end(); ++cit)
{
@@ -1642,12 +1695,17 @@ cmTargetTraceDependencies
for(cmCustomCommandLine::const_iterator cli = cit->begin();
cli != cit->end(); ++cli)
{
- ge.Process(*cli);
+ const cmCompiledGeneratorExpression &cge = ge.Parse(*cli);
+ cge.Evaluate(this->Makefile, 0, true);
+ std::set<cmTarget*> geTargets = cge.GetTargets();
+ for(std::set<cmTarget*>::const_iterator it = geTargets.begin();
+ it != geTargets.end(); ++it)
+ {
+ targets.insert(*it);
+ }
}
}
- // Add target-level dependencies referenced by generator expressions.
- std::set<cmTarget*> targets = ge.GetTargets();
for(std::set<cmTarget*>::iterator ti = targets.begin();
ti != targets.end(); ++ti)
{
@@ -2002,9 +2060,8 @@ bool cmTarget::NameResolvesToFramework(const std::string& libname)
}
//----------------------------------------------------------------------------
-bool cmTarget::AddFramework(const std::string& libname, LinkLibraryType llt)
+bool cmTarget::AddFramework(const std::string& libname, LinkLibraryType)
{
- (void)llt; // TODO: What is this?
if(this->NameResolvesToFramework(libname.c_str()))
{
std::string frameworkDir = libname;
@@ -2284,7 +2341,7 @@ void cmTarget::Emit(const LibraryID lib,
// be preserved.
// This variable will keep track of the libraries that were
- // emitted directory from the current node, and not from a
+ // emitted directly from the current node, and not from a
// recursive call. This way, if we come across a library that
// has already been emitted, we repeat it iff it has been
// emitted here.
@@ -2402,7 +2459,7 @@ void cmTarget::AppendProperty(const char* prop, const char* value,
//----------------------------------------------------------------------------
void cmTarget::MaybeInvalidatePropertyCache(const char* prop)
{
- // Wipe wipe out maps caching information affected by this property.
+ // Wipe out maps caching information affected by this property.
if(this->IsImported() && strncmp(prop, "IMPORTED", 8) == 0)
{
this->Internal->ImportInfoMap.clear();
@@ -2527,6 +2584,10 @@ cmTarget::OutputInfo const* cmTarget::GetOutputInfo(const char* config)
OutputInfo info;
this->ComputeOutputDir(config, false, info.OutDir);
this->ComputeOutputDir(config, true, info.ImpDir);
+ if(!this->ComputePDBOutputDir(config, info.PdbDir))
+ {
+ info.PdbDir = info.OutDir;
+ }
OutputInfoMapType::value_type entry(config_upper, info);
i = this->Internal->OutputInfoMap.insert(entry).first;
}
@@ -2552,6 +2613,17 @@ std::string cmTarget::GetDirectory(const char* config, bool implib)
}
//----------------------------------------------------------------------------
+std::string cmTarget::GetPDBDirectory(const char* config)
+{
+ if(OutputInfo const* info = this->GetOutputInfo(config))
+ {
+ // Return the directory in which the target will be built.
+ return info->PdbDir;
+ }
+ return "";
+}
+
+//----------------------------------------------------------------------------
const char* cmTarget::GetLocation(const char* config)
{
if (this->IsImported())
@@ -2942,25 +3014,6 @@ void cmTarget::ComputeLinkClosure(const char* config, LinkClosure& lc)
}
//----------------------------------------------------------------------------
-const char* cmTarget::GetCreateRuleVariable()
-{
- switch(this->GetType())
- {
- case cmTarget::STATIC_LIBRARY:
- return "_CREATE_STATIC_LIBRARY";
- case cmTarget::SHARED_LIBRARY:
- return "_CREATE_SHARED_LIBRARY";
- case cmTarget::MODULE_LIBRARY:
- return "_CREATE_SHARED_MODULE";
- case cmTarget::EXECUTABLE:
- return "_LINK_EXECUTABLE";
- default:
- break;
- }
- return "";
-}
-
-//----------------------------------------------------------------------------
const char* cmTarget::GetSuffixVariableInternal(bool implib)
{
switch(this->GetType())
@@ -3016,6 +3069,28 @@ std::string cmTarget::GetPDBName(const char* config)
std::string base;
std::string suffix;
this->GetFullNameInternal(config, false, prefix, base, suffix);
+
+ std::vector<std::string> props;
+ std::string configUpper =
+ cmSystemTools::UpperCase(config? config : "");
+ if(!configUpper.empty())
+ {
+ // PDB_NAME_<CONFIG>
+ props.push_back("PDB_NAME_" + configUpper);
+ }
+
+ // PDB_NAME
+ props.push_back("PDB_NAME");
+
+ for(std::vector<std::string>::const_iterator i = props.begin();
+ i != props.end(); ++i)
+ {
+ if(const char* outName = this->GetProperty(i->c_str()))
+ {
+ base = outName;
+ break;
+ }
+ }
return prefix+base+".pdb";
}
@@ -3400,7 +3475,7 @@ void cmTarget::GetLibraryNames(std::string& name,
}
// The program database file name.
- pdbName = prefix+base+".pdb";
+ pdbName = this->GetPDBName(config);
}
//----------------------------------------------------------------------------
@@ -3479,7 +3554,7 @@ void cmTarget::GetExecutableNames(std::string& name,
impName = this->GetFullNameInternal(config, true);
// The program database file name.
- pdbName = prefix+base+".pdb";
+ pdbName = this->GetPDBName(config);
}
//----------------------------------------------------------------------------
@@ -3558,7 +3633,7 @@ void cmTarget::GenerateTargetManifest(const char* config)
}
if(!pdbName.empty())
{
- f = dir;
+ f = this->GetPDBDirectory(config);
f += "/";
f += pdbName;
gg->AddToManifest(config? config:"", f);
@@ -3868,6 +3943,65 @@ bool cmTarget::ComputeOutputDir(const char* config,
}
//----------------------------------------------------------------------------
+bool cmTarget::ComputePDBOutputDir(const char* config, std::string& out)
+{
+ // Look for a target property defining the target output directory
+ // based on the target type.
+ std::string targetTypeName = "PDB";
+ const char* propertyName = 0;
+ std::string propertyNameStr = targetTypeName;
+ if(!propertyNameStr.empty())
+ {
+ propertyNameStr += "_OUTPUT_DIRECTORY";
+ propertyName = propertyNameStr.c_str();
+ }
+
+ // Check for a per-configuration output directory target property.
+ std::string configUpper = cmSystemTools::UpperCase(config? config : "");
+ const char* configProp = 0;
+ std::string configPropStr = targetTypeName;
+ if(!configPropStr.empty())
+ {
+ configPropStr += "_OUTPUT_DIRECTORY_";
+ configPropStr += configUpper;
+ configProp = configPropStr.c_str();
+ }
+
+ // Select an output directory.
+ if(const char* config_outdir = this->GetProperty(configProp))
+ {
+ // Use the user-specified per-configuration output directory.
+ out = config_outdir;
+
+ // Skip per-configuration subdirectory.
+ config = 0;
+ }
+ else if(const char* outdir = this->GetProperty(propertyName))
+ {
+ // Use the user-specified output directory.
+ out = outdir;
+ }
+ if(out.empty())
+ {
+ return false;
+ }
+
+ // Convert the output path to a full path in case it is
+ // specified as a relative path. Treat a relative path as
+ // relative to the current output directory for this makefile.
+ out = (cmSystemTools::CollapseFullPath
+ (out.c_str(), this->Makefile->GetStartOutputDirectory()));
+
+ // The generator may add the configuration's subdirectory.
+ if(config && *config)
+ {
+ this->Makefile->GetLocalGenerator()->GetGlobalGenerator()->
+ AppendDirectoryForConfig("/", config, "", out);
+ }
+ return true;
+}
+
+//----------------------------------------------------------------------------
bool cmTarget::UsesDefaultOutputDir(const char* config, bool implib)
{
std::string dir;
@@ -3968,27 +4102,6 @@ void cmTarget::GetLanguages(std::set<cmStdString>& languages) const
}
//----------------------------------------------------------------------------
-void cmTarget::GetAppleArchs(const char* config,
- std::vector<std::string>& archVec)
-{
- const char* archs = 0;
- if(config && *config)
- {
- std::string defVarName = "OSX_ARCHITECTURES_";
- defVarName += cmSystemTools::UpperCase(config);
- archs = this->GetProperty(defVarName.c_str());
- }
- if(!archs)
- {
- archs = this->GetProperty("OSX_ARCHITECTURES");
- }
- if(archs)
- {
- cmSystemTools::ExpandListArgument(std::string(archs), archVec);
- }
-}
-
-//----------------------------------------------------------------------------
bool cmTarget::IsChrpathUsed(const char* config)
{
#if defined(CMAKE_USE_ELF_PARSER)
@@ -4659,56 +4772,6 @@ std::string cmTarget::CheckCMP0004(std::string const& item)
}
//----------------------------------------------------------------------------
-cmComputeLinkInformation*
-cmTarget::GetLinkInformation(const char* config)
-{
- // Lookup any existing information for this configuration.
- std::map<cmStdString, cmComputeLinkInformation*>::iterator
- i = this->LinkInformation.find(config?config:"");
- if(i == this->LinkInformation.end())
- {
- // Compute information for this configuration.
- cmComputeLinkInformation* info =
- new cmComputeLinkInformation(this, config);
- if(!info || !info->Compute())
- {
- delete info;
- info = 0;
- }
-
- // Store the information for this configuration.
- std::map<cmStdString, cmComputeLinkInformation*>::value_type
- entry(config?config:"", info);
- i = this->LinkInformation.insert(entry).first;
- }
- return i->second;
-}
-
-//----------------------------------------------------------------------------
-std::vector<std::string> cmTarget::GetIncludeDirectories()
-{
- std::vector<std::string> includes;
- const char *prop = this->GetProperty("INCLUDE_DIRECTORIES");
- if(prop)
- {
- cmSystemTools::ExpandListArgument(prop, includes);
- }
-
- std::set<std::string> uniqueIncludes;
- std::vector<std::string> orderedAndUniqueIncludes;
- for(std::vector<std::string>::const_iterator
- li = includes.begin(); li != includes.end(); ++li)
- {
- if(uniqueIncludes.insert(*li).second)
- {
- orderedAndUniqueIncludes.push_back(*li);
- }
- }
-
- return orderedAndUniqueIncludes;
-}
-
-//----------------------------------------------------------------------------
std::string cmTarget::GetFrameworkDirectory(const char* config)
{
std::string fpath;
@@ -4766,29 +4829,6 @@ std::string cmTarget::GetMacContentDirectory(const char* config,
}
//----------------------------------------------------------------------------
-cmTargetLinkInformationMap
-::cmTargetLinkInformationMap(cmTargetLinkInformationMap const& r): derived()
-{
- // Ideally cmTarget instances should never be copied. However until
- // we can make a sweep to remove that, this copy constructor avoids
- // allowing the resources (LinkInformation) from getting copied. In
- // the worst case this will lead to extra cmComputeLinkInformation
- // instances. We also enforce in debug mode that the map be emptied
- // when copied.
- static_cast<void>(r);
- assert(r.empty());
-}
-
-//----------------------------------------------------------------------------
-cmTargetLinkInformationMap::~cmTargetLinkInformationMap()
-{
- for(derived::iterator i = this->begin(); i != this->end(); ++i)
- {
- delete i->second;
- }
-}
-
-//----------------------------------------------------------------------------
cmTargetInternalPointer::cmTargetInternalPointer()
{
this->Pointer = new cmTargetInternals;
diff --git a/Source/cmTarget.h b/Source/cmTarget.h
index a89c5d91b..e442d259a 100644
--- a/Source/cmTarget.h
+++ b/Source/cmTarget.h
@@ -22,18 +22,8 @@ class cmake;
class cmMakefile;
class cmSourceFile;
class cmGlobalGenerator;
-class cmComputeLinkInformation;
class cmListFileBacktrace;
-struct cmTargetLinkInformationMap:
- public std::map<cmStdString, cmComputeLinkInformation*>
-{
- typedef std::map<cmStdString, cmComputeLinkInformation*> derived;
- cmTargetLinkInformationMap() {}
- cmTargetLinkInformationMap(cmTargetLinkInformationMap const& r);
- ~cmTargetLinkInformationMap();
-};
-
class cmTargetInternals;
class cmTargetInternalPointer
{
@@ -158,9 +148,6 @@ public:
void AddSources(std::vector<std::string> const& srcs);
cmSourceFile* AddSource(const char* src);
- /**
- * Get the list of the source files used by this target
- */
enum LinkLibraryType {GENERAL, DEBUG, OPTIMIZED};
//* how we identify a library, by name and type
@@ -304,6 +291,12 @@ public:
output directory is given. */
std::string GetDirectory(const char* config = 0, bool implib = false);
+ /** Get the directory in which this targets .pdb files will be placed.
+ If the configuration name is given then the generator will add its
+ subdirectory for that configuration. Otherwise just the canonical
+ pdb output directory is given. */
+ std::string GetPDBDirectory(const char* config = 0);
+
/** Get the location of the target in the build tree for the given
configuration. This location is suitable for use as the LOCATION
target property. */
@@ -333,10 +326,6 @@ public:
///! Return the preferred linker language for this target
const char* GetLinkerLanguage(const char* config = 0);
- ///! Return the rule variable used to create this type of target,
- // need to add CMAKE_(LANG) for full name.
- const char* GetCreateRuleVariable();
-
/** Get the full name of the target according to the settings in its
makefile. */
std::string GetFullName(const char* config=0, bool implib = false);
@@ -403,8 +392,6 @@ public:
std::string GetInstallNameDirForInstallTree(const char* config,
bool for_xcode = false);
- cmComputeLinkInformation* GetLinkInformation(const char* config);
-
// Get the properties
cmPropertyMap &GetProperties() { return this->Properties; };
@@ -422,9 +409,6 @@ public:
// until we have per-target object file properties.
void GetLanguages(std::set<cmStdString>& languages) const;
- /** Get the list of OS X target architectures to be built. */
- void GetAppleArchs(const char* config, std::vector<std::string>& archVec);
-
/** Return whether this target is an executable with symbol exports
enabled. */
bool IsExecutableWithExports();
@@ -462,9 +446,6 @@ public:
directory. */
bool UsesDefaultOutputDir(const char* config, bool implib);
- /** Get the include directories for this target. */
- std::vector<std::string> GetIncludeDirectories();
-
/** Append to @a base the mac content directory and return it. */
std::string BuildMacContentDirectory(const std::string& base,
const char* config = 0,
@@ -596,14 +577,13 @@ private:
struct OutputInfo;
OutputInfo const* GetOutputInfo(const char* config);
bool ComputeOutputDir(const char* config, bool implib, std::string& out);
+ bool ComputePDBOutputDir(const char* config, std::string& out);
// Cache import information from properties for each configuration.
struct ImportInfo;
ImportInfo const* GetImportInfo(const char* config);
void ComputeImportInfo(std::string const& desired_config, ImportInfo& info);
- cmTargetLinkInformationMap LinkInformation;
-
bool ComputeLinkInterface(const char* config, LinkInterface& iface);
void ComputeLinkImplementation(const char* config,
diff --git a/Source/cmTargetExport.h b/Source/cmTargetExport.h
new file mode 100644
index 000000000..c9d87fb7e
--- /dev/null
+++ b/Source/cmTargetExport.h
@@ -0,0 +1,39 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2000-2012 Kitware, Inc., Insight Software Consortium
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+#ifndef cmTargetExport_h
+#define cmTargetExport_h
+
+class cmTarget;
+class cmInstallTargetGenerator;
+class cmInstallFilesGenerator;
+
+/** \brief A member of an ExportSet
+ *
+ * This struct holds pointers to target and all relevant generators.
+ */
+class cmTargetExport
+{
+public:
+ cmTarget* Target; ///< The target
+
+ ///@name Generators
+ ///@{
+ cmInstallTargetGenerator* ArchiveGenerator;
+ cmInstallTargetGenerator* RuntimeGenerator;
+ cmInstallTargetGenerator* LibraryGenerator;
+ cmInstallTargetGenerator* FrameworkGenerator;
+ cmInstallTargetGenerator* BundleGenerator;
+ cmInstallFilesGenerator* HeaderGenerator;
+ ///@}
+};
+
+#endif
diff --git a/Source/cmTargetLinkLibrariesCommand.cxx b/Source/cmTargetLinkLibrariesCommand.cxx
index dbea1c3bb..f42b0f687 100644
--- a/Source/cmTargetLinkLibrariesCommand.cxx
+++ b/Source/cmTargetLinkLibrariesCommand.cxx
@@ -108,8 +108,8 @@ bool cmTargetLinkLibrariesCommand
// specification if the keyword is encountered as the first argument.
this->CurrentProcessingState = ProcessingLinkLibraries;
- // add libraries, nothe that there is an optional prefix
- // of debug and optimized than can be used
+ // add libraries, note that there is an optional prefix
+ // of debug and optimized that can be used
for(unsigned int i=1; i < args.size(); ++i)
{
if(args[i] == "LINK_INTERFACE_LIBRARIES")
diff --git a/Source/cmTest.cxx b/Source/cmTest.cxx
index 502c1740d..912ec7634 100644
--- a/Source/cmTest.cxx
+++ b/Source/cmTest.cxx
@@ -57,7 +57,7 @@ void cmTest::SetCommand(std::vector<std::string> const& command)
const char *cmTest::GetProperty(const char* prop) const
{
bool chain = false;
- const char *retVal =
+ const char *retVal =
this->Properties.GetPropertyValue(prop, cmProperty::TEST, chain);
if (chain)
{
@@ -149,14 +149,14 @@ void cmTest::DefineProperties(cmake *cm)
"not to run concurrently.");
cm->DefineProperty
- ("MEASUREMENT", cmProperty::TEST,
+ ("MEASUREMENT", cmProperty::TEST,
"Specify a CDASH measurement and value to be reported for a test.",
"If set to a name then that name will be reported to CDASH as a "
"named measurement with a value of 1. You may also specify a value "
"by setting MEASUREMENT to \"measurement=value\".");
cm->DefineProperty
- ("PASS_REGULAR_EXPRESSION", cmProperty::TEST,
+ ("PASS_REGULAR_EXPRESSION", cmProperty::TEST,
"The output must match this regular expression for the test to pass.",
"If set, the test output will be checked "
"against the specified regular expressions and at least one of the"
@@ -183,7 +183,7 @@ void cmTest::DefineProperties(cmake *cm)
"any other tests.");
cm->DefineProperty
- ("TIMEOUT", cmProperty::TEST,
+ ("TIMEOUT", cmProperty::TEST,
"How many seconds to allow for this test.",
"This property if set will limit a test to not take more than "
"the specified number of seconds to run. If it exceeds that the "
@@ -192,7 +192,7 @@ void cmTest::DefineProperties(cmake *cm)
"CTEST_TESTING_TIMEOUT.");
cm->DefineProperty
- ("WILL_FAIL", cmProperty::TEST,
+ ("WILL_FAIL", cmProperty::TEST,
"If set to true, this will invert the pass/fail flag of the test.",
"This property can be used for tests that are expected to fail and "
"return a non zero return code.");
diff --git a/Source/cmTest.h b/Source/cmTest.h
index 6223a01ea..73ac133f1 100644
--- a/Source/cmTest.h
+++ b/Source/cmTest.h
@@ -51,7 +51,7 @@ public:
const char *GetProperty(const char *prop) const;
bool GetPropertyAsBool(const char *prop) const;
cmPropertyMap &GetProperties() { return this->Properties; };
-
+
// Define the properties
static void DefineProperties(cmake *cm);
diff --git a/Source/cmTestGenerator.cxx b/Source/cmTestGenerator.cxx
index e0892b282..2f650e72e 100644
--- a/Source/cmTestGenerator.cxx
+++ b/Source/cmTestGenerator.cxx
@@ -91,8 +91,7 @@ void cmTestGenerator::GenerateScriptForConfig(std::ostream& os,
this->TestGenerated = true;
// Set up generator expression evaluation context.
- cmMakefile* mf = this->Test->GetMakefile();
- cmGeneratorExpression ge(mf, config, this->Test->GetBacktrace());
+ cmGeneratorExpression ge(this->Test->GetBacktrace());
// Start the test command.
os << indent << "ADD_TEST(" << this->Test->GetName() << " ";
@@ -103,6 +102,7 @@ void cmTestGenerator::GenerateScriptForConfig(std::ostream& os,
// Check whether the command executable is a target whose name is to
// be translated.
std::string exe = command[0];
+ cmMakefile* mf = this->Test->GetMakefile();
cmTarget* target = mf->FindTargetToUse(exe.c_str());
if(target && target->GetType() == cmTarget::EXECUTABLE)
{
@@ -112,7 +112,7 @@ void cmTestGenerator::GenerateScriptForConfig(std::ostream& os,
else
{
// Use the command name given.
- exe = ge.Process(exe.c_str());
+ exe = ge.Parse(exe.c_str()).Evaluate(mf, config);
cmSystemTools::ConvertToUnixSlashes(exe);
}
@@ -122,7 +122,7 @@ void cmTestGenerator::GenerateScriptForConfig(std::ostream& os,
for(std::vector<std::string>::const_iterator ci = command.begin()+1;
ci != command.end(); ++ci)
{
- os << " " << lg->EscapeForCMake(ge.Process(*ci));
+ os << " " << lg->EscapeForCMake(ge.Parse(*ci).Evaluate(mf, config));
}
// Finish the test command.
diff --git a/Source/cmTryRunCommand.h b/Source/cmTryRunCommand.h
index 06a9118b6..7878729d9 100644
--- a/Source/cmTryRunCommand.h
+++ b/Source/cmTryRunCommand.h
@@ -25,7 +25,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmTryRunCommand;
}
@@ -49,7 +49,7 @@ public:
{
return "Try compiling and then running some code.";
}
-
+
/**
* More documentation.
*/
@@ -101,10 +101,10 @@ public:
cmTypeMacro(cmTryRunCommand, cmCoreTryCompile);
private:
- void RunExecutable(const std::string& runArgs,
+ void RunExecutable(const std::string& runArgs,
std::string* runOutputContents);
- void DoNotRunExecutable(const std::string& runArgs,
- const std::string& srcFile,
+ void DoNotRunExecutable(const std::string& runArgs,
+ const std::string& srcFile,
std::string* runOutputContents);
std::string CompileResultVariable;
diff --git a/Source/cmUseMangledMesaCommand.cxx b/Source/cmUseMangledMesaCommand.cxx
index 0e6f28aeb..4c189e665 100644
--- a/Source/cmUseMangledMesaCommand.cxx
+++ b/Source/cmUseMangledMesaCommand.cxx
@@ -17,7 +17,7 @@
// cmUseMangledMesaCommand
bool cmUseMangledMesaCommand
::InitialPass(std::vector<std::string> const& args, cmExecutionStatus &)
-{
+{
// expected two arguments:
// arguement one: the full path to gl_mangle.h
// arguement two : directory for output of edited headers
@@ -55,11 +55,11 @@ bool cmUseMangledMesaCommand
path += *i;
this->CopyAndFullPathMesaHeader(path.c_str(), destDir);
}
-
+
return true;
}
-void
+void
cmUseMangledMesaCommand::
CopyAndFullPathMesaHeader(const char* source,
const char* outdir)
@@ -74,7 +74,7 @@ CopyAndFullPathMesaHeader(const char* source,
std::ofstream fout(tempOutputFile.c_str());
if(!fout)
{
- cmSystemTools::Error("Could not open file for write in copy operation: ",
+ cmSystemTools::Error("Could not open file for write in copy operation: ",
tempOutputFile.c_str(), outdir);
cmSystemTools::ReportLastSystemError("");
return;
@@ -88,7 +88,7 @@ CopyAndFullPathMesaHeader(const char* source,
}
// now copy input to output and expand variables in the
// input file at the same time
- std::string inLine;
+ std::string inLine;
// regular expression for any #include line
cmsys::RegularExpression includeLine(
"^[ \t]*#[ \t]*include[ \t]*[<\"]([^\">]+)[\">]");
@@ -108,7 +108,7 @@ CopyAndFullPathMesaHeader(const char* source,
}
else if(glLine.find(includeFile.c_str()))
{
- fout << "#include \"" << outdir << "/" <<
+ fout << "#include \"" << outdir << "/" <<
includeLine.match(1).c_str() << "\"\n";
}
else
diff --git a/Source/cmUtilitySourceCommand.cxx b/Source/cmUtilitySourceCommand.cxx
index 41c82c2ba..6ea3dfac8 100644
--- a/Source/cmUtilitySourceCommand.cxx
+++ b/Source/cmUtilitySourceCommand.cxx
@@ -22,7 +22,7 @@ bool cmUtilitySourceCommand
}
std::vector<std::string>::const_iterator arg = args.begin();
-
+
// The first argument is the cache entry name.
std::string cacheEntry = *arg++;
const char* cacheValue =
@@ -30,7 +30,7 @@ bool cmUtilitySourceCommand
// If it exists already and appears up to date then we are done. If
// the string contains "(IntDir)" but that is not the
// CMAKE_CFG_INTDIR setting then the value is out of date.
- const char* intDir =
+ const char* intDir =
this->Makefile->GetRequiredDefinition("CMAKE_CFG_INTDIR");
bool haveCacheValue = false;
@@ -60,21 +60,21 @@ bool cmUtilitySourceCommand
{
return true;
}
-
+
// The second argument is the utility's executable name, which will be
// needed later.
std::string utilityName = *arg++;
-
+
// The third argument specifies the relative directory of the source
// of the utility.
std::string relativeSource = *arg++;
std::string utilitySource = this->Makefile->GetCurrentDirectory();
utilitySource = utilitySource+"/"+relativeSource;
-
+
// If the directory doesn't exist, the source has not been included.
if(!cmSystemTools::FileExists(utilitySource.c_str()))
{ return true; }
-
+
// Make sure all the files exist in the source directory.
while(arg != args.end())
{
@@ -82,9 +82,9 @@ bool cmUtilitySourceCommand
if(!cmSystemTools::FileExists(file.c_str()))
{ return true; }
}
-
+
// The source exists.
- std::string cmakeCFGout =
+ std::string cmakeCFGout =
this->Makefile->GetRequiredDefinition("CMAKE_CFG_INTDIR");
std::string utilityDirectory = this->Makefile->GetCurrentOutputDirectory();
std::string exePath;
@@ -100,7 +100,7 @@ bool cmUtilitySourceCommand
{
utilityDirectory += "/"+relativeSource;
}
-
+
// Construct the cache entry for the executable's location.
std::string utilityExecutable =
utilityDirectory+"/"+cmakeCFGout+"/"
@@ -108,7 +108,7 @@ bool cmUtilitySourceCommand
// make sure we remove any /./ in the name
cmSystemTools::ReplaceString(utilityExecutable, "/./", "/");
-
+
// Enter the value into the cache.
this->Makefile->AddCacheDefinition(cacheEntry.c_str(),
utilityExecutable.c_str(),
@@ -121,7 +121,7 @@ bool cmUtilitySourceCommand
utilityName.c_str(),
"Executable to project name.",
cmCacheManager::INTERNAL);
-
+
return true;
}
diff --git a/Source/cmUtilitySourceCommand.h b/Source/cmUtilitySourceCommand.h
index 32afddadc..195f605f2 100644
--- a/Source/cmUtilitySourceCommand.h
+++ b/Source/cmUtilitySourceCommand.h
@@ -29,7 +29,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmUtilitySourceCommand;
}
@@ -53,7 +53,7 @@ public:
{
return "Specify the source tree of a third-party utility.";
}
-
+
/**
* More documentation.
*/
diff --git a/Source/cmVS11CLFlagTable.h b/Source/cmVS11CLFlagTable.h
new file mode 100644
index 000000000..5ab8ebbb3
--- /dev/null
+++ b/Source/cmVS11CLFlagTable.h
@@ -0,0 +1,291 @@
+static cmVS7FlagTable cmVS11CLFlagTable[] =
+{
+
+ //Enum Properties
+ {"DebugInformationFormat", "",
+ "None", "None", 0},
+ {"DebugInformationFormat", "Z7",
+ "C7 compatible", "OldStyle", 0},
+ {"DebugInformationFormat", "Zi",
+ "Program Database", "ProgramDatabase", 0},
+ {"DebugInformationFormat", "ZI",
+ "Program Database for Edit And Continue", "EditAndContinue", 0},
+
+ {"WarningLevel", "W0",
+ "Turn Off All Warnings", "TurnOffAllWarnings", 0},
+ {"WarningLevel", "W1",
+ "Level1", "Level1", 0},
+ {"WarningLevel", "W2",
+ "Level2", "Level2", 0},
+ {"WarningLevel", "W3",
+ "Level3", "Level3", 0},
+ {"WarningLevel", "W4",
+ "Level4", "Level4", 0},
+ {"WarningLevel", "Wall",
+ "EnableAllWarnings", "EnableAllWarnings", 0},
+
+ {"Optimization", "Od",
+ "Disabled", "Disabled", 0},
+ {"Optimization", "O1",
+ "Minimize Size", "MinSpace", 0},
+ {"Optimization", "O2",
+ "Maximize Speed", "MaxSpeed", 0},
+ {"Optimization", "Ox",
+ "Full Optimization", "Full", 0},
+
+ {"InlineFunctionExpansion", "",
+ "Default", "Default", 0},
+ {"InlineFunctionExpansion", "Ob0",
+ "Disabled", "Disabled", 0},
+ {"InlineFunctionExpansion", "Ob1",
+ "Only __inline", "OnlyExplicitInline", 0},
+ {"InlineFunctionExpansion", "Ob2",
+ "Any Suitable", "AnySuitable", 0},
+
+ {"FavorSizeOrSpeed", "Os",
+ "Favor small code", "Size", 0},
+ {"FavorSizeOrSpeed", "Ot",
+ "Favor fast code", "Speed", 0},
+ {"FavorSizeOrSpeed", "",
+ "Neither", "Neither", 0},
+
+ {"ExceptionHandling", "EHa",
+ "Yes with SEH Exceptions", "Async", 0},
+ {"ExceptionHandling", "EHsc",
+ "Yes", "Sync", 0},
+ {"ExceptionHandling", "EHs",
+ "Yes with Extern C functions", "SyncCThrow", 0},
+ {"ExceptionHandling", "",
+ "No", "false", 0},
+
+ {"BasicRuntimeChecks", "RTCs",
+ "Stack Frames", "StackFrameRuntimeCheck", 0},
+ {"BasicRuntimeChecks", "RTCu",
+ "Uninitialized variables", "UninitializedLocalUsageCheck", 0},
+ {"BasicRuntimeChecks", "RTC1",
+ "Both (/RTC1, equiv. to /RTCsu)", "EnableFastChecks", 0},
+ {"BasicRuntimeChecks", "",
+ "Default", "Default", 0},
+
+ {"RuntimeLibrary", "MT",
+ "Multi-threaded", "MultiThreaded", 0},
+ {"RuntimeLibrary", "MTd",
+ "Multi-threaded Debug", "MultiThreadedDebug", 0},
+ {"RuntimeLibrary", "MD",
+ "Multi-threaded DLL", "MultiThreadedDLL", 0},
+ {"RuntimeLibrary", "MDd",
+ "Multi-threaded Debug DLL", "MultiThreadedDebugDLL", 0},
+
+ {"StructMemberAlignment", "Zp1",
+ "1 Byte", "1Byte", 0},
+ {"StructMemberAlignment", "Zp2",
+ "2 Bytes", "2Bytes", 0},
+ {"StructMemberAlignment", "Zp4",
+ "4 Byte", "4Bytes", 0},
+ {"StructMemberAlignment", "Zp8",
+ "8 Bytes", "8Bytes", 0},
+ {"StructMemberAlignment", "Zp16",
+ "16 Bytes", "16Bytes", 0},
+ {"StructMemberAlignment", "",
+ "Default", "Default", 0},
+
+ {"EnableEnhancedInstructionSet", "arch:SSE",
+ "Streaming SIMD Extensions", "StreamingSIMDExtensions", 0},
+ {"EnableEnhancedInstructionSet", "arch:SSE2",
+ "Streaming SIMD Extensions 2", "StreamingSIMDExtensions2", 0},
+ {"EnableEnhancedInstructionSet", "arch:AVX",
+ "Advanced Vector Extensions", "AdvancedVectorExtensions", 0},
+ {"EnableEnhancedInstructionSet", "arch:IA32",
+ "No Enhanced Instructions", "NoExtensions", 0},
+ {"EnableEnhancedInstructionSet", "",
+ "Not Set", "NotSet", 0},
+
+ {"FloatingPointModel", "fp:precise",
+ "Precise", "Precise", 0},
+ {"FloatingPointModel", "fp:strict",
+ "Strict", "Strict", 0},
+ {"FloatingPointModel", "fp:fast",
+ "Fast", "Fast", 0},
+
+ {"PrecompiledHeader", "Yc",
+ "Create", "Create",
+ cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
+ {"PrecompiledHeader", "Yu",
+ "Use", "Use",
+ cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
+ {"PrecompiledHeader", "",
+ "Not Using Precompiled Headers", "NotUsing", 0},
+
+ {"AssemblerOutput", "",
+ "No Listing", "NoListing", 0},
+ {"AssemblerOutput", "FA",
+ "Assembly-Only Listing", "AssemblyCode", 0},
+ {"AssemblerOutput", "FAc",
+ "Assembly With Machine Code", "AssemblyAndMachineCode", 0},
+ {"AssemblerOutput", "FAs",
+ "Assembly With Source Code", "AssemblyAndSourceCode", 0},
+ {"AssemblerOutput", "FAcs",
+ "Assembly, Machine Code and Source", "All", 0},
+
+ {"CallingConvention", "Gd",
+ "__cdecl", "Cdecl", 0},
+ {"CallingConvention", "Gr",
+ "__fastcall", "FastCall", 0},
+ {"CallingConvention", "Gz",
+ "__stdcall", "StdCall", 0},
+
+ {"CompileAs", "",
+ "Default", "Default", 0},
+ {"CompileAs", "TC",
+ "Compile as C Code", "CompileAsC", 0},
+ {"CompileAs", "TP",
+ "Compile as C++ Code", "CompileAsCpp", 0},
+
+ {"ErrorReporting", "errorReport:none",
+ "Do Not Send Report", "None", 0},
+ {"ErrorReporting", "errorReport:prompt",
+ "Prompt Immediately", "Prompt", 0},
+ {"ErrorReporting", "errorReport:queue",
+ "Queue For Next Login", "Queue", 0},
+ {"ErrorReporting", "errorReport:send",
+ "Send Automatically", "Send", 0},
+
+ {"CompileAsManaged", "",
+ "No Common Language RunTime Support", "false", 0},
+ {"CompileAsManaged", "clr",
+ "Common Language RunTime Support", "true", 0},
+ {"CompileAsManaged", "clr:pure",
+ "Pure MSIL Common Language RunTime Support", "Pure", 0},
+ {"CompileAsManaged", "clr:safe",
+ "Safe MSIL Common Language RunTime Support", "Safe", 0},
+ {"CompileAsManaged", "clr:oldSyntax",
+ "Common Language RunTime Support, Old Syntax", "OldSyntax", 0},
+
+
+ //Bool Properties
+ {"CompileAsWinRT", "ZW", "", "true", 0},
+ {"WinRTNoStdLib", "ZW:nostdlib", "", "true", 0},
+ {"SuppressStartupBanner", "nologo-", "", "false", 0},
+ {"SuppressStartupBanner", "nologo", "", "true", 0},
+ {"TreatWarningAsError", "WX-", "", "false", 0},
+ {"TreatWarningAsError", "WX", "", "true", 0},
+ {"SDLCheck", "sdl-", "", "false", 0},
+ {"SDLCheck", "sdl", "", "true", 0},
+ {"IntrinsicFunctions", "Oi", "", "true", 0},
+ {"OmitFramePointers", "Oy-", "", "false", 0},
+ {"OmitFramePointers", "Oy", "", "true", 0},
+ {"EnableFiberSafeOptimizations", "GT", "", "true", 0},
+ {"WholeProgramOptimization", "GL", "", "true", 0},
+ {"UndefineAllPreprocessorDefinitions", "u", "", "true", 0},
+ {"IgnoreStandardIncludePath", "X", "", "true", 0},
+ {"PreprocessToFile", "P", "", "true", 0},
+ {"PreprocessSuppressLineNumbers", "EP", "", "true", 0},
+ {"PreprocessKeepComments", "C", "", "true", 0},
+ {"StringPooling", "GF-", "", "false", 0},
+ {"StringPooling", "GF", "", "true", 0},
+ {"MinimalRebuild", "Gm-", "", "false", 0},
+ {"MinimalRebuild", "Gm", "", "true", 0},
+ {"SmallerTypeCheck", "RTCc", "", "true", 0},
+ {"BufferSecurityCheck", "GS-", "", "false", 0},
+ {"BufferSecurityCheck", "GS", "", "true", 0},
+ {"FunctionLevelLinking", "Gy-", "", "false", 0},
+ {"FunctionLevelLinking", "Gy", "", "true", 0},
+ {"EnableParallelCodeGeneration", "Qpar-", "", "false", 0},
+ {"EnableParallelCodeGeneration", "Qpar", "", "true", 0},
+ {"FloatingPointExceptions", "fp:except-", "", "false", 0},
+ {"FloatingPointExceptions", "fp:except", "", "true", 0},
+ {"CreateHotpatchableImage", "hotpatch", "", "true", 0},
+ {"DisableLanguageExtensions", "Za", "", "true", 0},
+ {"TreatWChar_tAsBuiltInType", "Zc:wchar_t-", "", "false", 0},
+ {"TreatWChar_tAsBuiltInType", "Zc:wchar_t", "", "true", 0},
+ {"ForceConformanceInForLoopScope", "Zc:forScope-", "", "false", 0},
+ {"ForceConformanceInForLoopScope", "Zc:forScope", "", "true", 0},
+ {"RuntimeTypeInfo", "GR-", "", "false", 0},
+ {"RuntimeTypeInfo", "GR", "", "true", 0},
+ {"OpenMPSupport", "openmp-", "", "false", 0},
+ {"OpenMPSupport", "openmp", "", "true", 0},
+ {"ExpandAttributedSource", "Fx", "", "true", 0},
+ {"UseUnicodeForAssemblerListing", "FAu", "", "true", 0},
+ {"ShowIncludes", "showIncludes", "", "true", 0},
+ {"EnablePREfast", "analyze-", "", "false", 0},
+ {"EnablePREfast", "analyze", "", "true", 0},
+ {"UseFullPaths", "FC", "", "true", 0},
+ {"OmitDefaultLibName", "Zl", "", "true", 0},
+
+ //Bool Properties With Argument
+ {"MultiProcessorCompilation", "MP", "", "true",
+ cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
+ {"ProcessorNumber", "MP", "Multi-processor Compilation", "",
+ cmVS7FlagTable::UserValueRequired},
+ {"GenerateXMLDocumentationFiles", "doc", "", "true",
+ cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
+ {"XMLDocumentationFileName", "doc", "Generate XML Documentation Files", "",
+ cmVS7FlagTable::UserValueRequired},
+ {"BrowseInformation", "FR", "", "true",
+ cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
+ {"BrowseInformationFile", "FR", "Enable Browse Information", "",
+ cmVS7FlagTable::UserValueRequired},
+
+ //String List Properties
+ {"AdditionalIncludeDirectories", "I",
+ "Additional Include Directories",
+ "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
+ {"AdditionalUsingDirectories", "AI",
+ "Additional #using Directories",
+ "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
+ {"PreprocessorDefinitions", "D ",
+ "Preprocessor Definitions",
+ "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
+ {"UndefinePreprocessorDefinitions", "U",
+ "Undefine Preprocessor Definitions",
+ "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
+ {"DisableSpecificWarnings", "wd",
+ "Disable Specific Warnings",
+ "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
+ {"ForcedIncludeFiles", "FI",
+ "Forced Include File",
+ "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
+ {"ForcedUsingFiles", "FU",
+ "Forced #using File",
+ "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
+ {"PREfastAdditionalOptions", "analyze:",
+ "Additional Code Analysis Native options",
+ "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
+ {"PREfastAdditionalPlugins", "analyze:plugin",
+ "Additional Code Analysis Native plugins",
+ "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
+ {"TreatSpecificWarningsAsErrors", "we",
+ "Treat Specific Warnings As Errors",
+ "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
+
+ //String Properties
+ // Skip [TrackerLogDirectory] - no command line Switch.
+ {"PreprocessOutputPath", "Fi",
+ "Preprocess Output Path",
+ "", cmVS7FlagTable::UserValue},
+ {"PrecompiledHeaderFile", "Yc",
+ "Precompiled Header Name",
+ "", cmVS7FlagTable::UserValueRequired},
+ {"PrecompiledHeaderFile", "Yu",
+ "Precompiled Header Name",
+ "", cmVS7FlagTable::UserValueRequired},
+ {"PrecompiledHeaderOutputFile", "Fp",
+ "Precompiled Header Output File",
+ "", cmVS7FlagTable::UserValue},
+ {"AssemblerListingLocation", "Fa",
+ "ASM List Location",
+ "", cmVS7FlagTable::UserValue},
+ {"ObjectFileName", "Fo",
+ "Object File Name",
+ "", cmVS7FlagTable::UserValue},
+ {"ProgramDataBaseFileName", "Fd",
+ "Program Database File Name",
+ "", cmVS7FlagTable::UserValue},
+ // Skip [XMLDocumentationFileName] - no command line Switch.
+ // Skip [BrowseInformationFile] - no command line Switch.
+ {"PREfastLog", "analyze:log ",
+ "Code Analysis Log",
+ "", cmVS7FlagTable::UserValue},
+ // Skip [AdditionalOptions] - no command line Switch.
+ {0,0,0,0,0}
+};
diff --git a/Source/cmVS11LibFlagTable.h b/Source/cmVS11LibFlagTable.h
new file mode 100644
index 000000000..942944241
--- /dev/null
+++ b/Source/cmVS11LibFlagTable.h
@@ -0,0 +1,102 @@
+static cmVS7FlagTable cmVS11LibFlagTable[] =
+{
+
+ //Enum Properties
+ {"ErrorReporting", "ERRORREPORT:PROMPT",
+ "PromptImmediately", "PromptImmediately", 0},
+ {"ErrorReporting", "ERRORREPORT:QUEUE",
+ "Queue For Next Login", "QueueForNextLogin", 0},
+ {"ErrorReporting", "ERRORREPORT:SEND",
+ "Send Error Report", "SendErrorReport", 0},
+ {"ErrorReporting", "ERRORREPORT:NONE",
+ "No Error Report", "NoErrorReport", 0},
+
+ {"TargetMachine", "MACHINE:ARM",
+ "MachineARM", "MachineARM", 0},
+ {"TargetMachine", "MACHINE:EBC",
+ "MachineEBC", "MachineEBC", 0},
+ {"TargetMachine", "MACHINE:IA64",
+ "MachineIA64", "MachineIA64", 0},
+ {"TargetMachine", "MACHINE:MIPS",
+ "MachineMIPS", "MachineMIPS", 0},
+ {"TargetMachine", "MACHINE:MIPS16",
+ "MachineMIPS16", "MachineMIPS16", 0},
+ {"TargetMachine", "MACHINE:MIPSFPU",
+ "MachineMIPSFPU", "MachineMIPSFPU", 0},
+ {"TargetMachine", "MACHINE:MIPSFPU16",
+ "MachineMIPSFPU16", "MachineMIPSFPU16", 0},
+ {"TargetMachine", "MACHINE:SH4",
+ "MachineSH4", "MachineSH4", 0},
+ {"TargetMachine", "MACHINE:THUMB",
+ "MachineTHUMB", "MachineTHUMB", 0},
+ {"TargetMachine", "MACHINE:X64",
+ "MachineX64", "MachineX64", 0},
+ {"TargetMachine", "MACHINE:X86",
+ "MachineX86", "MachineX86", 0},
+
+ {"SubSystem", "SUBSYSTEM:CONSOLE",
+ "Console", "Console", 0},
+ {"SubSystem", "SUBSYSTEM:WINDOWS",
+ "Windows", "Windows", 0},
+ {"SubSystem", "SUBSYSTEM:NATIVE",
+ "Native", "Native", 0},
+ {"SubSystem", "SUBSYSTEM:EFI_APPLICATION",
+ "EFI Application", "EFI Application", 0},
+ {"SubSystem", "SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER",
+ "EFI Boot Service Driver", "EFI Boot Service Driver", 0},
+ {"SubSystem", "SUBSYSTEM:EFI_ROM",
+ "EFI ROM", "EFI ROM", 0},
+ {"SubSystem", "SUBSYSTEM:EFI_RUNTIME_DRIVER",
+ "EFI Runtime", "EFI Runtime", 0},
+ {"SubSystem", "SUBSYSTEM:WINDOWSCE",
+ "WindowsCE", "WindowsCE", 0},
+ {"SubSystem", "SUBSYSTEM:POSIX",
+ "POSIX", "POSIX", 0},
+
+
+ //Bool Properties
+ {"SuppressStartupBanner", "NOLOGO", "", "true", 0},
+ {"IgnoreAllDefaultLibraries", "NODEFAULTLIB", "", "true", 0},
+ {"TreatLibWarningAsErrors", "WX:NO", "", "false", 0},
+ {"TreatLibWarningAsErrors", "WX", "", "true", 0},
+ {"Verbose", "VERBOSE", "", "true", 0},
+ {"LinkTimeCodeGeneration", "LTCG", "", "true", 0},
+
+ //Bool Properties With Argument
+
+ //String List Properties
+ // Skip [AdditionalDependencies] - no command line Switch.
+ {"AdditionalLibraryDirectories", "LIBPATH:",
+ "Additional Library Directories",
+ "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
+ {"IgnoreSpecificDefaultLibraries", "NODEFAULTLIB:",
+ "Ignore Specific Default Libraries",
+ "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
+ {"ExportNamedFunctions", "EXPORT:",
+ "Export Named Functions",
+ "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
+ {"RemoveObjects", "REMOVE:",
+ "Remove Objects",
+ "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
+
+ //String Properties
+ {"OutputFile", "OUT:",
+ "Output File",
+ "", cmVS7FlagTable::UserValue},
+ {"ModuleDefinitionFile", "DEF:",
+ "Module Definition File Name",
+ "", cmVS7FlagTable::UserValue},
+ {"ForceSymbolReferences", "INCLUDE:",
+ "Force Symbol References",
+ "", cmVS7FlagTable::UserValue},
+ {"DisplayLibrary", "LIST:",
+ "Display Library to standard output",
+ "", cmVS7FlagTable::UserValue},
+ // Skip [MinimumRequiredVersion] - no command line Switch.
+ {"Name", "NAME:",
+ "Name",
+ "", cmVS7FlagTable::UserValue},
+ // Skip [AdditionalOptions] - no command line Switch.
+ // Skip [TrackerLogDirectory] - no command line Switch.
+ {0,0,0,0,0}
+};
diff --git a/Source/cmVS11LinkFlagTable.h b/Source/cmVS11LinkFlagTable.h
new file mode 100644
index 000000000..ea0d0f0b0
--- /dev/null
+++ b/Source/cmVS11LinkFlagTable.h
@@ -0,0 +1,343 @@
+static cmVS7FlagTable cmVS11LinkFlagTable[] =
+{
+
+ //Enum Properties
+ {"ShowProgress", "",
+ "Not Set", "NotSet", 0},
+ {"ShowProgress", "VERBOSE",
+ "Display all progress messages", "LinkVerbose", 0},
+ {"ShowProgress", "VERBOSE:Lib",
+ "For Libraries Searched", "LinkVerboseLib", 0},
+ {"ShowProgress", "VERBOSE:ICF",
+ "About COMDAT folding during optimized linking", "LinkVerboseICF", 0},
+ {"ShowProgress", "VERBOSE:REF",
+ "About data removed during optimized linking", "LinkVerboseREF", 0},
+ {"ShowProgress", "VERBOSE:SAFESEH",
+ "About Modules incompatible with SEH", "LinkVerboseSAFESEH", 0},
+ {"ShowProgress", "VERBOSE:CLR",
+ "About linker activity related to managed code", "LinkVerboseCLR", 0},
+
+ {"ForceFileOutput", "FORCE",
+ "Enabled", "Enabled", 0},
+ {"ForceFileOutput", "FORCE:MULTIPLE",
+ "Multiply Defined Symbol Only", "MultiplyDefinedSymbolOnly", 0},
+ {"ForceFileOutput", "FORCE:UNRESOLVED",
+ "Undefined Symbol Only", "UndefinedSymbolOnly", 0},
+
+ {"CreateHotPatchableImage", "FUNCTIONPADMIN",
+ "Enabled", "Enabled", 0},
+ {"CreateHotPatchableImage", "FUNCTIONPADMIN:5",
+ "X86 Image Only", "X86Image", 0},
+ {"CreateHotPatchableImage", "FUNCTIONPADMIN:6",
+ "X64 Image Only", "X64Image", 0},
+ {"CreateHotPatchableImage", "FUNCTIONPADMIN:16",
+ "Itanium Image Only", "ItaniumImage", 0},
+
+ {"UACExecutionLevel", "level='asInvoker'",
+ "asInvoker", "AsInvoker", 0},
+ {"UACExecutionLevel", "level='highestAvailable'",
+ "highestAvailable", "HighestAvailable", 0},
+ {"UACExecutionLevel", "level='requireAdministrator'",
+ "requireAdministrator", "RequireAdministrator", 0},
+
+ {"SubSystem", "",
+ "Not Set", "NotSet", 0},
+ {"SubSystem", "SUBSYSTEM:CONSOLE",
+ "Console", "Console", 0},
+ {"SubSystem", "SUBSYSTEM:WINDOWS",
+ "Windows", "Windows", 0},
+ {"SubSystem", "SUBSYSTEM:NATIVE",
+ "Native", "Native", 0},
+ {"SubSystem", "SUBSYSTEM:EFI_APPLICATION",
+ "EFI Application", "EFI Application", 0},
+ {"SubSystem", "SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER",
+ "EFI Boot Service Driver", "EFI Boot Service Driver", 0},
+ {"SubSystem", "SUBSYSTEM:EFI_ROM",
+ "EFI ROM", "EFI ROM", 0},
+ {"SubSystem", "SUBSYSTEM:EFI_RUNTIME_DRIVER",
+ "EFI Runtime", "EFI Runtime", 0},
+ {"SubSystem", "SUBSYSTEM:POSIX",
+ "POSIX", "POSIX", 0},
+
+ {"Driver", "",
+ "Not Set", "NotSet", 0},
+ {"Driver", "Driver",
+ "Driver", "Driver", 0},
+ {"Driver", "DRIVER:UPONLY",
+ "UP Only", "UpOnly", 0},
+ {"Driver", "DRIVER:WDM",
+ "WDM", "WDM", 0},
+
+ {"LinkTimeCodeGeneration", "",
+ "Default", "Default", 0},
+ {"LinkTimeCodeGeneration", "LTCG",
+ "Use Link Time Code Generation", "UseLinkTimeCodeGeneration", 0},
+ {"LinkTimeCodeGeneration", "LTCG:PGInstrument",
+ "Profile Guided Optimization - Instrument", "PGInstrument", 0},
+ {"LinkTimeCodeGeneration", "LTCG:PGOptimize",
+ "Profile Guided Optimization - Optimization", "PGOptimization", 0},
+ {"LinkTimeCodeGeneration", "LTCG:PGUpdate",
+ "Profile Guided Optimization - Update", "PGUpdate", 0},
+
+ {"GenerateWindowsMetadata", "WINMD",
+ "Yes", "true", 0},
+ {"GenerateWindowsMetadata", "WINMD:NO",
+ "No", "false", 0},
+
+ {"WindowsMetadataSignHash", "WINMDSIGNHASH:SHA1",
+ "SHA1", "SHA1", 0},
+ {"WindowsMetadataSignHash", "WINMDSIGNHASH:SHA256",
+ "SHA256", "SHA256", 0},
+ {"WindowsMetadataSignHash", "WINMDSIGNHASH:SHA384",
+ "SHA384", "SHA384", 0},
+ {"WindowsMetadataSignHash", "WINMDSIGNHASH:SHA512",
+ "SHA512", "SHA512", 0},
+
+ {"TargetMachine", "",
+ "Not Set", "NotSet", 0},
+ {"TargetMachine", "MACHINE:ARM",
+ "MachineARM", "MachineARM", 0},
+ {"TargetMachine", "MACHINE:EBC",
+ "MachineEBC", "MachineEBC", 0},
+ {"TargetMachine", "MACHINE:IA64",
+ "MachineIA64", "MachineIA64", 0},
+ {"TargetMachine", "MACHINE:MIPS",
+ "MachineMIPS", "MachineMIPS", 0},
+ {"TargetMachine", "MACHINE:MIPS16",
+ "MachineMIPS16", "MachineMIPS16", 0},
+ {"TargetMachine", "MACHINE:MIPSFPU",
+ "MachineMIPSFPU", "MachineMIPSFPU", 0},
+ {"TargetMachine", "MACHINE:MIPSFPU16",
+ "MachineMIPSFPU16", "MachineMIPSFPU16", 0},
+ {"TargetMachine", "MACHINE:SH4",
+ "MachineSH4", "MachineSH4", 0},
+ {"TargetMachine", "MACHINE:THUMB",
+ "MachineTHUMB", "MachineTHUMB", 0},
+ {"TargetMachine", "MACHINE:X64",
+ "MachineX64", "MachineX64", 0},
+ {"TargetMachine", "MACHINE:X86",
+ "MachineX86", "MachineX86", 0},
+
+ {"CLRThreadAttribute", "CLRTHREADATTRIBUTE:MTA",
+ "MTA threading attribute", "MTAThreadingAttribute", 0},
+ {"CLRThreadAttribute", "CLRTHREADATTRIBUTE:STA",
+ "STA threading attribute", "STAThreadingAttribute", 0},
+ {"CLRThreadAttribute", "CLRTHREADATTRIBUTE:NONE",
+ "Default threading attribute", "DefaultThreadingAttribute", 0},
+
+ {"CLRImageType", "CLRIMAGETYPE:IJW",
+ "Force IJW image", "ForceIJWImage", 0},
+ {"CLRImageType", "CLRIMAGETYPE:PURE",
+ "Force Pure IL Image", "ForcePureILImage", 0},
+ {"CLRImageType", "CLRIMAGETYPE:SAFE",
+ "Force Safe IL Image", "ForceSafeILImage", 0},
+ {"CLRImageType", "",
+ "Default image type", "Default", 0},
+
+ {"SignHash", "CLRSIGNHASH:SHA1",
+ "SHA1", "SHA1", 0},
+ {"SignHash", "CLRSIGNHASH:SHA256",
+ "SHA256", "SHA256", 0},
+ {"SignHash", "CLRSIGNHASH:SHA384",
+ "SHA384", "SHA384", 0},
+ {"SignHash", "CLRSIGNHASH:SHA512",
+ "SHA512", "SHA512", 0},
+
+ {"LinkErrorReporting", "ERRORREPORT:PROMPT",
+ "PromptImmediately", "PromptImmediately", 0},
+ {"LinkErrorReporting", "ERRORREPORT:QUEUE",
+ "Queue For Next Login", "QueueForNextLogin", 0},
+ {"LinkErrorReporting", "ERRORREPORT:SEND",
+ "Send Error Report", "SendErrorReport", 0},
+ {"LinkErrorReporting", "ERRORREPORT:NONE",
+ "No Error Report", "NoErrorReport", 0},
+
+ {"CLRSupportLastError", "CLRSupportLastError",
+ "Enabled", "Enabled", 0},
+ {"CLRSupportLastError", "CLRSupportLastError:NO",
+ "Disabled", "Disabled", 0},
+ {"CLRSupportLastError", "CLRSupportLastError:SYSTEMDLL",
+ "System Dlls Only", "SystemDlls", 0},
+
+
+ //Bool Properties
+ {"LinkIncremental", "INCREMENTAL:NO", "", "false", 0},
+ {"LinkIncremental", "INCREMENTAL", "", "true", 0},
+ {"SuppressStartupBanner", "NOLOGO", "", "true", 0},
+ {"LinkStatus", "LTCG:NOSTATUS", "", "false", 0},
+ {"LinkStatus", "LTCG:STATUS", "", "true", 0},
+ {"PreventDllBinding", "ALLOWBIND:NO", "", "false", 0},
+ {"PreventDllBinding", "ALLOWBIND", "", "true", 0},
+ {"TreatLinkerWarningAsErrors", "WX:NO", "", "false", 0},
+ {"TreatLinkerWarningAsErrors", "WX", "", "true", 0},
+ {"IgnoreAllDefaultLibraries", "NODEFAULTLIB", "", "true", 0},
+ {"GenerateManifest", "MANIFEST:NO", "", "false", 0},
+ {"GenerateManifest", "MANIFEST", "", "true", 0},
+ {"AllowIsolation", "ALLOWISOLATION:NO", "", "false", 0},
+ {"UACUIAccess", "uiAccess='false'", "", "false", 0},
+ {"UACUIAccess", "uiAccess='true'", "", "true", 0},
+ {"ManifestEmbed", "manifest:embed", "", "true", 0},
+ {"GenerateDebugInformation", "DEBUG", "", "true", 0},
+ {"MapExports", "MAPINFO:EXPORTS", "", "true", 0},
+ {"AssemblyDebug", "ASSEMBLYDEBUG:DISABLE", "", "false", 0},
+ {"AssemblyDebug", "ASSEMBLYDEBUG", "", "true", 0},
+ {"LargeAddressAware", "LARGEADDRESSAWARE:NO", "", "false", 0},
+ {"LargeAddressAware", "LARGEADDRESSAWARE", "", "true", 0},
+ {"TerminalServerAware", "TSAWARE:NO", "", "false", 0},
+ {"TerminalServerAware", "TSAWARE", "", "true", 0},
+ {"SwapRunFromCD", "SWAPRUN:CD", "", "true", 0},
+ {"SwapRunFromNET", "SWAPRUN:NET", "", "true", 0},
+ {"OptimizeReferences", "OPT:NOREF", "", "false", 0},
+ {"OptimizeReferences", "OPT:REF", "", "true", 0},
+ {"EnableCOMDATFolding", "OPT:NOICF", "", "false", 0},
+ {"EnableCOMDATFolding", "OPT:ICF", "", "true", 0},
+ {"IgnoreEmbeddedIDL", "IGNOREIDL", "", "true", 0},
+ {"AppContainer", "APPCONTAINER", "", "true", 0},
+ {"WindowsMetadataLinkDelaySign", "WINMDDELAYSIGN:NO", "", "false", 0},
+ {"WindowsMetadataLinkDelaySign", "WINMDDELAYSIGN", "", "true", 0},
+ {"NoEntryPoint", "NOENTRY", "", "true", 0},
+ {"SetChecksum", "RELEASE", "", "true", 0},
+ {"RandomizedBaseAddress", "DYNAMICBASE:NO", "", "false", 0},
+ {"RandomizedBaseAddress", "DYNAMICBASE", "", "true", 0},
+ {"FixedBaseAddress", "FIXED:NO", "", "false", 0},
+ {"FixedBaseAddress", "FIXED", "", "true", 0},
+ {"DataExecutionPrevention", "NXCOMPAT:NO", "", "false", 0},
+ {"DataExecutionPrevention", "NXCOMPAT", "", "true", 0},
+ {"TurnOffAssemblyGeneration", "NOASSEMBLY", "", "true", 0},
+ {"SupportUnloadOfDelayLoadedDLL", "DELAY:UNLOAD", "", "true", 0},
+ {"SupportNobindOfDelayLoadedDLL", "DELAY:NOBIND", "", "true", 0},
+ {"Profile", "PROFILE", "", "true", 0},
+ {"LinkDelaySign", "DELAYSIGN:NO", "", "false", 0},
+ {"LinkDelaySign", "DELAYSIGN", "", "true", 0},
+ {"CLRUnmanagedCodeCheck", "CLRUNMANAGEDCODECHECK:NO", "", "false", 0},
+ {"CLRUnmanagedCodeCheck", "CLRUNMANAGEDCODECHECK", "", "true", 0},
+ {"DetectOneDefinitionRule", "ODR", "", "true", 0},
+ {"ImageHasSafeExceptionHandlers", "SAFESEH:NO", "", "false", 0},
+ {"ImageHasSafeExceptionHandlers", "SAFESEH", "", "true", 0},
+ {"LinkDLL", "DLL", "", "true", 0},
+
+ //Bool Properties With Argument
+ {"EnableUAC", "MANIFESTUAC:NO", "", "false",
+ cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
+ {"EnableUAC", "MANIFESTUAC:NO", "Enable User Account Control (UAC)", "",
+ cmVS7FlagTable::UserValueRequired},
+ {"EnableUAC", "MANIFESTUAC:", "", "true",
+ cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
+ {"UACUIAccess", "MANIFESTUAC:", "Enable User Account Control (UAC)", "",
+ cmVS7FlagTable::UserValueRequired},
+ {"GenerateMapFile", "MAP", "", "true",
+ cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},
+ {"MapFileName", "MAP", "Generate Map File", "",
+ cmVS7FlagTable::UserValueRequired},
+
+ //String List Properties
+ {"AdditionalLibraryDirectories", "LIBPATH:",
+ "Additional Library Directories",
+ "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
+ // Skip [AdditionalDependencies] - no command line Switch.
+ {"IgnoreSpecificDefaultLibraries", "NODEFAULTLIB:",
+ "Ignore Specific Default Libraries",
+ "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
+ {"AddModuleNamesToAssembly", "ASSEMBLYMODULE:",
+ "Add Module to Assembly",
+ "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
+ {"EmbedManagedResourceFile", "ASSEMBLYRESOURCE:",
+ "Embed Managed Resource File",
+ "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
+ {"ForceSymbolReferences", "INCLUDE:",
+ "Force Symbol References",
+ "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
+ {"DelayLoadDLLs", "DELAYLOAD:",
+ "Delay Loaded Dlls",
+ "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
+ {"AssemblyLinkResource", "ASSEMBLYLINKRESOURCE:",
+ "Assembly Link Resource",
+ "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
+ {"AdditionalManifestDependencies", "MANIFESTDEPENDENCY:",
+ "Additional Manifest Dependencies",
+ "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
+ {"ManifestInput", "manifestinput:",
+ "Manifest Input",
+ "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},
+
+ //String Properties
+ {"OutputFile", "OUT:",
+ "Output File",
+ "", cmVS7FlagTable::UserValue},
+ {"Version", "VERSION:",
+ "Version",
+ "", cmVS7FlagTable::UserValue},
+ {"SpecifySectionAttributes", "SECTION:",
+ "Specify Section Attributes",
+ "", cmVS7FlagTable::UserValue},
+ {"MSDOSStubFileName", "STUB:",
+ "MS-DOS Stub File Name",
+ "", cmVS7FlagTable::UserValue},
+ // Skip [TrackerLogDirectory] - no command line Switch.
+ {"ModuleDefinitionFile", "DEF:",
+ "Module Definition File",
+ "", cmVS7FlagTable::UserValue},
+ {"ManifestFile", "ManifestFile:",
+ "Manifest File",
+ "", cmVS7FlagTable::UserValue},
+ {"ProgramDatabaseFile", "PDB:",
+ "Generate Program Database File",
+ "", cmVS7FlagTable::UserValue},
+ {"StripPrivateSymbols", "PDBSTRIPPED:",
+ "Strip Private Symbols",
+ "", cmVS7FlagTable::UserValue},
+ // Skip [MapFileName] - no command line Switch.
+ // Skip [MinimumRequiredVersion] - no command line Switch.
+ {"HeapReserveSize", "HEAP:",
+ "Heap Reserve Size",
+ "", cmVS7FlagTable::UserValue},
+ // Skip [HeapCommitSize] - no command line Switch.
+ {"StackReserveSize", "STACK:",
+ "Stack Reserve Size",
+ "", cmVS7FlagTable::UserValue},
+ // Skip [StackCommitSize] - no command line Switch.
+ {"FunctionOrder", "ORDER:@",
+ "Function Order",
+ "", cmVS7FlagTable::UserValue},
+ {"ProfileGuidedDatabase", "PGD:",
+ "Profile Guided Database",
+ "", cmVS7FlagTable::UserValue},
+ {"MidlCommandFile", "MIDL:@",
+ "MIDL Commands",
+ "", cmVS7FlagTable::UserValue},
+ {"MergedIDLBaseFileName", "IDLOUT:",
+ "Merged IDL Base File Name",
+ "", cmVS7FlagTable::UserValue},
+ {"TypeLibraryFile", "TLBOUT:",
+ "Type Library",
+ "", cmVS7FlagTable::UserValue},
+ {"WindowsMetadataFile", "WINMDFILE:",
+ "Windows Metadata File",
+ "", cmVS7FlagTable::UserValue},
+ {"WindowsMetadataLinkKeyFile", "WINMDKEYFILE:",
+ "Windows Metadata Key File",
+ "", cmVS7FlagTable::UserValue},
+ {"WindowsMetadataKeyContainer", "WINMDKEYCONTAINER:",
+ "Windows Metadata Key Container",
+ "", cmVS7FlagTable::UserValue},
+ {"EntryPointSymbol", "ENTRY:",
+ "Entry Point",
+ "", cmVS7FlagTable::UserValue},
+ {"BaseAddress", "BASE:",
+ "Base Address",
+ "", cmVS7FlagTable::UserValue},
+ {"ImportLibrary", "IMPLIB:",
+ "Import Library",
+ "", cmVS7FlagTable::UserValue},
+ {"MergeSections", "MERGE:",
+ "Merge Sections",
+ "", cmVS7FlagTable::UserValue},
+ {"LinkKeyFile", "KEYFILE:",
+ "Key File",
+ "", cmVS7FlagTable::UserValue},
+ {"KeyContainer", "KEYCONTAINER:",
+ "Key Container",
+ "", cmVS7FlagTable::UserValue},
+ // Skip [AdditionalOptions] - no command line Switch.
+ {0,0,0,0,0}
+};
diff --git a/Source/cmVariableRequiresCommand.cxx b/Source/cmVariableRequiresCommand.cxx
index 0e97a832a..747e9be5e 100644
--- a/Source/cmVariableRequiresCommand.cxx
+++ b/Source/cmVariableRequiresCommand.cxx
@@ -22,7 +22,7 @@ bool cmVariableRequiresCommand
return false;
}
- std::string testVariable = args[0];
+ std::string testVariable = args[0];
if(!this->Makefile->IsOn(testVariable.c_str()))
{
return true;
@@ -38,7 +38,7 @@ bool cmVariableRequiresCommand
requirementsMet = false;
notSet += args[i];
notSet += "\n";
- cmCacheManager::CacheIterator it =
+ cmCacheManager::CacheIterator it =
this->Makefile->GetCacheManager()->GetCacheIterator(args[i].c_str());
if(!it.IsAtEnd() && it.GetPropertyAsBool("ADVANCED"))
{
@@ -47,7 +47,7 @@ bool cmVariableRequiresCommand
}
}
const char* reqVar = this->Makefile->GetDefinition(resultVariable.c_str());
- // if reqVar is unset, then set it to requirementsMet
+ // if reqVar is unset, then set it to requirementsMet
// if reqVar is set to true, but requirementsMet is false , then
// set reqVar to false.
if(!reqVar || (!requirementsMet && this->Makefile->IsOn(reqVar)))
@@ -58,14 +58,14 @@ bool cmVariableRequiresCommand
if(!requirementsMet)
{
std::string message = "Variable assertion failed:\n";
- message += testVariable +
+ message += testVariable +
" Requires that the following unset variables are set:\n";
message += notSet;
message += "\nPlease set them, or set ";
message += testVariable + " to false, and re-configure.\n";
if(hasAdvanced)
{
- message +=
+ message +=
"One or more of the required variables is advanced."
" To set the variable, you must turn on advanced mode in cmake.";
}
diff --git a/Source/cmVariableRequiresCommand.h b/Source/cmVariableRequiresCommand.h
index 91c351e60..c86f43dc6 100644
--- a/Source/cmVariableRequiresCommand.h
+++ b/Source/cmVariableRequiresCommand.h
@@ -24,7 +24,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmVariableRequiresCommand;
}
@@ -35,7 +35,7 @@ public:
*/
virtual bool InitialPass(std::vector<std::string> const& args,
cmExecutionStatus &status);
-
+
/**
* The name of the command as specified in CMakeList.txt.
*/
@@ -48,7 +48,7 @@ public:
{
return "Deprecated. Use the if() command instead.";
}
-
+
/**
* More documentation.
*/
@@ -63,12 +63,12 @@ public:
"tested, if that variable is false nothing else is done. If "
"TEST_VARIABLE is true, then "
"the next argument (RESULT_VARIABLE) is a variable that is set to true "
- "if all the required variables are set. "
+ "if all the required variables are set. "
"The rest of the arguments are variables that must be true or not "
"set to NOTFOUND to avoid an error. If any are not true, an error "
"is reported.";
}
-
+
/** This command is kept for compatibility with older CMake versions. */
virtual bool IsDiscouraged() const
{
diff --git a/Source/cmVariableWatch.cxx b/Source/cmVariableWatch.cxx
index 47bab1530..f5fdca465 100644
--- a/Source/cmVariableWatch.cxx
+++ b/Source/cmVariableWatch.cxx
@@ -38,7 +38,7 @@ cmVariableWatch::~cmVariableWatch()
{
}
-void cmVariableWatch::AddWatch(const std::string& variable,
+void cmVariableWatch::AddWatch(const std::string& variable,
WatchMethod method, void* client_data /*=0*/)
{
cmVariableWatch::Pair p;
@@ -58,7 +58,7 @@ void cmVariableWatch::AddWatch(const std::string& variable,
vp->push_back(p);
}
-void cmVariableWatch::RemoveWatch(const std::string& variable,
+void cmVariableWatch::RemoveWatch(const std::string& variable,
WatchMethod method)
{
cmVariableWatch::VectorOfPairs* vp = &this->WatchMap[variable];
@@ -73,12 +73,12 @@ void cmVariableWatch::RemoveWatch(const std::string& variable,
}
}
-void cmVariableWatch::VariableAccessed(const std::string& variable,
+void cmVariableWatch::VariableAccessed(const std::string& variable,
int access_type,
const char* newValue,
const cmMakefile* mf) const
{
- cmVariableWatch::StringToVectorOfPairs::const_iterator mit =
+ cmVariableWatch::StringToVectorOfPairs::const_iterator mit =
this->WatchMap.find(variable);
if ( mit != this->WatchMap.end() )
{
diff --git a/Source/cmVariableWatch.h b/Source/cmVariableWatch.h
index 83e9e9799..7dd4ac5e6 100644
--- a/Source/cmVariableWatch.h
+++ b/Source/cmVariableWatch.h
@@ -36,7 +36,7 @@ public:
void AddWatch(const std::string& variable, WatchMethod method,
void* client_data=0);
void RemoveWatch(const std::string& variable, WatchMethod method);
-
+
/**
* This method is called when variable is accessed
*/
@@ -61,7 +61,7 @@ public:
* Return the access as string
*/
static const char* GetAccessAsString(int access_type);
-
+
protected:
struct Pair
{
diff --git a/Source/cmVariableWatchCommand.cxx b/Source/cmVariableWatchCommand.cxx
index 93c05afb7..a432943ae 100644
--- a/Source/cmVariableWatchCommand.cxx
+++ b/Source/cmVariableWatchCommand.cxx
@@ -95,7 +95,7 @@ void cmVariableWatchCommand::VariableAccessed(const std::string& variable,
cmListFileArgument(currentListFile, true, "unknown", 9999));
newLFF.Arguments.push_back(
cmListFileArgument(stack, true, "unknown", 9999));
- newLFF.Name = command;
+ newLFF.Name = command;
newLFF.FilePath = "Some weird path";
newLFF.Line = 9999;
cmExecutionStatus status;
diff --git a/Source/cmVariableWatchCommand.h b/Source/cmVariableWatchCommand.h
index cb80736e6..3abc08894 100644
--- a/Source/cmVariableWatchCommand.h
+++ b/Source/cmVariableWatchCommand.h
@@ -31,7 +31,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmVariableWatchCommand;
}
@@ -67,7 +67,7 @@ public:
{
return "Watch the CMake variable for change.";
}
-
+
/**
* More documentation.
*/
@@ -80,7 +80,7 @@ public:
"will be executed. The command will receive the following arguments:"
" COMMAND(<variable> <access> <value> <current list file> <stack>)";
}
-
+
cmTypeMacro(cmVariableWatchCommand, cmCommand);
void VariableAccessed(const std::string& variable, int access_type,
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index 9a97ab0e3..1e37ca532 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -22,9 +22,36 @@
#include "cmVS10CLFlagTable.h"
#include "cmVS10LinkFlagTable.h"
#include "cmVS10LibFlagTable.h"
+#include "cmVS11CLFlagTable.h"
+#include "cmVS11LinkFlagTable.h"
+#include "cmVS11LibFlagTable.h"
#include <cmsys/auto_ptr.hxx>
+static cmVS7FlagTable const*
+cmVSGetCLFlagTable(cmLocalVisualStudioGenerator* lg)
+{
+ if(lg->GetVersion() >= cmLocalVisualStudioGenerator::VS11)
+ { return cmVS11CLFlagTable; }
+ return cmVS10CLFlagTable;
+}
+
+static cmVS7FlagTable const*
+cmVSGetLibFlagTable(cmLocalVisualStudioGenerator* lg)
+{
+ if(lg->GetVersion() >= cmLocalVisualStudioGenerator::VS11)
+ { return cmVS11LibFlagTable; }
+ return cmVS10LibFlagTable;
+}
+
+static cmVS7FlagTable const*
+cmVSGetLinkFlagTable(cmLocalVisualStudioGenerator* lg)
+{
+ if(lg->GetVersion() >= cmLocalVisualStudioGenerator::VS11)
+ { return cmVS11LinkFlagTable; }
+ return cmVS10LinkFlagTable;
+}
+
static std::string cmVS10EscapeXML(std::string arg)
{
cmSystemTools::ReplaceString(arg, "&", "&amp;");
@@ -65,7 +92,7 @@ cmVisualStudio10TargetGenerator(cmTarget* target,
this->Target = target;
this->GeneratorTarget = gg->GetGeneratorTarget(target);
this->Makefile = target->GetMakefile();
- this->LocalGenerator =
+ this->LocalGenerator =
(cmLocalVisualStudio7Generator*)
this->Makefile->GetLocalGenerator();
this->Name = this->Target->GetName();
@@ -108,9 +135,9 @@ void cmVisualStudio10TargetGenerator::WritePlatformConfigTag(
stream = this->BuildFileStream;
}
stream->fill(' ');
- stream->width(indentLevel*2 );
+ stream->width(indentLevel*2 );
(*stream ) << "";
- (*stream ) << "<" << tag
+ (*stream ) << "<" << tag
<< " Condition=\"'$(Configuration)|$(Platform)'=='";
(*stream ) << config << "|" << this->Platform << "'\"";
if(attribute)
@@ -164,7 +191,7 @@ void cmVisualStudio10TargetGenerator::Generate()
new cmGeneratedFileStream(path.c_str());
this->PathToVcxproj = path;
this->BuildFileStream->SetCopyIfDifferent(true);
-
+
// Write the encoding header into the file
char magic[] = {0xEF,0xBB, 0xBF};
this->BuildFileStream->write(magic, 3);
@@ -370,9 +397,9 @@ void cmVisualStudio10TargetGenerator::WriteProjectConfigurationValues()
break;
}
configType += "</ConfigurationType>\n";
- this->WriteString(configType.c_str(), 2);
+ this->WriteString(configType.c_str(), 2);
- const char* mfcFlag =
+ const char* mfcFlag =
this->Target->GetMakefile()->GetDefinition("CMAKE_MFC_FLAG");
std::string mfcFlagValue = mfcFlag ? mfcFlag : "0";
@@ -413,7 +440,8 @@ void cmVisualStudio10TargetGenerator::WriteProjectConfigurationValues()
}
if(this->Target->GetPropertyAsBool("VS_WINRT_EXTENSIONS"))
{
- this->WriteString("<Immersive>true</Immersive>\n", 2);
+ this->WriteString("<WindowsAppContainer>true"
+ "</WindowsAppContainer>\n", 2);
}
this->WriteString("</PropertyGroup>\n", 1);
}
@@ -453,9 +481,9 @@ void cmVisualStudio10TargetGenerator::WriteCustomCommand(cmSourceFile* sf)
}
}
-void
+void
cmVisualStudio10TargetGenerator::WriteCustomRule(cmSourceFile* source,
- cmCustomCommand const &
+ cmCustomCommand const &
command)
{
std::string sourcePath = source->GetFullPath();
@@ -490,7 +518,7 @@ cmVisualStudio10TargetGenerator::WriteCustomRule(cmSourceFile* source,
comment = cmVS10EscapeComment(comment);
std::vector<std::string> *configs =
static_cast<cmGlobalVisualStudio7Generator *>
- (this->GlobalGenerator)->GetConfigurations();
+ (this->GlobalGenerator)->GetConfigurations();
this->WriteSource("CustomBuild", source, ">\n");
@@ -504,11 +532,11 @@ cmVisualStudio10TargetGenerator::WriteCustomRule(cmSourceFile* source,
this->WritePlatformConfigTag("Command", i->c_str(), 3);
(*this->BuildFileStream ) << script << "</Command>\n";
this->WritePlatformConfigTag("AdditionalInputs", i->c_str(), 3);
-
+
(*this->BuildFileStream ) << source->GetFullPath();
- for(std::vector<std::string>::const_iterator d =
+ for(std::vector<std::string>::const_iterator d =
command.GetDepends().begin();
- d != command.GetDepends().end();
+ d != command.GetDepends().end();
++d)
{
std::string dep;
@@ -521,9 +549,9 @@ cmVisualStudio10TargetGenerator::WriteCustomRule(cmSourceFile* source,
(*this->BuildFileStream ) << ";%(AdditionalInputs)</AdditionalInputs>\n";
this->WritePlatformConfigTag("Outputs", i->c_str(), 3);
const char* sep = "";
- for(std::vector<std::string>::const_iterator o =
+ for(std::vector<std::string>::const_iterator o =
command.GetOutputs().begin();
- o != command.GetOutputs().end();
+ o != command.GetOutputs().end();
++o)
{
std::string out = *o;
@@ -559,19 +587,19 @@ void cmVisualStudio10TargetGenerator::ConvertToWindowsSlash(std::string& s)
}
}
void cmVisualStudio10TargetGenerator::WriteGroups()
-{
+{
// collect up group information
- std::vector<cmSourceGroup> sourceGroups =
+ std::vector<cmSourceGroup> sourceGroups =
this->Makefile->GetSourceGroups();
std::vector<cmSourceFile*> classes = this->Target->GetSourceFiles();
-
+
std::set<cmSourceGroup*> groupsUsed;
- for(std::vector<cmSourceFile*>::const_iterator s = classes.begin();
+ for(std::vector<cmSourceFile*>::const_iterator s = classes.begin();
s != classes.end(); s++)
{
- cmSourceFile* sf = *s;
+ cmSourceFile* sf = *s;
std::string const& source = sf->GetFullPath();
- cmSourceGroup& sourceGroup =
+ cmSourceGroup& sourceGroup =
this->Makefile->FindSourceGroup(source.c_str(), sourceGroups);
groupsUsed.insert(&sourceGroup);
}
@@ -634,9 +662,9 @@ void cmVisualStudio10TargetGenerator::WriteGroups()
guidName += name;
this->GlobalGenerator->CreateGUID(guidName.c_str());
this->WriteString("<UniqueIdentifier>", 3);
- std::string guid
+ std::string guid
= this->GlobalGenerator->GetGUID(guidName.c_str());
- (*this->BuildFileStream)
+ (*this->BuildFileStream)
<< "{"
<< guid << "}"
<< "</UniqueIdentifier>\n";
@@ -724,10 +752,10 @@ WriteGroupSources(const char* name,
{
cmSourceFile* sf = s->SourceFile;
std::string const& source = sf->GetFullPath();
- cmSourceGroup& sourceGroup =
+ cmSourceGroup& sourceGroup =
this->Makefile->FindSourceGroup(source.c_str(), sourceGroups);
const char* filter = sourceGroup.GetFullName();
- this->WriteString("<", 2);
+ this->WriteString("<", 2);
std::string path = this->ConvertPath(source, s->RelativePath);
this->ConvertToWindowsSlash(path);
(*this->BuildFileStream) << name << " Include=\""
@@ -868,7 +896,7 @@ void cmVisualStudio10TargetGenerator::WriteAllSources()
bool cmVisualStudio10TargetGenerator::OutputSourceSpecificFlags(
cmSourceFile* source)
-{
+{
cmSourceFile& sf = *source;
cmLocalVisualStudio7Generator* lg = this->LocalGenerator;
@@ -883,7 +911,7 @@ bool cmVisualStudio10TargetGenerator::OutputSourceSpecificFlags(
if(const char* cflags = sf.GetProperty("COMPILE_FLAGS"))
{
flags += cflags;
- }
+ }
if(const char* cdefs = sf.GetProperty("COMPILE_DEFINITIONS"))
{
defines += cdefs;
@@ -899,7 +927,7 @@ bool cmVisualStudio10TargetGenerator::OutputSourceSpecificFlags(
{
needForceLang = true;
lang = sourceLang;
- }
+ }
// if the source file does not match the linker language
// then force c or c++
if(needForceLang || (linkLanguage && lang
@@ -923,7 +951,7 @@ bool cmVisualStudio10TargetGenerator::OutputSourceSpecificFlags(
if(objectName.size())
{
(*this->BuildFileStream ) << firstString;
- firstString = "";
+ firstString = "";
hasFlags = true;
this->WriteString("<ObjectFileName>", 3);
(*this->BuildFileStream )
@@ -934,7 +962,7 @@ bool cmVisualStudio10TargetGenerator::OutputSourceSpecificFlags(
(this->GlobalGenerator)->GetConfigurations();
for( std::vector<std::string>::iterator config = configs->begin();
config != configs->end(); ++config)
- {
+ {
std::string configUpper = cmSystemTools::UpperCase(*config);
std::string configDefines = defines;
std::string defPropName = "COMPILE_DEFINITIONS_";
@@ -947,22 +975,22 @@ bool cmVisualStudio10TargetGenerator::OutputSourceSpecificFlags(
}
configDefines += ccdefs;
}
- // if we have flags or defines for this config then
+ // if we have flags or defines for this config then
// use them
if(flags.size() || configDefines.size())
{
(*this->BuildFileStream ) << firstString;
firstString = ""; // only do firstString once
hasFlags = true;
- cmVisualStudioGeneratorOptions
+ cmVisualStudioGeneratorOptions
clOptions(this->LocalGenerator,
cmVisualStudioGeneratorOptions::Compiler,
- cmVS10CLFlagTable, 0, this);
+ cmVSGetCLFlagTable(this->LocalGenerator), 0, this);
clOptions.Parse(flags.c_str());
clOptions.AddDefines(configDefines.c_str());
clOptions.SetConfiguration((*config).c_str());
clOptions.OutputAdditionalOptions(*this->BuildFileStream, " ", "");
- clOptions.OutputFlagMap(*this->BuildFileStream, " ");
+ clOptions.OutputFlagMap(*this->BuildFileStream, " ");
clOptions.OutputPreprocessorDefinitions(*this->BuildFileStream,
" ", "\n", lang);
}
@@ -1045,10 +1073,10 @@ void cmVisualStudio10TargetGenerator::WritePathAndIncrementalLinkOptions()
-void
+void
cmVisualStudio10TargetGenerator::
OutputLinkIncremental(std::string const& configName)
-{
+{
std::string CONFIG = cmSystemTools::UpperCase(configName);
// static libraries and things greater than modules do not need
// to set this option
@@ -1062,7 +1090,7 @@ OutputLinkIncremental(std::string const& configName)
{
linkType = "EXE";
}
-
+
// assume incremental linking
const char* incremental = "true";
const char* linkLanguage =
@@ -1091,9 +1119,9 @@ OutputLinkIncremental(std::string const& configName)
flags += this->
Target->GetMakefile()->GetRequiredDefinition(baseFlagVar.c_str());
std::string flagVar = baseFlagVar + std::string("_") + CONFIG;
- flags +=
+ flags +=
Target->GetMakefile()->GetRequiredDefinition(flagVar.c_str());
- }
+ }
const char* targetLinkFlags = this->Target->GetProperty("LINK_FLAGS");
if(targetLinkFlags)
{
@@ -1113,7 +1141,7 @@ OutputLinkIncremental(std::string const& configName)
}
this->WritePlatformConfigTag("LinkIncremental", configName.c_str(), 3);
*this->BuildFileStream << incremental
- << "</LinkIncremental>\n";
+ << "</LinkIncremental>\n";
const char* manifest = "true";
if(flags.find("MANIFEST:NO") != flags.npos)
@@ -1151,11 +1179,11 @@ bool cmVisualStudio10TargetGenerator::ComputeClOptions(
cmsys::auto_ptr<Options> pOptions(
new Options(this->LocalGenerator, Options::Compiler,
- cmVS10CLFlagTable));
+ cmVSGetCLFlagTable(this->LocalGenerator)));
Options& clOptions = *pOptions;
std::string flags;
- // collect up flags for
+ // collect up flags for
if(this->Target->GetType() < cmTarget::UTILITY)
{
const char* linkLanguage =
@@ -1197,20 +1225,16 @@ bool cmVisualStudio10TargetGenerator::ComputeClOptions(
flags += " ";
flags += targetFlags;
}
- std::string configUpper = cmSystemTools::UpperCase(configName);
- std::string defPropName = "COMPILE_DEFINITIONS_";
- defPropName += configUpper;
-
// Get preprocessor definitions for this directory.
std::string defineFlags = this->Target->GetMakefile()->GetDefineFlags();
clOptions.FixExceptionHandlingDefault();
+ clOptions.AddFlag("PrecompiledHeader", "NotUsing");
clOptions.Parse(flags.c_str());
clOptions.Parse(defineFlags.c_str());
- clOptions.AddDefines
- (this->Makefile->GetProperty("COMPILE_DEFINITIONS"));
- clOptions.AddDefines(this->Target->GetProperty("COMPILE_DEFINITIONS"));
- clOptions.AddDefines(this->Makefile->GetProperty(defPropName.c_str()));
- clOptions.AddDefines(this->Target->GetProperty(defPropName.c_str()));
+ clOptions.AddDefines(
+ this->GeneratorTarget->GetCompileDefinitions().c_str());
+ clOptions.AddDefines(this->GeneratorTarget->GetCompileDefinitions(
+ configName.c_str()).c_str());
clOptions.SetVerboseMakefile(
this->Makefile->IsOn("CMAKE_VERBOSE_MAKEFILE"));
@@ -1247,17 +1271,16 @@ void cmVisualStudio10TargetGenerator::WriteClOptions(
"</DebugInformationFormat>\n", 3);
}
- clOptions.OutputPreprocessorDefinitions(*this->BuildFileStream, " ",
+ clOptions.OutputPreprocessorDefinitions(*this->BuildFileStream, " ",
"\n", "CXX");
this->WriteString("<AssemblerListingLocation>", 3);
- *this->BuildFileStream << configName
+ *this->BuildFileStream << configName
<< "</AssemblerListingLocation>\n";
this->WriteString("<ObjectFileName>$(IntDir)</ObjectFileName>\n", 3);
if(this->Target->GetType() != cmTarget::OBJECT_LIBRARY)
{
- // TODO: PDB for object library?
this->WriteString("<ProgramDataBaseFileName>", 3);
- *this->BuildFileStream << this->Target->GetDirectory(configName.c_str())
+ *this->BuildFileStream << this->Target->GetPDBDirectory(configName.c_str())
<< "/"
<< this->Target->GetPDBName(configName.c_str())
<< "</ProgramDataBaseFileName>\n";
@@ -1277,7 +1300,7 @@ OutputIncludes(std::vector<std::string> const & includes)
this->WriteString("%(AdditionalIncludeDirectories)"
"</AdditionalIncludeDirectories>\n", 0);
}
-
+
void cmVisualStudio10TargetGenerator::
@@ -1311,11 +1334,11 @@ cmVisualStudio10TargetGenerator::WriteLibOptions(std::string const& config)
cmVisualStudioGeneratorOptions
libOptions(this->LocalGenerator,
cmVisualStudioGeneratorOptions::Linker,
- cmVS10LibFlagTable, 0, this);
+ cmVSGetLibFlagTable(this->LocalGenerator), 0, this);
libOptions.Parse(libflags?libflags:"");
libOptions.Parse(libflagsConfig?libflagsConfig:"");
libOptions.OutputAdditionalOptions(*this->BuildFileStream, " ", "");
- libOptions.OutputFlagMap(*this->BuildFileStream, " ");
+ libOptions.OutputFlagMap(*this->BuildFileStream, " ");
this->WriteString("</Lib>\n", 2);
}
}
@@ -1324,7 +1347,7 @@ cmVisualStudio10TargetGenerator::WriteLibOptions(std::string const& config)
void cmVisualStudio10TargetGenerator::WriteLinkOptions(std::string const&
config)
{
-
+
// static libraries and things greater than modules do not need
// to set this option
if(this->Target->GetType() == cmTarget::STATIC_LIBRARY
@@ -1344,7 +1367,7 @@ void cmVisualStudio10TargetGenerator::WriteLinkOptions(std::string const&
this->WriteString("<Link>\n", 2);
std::string CONFIG = cmSystemTools::UpperCase(config);
-
+
const char* linkType = "SHARED";
if(this->Target->GetType() == cmTarget::MODULE_LIBRARY)
{
@@ -1391,7 +1414,7 @@ void cmVisualStudio10TargetGenerator::WriteLinkOptions(std::string const&
cmVisualStudioGeneratorOptions
linkOptions(this->LocalGenerator,
cmVisualStudioGeneratorOptions::Linker,
- cmVS10LinkFlagTable, 0, this);
+ cmVSGetLinkFlagTable(this->LocalGenerator), 0, this);
if ( this->Target->GetPropertyAsBool("WIN32_EXECUTABLE") )
{
flags += " /SUBSYSTEM:WINDOWS";
@@ -1405,7 +1428,7 @@ void cmVisualStudio10TargetGenerator::WriteLinkOptions(std::string const&
std::string standardLibsVar = "CMAKE_";
standardLibsVar += linkLanguage;
standardLibsVar += "_STANDARD_LIBRARIES";
- std::string
+ std::string
libs = this->Makefile->GetSafeDefinition(standardLibsVar.c_str());
// Remove trailing spaces from libs
std::string::size_type pos = libs.size()-1;
@@ -1423,7 +1446,7 @@ void cmVisualStudio10TargetGenerator::WriteLinkOptions(std::string const&
// Replace spaces in libs with ;
cmSystemTools::ReplaceString(libs, " ", ";");
cmComputeLinkInformation* pcli =
- this->Target->GetLinkInformation(config.c_str());
+ this->GeneratorTarget->GetLinkInformation(config.c_str());
if(!pcli)
{
cmSystemTools::Error
@@ -1463,7 +1486,7 @@ void cmVisualStudio10TargetGenerator::WriteLinkOptions(std::string const&
else
{
linkOptions.AddFlag("GenerateDebugInformation", "false");
- }
+ }
std::string targetName;
std::string targetNameSO;
std::string targetNameFull;
@@ -1472,19 +1495,18 @@ void cmVisualStudio10TargetGenerator::WriteLinkOptions(std::string const&
if(this->Target->GetType() == cmTarget::EXECUTABLE)
{
this->Target->GetExecutableNames(targetName, targetNameFull,
- targetNameImport, targetNamePDB,
+ targetNameImport, targetNamePDB,
config.c_str());
}
else
{
this->Target->GetLibraryNames(targetName, targetNameSO, targetNameFull,
- targetNameImport, targetNamePDB,
+ targetNameImport, targetNamePDB,
config.c_str());
}
- std::string dir = this->Target->GetDirectory(config.c_str());
- dir += "/";
- std::string pdb = dir;
+ std::string pdb = this->Target->GetPDBDirectory(config.c_str());
+ pdb += "/";
pdb += targetNamePDB;
std::string imLib = this->Target->GetDirectory(config.c_str(), true);
imLib += "/";
@@ -1502,7 +1524,7 @@ void cmVisualStudio10TargetGenerator::WriteLinkOptions(std::string const&
linkOptions.RemoveFlag("GenerateManifest");
linkOptions.OutputAdditionalOptions(*this->BuildFileStream, " ", "");
linkOptions.OutputFlagMap(*this->BuildFileStream, " ");
-
+
this->WriteString("</Link>\n", 2);
if(!this->GlobalGenerator->NeedLinkLibraryDependencies(*this->Target))
{
@@ -1516,7 +1538,7 @@ void cmVisualStudio10TargetGenerator::WriteLinkOptions(std::string const&
void cmVisualStudio10TargetGenerator::AddLibraries(
cmComputeLinkInformation& cli,
std::string& libstring)
-{
+{
typedef cmComputeLinkInformation::ItemVector ItemVector;
ItemVector libs = cli.GetItems();
const char* sep = ";";
@@ -1564,11 +1586,13 @@ void cmVisualStudio10TargetGenerator::WriteItemDefinitionGroups()
std::vector<std::string> *configs =
static_cast<cmGlobalVisualStudio7Generator *>
(this->GlobalGenerator)->GetConfigurations();
- std::vector<std::string> includes;
- this->LocalGenerator->GetIncludeDirectories(includes, this->Target);
for(std::vector<std::string>::iterator i = configs->begin();
i != configs->end(); ++i)
{
+ std::vector<std::string> includes;
+ this->LocalGenerator->GetIncludeDirectories(includes,
+ this->GeneratorTarget,
+ "C", i->c_str());
this->WritePlatformConfigTag("ItemDefinitionGroup", i->c_str(), 1);
*this->BuildFileStream << "\n";
// output cl compile flags <ClCompile></ClCompile>
@@ -1582,15 +1606,15 @@ void cmVisualStudio10TargetGenerator::WriteItemDefinitionGroups()
this->WriteMidlOptions(*i, includes);
// write events
this->WriteEvents(*i);
- // output link flags <Link></Link>
+ // output link flags <Link></Link>
this->WriteLinkOptions(*i);
- // output lib flags <Lib></Lib>
+ // output lib flags <Lib></Lib>
this->WriteLibOptions(*i);
this->WriteString("</ItemDefinitionGroup>\n", 1);
}
}
-void
+void
cmVisualStudio10TargetGenerator::WriteEvents(std::string const& configName)
{
this->WriteEvent("PreLinkEvent",
@@ -1618,7 +1642,7 @@ void cmVisualStudio10TargetGenerator::WriteEvent(
std::string comment;
for(std::vector<cmCustomCommand>::iterator i = commands.begin();
i != commands.end(); ++i)
- {
+ {
cmCustomCommand& command = *i;
comment += pre;
comment += lg->ConstructComment(command);
@@ -1675,7 +1699,7 @@ void cmVisualStudio10TargetGenerator::WriteProjectReferences()
}
(*this->BuildFileStream) << path << "\">\n";
this->WriteString("<Project>", 3);
- (*this->BuildFileStream)
+ (*this->BuildFileStream)
<< this->GlobalGenerator->GetGUID(name.c_str())
<< "</Project>\n";
this->WriteString("</ProjectReference>\n", 2);
diff --git a/Source/cmVisualStudio10TargetGenerator.h b/Source/cmVisualStudio10TargetGenerator.h
index 2d5ec2a6b..308b9bd94 100644
--- a/Source/cmVisualStudio10TargetGenerator.h
+++ b/Source/cmVisualStudio10TargetGenerator.h
@@ -28,20 +28,20 @@ class cmVisualStudioGeneratorOptions;
class cmVisualStudio10TargetGenerator
{
public:
- cmVisualStudio10TargetGenerator(cmTarget* target,
+ cmVisualStudio10TargetGenerator(cmTarget* target,
cmGlobalVisualStudio10Generator* gg);
~cmVisualStudio10TargetGenerator();
void Generate();
- // used by cmVisualStudioGeneratorOptions
- void WritePlatformConfigTag(
+ // used by cmVisualStudioGeneratorOptions
+ void WritePlatformConfigTag(
const char* tag,
- const char* config,
+ const char* config,
int indentLevel,
const char* attribute = 0,
const char* end = 0,
std::ostream* strm = 0
);
-
+
private:
struct ToolSource
{
diff --git a/Source/cmVisualStudioGeneratorOptions.cxx b/Source/cmVisualStudioGeneratorOptions.cxx
index 9369af60c..1df0d9ed1 100644
--- a/Source/cmVisualStudioGeneratorOptions.cxx
+++ b/Source/cmVisualStudioGeneratorOptions.cxx
@@ -342,10 +342,10 @@ cmVisualStudioGeneratorOptions
if(!this->FlagString.empty())
{
if(this->Version >= cmLocalVisualStudioGenerator::VS10)
- {
+ {
fout << prefix;
if(this->Configuration.size())
- {
+ {
this->TargetGenerator->WritePlatformConfigTag(
"AdditionalOptions",
this->Configuration.c_str(),
diff --git a/Source/cmWhileCommand.h b/Source/cmWhileCommand.h
index e111ae40d..1bdf27af3 100644
--- a/Source/cmWhileCommand.h
+++ b/Source/cmWhileCommand.h
@@ -25,7 +25,7 @@ public:
cmMakefile &mf,
cmExecutionStatus &);
virtual bool ShouldRemove(const cmListFileFunction& lff, cmMakefile &mf);
-
+
std::vector<cmListFileArgument> Args;
std::vector<cmListFileFunction> Functions;
private:
@@ -39,7 +39,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmWhileCommand;
}
@@ -50,7 +50,7 @@ public:
*/
virtual bool InvokeInitialPass(const std::vector<cmListFileArgument>& args,
cmExecutionStatus &);
-
+
/**
* This is called when the command is first encountered in
* the CMakeLists.txt file.
@@ -75,7 +75,7 @@ public:
{
return "Evaluate a group of commands while a condition is true";
}
-
+
/**
* More documentation.
*/
@@ -93,7 +93,7 @@ public:
"is true. The condition is evaluated using the same logic as the "
"if command.";
}
-
+
cmTypeMacro(cmWhileCommand, cmCommand);
};
diff --git a/Source/cmWin32ProcessExecution.cxx b/Source/cmWin32ProcessExecution.cxx
index f37e0ff4e..9a536c159 100644
--- a/Source/cmWin32ProcessExecution.cxx
+++ b/Source/cmWin32ProcessExecution.cxx
@@ -11,7 +11,7 @@
============================================================================*/
#include "cmWin32ProcessExecution.h"
-#include "cmSystemTools.h"
+#include "cmSystemTools.h"
#include <malloc.h>
#include <io.h>
@@ -48,26 +48,26 @@
void DisplayErrorMessage()
{
LPVOID lpMsgBuf;
- FormatMessage(
- FORMAT_MESSAGE_ALLOCATE_BUFFER |
- FORMAT_MESSAGE_FROM_SYSTEM |
+ FormatMessage(
+ FORMAT_MESSAGE_ALLOCATE_BUFFER |
+ FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
- NULL
+ NULL
);
// Process any inserts in lpMsgBuf.
- // ...
+ // ...
// Display the string.
MessageBox( NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION );
// Free the buffer.
LocalFree( lpMsgBuf );
}
-
-// Code from a Borland web site with the following explaination :
+
+// Code from a Borland web site with the following explaination :
/* In this article, I will explain how to spawn a console application
* and redirect its standard input/output using anonymous pipes. An
* anonymous pipe is a pipe that goes only in one direction (read
@@ -93,74 +93,74 @@ void DisplayErrorMessage()
* monitor the read end of the stdout pipe to check for display on our
* child process. Every time there is something availabe for reading,
* we will display it in our app. Consequently, we check for input in
- * our app and send it off to the write end of the stdin pipe. */
+ * our app and send it off to the write end of the stdin pipe. */
-inline bool IsWinNT()
-//check if we're running NT
+inline bool IsWinNT()
+//check if we're running NT
{
OSVERSIONINFO osv;
osv.dwOSVersionInfoSize = sizeof(osv);
GetVersionEx(&osv);
- return (osv.dwPlatformId == VER_PLATFORM_WIN32_NT);
+ return (osv.dwPlatformId == VER_PLATFORM_WIN32_NT);
}
-//---------------------------------------------------------------------------
+//---------------------------------------------------------------------------
bool cmWin32ProcessExecution::BorlandRunCommand(
- const char* command, const char* dir,
- std::string& output, int& retVal, bool verbose, int /* timeout */,
- bool hideWindows)
+ const char* command, const char* dir,
+ std::string& output, int& retVal, bool verbose, int /* timeout */,
+ bool hideWindows)
{
//verbose = true;
- //std::cerr << std::endl
- // << "WindowsRunCommand(" << command << ")" << std::endl
+ //std::cerr << std::endl
+ // << "WindowsRunCommand(" << command << ")" << std::endl
// << std::flush;
const int BUFFER_SIZE = 4096;
char buf[BUFFER_SIZE];
-
-//i/o buffer
+
+//i/o buffer
STARTUPINFO si;
SECURITY_ATTRIBUTES sa;
SECURITY_DESCRIPTOR sd;
-
-//security information for pipes
+
+//security information for pipes
PROCESS_INFORMATION pi;
HANDLE newstdin,newstdout,read_stdout,write_stdin;
-
-//pipe handles
- if (IsWinNT())
-//initialize security descriptor (Windows NT)
+
+//pipe handles
+ if (IsWinNT())
+//initialize security descriptor (Windows NT)
{
InitializeSecurityDescriptor(&sd,SECURITY_DESCRIPTOR_REVISION);
SetSecurityDescriptorDacl(&sd, true, NULL, false);
sa.lpSecurityDescriptor = &sd;
-
+
}
else sa.lpSecurityDescriptor = NULL;
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.bInheritHandle = true;
-
-//allow inheritable handles
- if (!CreatePipe(&newstdin,&write_stdin,&sa,0))
-//create stdin pipe
+
+//allow inheritable handles
+ if (!CreatePipe(&newstdin,&write_stdin,&sa,0))
+//create stdin pipe
{
return false;
}
- if (!CreatePipe(&read_stdout,&newstdout,&sa,0))
-//create stdout pipe
+ if (!CreatePipe(&read_stdout,&newstdout,&sa,0))
+//create stdout pipe
{
CloseHandle(newstdin);
CloseHandle(write_stdin);
return false;
-
+
}
GetStartupInfo(&si);
-
-//set startupinfo for the spawned process
+
+//set startupinfo for the spawned process
/* The dwFlags member tells CreateProcess how to make the
* process. STARTF_USESTDHANDLES validates the hStd*
* members. STARTF_USESHOWWINDOW validates the wShowWindow
- * member. */
-
+ * member. */
+
si.cb = sizeof(STARTUPINFO);
si.dwFlags = STARTF_USESTDHANDLES|STARTF_USESHOWWINDOW;
si.hStdOutput = newstdout;
@@ -170,12 +170,12 @@ bool cmWin32ProcessExecution::BorlandRunCommand(
{
si.wShowWindow = SW_HIDE;
}
-
+
//set the new handles for the child process si.hStdInput = newstdin;
char* commandAndArgs = strcpy(new char[strlen(command)+1], command);
if (!CreateProcess(NULL,commandAndArgs,NULL,NULL,TRUE,
- 0, // CREATE_NEW_CONSOLE,
- NULL,dir,&si,&pi))
+ 0, // CREATE_NEW_CONSOLE,
+ NULL,dir,&si,&pi))
{
std::cerr << "CreateProcess failed " << commandAndArgs << std::endl;
CloseHandle(newstdin);
@@ -184,37 +184,37 @@ bool cmWin32ProcessExecution::BorlandRunCommand(
CloseHandle(write_stdin);
delete [] commandAndArgs;
return false;
-
+
}
delete [] commandAndArgs;
unsigned long exit=0;
-
-//process exit code unsigned
+
+//process exit code unsigned
unsigned long bread;
-
-//bytes read unsigned
+
+//bytes read unsigned
unsigned long avail;
-
-//bytes available
+
+//bytes available
memset(buf, 0, sizeof(buf));
- for(;;)
-//main program loop
+ for(;;)
+//main program loop
{
Sleep(10);
-//check to see if there is any data to read from stdout
+//check to see if there is any data to read from stdout
//std::cout << "Peek for data..." << std::endl;
PeekNamedPipe(read_stdout,buf,1023,&bread,&avail,NULL);
- if (bread != 0)
+ if (bread != 0)
{
memset(buf, 0, sizeof(buf));
- if (avail > 1023)
+ if (avail > 1023)
{
- while (bread >= 1023)
+ while (bread >= 1023)
{
//std::cout << "Read data..." << std::endl;
ReadFile(read_stdout,buf,1023,&bread,NULL);
-
- //read the stdout pipe
+
+ //read the stdout pipe
memset(buf, 0, sizeof(buf));
output += buf;
if (verbose)
@@ -223,39 +223,39 @@ bool cmWin32ProcessExecution::BorlandRunCommand(
}
}
}
- else
+ else
{
ReadFile(read_stdout,buf,1023,&bread,NULL);
output += buf;
- if(verbose)
+ if(verbose)
{
cmSystemTools::Stdout(buf);
}
-
+
}
-
+
}
-
+
//std::cout << "Check for process..." << std::endl;
GetExitCodeProcess(pi.hProcess,&exit);
-
-//while the process is running
+
+//while the process is running
if (exit != STILL_ACTIVE) break;
-
+
}
WaitForSingleObject(pi.hProcess, INFINITE);
GetExitCodeProcess(pi.hProcess,&exit);
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
CloseHandle(newstdin);
-
-//clean stuff up
+
+//clean stuff up
CloseHandle(newstdout);
CloseHandle(read_stdout);
CloseHandle(write_stdin);
retVal = exit;
return true;
-
+
}
bool cmWin32ProcessExecution::StartProcess(
@@ -279,7 +279,7 @@ bool cmWin32ProcessExecution::Wait(int timeout)
static void *_PyPopenProcs = NULL;
static BOOL RealPopenCreateProcess(const char *cmdstring,
- const char *path,
+ const char *path,
const char *szConsoleSpawn,
HANDLE hStdin,
HANDLE hStdout,
@@ -314,7 +314,7 @@ static BOOL RealPopenCreateProcess(const char *cmdstring,
++comshell;
if (GetVersion() < 0x80000000 &&
- STRICMP(comshell, "command.com") != 0)
+ STRICMP(comshell, "command.com") != 0)
{
/* NT/2000 and not using command.com. */
x = i + (int)strlen(s3) + (int)strlen(cmdstring) + 1;
@@ -323,7 +323,7 @@ static BOOL RealPopenCreateProcess(const char *cmdstring,
//sprintf(s2, "%s%s%s", s1, s3, cmdstring);
sprintf(s2, "%s", cmdstring);
}
- else
+ else
{
/*
* Oh gag, we're on Win9x or using COMMAND.COM. Use
@@ -337,22 +337,22 @@ static BOOL RealPopenCreateProcess(const char *cmdstring,
x = i+1;
modulepath[x] = '\0';
/* Create the full-name to w9xpopen, so we can test it exists */
- strncat(modulepath,
- szConsoleSpawn,
+ strncat(modulepath,
+ szConsoleSpawn,
(sizeof(modulepath)/sizeof(modulepath[0]))
-strlen(modulepath));
- if (stat(modulepath, &statinfo) != 0)
+ if (stat(modulepath, &statinfo) != 0)
{
- /* Eeek - file-not-found - possibly an embedding
- situation - see if we can locate it in sys.prefix
+ /* Eeek - file-not-found - possibly an embedding
+ situation - see if we can locate it in sys.prefix
*/
- strncpy(modulepath,
- ".",
+ strncpy(modulepath,
+ ".",
sizeof(modulepath)/sizeof(modulepath[0]));
if (modulepath[strlen(modulepath)-1] != '\\')
strcat(modulepath, "\\");
- strncat(modulepath,
- szConsoleSpawn,
+ strncat(modulepath,
+ szConsoleSpawn,
(sizeof(modulepath)/sizeof(modulepath[0]))
-strlen(modulepath));
/* No where else to look - raise an easily identifiable
@@ -361,20 +361,20 @@ static BOOL RealPopenCreateProcess(const char *cmdstring,
unaware this shim EXE is used, and it will confuse them.
(well, it confused me for a while ;-)
*/
- if (stat(modulepath, &statinfo) != 0)
+ if (stat(modulepath, &statinfo) != 0)
{
- std::cout
+ std::cout
<< "Can not locate '" << modulepath
<< "' which is needed "
"for popen to work with your shell "
- "or platform." << std::endl;
+ "or platform." << std::endl;
free(s1);
free(s2);
return FALSE;
}
}
x = i + (int)strlen(s3) + (int)strlen(cmdstring) + 1 +
- (int)strlen(modulepath) +
+ (int)strlen(modulepath) +
(int)strlen(szConsoleSpawn) + 1;
if(s2)
{
@@ -399,22 +399,22 @@ static BOOL RealPopenCreateProcess(const char *cmdstring,
/* Could be an else here to try cmd.exe / command.com in the path
Now we'll just error out.. */
- else
+ else
{
std::cout << "Cannot locate a COMSPEC environment variable to "
- << "use as the shell" << std::endl;
+ << "use as the shell" << std::endl;
free(s2);
free(s1);
return FALSE;
}
-
+
ZeroMemory(&siStartInfo, sizeof(STARTUPINFO));
siStartInfo.cb = sizeof(STARTUPINFO);
siStartInfo.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
siStartInfo.hStdInput = hStdin;
siStartInfo.hStdOutput = hStdout;
siStartInfo.hStdError = hStderr;
- siStartInfo.wShowWindow = SW_SHOWDEFAULT;
+ siStartInfo.wShowWindow = SW_SHOWDEFAULT;
if(hideWindows)
{
siStartInfo.wShowWindow = SW_HIDE;
@@ -430,7 +430,7 @@ static BOOL RealPopenCreateProcess(const char *cmdstring,
NULL,
path,
&siStartInfo,
- &piProcInfo) )
+ &piProcInfo) )
{
/* Close the handles now so anyone waiting is woken. */
CloseHandle(piProcInfo.hThread);
@@ -477,9 +477,9 @@ static BOOL RealPopenCreateProcess(const char *cmdstring,
/* The following code is based off of KB: Q190351 */
-bool cmWin32ProcessExecution::PrivateOpen(const char *cmdstring,
+bool cmWin32ProcessExecution::PrivateOpen(const char *cmdstring,
const char* path,
- int mode,
+ int mode,
int n)
{
HANDLE hProcess;
@@ -496,11 +496,11 @@ bool cmWin32ProcessExecution::PrivateOpen(const char *cmdstring,
this->hChildStdinWrDup = 0;
this->hChildStdoutRdDup = 0;
this->hChildStderrRdDup = 0;
-
+
saAttr.nLength = sizeof(SECURITY_ATTRIBUTES);
saAttr.bInheritHandle = TRUE;
saAttr.lpSecurityDescriptor = NULL;
-
+
fd1 = 0;
fd2 = 0;
fd3 = 0;
@@ -510,7 +510,7 @@ bool cmWin32ProcessExecution::PrivateOpen(const char *cmdstring,
this->Output += "CreatePipeError\n";
return false;
}
-
+
/* Create new output read handle and the input write handle. Set
* the inheritance properties to FALSE. Otherwise, the child inherits
* the these handles; resulting in non-closeable handles to the pipes
@@ -549,7 +549,7 @@ bool cmWin32ProcessExecution::PrivateOpen(const char *cmdstring,
that we're using. */
CloseHandle(hChildStdoutRd);
- if (n != POPEN_4)
+ if (n != POPEN_4)
{
if (!CreatePipe(&this->hChildStderrRd, &this->hChildStderrWr, &saAttr, 0))
{
@@ -570,11 +570,11 @@ bool cmWin32ProcessExecution::PrivateOpen(const char *cmdstring,
CloseHandle(hChildStderrRd);
}
-
- switch (n)
+
+ switch (n)
{
case POPEN_1:
- switch (mode & (_O_RDONLY | _O_TEXT | _O_BINARY | _O_WRONLY))
+ switch (mode & (_O_RDONLY | _O_TEXT | _O_BINARY | _O_WRONLY))
{
case _O_WRONLY | _O_TEXT:
/* Case for writing to child Stdin in text mode. */
@@ -606,18 +606,18 @@ bool cmWin32ProcessExecution::PrivateOpen(const char *cmdstring,
break;
}
break;
-
+
case POPEN_2:
- case POPEN_4:
- //if ( 1 )
+ case POPEN_4:
+ //if ( 1 )
{
fd1 = _open_osfhandle(TO_INTPTR(this->hChildStdinWrDup), mode);
fd2 = _open_osfhandle(TO_INTPTR(this->hChildStdoutRdDup), mode);
break;
}
-
+
case POPEN_3:
- //if ( 1)
+ //if ( 1)
{
fd1 = _open_osfhandle(TO_INTPTR(this->hChildStdinWrDup), mode);
fd2 = _open_osfhandle(TO_INTPTR(this->hChildStdoutRdDup), mode);
@@ -626,7 +626,7 @@ bool cmWin32ProcessExecution::PrivateOpen(const char *cmdstring,
}
}
- if (n == POPEN_4)
+ if (n == POPEN_4)
{
if (!RealPopenCreateProcess(cmdstring,
path,
@@ -652,7 +652,7 @@ bool cmWin32ProcessExecution::PrivateOpen(const char *cmdstring,
return 0;
}
}
- else
+ else
{
if (!RealPopenCreateProcess(cmdstring,
path,
@@ -852,15 +852,15 @@ bool cmWin32ProcessExecution::PrivateClose(int /* timeout */)
break;
}
}
- }
+ }
+
-
if (WaitForSingleObject(hProcess, INFINITE) != WAIT_FAILED &&
- GetExitCodeProcess(hProcess, &exit_code))
+ GetExitCodeProcess(hProcess, &exit_code))
{
result = exit_code;
- }
- else
+ }
+ else
{
/* Indicate failure - this will cause the file object
* to raise an I/O error and translate the last Win32
@@ -868,7 +868,7 @@ bool cmWin32ProcessExecution::PrivateClose(int /* timeout */)
* last errors that overlap the normal errno table,
* but that's a consistent problem with the file object.
*/
- if (result != EOF)
+ if (result != EOF)
{
/* If the error wasn't from the fclose(), then
* set errno for the file object error handling.
@@ -897,7 +897,7 @@ int cmWin32ProcessExecution::Windows9xHack(const char* command)
PROCESS_INFORMATION pi;
DWORD exit_code=0;
- if (!command)
+ if (!command)
{
cmSystemTools::Error("Windows9xHack: Command not specified");
return 1;
@@ -911,7 +911,7 @@ int cmWin32ProcessExecution::Windows9xHack(const char* command)
si.hStdOutput = GetStdHandle(STD_OUTPUT_HANDLE);
si.hStdError = GetStdHandle(STD_ERROR_HANDLE);
-
+
char * app = 0;
char* cmd = new char[ strlen(command) + 1 ];
strcpy(cmd, command);
@@ -925,9 +925,9 @@ int cmWin32ProcessExecution::Windows9xHack(const char* command)
);
delete [] cmd;
- if (bRet)
+ if (bRet)
{
- if (WaitForSingleObject(pi.hProcess, INFINITE) != WAIT_FAILED)
+ if (WaitForSingleObject(pi.hProcess, INFINITE) != WAIT_FAILED)
{
GetExitCodeProcess(pi.hProcess, &exit_code);
}
diff --git a/Source/cmWin32ProcessExecution.h b/Source/cmWin32ProcessExecution.h
index def69a8cc..98b6bda98 100644
--- a/Source/cmWin32ProcessExecution.h
+++ b/Source/cmWin32ProcessExecution.h
@@ -47,12 +47,12 @@ public:
~cmWin32ProcessExecution();
///! If true windows will be created hidden.
void SetHideWindows(bool v) { this->HideWindows = v; }
-
+
/**
* Initialize the process execution datastructure. Do not call while
* running the process.
*/
- void Initialize()
+ void Initialize()
{
this->ProcessHandle = 0;
this->ExitValue = -1;
@@ -65,7 +65,7 @@ public:
this->pStdOut = -1;
this->pStdErr = -1;
}
-
+
/**
* Start the process in the directory path. Make sure that the
* executable is either in the path or specify the full path. The
@@ -129,10 +129,10 @@ public:
* process. Every time there is something availabe for reading, we
* will display it in our app. Consequently, we check for input in
* our app and send it off to the write end of the stdin pipe.
- */
- static bool BorlandRunCommand(const char* command,
- const char* dir,
- std::string& output, int& retVal,
+ */
+ static bool BorlandRunCommand(const char* command,
+ const char* dir,
+ std::string& output, int& retVal,
bool verbose,
int timeout, bool hideWindows);
@@ -151,8 +151,8 @@ private:
HANDLE hChildStdinWrDup;
HANDLE hChildStdoutRdDup;
HANDLE hChildStderrRdDup;
-
-
+
+
int pStdIn;
int pStdOut;
int pStdErr;
diff --git a/Source/cmWriteFileCommand.cxx b/Source/cmWriteFileCommand.cxx
index b2acb2bc1..3642c6fba 100644
--- a/Source/cmWriteFileCommand.cxx
+++ b/Source/cmWriteFileCommand.cxx
@@ -71,7 +71,7 @@ bool cmWriteFileCommand
}
// If GetPermissions fails, pretend like it is ok. File open will fail if
// the file is not writable
- std::ofstream file(fileName.c_str(),
+ std::ofstream file(fileName.c_str(),
overwrite?std::ios::out : std::ios::app);
if ( !file )
{
diff --git a/Source/cmWriteFileCommand.h b/Source/cmWriteFileCommand.h
index 8808d32bb..771ef5a1b 100644
--- a/Source/cmWriteFileCommand.h
+++ b/Source/cmWriteFileCommand.h
@@ -24,7 +24,7 @@ public:
/**
* This is a virtual constructor for the command.
*/
- virtual cmCommand* Clone()
+ virtual cmCommand* Clone()
{
return new cmWriteFileCommand;
}
@@ -53,7 +53,7 @@ public:
{
return "Deprecated. Use the file(WRITE ) command instead.";
}
-
+
/**
* More documentation.
*/
@@ -71,7 +71,7 @@ public:
"lead to an infinite loop. Use configure_file if you want to generate "
"input files to CMake.";
}
-
+
/** This command is kept for compatibility with older CMake versions. */
virtual bool IsDiscouraged() const
{
diff --git a/Source/cmXCode21Object.cxx b/Source/cmXCode21Object.cxx
index c679cd8bf..855e1ad2f 100644
--- a/Source/cmXCode21Object.cxx
+++ b/Source/cmXCode21Object.cxx
@@ -79,20 +79,20 @@ void cmXCode21Object::PrintList(std::vector<cmXCodeObject*> const& v,
cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXBuildStyle);
cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXContainerItemProxy);
cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXFileReference);
- cmXCode21Object::PrintList(v, out,
+ cmXCode21Object::PrintList(v, out,
cmXCode21Object::PBXFrameworksBuildPhase);
cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXGroup);
cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXHeadersBuildPhase);
cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXNativeTarget);
cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXProject);
- cmXCode21Object::PrintList(v, out,
+ cmXCode21Object::PrintList(v, out,
cmXCode21Object::PBXShellScriptBuildPhase);
cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXResourcesBuildPhase);
cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXSourcesBuildPhase);
cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXCopyFilesBuildPhase);
- cmXCode21Object::PrintList(v, out,
+ cmXCode21Object::PrintList(v, out,
cmXCode21Object::PBXApplicationReference);
- cmXCode21Object::PrintList(v, out,
+ cmXCode21Object::PrintList(v, out,
cmXCode21Object::PBXExecutableFileReference);
cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXLibraryReference);
cmXCode21Object::PrintList(v, out, cmXCode21Object::PBXToolTarget);
diff --git a/Source/cmXCodeObject.cxx b/Source/cmXCodeObject.cxx
index 30ade9637..de150ee0f 100644
--- a/Source/cmXCodeObject.cxx
+++ b/Source/cmXCodeObject.cxx
@@ -16,13 +16,13 @@
//----------------------------------------------------------------------------
const char* cmXCodeObject::PBXTypeNames[] = {
- "PBXGroup", "PBXBuildStyle", "PBXProject", "PBXHeadersBuildPhase",
+ "PBXGroup", "PBXBuildStyle", "PBXProject", "PBXHeadersBuildPhase",
"PBXSourcesBuildPhase", "PBXFrameworksBuildPhase", "PBXNativeTarget",
- "PBXFileReference", "PBXBuildFile", "PBXContainerItemProxy",
- "PBXTargetDependency", "PBXShellScriptBuildPhase",
+ "PBXFileReference", "PBXBuildFile", "PBXContainerItemProxy",
+ "PBXTargetDependency", "PBXShellScriptBuildPhase",
"PBXResourcesBuildPhase", "PBXApplicationReference",
"PBXExecutableFileReference", "PBXLibraryReference", "PBXToolTarget",
- "PBXLibraryTarget", "PBXAggregateTarget", "XCBuildConfiguration",
+ "PBXLibraryTarget", "PBXAggregateTarget", "XCBuildConfiguration",
"XCConfigurationList",
"PBXCopyFilesBuildPhase",
"None"
@@ -92,7 +92,7 @@ void cmXCodeObject::Print(std::ostream& out)
{
std::string separator = "\n";
int indentFactor = 1;
- if(this->Version > 15
+ if(this->Version > 15
&& (this->IsA == PBXFileReference || this->IsA == PBXBuildFile))
{
separator = " ";
@@ -112,12 +112,12 @@ void cmXCodeObject::Print(std::ostream& out)
std::map<cmStdString, cmXCodeObject*>::iterator i;
cmXCodeObject::Indent(3*indentFactor, out);
out << "isa = " << PBXTypeNames[this->IsA] << ";" << separator;
- for(i = this->ObjectAttributes.begin();
+ for(i = this->ObjectAttributes.begin();
i != this->ObjectAttributes.end(); ++i)
- {
+ {
cmXCodeObject* object = i->second;
if(i->first != "isa")
- {
+ {
cmXCodeObject::Indent(3*indentFactor, out);
}
else
@@ -133,7 +133,7 @@ void cmXCodeObject::Print(std::ostream& out)
out << i->second->List[k]->Id << " ";
i->second->List[k]->PrintComment(out);
out << "," << separator;
- }
+ }
cmXCodeObject::Indent(3*indentFactor, out);
out << ");" << separator;
}
@@ -141,7 +141,7 @@ void cmXCodeObject::Print(std::ostream& out)
{
std::map<cmStdString, cmXCodeObject*>::iterator j;
out << i->first << " = {" << separator;
- for(j = object->ObjectAttributes.begin(); j !=
+ for(j = object->ObjectAttributes.begin(); j !=
object->ObjectAttributes.end(); ++j)
{
cmXCodeObject::Indent(4 *indentFactor, out);
@@ -209,11 +209,11 @@ void cmXCodeObject::Print(std::ostream& out)
cmXCodeObject::Indent(2*indentFactor, out);
out << "};\n";
}
-
+
//----------------------------------------------------------------------------
void cmXCodeObject::PrintList(std::vector<cmXCodeObject*> const& objs,
std::ostream& out)
-{
+{
cmXCodeObject::Indent(1, out);
out << "objects = {\n";
for(unsigned int i = 0; i < objs.size(); ++i)
diff --git a/Source/cmXCodeObject.h b/Source/cmXCodeObject.h
index 2fb96f30e..bb2d5b225 100644
--- a/Source/cmXCodeObject.h
+++ b/Source/cmXCodeObject.h
@@ -19,13 +19,13 @@ class cmXCodeObject
{
public:
enum Type { OBJECT_LIST, STRING, ATTRIBUTE_GROUP, OBJECT_REF, OBJECT };
- enum PBXType { PBXGroup, PBXBuildStyle, PBXProject, PBXHeadersBuildPhase,
- PBXSourcesBuildPhase, PBXFrameworksBuildPhase,
- PBXNativeTarget, PBXFileReference, PBXBuildFile,
+ enum PBXType { PBXGroup, PBXBuildStyle, PBXProject, PBXHeadersBuildPhase,
+ PBXSourcesBuildPhase, PBXFrameworksBuildPhase,
+ PBXNativeTarget, PBXFileReference, PBXBuildFile,
PBXContainerItemProxy, PBXTargetDependency,
PBXShellScriptBuildPhase, PBXResourcesBuildPhase,
- PBXApplicationReference, PBXExecutableFileReference,
- PBXLibraryReference, PBXToolTarget, PBXLibraryTarget,
+ PBXApplicationReference, PBXExecutableFileReference,
+ PBXLibraryReference, PBXToolTarget, PBXLibraryTarget,
PBXAggregateTarget,XCBuildConfiguration,XCConfigurationList,
PBXCopyFilesBuildPhase,
None
@@ -38,16 +38,16 @@ public:
PBXType GetIsA() { return this->IsA;}
void SetString(const char* s);
- const char* GetString()
+ const char* GetString()
{
return this->String.c_str();
}
-
+
void AddAttribute(const char* name, cmXCodeObject* value)
{
this->ObjectAttributes[name] = value;
}
-
+
void SetObject(cmXCodeObject* value)
{
this->Object = value;
@@ -60,14 +60,14 @@ public:
{
this->List.push_back(value);
}
- bool HasObject(cmXCodeObject* o)
+ bool HasObject(cmXCodeObject* o)
{
- return !(std::find(this->List.begin(), this->List.end(), o)
+ return !(std::find(this->List.begin(), this->List.end(), o)
== this->List.end());
}
void AddUniqueObject(cmXCodeObject* value)
{
- if(std::find(this->List.begin(), this->List.end(), value)
+ if(std::find(this->List.begin(), this->List.end(), value)
== this->List.end())
{
this->List.push_back(value);
@@ -77,7 +77,7 @@ public:
void Print(std::ostream& out);
virtual void PrintComment(std::ostream&) {};
- static void PrintList(std::vector<cmXCodeObject*> const&,
+ static void PrintList(std::vector<cmXCodeObject*> const&,
std::ostream& out);
const char* GetId()
{
@@ -119,7 +119,7 @@ public:
}
return 0;
}
-
+
cmXCodeObject* GetPBXTargetDependency()
{
return this->PBXTargetDependencyValue;
@@ -129,7 +129,7 @@ public:
this->PBXTargetDependencyValue = d;
}
void CopyAttributes(cmXCodeObject* );
-
+
void AddDependLibrary(const char* configName,
const char* l)
{
diff --git a/Source/cmXMLParser.cxx b/Source/cmXMLParser.cxx
index 46a1ca4aa..882fc172e 100644
--- a/Source/cmXMLParser.cxx
+++ b/Source/cmXMLParser.cxx
@@ -34,7 +34,7 @@ cmXMLParser::~cmXMLParser()
int cmXMLParser::Parse(const char* string)
{
return (int)this->InitializeParser() &&
- this->ParseChunk(string, strlen(string)) &&
+ this->ParseChunk(string, strlen(string)) &&
this->CleanupParser();
}
@@ -79,7 +79,7 @@ int cmXMLParser::InitializeParser()
}
//----------------------------------------------------------------------------
-int cmXMLParser::ParseChunk(const char* inputString,
+int cmXMLParser::ParseChunk(const char* inputString,
std::string::size_type length)
{
if ( !this->Parser )
@@ -116,11 +116,11 @@ int cmXMLParser::CleanupParser()
result = 0;
}
}
-
+
// Clean up the parser.
XML_ParserFree(static_cast<XML_Parser>(this->Parser));
this->Parser = 0;
-
+
return result;
}
@@ -128,7 +128,7 @@ int cmXMLParser::CleanupParser()
int cmXMLParser::ParseBuffer(const char* buffer, std::string::size_type count)
{
// Pass the buffer to the expat XML parser.
- if(!XML_Parse(static_cast<XML_Parser>(this->Parser), buffer,
+ if(!XML_Parse(static_cast<XML_Parser>(this->Parser), buffer,
static_cast<int>(count), 0))
{
this->ReportXmlParseError();
diff --git a/Source/cmXMLParser.h b/Source/cmXMLParser.h
index c72be5751..d916075e5 100644
--- a/Source/cmXMLParser.h
+++ b/Source/cmXMLParser.h
@@ -18,7 +18,7 @@ extern "C"
{
void cmXMLParserStartElement(void*, const char*, const char**);
void cmXMLParserEndElement(void*, const char*);
- void cmXMLParserCharacterDataHandler(void*, const char*, int);
+ void cmXMLParserCharacterDataHandler(void*, const char*, int);
}
/** \class cmXMLParser
@@ -37,7 +37,7 @@ public:
//! Parse given XML file
virtual int ParseFile(const char* file);
-
+
/**
* When parsing fragments of XML or streaming XML, use the following
* three methods. InitializeParser method initialize parser but does
@@ -47,7 +47,7 @@ public:
* them.
*/
virtual int InitializeParser();
- virtual int ParseChunk(const char* inputString,
+ virtual int ParseChunk(const char* inputString,
std::string::size_type length);
virtual int CleanupParser();
@@ -65,7 +65,7 @@ protected:
* terminating condition for parsing. Parsing always stops when the end of
* file is reached in the stream.
*/
-
+
virtual int ParsingComplete();
/**
@@ -75,28 +75,28 @@ protected:
* Even indices are attribute names, and odd indices are values.
*/
virtual void StartElement(const char* name, const char** atts);
-
+
//! Called at the end of an element in the XML source opened when
//StartElement was called.
virtual void EndElement(const char* name);
-
+
//! Called when there is character data to handle.
- virtual void CharacterDataHandler(const char* data, int length);
+ virtual void CharacterDataHandler(const char* data, int length);
//! Called by Parse to report an XML syntax error.
- virtual void ReportXmlParseError();
+ virtual void ReportXmlParseError();
/** Called by ReportXmlParseError with basic error info. */
virtual void ReportError(int line, int column, const char* msg);
//! Utility for convenience of subclasses. Wraps isspace C library
// routine.
- static int IsSpace(char c);
-
+ static int IsSpace(char c);
+
//! Send the given buffer to the XML parser.
- virtual int ParseBuffer(const char* buffer,
+ virtual int ParseBuffer(const char* buffer,
std::string::size_type length);
-
+
//! Send the given c-style string to the XML parser.
int ParseBuffer(const char* buffer);
diff --git a/Source/cmake.cxx b/Source/cmake.cxx
index fdc42fa2b..012342715 100644
--- a/Source/cmake.cxx
+++ b/Source/cmake.cxx
@@ -628,9 +628,14 @@ bool cmake::FindPackage(const std::vector<std::string>& args)
std::string linkLibs;
+ std::string frameworkPath;
+ std::string linkPath;
std::string flags;
std::string linkFlags;
- lg->GetTargetFlags(linkLibs, flags, linkFlags, *tgt);
+ cmGeneratorTarget gtgt(tgt);
+ lg->GetTargetFlags(linkLibs, frameworkPath, linkPath, flags, linkFlags,
+ &gtgt);
+ linkLibs = frameworkPath + linkPath + linkLibs;
printf("%s\n", linkLibs.c_str() );
@@ -1043,7 +1048,7 @@ int cmake::AddCMakePaths()
{
cMakeRoot = cMakeRoot.substr(0, slashPos);
}
- // is there no Modules direcory there?
+ // is there no Modules directory there?
modules = cMakeRoot + "/Modules/CMake.cmake";
}
@@ -1072,7 +1077,7 @@ int cmake::AddCMakePaths()
{
// next try exe
cMakeRoot = cmSystemTools::GetProgramPath(cMakeSelf.c_str());
- // is there no Modules direcory there?
+ // is there no Modules directory there?
modules = cMakeRoot + "/Modules/CMake.cmake";
}
if (!cmSystemTools::FileExists(modules.c_str()))
@@ -1421,7 +1426,7 @@ int cmake::ExecuteCMakeCommand(std::vector<std::string>& args)
int retval = 0;
int timeout = 0;
if ( cmSystemTools::RunSingleCommand(command.c_str(), 0, &retval,
- directory.c_str(), cmSystemTools::OUTPUT_MERGE, timeout) )
+ directory.c_str(), cmSystemTools::OUTPUT_NORMAL, timeout) )
{
return retval;
}
@@ -2184,6 +2189,7 @@ int cmake::ActualConfigure()
std::vector<std::string> vsVerions;
vsVerions.push_back("VisualStudio\\");
vsVerions.push_back("VCExpress\\");
+ vsVerions.push_back("WDExpress\\");
struct VSRegistryEntryName
{
const char* MSVersion;
@@ -2196,10 +2202,11 @@ int cmake::ActualConfigure()
{"8.0", "Visual Studio 8 2005"},
{"9.0", "Visual Studio 9 2008"},
{"10.0", "Visual Studio 10"},
+ {"11.0", "Visual Studio 11"},
{0, 0}};
- for(size_t b=0; b < vsVerions.size() && installedCompiler.empty(); b++)
+ for(int i=0; version[i].MSVersion != 0; i++)
{
- for(int i =0; version[i].MSVersion != 0; i++)
+ for(size_t b=0; b < vsVerions.size(); b++)
{
std::string reg = vsregBase + vsVerions[b] + version[i].MSVersion;
reg += ";InstallDir]";
@@ -2208,6 +2215,7 @@ int cmake::ActualConfigure()
if (!(reg == "/registry"))
{
installedCompiler = version[i].GeneratorName;
+ break;
}
}
}
@@ -2326,6 +2334,17 @@ int cmake::ActualConfigure()
this->CacheManager->RemoveCacheEntry("CMAKE_GENERATOR");
this->CacheManager->RemoveCacheEntry("CMAKE_EXTRA_GENERATOR");
}
+
+ cmMakefile* mf=this->GlobalGenerator->GetLocalGenerators()[0]->GetMakefile();
+ if (mf->IsOn("CTEST_USE_LAUNCHERS")
+ && !this->GetProperty("RULE_LAUNCH_COMPILE", cmProperty::GLOBAL))
+ {
+ cmSystemTools::Error("CTEST_USE_LAUNCHERS is enabled, but the "
+ "RULE_LAUNCH_COMPILE global property is not defined.\n"
+ "Did you forget to include(CTest) in the toplevel "
+ "CMakeLists.txt ?");
+ }
+
// only save the cache if there were no fatal errors
if ( this->GetWorkingMode() == NORMAL_MODE )
{
@@ -2438,9 +2457,6 @@ int cmake::Run(const std::vector<std::string>& args, bool noconfigure)
this->PreLoadCMakeFiles();
- std::string systemFile = this->GetHomeOutputDirectory();
- systemFile += "/CMakeSystem.cmake";
-
if ( noconfigure )
{
return 0;
diff --git a/Source/cmakewizard.cxx b/Source/cmakewizard.cxx
index cd427cb40..749f669d0 100644
--- a/Source/cmakewizard.cxx
+++ b/Source/cmakewizard.cxx
@@ -137,7 +137,7 @@ int cmakewizard::RunWizard(std::vector<std::string> const& args)
}
}
else
- {
+ {
if(this->ShowAdvanced || !i.GetPropertyAsBool("ADVANCED"))
{
this->AskUser(key.c_str(), i);
diff --git a/Source/cmakewizard.h b/Source/cmakewizard.h
index fcb2c7ae2..0c8dba93c 100644
--- a/Source/cmakewizard.h
+++ b/Source/cmakewizard.h
@@ -18,24 +18,24 @@ class cmakewizard
public:
cmakewizard();
virtual ~cmakewizard() {}
- /**
+ /**
* Prompt the user to see if they want to see advanced entries.
*/
virtual bool AskAdvanced();
-
+
/**
* Prompt the User for a new value for key, the answer is put in entry.
*/
virtual void AskUser(const char* key, cmCacheManager::CacheIterator& iter);
///! Show a message to wait for cmake to run.
virtual void ShowMessage(const char*);
-
- /**
- * Run cmake in wizard mode. This will coninue to ask the user questions
+
+ /**
+ * Run cmake in wizard mode. This will coninue to ask the user questions
* until there are no more entries in the cache.
*/
int RunWizard(std::vector<std::string>const& args);
-
+
private:
bool ShowAdvanced;
};
diff --git a/Source/cmakexbuild.cxx b/Source/cmakexbuild.cxx
index 8eaae4795..9aaeeaa4d 100644
--- a/Source/cmakexbuild.cxx
+++ b/Source/cmakexbuild.cxx
@@ -33,7 +33,7 @@ int RunXCode(std::vector<const char*>& argv, bool& hitbug)
int pipe = cmSystemTools::WaitForLine(cp, line, 100.0, out, err);
while(pipe != cmsysProcess_Pipe_None)
{
- if(line.find("/bin/sh: bad interpreter: Text file busy")
+ if(line.find("/bin/sh: bad interpreter: Text file busy")
!= line.npos)
{
hitbug = true;
@@ -69,7 +69,7 @@ int RunXCode(std::vector<const char*>& argv, bool& hitbug)
}
int main(int ac, char*av[])
-{
+{
std::vector<const char*> argv;
argv.push_back("xcodebuild");
for(int i =1; i < ac; i++)
diff --git a/Source/cmcldeps.cxx b/Source/cmcldeps.cxx
index 69df88d2a..34350bf7a 100644
--- a/Source/cmcldeps.cxx
+++ b/Source/cmcldeps.cxx
@@ -238,7 +238,9 @@ int main() {
// needed to suppress filename output of msvc tools
std::string srcfilename;
std::string::size_type pos = srcfile.rfind("\\");
- if (pos != std::string::npos) {
+ if (pos == std::string::npos) {
+ srcfilename = srcfile;
+ } else {
srcfilename = srcfile.substr(pos + 1);
}
diff --git a/Source/cmparseMSBuildXML.py b/Source/cmparseMSBuildXML.py
index 4877e5913..35b55ca25 100755
--- a/Source/cmparseMSBuildXML.py
+++ b/Source/cmparseMSBuildXML.py
@@ -6,10 +6,13 @@
# "${PROGRAMFILES}/MSBuild/Microsoft.Cpp/v4.0/1033/cl.xml"
# "${PROGRAMFILES}/MSBuild/Microsoft.Cpp/v4.0/1033/lib.xml"
# "${PROGRAMFILES}/MSBuild/Microsoft.Cpp/v4.0/1033/link.xml"
+# "${PROGRAMFILES}/MSBuild/Microsoft.Cpp/v4.0/V110/1033/cl.xml"
+# "${PROGRAMFILES}/MSBuild/Microsoft.Cpp/v4.0/V110/1033/lib.xml"
+# "${PROGRAMFILES}/MSBuild/Microsoft.Cpp/v4.0/V110/1033/link.xml"
#
# BoolProperty <Name>true|false</Name>
# simple example:
-# <BoolProperty ReverseSwitch="Oy-" Name="OmitFramePointers"
+# <BoolProperty ReverseSwitch="Oy-" Name="OmitFramePointers"
# Category="Optimization" Switch="Oy">
# <BoolProperty.DisplayName> <BoolProperty.Description>
# <CLCompile>
@@ -67,7 +70,7 @@
# <Optimization>MaxSpeed</Optimization>
# example for O1 would be this:
# <Optimization>MinSpace</Optimization>
-#
+#
# StringListProperty
# <StringListProperty Name="PreprocessorDefinitions" Category="Preprocessor" Switch="D ">
# <StringListProperty.DisplayName>
@@ -130,7 +133,7 @@ class Property:
if document is not None:
self.populate(document)
pass
-
+
#document = the dom file that's root node is the Property node (ex. if you were parsing a BoolProperty the root node should be something like <BoolProperty Name="RegisterOutput" Category="General" IncludeInCommandLine="false">
#spaces = do not use
def populate(self,document, spaces = ""):
@@ -148,16 +151,16 @@ class Property:
self.argumentProperty = child.getAttribute("Property")
self.argumentIsRequired = child.getAttribute("IsRequired")
if child.nodeName == self.prefix_type+"Value":
- va = Property(self.prefix_type,["Name","Switch"])
+ va = Property(self.prefix_type,["Name","DisplayName","Switch"])
va.suffix_type = "Value"
va.populate(child)
self.values.append(va)
self.populate(child,spaces+"----")
pass
- #toString function
+ #toString function
def __str__(self):
- toReturn = self.prefix_type+self.suffix_type+":"
+ toReturn = self.prefix_type+self.suffix_type+":"
for i in self.attributeNames:
toReturn += "\n "+i+": "+self.attributes[i]
if self.argumentProperty != "":
@@ -191,7 +194,7 @@ class MSBuildToCMake:
# self.<Name>Properties.append(Property("<Name>",[<List of attributes>],child))
#
#Replace <Name> with the name of the new property (ex. if property is StringProperty replace <Name> with String)
- #Replace <List of attributes> with a list of attributes in your property's root node
+ #Replace <List of attributes> with a list of attributes in your property's root node
#in the __init__ function add the line self.<Name>Properties = []
#
#That is all that is required to add new properties
@@ -203,11 +206,11 @@ class MSBuildToCMake:
if child.nodeName == "EnumProperty":
self.enumProperties.append(Property("Enum",["Name","Category"],child))
if child.nodeName == "StringProperty":
- self.stringProperties.append(Property("String",["Name","Subtype","Separator","Category","Visible","IncludeInCommandLine","Switch","ReadOnly"],child))
+ self.stringProperties.append(Property("String",["Name","Subtype","Separator","Category","Visible","IncludeInCommandLine","Switch","DisplayName","ReadOnly"],child))
if child.nodeName == "StringListProperty":
- self.stringListProperties.append(Property("StringList",["Name","Category","Switch","Subtype"],child))
+ self.stringListProperties.append(Property("StringList",["Name","Category","Switch","DisplayName","Subtype"],child))
if child.nodeName == "BoolProperty":
- self.boolProperties.append(Property("Bool",["ReverseSwitch","Name","Category","Switch","SwitchPrefix","IncludeInCommandLine"],child))
+ self.boolProperties.append(Property("Bool",["ReverseSwitch","Name","Category","Switch","DisplayName","SwitchPrefix","IncludeInCommandLine"],child))
if child.nodeName == "IntProperty":
self.intProperties.append(Property("Int",["Name","Category","Visible"],child))
self.populate(child,spaces+"----")
@@ -226,17 +229,17 @@ class MSBuildToCMake:
for j in i.values:
#hardcore Brad King's manual fixes for cmVS10CLFlagTable.h
if i.attributes["Name"] == "PrecompiledHeader" and j.attributes["Switch"] != "":
- toReturn+=" {\""+i.attributes["Name"]+"\", \""+j.attributes["Switch"]+"\",\n \""+j.DisplayName+"\", \""+j.attributes["Name"]+"\",\n cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},\n"
+ toReturn+=" {\""+i.attributes["Name"]+"\", \""+j.attributes["Switch"]+"\",\n \""+j.attributes["DisplayName"]+"\", \""+j.attributes["Name"]+"\",\n cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},\n"
else:
#default (normal, non-hardcoded) case
- toReturn+=" {\""+i.attributes["Name"]+"\", \""+j.attributes["Switch"]+"\",\n \""+j.DisplayName+"\", \""+j.attributes["Name"]+"\", 0},\n"
+ toReturn+=" {\""+i.attributes["Name"]+"\", \""+j.attributes["Switch"]+"\",\n \""+j.attributes["DisplayName"]+"\", \""+j.attributes["Name"]+"\", 0},\n"
toReturn += "\n"
if lastProp != {}:
for j in lastProp.values:
- toReturn+=" {\""+lastProp.attributes["Name"]+"\", \""+j.attributes["Switch"]+"\",\n \""+j.DisplayName+"\", \""+j.attributes["Name"]+"\", 0},\n"
+ toReturn+=" {\""+lastProp.attributes["Name"]+"\", \""+j.attributes["Switch"]+"\",\n \""+j.attributes["DisplayName"]+"\", \""+j.attributes["Name"]+"\", 0},\n"
toReturn += "\n"
-
+
toReturn += "\n //Bool Properties\n"
for i in self.boolProperties:
if i.argumentProperty == "":
@@ -250,17 +253,17 @@ class MSBuildToCMake:
if i.argumentProperty != "":
if i.attributes["ReverseSwitch"] != "":
toReturn += " {\""+i.attributes["Name"]+"\", \""+i.attributes["ReverseSwitch"]+"\", \"\", \"false\",\n cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},\n"
- toReturn += " {\""+i.attributes["Name"]+"\", \""+i.attributes["ReverseSwitch"]+"\", \""+i.DisplayName+"\", \"\",\n cmVS7FlagTable::UserValueRequired},\n"
+ toReturn += " {\""+i.attributes["Name"]+"\", \""+i.attributes["ReverseSwitch"]+"\", \""+i.attributes["DisplayName"]+"\", \"\",\n cmVS7FlagTable::UserValueRequired},\n"
if i.attributes["Switch"] != "":
toReturn += " {\""+i.attributes["Name"]+"\", \""+i.attributes["Switch"]+"\", \"\", \"true\",\n cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue},\n"
- toReturn += " {\""+i.argumentProperty+"\", \""+i.attributes["Switch"]+"\", \""+i.DisplayName+"\", \"\",\n cmVS7FlagTable::UserValueRequired},\n"
-
+ toReturn += " {\""+i.argumentProperty+"\", \""+i.attributes["Switch"]+"\", \""+i.attributes["DisplayName"]+"\", \"\",\n cmVS7FlagTable::UserValueRequired},\n"
+
toReturn += "\n //String List Properties\n"
for i in self.stringListProperties:
if i.attributes["Switch"] == "":
toReturn += " // Skip [" + i.attributes["Name"] + "] - no command line Switch.\n";
else:
- toReturn +=" {\""+i.attributes["Name"]+"\", \""+i.attributes["Switch"]+"\",\n \""+i.DisplayName+"\",\n \"\", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},\n"
+ toReturn +=" {\""+i.attributes["Name"]+"\", \""+i.attributes["Switch"]+"\",\n \""+i.attributes["DisplayName"]+"\",\n \"\", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable},\n"
toReturn += "\n //String Properties\n"
for i in self.stringProperties:
@@ -276,7 +279,7 @@ class MSBuildToCMake:
else:
toReturn += " // Skip [" + i.attributes["Name"] + "] - no command line Switch.\n";
else:
- toReturn +=" {\""+i.attributes["Name"]+"\", \""+i.attributes["Switch"]+i.attributes["Separator"]+"\",\n \""+i.DisplayName+"\",\n \"\", cmVS7FlagTable::UserValue},\n"
+ toReturn +=" {\""+i.attributes["Name"]+"\", \""+i.attributes["Switch"]+i.attributes["Separator"]+"\",\n \""+i.attributes["DisplayName"]+"\",\n \"\", cmVS7FlagTable::UserValue},\n"
toReturn += " {0,0,0,0,0}\n};"
return toReturn
@@ -289,7 +292,7 @@ class MSBuildToCMake:
for p in allList:
for i in p:
toReturn += "==================================================\n"+str(i).replace("\n","\n ")+"\n==================================================\n"
-
+
return toReturn
###########################################################################################
@@ -305,8 +308,8 @@ def main(argv):
for i in range(0,len(argv)):
if argv[i] == "-x":
xml_file = argv[i+1]
- if argv[i] == "-h":
- print help
+ if argv[i] == "-h":
+ print help
sys.exit(0)
pass
if xml_file == None:
diff --git a/Source/cmw9xcom.cxx b/Source/cmw9xcom.cxx
index 4ba274965..e6014b325 100644
--- a/Source/cmw9xcom.cxx
+++ b/Source/cmw9xcom.cxx
@@ -22,7 +22,7 @@ int main (int argc, char *argv[])
return 1;
}
std::string arg = argv[1];
- if ( (arg.find_first_of(" ") != arg.npos) &&
+ if ( (arg.find_first_of(" ") != arg.npos) &&
(arg.find_first_of("\"") == arg.npos) )
{
arg = "\"" + arg + "\"";
@@ -32,7 +32,7 @@ int main (int argc, char *argv[])
for ( cc = 2; cc < argc; cc ++ )
{
std::string arg = argv[cc];
- if ( (arg.find_first_of(" ") != arg.npos) &&
+ if ( (arg.find_first_of(" ") != arg.npos) &&
(arg.find_first_of("\"") == arg.npos) )
{
arg = "\"" + arg + "\"";
diff --git a/Templates/CMakeVisualStudio6Configurations.cmake b/Templates/CMakeVisualStudio6Configurations.cmake
index a9db2eeba..6355969ab 100644
--- a/Templates/CMakeVisualStudio6Configurations.cmake
+++ b/Templates/CMakeVisualStudio6Configurations.cmake
@@ -1,3 +1,3 @@
-# When the dll templates are changed, this list should be
+# When the dll templates are changed, this list should be
# updated with the list of possible configurations.
-SET(CMAKE_CONFIGURATION_TYPES Debug Release MinSizeRel RelWithDebInfo)
+set(CMAKE_CONFIGURATION_TYPES Debug Release MinSizeRel RelWithDebInfo)
diff --git a/Templates/CTestScript.cmake.in b/Templates/CTestScript.cmake.in
index 63bd26f47..5fb3529e4 100644
--- a/Templates/CTestScript.cmake.in
+++ b/Templates/CTestScript.cmake.in
@@ -1,26 +1,26 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.4)
+cmake_minimum_required(VERSION 2.4)
# This is a template for the CTest script for this system
-SET(CTEST_SITE "@SITE@")
-SET(CTEST_BUILD_NAME "@BUILDNAME@")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "@BUILDNAME@")
# ---
-SET(CTEST_SOURCE_DIRECTORY "@CMAKE_SOURCE_DIR@")
-SET(CTEST_BINARY_DIRECTORY "@CMAKE_BINARY_DIR@")
-SET(CTEST_UPDATE_COMMAND "@UPDATE_COMMAND@")
-SET(CTEST_UPDATE_OPTIONS "@UPDATE_OPTIONS@")
-SET(CTEST_CMAKE_GENERATOR "@CMAKE_GENERATOR@")
-SET(CTEST_BUILD_CONFIGURATION "Release")
-#SET(CTEST_MEMORYCHECK_COMMAND "@MEMORYCHECK_COMMAND@")
-#SET(CTEST_MEMORYCHECK_SUPPRESSIONS_FILE "@MEMORYCHECK_SUPPRESSIONS_FILE@")
-#SET(CTEST_MEMORYCHECK_COMMAND_OPTIONS "@MEMORYCHECK_COMMAND_OPTIONS@")
-#SET(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
-SET(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+set(CTEST_SOURCE_DIRECTORY "@CMAKE_SOURCE_DIR@")
+set(CTEST_BINARY_DIRECTORY "@CMAKE_BINARY_DIR@")
+set(CTEST_UPDATE_COMMAND "@UPDATE_COMMAND@")
+set(CTEST_UPDATE_OPTIONS "@UPDATE_OPTIONS@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "Release")
+#set(CTEST_MEMORYCHECK_COMMAND "@MEMORYCHECK_COMMAND@")
+#set(CTEST_MEMORYCHECK_SUPPRESSIONS_FILE "@MEMORYCHECK_SUPPRESSIONS_FILE@")
+#set(CTEST_MEMORYCHECK_COMMAND_OPTIONS "@MEMORYCHECK_COMMAND_OPTIONS@")
+#set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
#CTEST_EMPTY_BINARY_DIRECTORY(${CTEST_BINARY_DIRECTORY})
-SET(CTEST_DROP_METHOD "@DROP_METHOD@")
+set(CTEST_DROP_METHOD "@DROP_METHOD@")
CTEST_START(Experimental TRACK Weekly)
CTEST_UPDATE(SOURCE "${CTEST_SOURCE_DIRECTORY}")
diff --git a/Templates/DLLHeader.dsptemplate b/Templates/DLLHeader.dsptemplate
index c752fdbf4..d9bccaf56 100644
--- a/Templates/DLLHeader.dsptemplate
+++ b/Templates/DLLHeader.dsptemplate
@@ -59,13 +59,13 @@ RSC=rc.exe
# PROP Target_Dir ""
# ADD BASE CPP /nologo /D "WIN32" /D "_WINDOWS" /D "_USRDLL" OUTPUT_LIBNAME_EXPORTS /FD /c
# ADD CPP /nologo /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /FD /c
-# ADD CPP BUILD_INCLUDES EXTRA_DEFINES OUTPUT_LIBNAME_EXPORTS
+# ADD CPP BUILD_INCLUDES_RELEASE EXTRA_DEFINES OUTPUT_LIBNAME_EXPORTS
# ADD CPP CMAKE_CXX_FLAGS
# ADD CPP CMAKE_CXX_FLAGS_RELEASE
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC BUILD_INCLUDES /l 0x409 /d "NDEBUG"
+# ADD RSC BUILD_INCLUDES_RELEASE /l 0x409 /d "NDEBUG"
# ADD RSC COMPILE_DEFINITIONS
# ADD RSC COMPILE_DEFINITIONS_RELEASE
BSC32=bscmake.exe
@@ -93,13 +93,13 @@ CMAKE_CUSTOM_RULE_CODE_RELEASE
# PROP Target_Dir ""
# ADD BASE CPP /nologo /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" OUTPUT_LIBNAME_EXPORTS /FD /c
# ADD CPP /nologo /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_USRDLL" /FD /c
-# ADD CPP BUILD_INCLUDES EXTRA_DEFINES OUTPUT_LIBNAME_EXPORTS
+# ADD CPP BUILD_INCLUDES_DEBUG EXTRA_DEFINES OUTPUT_LIBNAME_EXPORTS
# ADD CPP CMAKE_CXX_FLAGS
# ADD CPP CMAKE_CXX_FLAGS_DEBUG
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC BUILD_INCLUDES /l 0x409 /d "_DEBUG"
+# ADD RSC BUILD_INCLUDES_DEBUG /l 0x409 /d "_DEBUG"
# ADD RSC COMPILE_DEFINITIONS
# ADD RSC COMPILE_DEFINITIONS_DEBUG
BSC32=bscmake.exe
@@ -129,13 +129,13 @@ CMAKE_CUSTOM_RULE_CODE_DEBUG
# ADD BASE CPP /nologo /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /FD /c OUTPUT_LIBNAME_EXPORTS
# SUBTRACT BASE CPP /YX
# ADD CPP /nologo /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /FD /c
-# ADD CPP BUILD_INCLUDES EXTRA_DEFINES OUTPUT_LIBNAME_EXPORTS
+# ADD CPP BUILD_INCLUDES_MINSIZEREL EXTRA_DEFINES OUTPUT_LIBNAME_EXPORTS
# ADD CPP CMAKE_CXX_FLAGS
# ADD CPP CMAKE_CXX_FLAGS_MINSIZEREL
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC BUILD_INCLUDES /l 0x409 /d "NDEBUG"
+# ADD RSC BUILD_INCLUDES_MINSIZEREL /l 0x409 /d "NDEBUG"
# ADD RSC COMPILE_DEFINITIONS
# ADD RSC COMPILE_DEFINITIONS_MINSIZEREL
BSC32=bscmake.exe
@@ -163,13 +163,13 @@ CMAKE_CUSTOM_RULE_CODE_MINSIZEREL
# PROP Target_Dir ""
# ADD BASE CPP /nologo /D "WIN32" /D "_WINDOWS" /D "_USRDLL" OUTPUT_LIBNAME_EXPORTS /FD /c
# ADD CPP /nologo /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /FD /c
-# ADD CPP BUILD_INCLUDES EXTRA_DEFINES OUTPUT_LIBNAME_EXPORTS
+# ADD CPP BUILD_INCLUDES_RELWITHDEBINFO EXTRA_DEFINES OUTPUT_LIBNAME_EXPORTS
# ADD CPP CMAKE_CXX_FLAGS
# ADD CPP CMAKE_CXX_FLAGS_RELWITHDEBINFO
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC BUILD_INCLUDES /l 0x409 /d "NDEBUG"
+# ADD RSC BUILD_INCLUDES_RELWITHDEBINFO /l 0x409 /d "NDEBUG"
# ADD RSC COMPILE_DEFINITIONS
# ADD RSC COMPILE_DEFINITIONS_RELWITHDEBINFO
BSC32=bscmake.exe
diff --git a/Templates/EXEHeader.dsptemplate b/Templates/EXEHeader.dsptemplate
index f48eaccbc..3a6d2feb1 100644
--- a/Templates/EXEHeader.dsptemplate
+++ b/Templates/EXEHeader.dsptemplate
@@ -58,11 +58,11 @@ RSC=rc.exe
# PROP Target_Dir ""
# ADD BASE CPP /nologo /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /FD /c
# ADD CPP /nologo /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /FD /c
-# ADD CPP BUILD_INCLUDES EXTRA_DEFINES OUTPUT_LIBNAME_EXPORTS
+# ADD CPP BUILD_INCLUDES_RELEASE EXTRA_DEFINES OUTPUT_LIBNAME_EXPORTS
# ADD CPP CMAKE_CXX_FLAGS
# ADD CPP CMAKE_CXX_FLAGS_RELEASE
# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC BUILD_INCLUDES /l 0x409 /d "NDEBUG"
+# ADD RSC BUILD_INCLUDES_RELEASE /l 0x409 /d "NDEBUG"
# ADD RSC COMPILE_DEFINITIONS
# ADD RSC COMPILE_DEFINITIONS_RELEASE
BSC32=bscmake.exe
@@ -90,13 +90,13 @@ CMAKE_CUSTOM_RULE_CODE_RELEASE
# PROP Target_Dir ""
# ADD BASE CPP /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /FD /GZ /c
# ADD CPP /nologo /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /FD /GZ /c
-# ADD CPP BUILD_INCLUDES EXTRA_DEFINES OUTPUT_LIBNAME_EXPORTS
+# ADD CPP BUILD_INCLUDES_DEBUG EXTRA_DEFINES OUTPUT_LIBNAME_EXPORTS
# ADD CPP CMAKE_CXX_FLAGS
# ADD CPP CMAKE_CXX_FLAGS_DEBUG
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC BUILD_INCLUDES /l 0x409 /d "_DEBUG"
+# ADD RSC BUILD_INCLUDES_DEBUG /l 0x409 /d "_DEBUG"
# ADD RSC COMPILE_DEFINITIONS
# ADD RSC COMPILE_DEFINITIONS_DEBUG
BSC32=bscmake.exe
@@ -122,12 +122,12 @@ CMAKE_CUSTOM_RULE_CODE_DEBUG
# PROP Intermediate_Dir "MinSizeRel"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /FD /c
-# ADD CPP /nologo /D "WIN32" BUILD_INCLUDES EXTRA_DEFINES /D "NDEBUG" /D "_CONSOLE" /FD /c
-# ADD CPP BUILD_INCLUDES EXTRA_DEFINES OUTPUT_LIBNAME_EXPORTS
+# ADD CPP /nologo /D "WIN32" BUILD_INCLUDES_MINSIZEREL EXTRA_DEFINES /D "NDEBUG" /D "_CONSOLE" /FD /c
+# ADD CPP BUILD_INCLUDES_MINSIZEREL EXTRA_DEFINES OUTPUT_LIBNAME_EXPORTS
# ADD CPP CMAKE_CXX_FLAGS
# ADD CPP CMAKE_CXX_FLAGS_MINSIZEREL
# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC BUILD_INCLUDES /l 0x409 /d "NDEBUG"
+# ADD RSC BUILD_INCLUDES_MINSIZEREL /l 0x409 /d "NDEBUG"
# ADD RSC COMPILE_DEFINITIONS
# ADD RSC COMPILE_DEFINITIONS_MINSIZEREL
BSC32=bscmake.exe
@@ -155,11 +155,11 @@ CMAKE_CUSTOM_RULE_CODE_MINSIZEREL
# PROP Target_Dir ""
# ADD BASE CPP /nologo /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /FD /c
# ADD CPP /nologo /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /FD /c
-# ADD CPP BUILD_INCLUDES EXTRA_DEFINES OUTPUT_LIBNAME_EXPORTS
+# ADD CPP BUILD_INCLUDES_RELWITHDEBINFO EXTRA_DEFINES OUTPUT_LIBNAME_EXPORTS
# ADD CPP CMAKE_CXX_FLAGS
# ADD CPP CMAKE_CXX_FLAGS_RELWITHDEBINFO
# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC BUILD_INCLUDES /l 0x409 /d "NDEBUG"
+# ADD RSC BUILD_INCLUDES_RELWITHDEBINFO /l 0x409 /d "NDEBUG"
# ADD RSC COMPILE_DEFINITIONS
# ADD RSC COMPILE_DEFINITIONS_RELWITHDEBINFO
BSC32=bscmake.exe
diff --git a/Templates/EXEWinHeader.dsptemplate b/Templates/EXEWinHeader.dsptemplate
index e0d226479..350e3ea00 100644
--- a/Templates/EXEWinHeader.dsptemplate
+++ b/Templates/EXEWinHeader.dsptemplate
@@ -58,13 +58,13 @@ RSC=rc.exe
# PROP Target_Dir ""
# ADD BASE CPP /nologo /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c
# ADD CPP /nologo /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c
-# ADD CPP BUILD_INCLUDES EXTRA_DEFINES OUTPUT_LIBNAME_EXPORTS
+# ADD CPP BUILD_INCLUDES_RELEASE EXTRA_DEFINES OUTPUT_LIBNAME_EXPORTS
# ADD CPP CMAKE_CXX_FLAGS
# ADD CPP CMAKE_CXX_FLAGS_RELEASE
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC BUILD_INCLUDES /l 0x409 /d "NDEBUG"
+# ADD RSC BUILD_INCLUDES_RELEASE /l 0x409 /d "NDEBUG"
# ADD RSC COMPILE_DEFINITIONS
# ADD RSC COMPILE_DEFINITIONS_RELEASE
BSC32=bscmake.exe
@@ -92,13 +92,13 @@ CMAKE_CUSTOM_RULE_CODE_RELEASE
# PROP Target_Dir ""
# ADD BASE CPP /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c
# ADD CPP /nologo /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /GZ /c
-# ADD CPP BUILD_INCLUDES EXTRA_DEFINES OUTPUT_LIBNAME_EXPORTS
+# ADD CPP BUILD_INCLUDES_DEBUG EXTRA_DEFINES OUTPUT_LIBNAME_EXPORTS
# ADD CPP CMAKE_CXX_FLAGS
# ADD CPP CMAKE_CXX_FLAGS_DEBUG
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC BUILD_INCLUDES /l 0x409 /d "_DEBUG"
+# ADD RSC BUILD_INCLUDES_DEBUG /l 0x409 /d "_DEBUG"
# ADD RSC COMPILE_DEFINITIONS
# ADD RSC COMPILE_DEFINITIONS_DEBUG
BSC32=bscmake.exe
@@ -125,11 +125,11 @@ CMAKE_CUSTOM_RULE_CODE_DEBUG
# PROP Target_Dir ""
# ADD BASE CPP /nologo /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c
# ADD CPP /nologo /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c
-# ADD CPP BUILD_INCLUDES EXTRA_DEFINES OUTPUT_LIBNAME_EXPORTS
+# ADD CPP BUILD_INCLUDES_MINSIZEREL EXTRA_DEFINES OUTPUT_LIBNAME_EXPORTS
# ADD CPP CMAKE_CXX_FLAGS
# ADD CPP CMAKE_CXX_FLAGS_MINSIZEREL
# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC BUILD_INCLUDES /l 0x409 /d "NDEBUG"
+# ADD RSC BUILD_INCLUDES_MINSIZEREL /l 0x409 /d "NDEBUG"
# ADD RSC COMPILE_DEFINITIONS
# ADD RSC COMPILE_DEFINITIONS_MINSIZEREL
BSC32=bscmake.exe
@@ -157,13 +157,13 @@ CMAKE_CUSTOM_RULE_CODE_MINSIZEREL
# PROP Target_Dir ""
# ADD BASE CPP /nologo /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c
# ADD CPP /nologo /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c
-# ADD CPP BUILD_INCLUDES EXTRA_DEFINES OUTPUT_LIBNAME_EXPORTS
+# ADD CPP BUILD_INCLUDES_RELWITHDEBINFO EXTRA_DEFINES OUTPUT_LIBNAME_EXPORTS
# ADD CPP CMAKE_CXX_FLAGS
# ADD CPP CMAKE_CXX_FLAGS_RELWITHDEBINFO
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC BUILD_INCLUDES /l 0x409 /d "NDEBUG"
+# ADD RSC BUILD_INCLUDES_RELWITHDEBINFO /l 0x409 /d "NDEBUG"
# ADD RSC COMPILE_DEFINITIONS
# ADD RSC COMPILE_DEFINITIONS_RELWITHDEBINFO
BSC32=bscmake.exe
diff --git a/Templates/TestDriver.cxx.in b/Templates/TestDriver.cxx.in
index 9e5303004..f4510bb55 100644
--- a/Templates/TestDriver.cxx.in
+++ b/Templates/TestDriver.cxx.in
@@ -64,7 +64,7 @@ int main(int ac, char *av[])
int testToRun = -1;
@CMAKE_TESTDRIVER_ARGVC_FUNCTION@
-
+
for(count =0; cmakeGeneratedFunctionMapEntries[count].name != 0; count++)
{
}
@@ -141,8 +141,8 @@ int main(int ac, char *av[])
@CMAKE_TESTDRIVER_AFTER_TESTMAIN@
return result;
}
-
-
+
+
/* Nothing was run, display the test names. */
printf("Available tests:\n");
for (i =0; i < NumTests; ++i)
@@ -150,6 +150,6 @@ int main(int ac, char *av[])
printf("%3d. %s\n", i, cmakeGeneratedFunctionMapEntries[i].name);
}
printf("Failed: %s is an invalid test name.\n", av[1]);
-
+
return -1;
}
diff --git a/Templates/cygwin-package.sh.in b/Templates/cygwin-package.sh.in
index 8482e7e4d..69b6c0f6f 100755
--- a/Templates/cygwin-package.sh.in
+++ b/Templates/cygwin-package.sh.in
@@ -10,11 +10,11 @@ TOP_DIR=`cd \`echo "$0" | sed -n '/\//{s/\/[^\/]*$//;p;}'\`;pwd`
mkdirs()
{
(
- mkdir -p "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build"
+ mkdir -p "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build"
)
}
-# cd into
+# cd into
# untar source tree and apply patch
prep()
{
@@ -31,7 +31,7 @@ prep()
conf()
{
(
- cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" &&
+ cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" &&
cmake ..
)
}
@@ -60,8 +60,8 @@ pkg()
{
(
cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" &&
- cpack &&
- mv @CPACK_PACKAGE_FILE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@.tar.bz2 "$TOP_DIR"
+ cpack &&
+ mv @CPACK_PACKAGE_FILE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@.tar.bz2 "$TOP_DIR"
)
}
@@ -71,7 +71,7 @@ spkg()
(
cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" &&
cpack --config CPackSourceConfig.cmake &&
- mv @CPACK_PACKAGE_FILE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@-src.tar.bz2 "$TOP_DIR"
+ mv @CPACK_PACKAGE_FILE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@-src.tar.bz2 "$TOP_DIR"
)
}
diff --git a/Templates/staticLibHeader.dsptemplate b/Templates/staticLibHeader.dsptemplate
index 16b784e17..a8892e124 100644
--- a/Templates/staticLibHeader.dsptemplate
+++ b/Templates/staticLibHeader.dsptemplate
@@ -55,11 +55,11 @@ RSC=rc.exe
# PROP Target_Dir ""
# ADD BASE CPP /nologo /D "WIN32" /D "NDEBUG" /D "_LIB" /FD /c
# ADD CPP /nologo /D "NDEBUG" /D "WIN32" /D "_LIB" /FD /c
-# ADD CPP BUILD_INCLUDES EXTRA_DEFINES
+# ADD CPP BUILD_INCLUDES_RELEASE EXTRA_DEFINES
# ADD CPP CMAKE_CXX_FLAGS
# ADD CPP CMAKE_CXX_FLAGS_RELEASE
# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC BUILD_INCLUDES /l 0x409 /d "NDEBUG"
+# ADD RSC BUILD_INCLUDES_RELEASE /l 0x409 /d "NDEBUG"
# ADD RSC COMPILE_DEFINITIONS
# ADD RSC COMPILE_DEFINITIONS_RELEASE
BSC32=bscmake.exe
@@ -85,11 +85,11 @@ CMAKE_CUSTOM_RULE_CODE_RELEASE
# PROP Target_Dir ""
# ADD BASE CPP /nologo /D "WIN32" /D "_DEBUG" /D "_LIB" /FD /c
# ADD CPP /nologo /D "_DEBUG" /D "WIN32" /D "_LIB" /FD /GZ /c
-# ADD CPP BUILD_INCLUDES EXTRA_DEFINES
+# ADD CPP BUILD_INCLUDES_DEBUG EXTRA_DEFINES
# ADD CPP CMAKE_CXX_FLAGS
# ADD CPP CMAKE_CXX_FLAGS_DEBUG
# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC BUILD_INCLUDES /l 0x409 /d "_DEBUG"
+# ADD RSC BUILD_INCLUDES_DEBUG /l 0x409 /d "_DEBUG"
# ADD RSC COMPILE_DEFINITIONS
# ADD RSC COMPILE_DEFINITIONS_DEBUG
BSC32=bscmake.exe
@@ -116,11 +116,11 @@ CMAKE_CUSTOM_RULE_CODE_DEBUG
# PROP Target_Dir ""
# ADD BASE CPP /nologo /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "_ATL_DLL" /FD /c
# ADD CPP /nologo /D "NDEBUG" /D "_ATL_DLL" /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /FD /c
-# ADD CPP BUILD_INCLUDES EXTRA_DEFINES
+# ADD CPP BUILD_INCLUDES_MINSIZEREL EXTRA_DEFINES
# ADD CPP CMAKE_CXX_FLAGS
# ADD CPP CMAKE_CXX_FLAGS_MINSIZEREL
# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC BUILD_INCLUDES /l 0x409 /d "NDEBUG"
+# ADD RSC BUILD_INCLUDES_MINSIZEREL /l 0x409 /d "NDEBUG"
# ADD RSC COMPILE_DEFINITIONS
# ADD RSC COMPILE_DEFINITIONS_MINSIZEREL
BSC32=bscmake.exe
@@ -146,11 +146,11 @@ CMAKE_CUSTOM_RULE_CODE_MINSIZEREL
# PROP Target_Dir ""
# ADD BASE CPP /nologo /D "WIN32" /D "NDEBUG" /D "_LIB" /FD /c
# ADD CPP /nologo /D "NDEBUG" /D "WIN32" /D "_LIB" /FD /c
-# ADD CPP BUILD_INCLUDES EXTRA_DEFINES
+# ADD CPP BUILD_INCLUDES_RELWITHDEBINFO EXTRA_DEFINES
# ADD CPP CMAKE_CXX_FLAGS
# ADD CPP CMAKE_CXX_FLAGS_RELWITHDEBINFO
# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC BUILD_INCLUDES /l 0x409 /d "NDEBUG"
+# ADD RSC BUILD_INCLUDES_RELWITHDEBINFO /l 0x409 /d "NDEBUG"
# ADD RSC COMPILE_DEFINITIONS
# ADD RSC COMPILE_DEFINITIONS_RELWITHDEBINFO
BSC32=bscmake.exe
diff --git a/Tests/ArgumentExpansion/CMakeLists.txt b/Tests/ArgumentExpansion/CMakeLists.txt
index a24636f58..173540067 100644
--- a/Tests/ArgumentExpansion/CMakeLists.txt
+++ b/Tests/ArgumentExpansion/CMakeLists.txt
@@ -8,7 +8,7 @@ function (argument_tester expected expected_len)
if (NOT ${expected_received_len} EQUAL ${expected_len})
message(STATUS "Unexpected: Expanding expected values isn't working")
- endif (NOT ${expected_received_len} EQUAL ${expected_len})
+ endif ()
if (${argn_len} EQUAL ${expected_len})
set(i 0)
@@ -23,13 +23,13 @@ function (argument_tester expected expected_len)
endif ()
math(EXPR i "${i} + 1")
- endwhile (i LESS ${argn_len})
- else (${argn_len} EQUAL ${expected_len})
+ endwhile ()
+ else ()
message(STATUS "Unexpected: Lengths of arguments don't match")
message(STATUS " Expected: ${expected_len}")
message(STATUS " Received: ${argn_len}")
- endif (${argn_len} EQUAL ${expected_len})
-endfunction (argument_tester expected)
+ endif ()
+endfunction ()
set(empty_test)
message(STATUS "Test: Empty arguments")
diff --git a/Tests/Assembler/CMakeLists.txt b/Tests/Assembler/CMakeLists.txt
index 456e4961f..bb4bcccbe 100644
--- a/Tests/Assembler/CMakeLists.txt
+++ b/Tests/Assembler/CMakeLists.txt
@@ -7,10 +7,14 @@ set(SRCS)
# (at least) the following toolchains can process assembler files directly
# and also generate assembler files from C:
-if("${CMAKE_GENERATOR}" MATCHES "Makefile")
- if(("${CMAKE_C_COMPILER_ID}" MATCHES "^(GNU|HP|SunPro|XL)$") OR ("${CMAKE_C_COMPILER_ID}" STREQUAL "Intel" AND UNIX))
+if("${CMAKE_GENERATOR}" MATCHES "Makefile|Xcode" AND
+ NOT CMAKE_OSX_ARCHITECTURES)
+ if(("${CMAKE_C_COMPILER_ID}" MATCHES "^(GNU|Clang|HP|SunPro|XL)$") OR ("${CMAKE_C_COMPILER_ID}" STREQUAL "Intel" AND UNIX))
set(C_FLAGS "${CMAKE_C_FLAGS}")
separate_arguments(C_FLAGS)
+ if(CMAKE_OSX_SYSROOT AND CMAKE_C_SYSROOT_FLAG AND NOT ";${C_FLAGS};" MATCHES ";${CMAKE_C_SYSROOT_FLAG};")
+ list(APPEND C_FLAGS ${CMAKE_C_SYSROOT_FLAG} ${CMAKE_OSX_SYSROOT})
+ endif()
set(SRCS main.s)
add_custom_command(
OUTPUT main.s
@@ -18,16 +22,16 @@ if("${CMAKE_GENERATOR}" MATCHES "Makefile")
DEPENDS main.c
VERBATIM
)
- endif(("${CMAKE_C_COMPILER_ID}" MATCHES "^(GNU|HP|SunPro|XL)$") OR ("${CMAKE_C_COMPILER_ID}" STREQUAL "Intel" AND UNIX))
-endif("${CMAKE_GENERATOR}" MATCHES "Makefile")
+ endif()
+endif()
if(SRCS)
set(CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS}")
enable_language(ASM OPTIONAL)
-else(SRCS)
+else()
message(STATUS "No assembler enabled, using C")
set(SRCS main.c)
-endif(SRCS)
+endif()
add_executable(HelloAsm ${SRCS})
diff --git a/Tests/BuildDepends/CMakeLists.txt b/Tests/BuildDepends/CMakeLists.txt
index 5e36d11b4..2a70b6eae 100644
--- a/Tests/BuildDepends/CMakeLists.txt
+++ b/Tests/BuildDepends/CMakeLists.txt
@@ -1,9 +1,9 @@
# this test creates a static library and an executable
-# the source to the library is then changed
+# the source to the library is then changed
# and the build is done on the executable and if things
# are working the executable should relink with the new
# value. The subdir Project contains the CMakelists.txt
-# and source files for the test project.
+# and source files for the test project.
cmake_minimum_required (VERSION 2.6)
project(BuildDepends)
@@ -15,7 +15,7 @@ set(CMAKE_SUPPRESS_REGENERATION 1)
# Xcode needs some help with the fancy dependencies in this test.
if("${CMAKE_GENERATOR}" MATCHES "Xcode")
set(HELP_XCODE 1)
-endif("${CMAKE_GENERATOR}" MATCHES "Xcode")
+endif()
function(help_xcode_depends)
if(HELP_XCODE)
file(GLOB_RECURSE MACRO_OBJS
@@ -24,9 +24,9 @@ function(help_xcode_depends)
if(MACRO_OBJS)
message("Helping Xcode by removing objects [${MACRO_OBJS}]")
file(REMOVE ${MACRO_OBJS})
- endif(MACRO_OBJS)
- endif(HELP_XCODE)
-endfunction(help_xcode_depends)
+ endif()
+ endif()
+endfunction()
if("${CMAKE_GENERATOR}" MATCHES "Ninja")
set(HELP_NINJA 1) # TODO Why is this needed?
@@ -48,7 +48,7 @@ list(APPEND _cmake_options "-DCMAKE_FORCE_DEPFILES=1")
file(MAKE_DIRECTORY ${BuildDepends_BINARY_DIR}/Project)
message("Creating Project/foo.cxx")
-write_file(${BuildDepends_BINARY_DIR}/Project/foo.cxx
+write_file(${BuildDepends_BINARY_DIR}/Project/foo.cxx
"const char* foo() { return \"foo\";}" )
file(WRITE ${BuildDepends_BINARY_DIR}/Project/zot.hxx.in
@@ -63,46 +63,44 @@ file(WRITE ${BuildDepends_BINARY_DIR}/Project/zot_macro_tgt.hxx
help_xcode_depends()
message("Building project first time")
-try_compile(RESULT
+try_compile(RESULT
${BuildDepends_BINARY_DIR}/Project
${BuildDepends_SOURCE_DIR}/Project
testRebuild
CMAKE_FLAGS ${_cmake_options}
OUTPUT_VARIABLE OUTPUT)
if(HELP_XCODE)
- try_compile(RESULT
+ try_compile(RESULT
${BuildDepends_BINARY_DIR}/Project
${BuildDepends_SOURCE_DIR}/Project
testRebuild
OUTPUT_VARIABLE OUTPUT)
- try_compile(RESULT
+ try_compile(RESULT
${BuildDepends_BINARY_DIR}/Project
${BuildDepends_SOURCE_DIR}/Project
testRebuild
OUTPUT_VARIABLE OUTPUT)
-endif(HELP_XCODE)
+endif()
message("Output from first build:\n${OUTPUT}")
if(NOT RESULT)
message(SEND_ERROR "Could not build test project (1)!")
-endif(NOT RESULT)
+endif()
set(bar ${BuildDepends_BINARY_DIR}/Project/bar${CMAKE_EXECUTABLE_SUFFIX})
-if(EXISTS
+if(EXISTS
"${BuildDepends_BINARY_DIR}/Project/Debug/bar${CMAKE_EXECUTABLE_SUFFIX}" )
message("found debug")
- set(bar
+ set(bar
"${BuildDepends_BINARY_DIR}/Project/Debug/bar${CMAKE_EXECUTABLE_SUFFIX}")
-endif(EXISTS
- "${BuildDepends_BINARY_DIR}/Project/Debug/bar${CMAKE_EXECUTABLE_SUFFIX}")
+endif()
set(zot ${BuildDepends_BINARY_DIR}/Project/zot${CMAKE_EXECUTABLE_SUFFIX})
-if(EXISTS
+if(EXISTS
"${BuildDepends_BINARY_DIR}/Project/Debug/zot${CMAKE_EXECUTABLE_SUFFIX}" )
message("found debug")
- set(zot
+ set(zot
"${BuildDepends_BINARY_DIR}/Project/Debug/zot${CMAKE_EXECUTABLE_SUFFIX}")
-endif(EXISTS
- "${BuildDepends_BINARY_DIR}/Project/Debug/zot${CMAKE_EXECUTABLE_SUFFIX}")
+endif()
message("Running ${bar} ")
execute_process(COMMAND ${bar} OUTPUT_VARIABLE out RESULT_VARIABLE runResult)
@@ -111,9 +109,9 @@ message("Run result: ${runResult} Output: \"${out}\"")
if("${out}" STREQUAL "foo ")
message("Worked!")
-else("${out}" STREQUAL "foo ")
+else()
message(SEND_ERROR "Project did not initially build properly: ${out}")
-endif("${out}" STREQUAL "foo ")
+endif()
message("Running ${zot} ")
execute_process(COMMAND ${zot} OUTPUT_VARIABLE out RESULT_VARIABLE runResult)
@@ -123,9 +121,9 @@ message("Run result: ${runResult} Output: \"${out}\"")
set(VALUE_UNCHANGED "[zot] [zot_custom] [zot_macro_dir] [zot_macro_tgt] ")
if("${out}" STREQUAL "${VALUE_UNCHANGED}")
message("Worked!")
-else("${out}" STREQUAL "${VALUE_UNCHANGED}")
+else()
message(SEND_ERROR "Project did not initially build properly: ${out}")
-endif("${out}" STREQUAL "${VALUE_UNCHANGED}")
+endif()
message("Waiting 3 seconds...")
# any additional argument will cause ${bar} to wait forever
@@ -150,7 +148,7 @@ endif()
help_xcode_depends()
message("Building project second time")
-try_compile(RESULT
+try_compile(RESULT
${BuildDepends_BINARY_DIR}/Project
${BuildDepends_SOURCE_DIR}/Project
testRebuild
@@ -159,12 +157,12 @@ try_compile(RESULT
# Xcode is in serious need of help here
if(HELP_XCODE OR HELP_NINJA)
- try_compile(RESULT
+ try_compile(RESULT
${BuildDepends_BINARY_DIR}/Project
${BuildDepends_SOURCE_DIR}/Project
testRebuild
OUTPUT_VARIABLE OUTPUT)
- try_compile(RESULT
+ try_compile(RESULT
${BuildDepends_BINARY_DIR}/Project
${BuildDepends_SOURCE_DIR}/Project
testRebuild
@@ -174,17 +172,15 @@ endif()
message("Output from second build:\n${OUTPUT}")
if(NOT RESULT)
message(SEND_ERROR "Could not build test project (2)!")
-endif(NOT RESULT)
-if(EXISTS
+endif()
+if(EXISTS
"${BuildDepends_BINARY_DIR}/Project/Debug/bar${CMAKE_EXECUTABLE_SUFFIX}" )
message("found debug")
-endif(EXISTS
- "${BuildDepends_BINARY_DIR}/Project/Debug/bar${CMAKE_EXECUTABLE_SUFFIX}")
-if(EXISTS
+endif()
+if(EXISTS
"${BuildDepends_BINARY_DIR}/Project/Debug/zot${CMAKE_EXECUTABLE_SUFFIX}" )
message("found debug")
-endif(EXISTS
- "${BuildDepends_BINARY_DIR}/Project/Debug/zot${CMAKE_EXECUTABLE_SUFFIX}")
+endif()
message("Running ${bar} ")
execute_process(COMMAND ${bar} OUTPUT_VARIABLE out RESULT_VARIABLE runResult)
@@ -193,9 +189,9 @@ message("Run result: ${runResult} Output: \"${out}\"")
if("${out}" STREQUAL "foo changed ")
message("Worked!")
-else("${out}" STREQUAL "foo changed ")
+else()
message(SEND_ERROR "Project did not rebuild properly!")
-endif("${out}" STREQUAL "foo changed ")
+endif()
message("Running ${zot} ")
execute_process(COMMAND ${zot} OUTPUT_VARIABLE out RESULT_VARIABLE runResult)
@@ -207,9 +203,9 @@ set(VALUE_CHANGED
)
if("${out}" STREQUAL "${VALUE_CHANGED}")
message("Worked!")
-else("${out}" STREQUAL "${VALUE_CHANGED}")
+else()
message(SEND_ERROR "Project did not rebuild properly!")
-endif("${out}" STREQUAL "${VALUE_CHANGED}")
+endif()
if(TEST_LINK_DEPENDS)
set(linkdep ${BuildDepends_BINARY_DIR}/Project/linkdep${CMAKE_EXECUTABLE_SUFFIX})
diff --git a/Tests/BuildDepends/Project/CMakeLists.txt b/Tests/BuildDepends/Project/CMakeLists.txt
index ed8b8bf5d..01f5f6267 100644
--- a/Tests/BuildDepends/Project/CMakeLists.txt
+++ b/Tests/BuildDepends/Project/CMakeLists.txt
@@ -27,7 +27,7 @@ if(APPLE)
set(CMAKE_OSX_ARCHITECTURES i386 x86_64)
endif()
endif()
-endif(APPLE)
+endif()
add_library(foo STATIC ${testRebuild_BINARY_DIR}/foo.cxx)
set_target_properties(foo PROPERTIES OUTPUT_NAME "foolib")
@@ -60,16 +60,16 @@ add_executable(bar bar.cxx
)
#-----------------------------------------------------------------------------
-IF("${CMAKE_GENERATOR}" MATCHES "Make")
+if("${CMAKE_GENERATOR}" MATCHES "Make")
# Test the IMPLICIT_DEPENDS feature.
- SET(ZOT_DEPENDS IMPLICIT_DEPENDS CXX ${CMAKE_CURRENT_SOURCE_DIR}/dep.cxx)
- SET(ZOT_CUSTOM_DEP
+ set(ZOT_DEPENDS IMPLICIT_DEPENDS CXX ${CMAKE_CURRENT_SOURCE_DIR}/dep.cxx)
+ set(ZOT_CUSTOM_DEP
IMPLICIT_DEPENDS CXX ${CMAKE_CURRENT_SOURCE_DIR}/dep_custom.cxx)
-ELSE("${CMAKE_GENERATOR}" MATCHES "Make")
+else()
# No IMPLICIT_DEPENDS...just depend directly.
- SET(ZOT_DEPENDS DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/zot.hxx.in)
- SET(ZOT_CUSTOM_DEP DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/zot_custom.hxx.in)
-ENDIF("${CMAKE_GENERATOR}" MATCHES "Make")
+ set(ZOT_DEPENDS DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/zot.hxx.in)
+ set(ZOT_CUSTOM_DEP DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/zot_custom.hxx.in)
+endif()
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/zot.hxx
COMMAND ${CMAKE_COMMAND} -E copy
diff --git a/Tests/BundleGeneratorTest/CMakeLists.txt b/Tests/BundleGeneratorTest/CMakeLists.txt
index e1fc2c1d4..037df09c1 100644
--- a/Tests/BundleGeneratorTest/CMakeLists.txt
+++ b/Tests/BundleGeneratorTest/CMakeLists.txt
@@ -1,23 +1,23 @@
-PROJECT(BundleGeneratorTest)
+project(BundleGeneratorTest)
-CMAKE_MINIMUM_REQUIRED(VERSION 2.7)
+cmake_minimum_required(VERSION 2.7)
# Build a shared library and install it in lib/
-ADD_LIBRARY(Library SHARED Library.cxx)
-INSTALL(TARGETS Library DESTINATION lib)
+add_library(Library SHARED Library.cxx)
+install(TARGETS Library DESTINATION lib)
# Build an executable and install it in bin/
-ADD_EXECUTABLE(Executable Executable.cxx)
-TARGET_LINK_LIBRARIES(Executable Library)
-INSTALL(TARGETS Executable DESTINATION bin)
+add_executable(Executable Executable.cxx)
+target_link_libraries(Executable Library)
+install(TARGETS Executable DESTINATION bin)
# Use the bundle-generator for packaging ...
-SET(CPACK_GENERATOR "Bundle")
-SET(CPACK_BUNDLE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/BundleIcon.icns")
-SET(CPACK_BUNDLE_NAME "BundleGeneratorTest")
-SET(CPACK_BUNDLE_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/Info.plist")
-SET(CPACK_BUNDLE_STARTUP_COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/StartupCommand")
-SET(CPACK_PACKAGE_DESCRIPTION "Project for testing OSX bundle generation")
+set(CPACK_GENERATOR "Bundle")
+set(CPACK_BUNDLE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/BundleIcon.icns")
+set(CPACK_BUNDLE_NAME "BundleGeneratorTest")
+set(CPACK_BUNDLE_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/Info.plist")
+set(CPACK_BUNDLE_STARTUP_COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/StartupCommand")
+set(CPACK_PACKAGE_DESCRIPTION "Project for testing OSX bundle generation")
# The custom volume icon is a copy of the normal Mac OSX volume icon, but
# on a white background. This is to differentiate it from the normal one
@@ -25,9 +25,9 @@ SET(CPACK_PACKAGE_DESCRIPTION "Project for testing OSX bundle generation")
# visual inspection of the mounted volume... This was added when fixing
# issue #7523...
#
-SET(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/CustomVolumeIcon.icns")
+set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/CustomVolumeIcon.icns")
-SET(CPACK_PACKAGE_NAME "BundleGeneratorTest")
-SET(CPACK_PACKAGE_VERSION "0.1")
+set(CPACK_PACKAGE_NAME "BundleGeneratorTest")
+set(CPACK_PACKAGE_VERSION "0.1")
-INCLUDE(CPack)
+include(CPack)
diff --git a/Tests/BundleTest/BundleSubDir/CMakeLists.txt b/Tests/BundleTest/BundleSubDir/CMakeLists.txt
index 322b2a7d2..1921ce095 100644
--- a/Tests/BundleTest/BundleSubDir/CMakeLists.txt
+++ b/Tests/BundleTest/BundleSubDir/CMakeLists.txt
@@ -1,36 +1,36 @@
-ADD_CUSTOM_COMMAND(
+add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/randomResourceFile.plist"
COMMAND /bin/cp
ARGS "${BundleTest_SOURCE_DIR}/randomResourceFile.plist.in"
"${CMAKE_CURRENT_BINARY_DIR}/randomResourceFile.plist")
-SET_SOURCE_FILES_PROPERTIES(
+set_source_files_properties(
"${CMAKE_CURRENT_BINARY_DIR}/randomResourceFile.plist"
PROPERTIES
MACOSX_PACKAGE_LOCATION Resources
)
-SET_SOURCE_FILES_PROPERTIES(
+set_source_files_properties(
"${BundleTest_SOURCE_DIR}/SomeRandomFile.txt"
"${BundleTest_SOURCE_DIR}/../../ChangeLog.txt"
PROPERTIES
MACOSX_PACKAGE_LOCATION MacOS
)
-ADD_EXECUTABLE(SecondBundle
+add_executable(SecondBundle
MACOSX_BUNDLE
"${BundleTest_SOURCE_DIR}/BundleTest.cxx"
"${BundleTest_SOURCE_DIR}/SomeRandomFile.txt"
"${BundleTest_SOURCE_DIR}/../../ChangeLog.txt"
"${CMAKE_CURRENT_BINARY_DIR}/randomResourceFile.plist"
)
-TARGET_LINK_LIBRARIES(SecondBundle BundleTestLib)
+target_link_libraries(SecondBundle BundleTestLib)
# Test bundle installation.
-INSTALL(TARGETS SecondBundle DESTINATION Applications)
+install(TARGETS SecondBundle DESTINATION Applications)
# Test whether bundles respect the output name. Since the library is
# installed into a location that uses this output name this will fail if the
# bundle does not respect the name. Also the executable will not be found by
# the test driver if this does not work.
-SET_TARGET_PROPERTIES(SecondBundle PROPERTIES OUTPUT_NAME SecondBundleExe)
+set_target_properties(SecondBundle PROPERTIES OUTPUT_NAME SecondBundleExe)
diff --git a/Tests/BundleTest/CMakeLists.txt b/Tests/BundleTest/CMakeLists.txt
index 5342f49bd..de69d7555 100644
--- a/Tests/BundleTest/CMakeLists.txt
+++ b/Tests/BundleTest/CMakeLists.txt
@@ -1,28 +1,28 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(BundleTest)
-SET(MACOSX_BUNDLE_INFO_STRING "bundle_info_string")
-SET(CMAKE_MacOSX_Content_COMPILE_OBJECT "\"${CMAKE_COMMAND}\" -E copy_if_different <SOURCE> <OBJECT>")
+project(BundleTest)
+set(MACOSX_BUNDLE_INFO_STRING "bundle_info_string")
+set(CMAKE_MacOSX_Content_COMPILE_OBJECT "\"${CMAKE_COMMAND}\" -E copy_if_different <SOURCE> <OBJECT>")
-ADD_CUSTOM_COMMAND(
+add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/randomResourceFile.plist"
COMMAND /bin/cp
ARGS "${CMAKE_CURRENT_SOURCE_DIR}/randomResourceFile.plist.in"
"${CMAKE_CURRENT_BINARY_DIR}/randomResourceFile.plist")
-SET_SOURCE_FILES_PROPERTIES(
+set_source_files_properties(
"${CMAKE_CURRENT_BINARY_DIR}/randomResourceFile.plist"
PROPERTIES
MACOSX_PACKAGE_LOCATION Resources
)
-SET_SOURCE_FILES_PROPERTIES(
+set_source_files_properties(
SomeRandomFile.txt
"${BundleTest_SOURCE_DIR}/../../ChangeLog.txt"
PROPERTIES
MACOSX_PACKAGE_LOCATION MacOS
)
-SET(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}/foobar")
+set(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}/foobar")
# Test building a bundle linking to a shared library where the
# shared library links to CoreFoundation, but the executable does not
@@ -31,74 +31,74 @@ SET(EXECUTABLE_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}/foobar")
# if CMake's dependency chaining for libraries with "-framework
# blah" style dependencies gets broken...
#
-ADD_LIBRARY(BundleTestLib SHARED BundleLib.cxx)
-TARGET_LINK_LIBRARIES(BundleTestLib "-framework CoreFoundation")
+add_library(BundleTestLib SHARED BundleLib.cxx)
+target_link_libraries(BundleTestLib "-framework CoreFoundation")
-ADD_EXECUTABLE(BundleTest
+add_executable(BundleTest
MACOSX_BUNDLE
BundleTest.cxx
SomeRandomFile.txt
"${BundleTest_SOURCE_DIR}/../../ChangeLog.txt"
"${CMAKE_CURRENT_BINARY_DIR}/randomResourceFile.plist"
)
-TARGET_LINK_LIBRARIES(BundleTest BundleTestLib)
+target_link_libraries(BundleTest BundleTestLib)
#
-# DO NOT: TARGET_LINK_LIBRARIES(BundleTest "-framework CoreFoundation")
+# DO NOT: target_link_libraries(BundleTest "-framework CoreFoundation")
# (see above comments about CoreFoundation)
#
# Test bundle installation.
-#INSTALL(TARGETS BundleTestLib DESTINATION Applications/BundleTestExe.app/Contents/Plugins)
-INSTALL(TARGETS BundleTestLib DESTINATION Applications/SecondBundleExe.app/Contents/Plugins)
-INSTALL(TARGETS BundleTest DESTINATION Applications)
+#install(TARGETS BundleTestLib DESTINATION Applications/BundleTestExe.app/Contents/Plugins)
+install(TARGETS BundleTestLib DESTINATION Applications/SecondBundleExe.app/Contents/Plugins)
+install(TARGETS BundleTest DESTINATION Applications)
# Test whether bundles respect the output name. Since the library is
# installed into a location that uses this output name this will fail if the
# bundle does not respect the name. Also the executable will not be found by
# the test driver if this does not work.
-SET_TARGET_PROPERTIES(BundleTest PROPERTIES OUTPUT_NAME BundleTestExe)
+set_target_properties(BundleTest PROPERTIES OUTPUT_NAME BundleTestExe)
# Test executable versioning if it is supported.
-IF(NOT XCODE)
- SET_TARGET_PROPERTIES(BundleTest PROPERTIES VERSION 1)
-ENDIF(NOT XCODE)
+if(NOT XCODE)
+ set_target_properties(BundleTest PROPERTIES VERSION 1)
+endif()
# Make sure the executable can find its installed library.
-SET_TARGET_PROPERTIES(BundleTestLib PROPERTIES
+set_target_properties(BundleTestLib PROPERTIES
INSTALL_NAME_DIR "@executable_path/../Plugins")
-INCLUDE(CPack)
+include(CPack)
# test the framework find stuff
-IF(EXISTS /usr/lib/libtcl.dylib
+if(EXISTS /usr/lib/libtcl.dylib
AND EXISTS /System/Library/Frameworks/Tcl.framework)
- SET(TCL NOTFOUND)
- FIND_LIBRARY(TCL tcl)
- MESSAGE("frame: ${TCL}")
- IF(NOT "${TCL}" MATCHES .framework)
- MESSAGE(FATAL_ERROR "Could not find tcl framework, found ${TCL}")
- ENDIF(NOT "${TCL}" MATCHES .framework)
- SET(TCL NOTFOUND)
- SET(CMAKE_FIND_FRAMEWORK LAST)
- FIND_LIBRARY(TCL tcl)
- IF("${TCL}" MATCHES .framework)
- MESSAGE(FATAL_ERROR "Found framework and should have found dylib ${TCL}")
- ENDIF("${TCL}" MATCHES .framework)
- SET(TCL NOTFOUND)
- SET(CMAKE_FIND_FRAMEWORK NEVER)
- FIND_LIBRARY(TCL tcl)
- IF("${TCL}" MATCHES .framework)
- MESSAGE(FATAL_ERROR "Found framework and should have found dylib ${TCL}")
- ENDIF("${TCL}" MATCHES .framework)
- MESSAGE("not frame: ${TCL}")
- SET(TCL NOTFOUND)
- SET(CMAKE_FIND_FRAMEWORK FIRST)
- FIND_LIBRARY(TCL tcl)
- IF(NOT "${TCL}" MATCHES .framework)
- MESSAGE(FATAL_ERROR "Could not find tcl framework, found ${TCL}")
- ENDIF(NOT "${TCL}" MATCHES .framework)
- MESSAGE("frame: ${TCL}")
-ENDIF(EXISTS /usr/lib/libtcl.dylib
+ set(TCL NOTFOUND)
+ find_library(TCL tcl)
+ message("frame: ${TCL}")
+ if(NOT "${TCL}" MATCHES .framework)
+ message(FATAL_ERROR "Could not find tcl framework, found ${TCL}")
+ endif()
+ set(TCL NOTFOUND)
+ set(CMAKE_FIND_FRAMEWORK LAST)
+ find_library(TCL tcl)
+ if("${TCL}" MATCHES .framework)
+ message(FATAL_ERROR "Found framework and should have found dylib ${TCL}")
+ endif()
+ set(TCL NOTFOUND)
+ set(CMAKE_FIND_FRAMEWORK NEVER)
+ find_library(TCL tcl)
+ if("${TCL}" MATCHES .framework)
+ message(FATAL_ERROR "Found framework and should have found dylib ${TCL}")
+ endif()
+ message("not frame: ${TCL}")
+ set(TCL NOTFOUND)
+ set(CMAKE_FIND_FRAMEWORK FIRST)
+ find_library(TCL tcl)
+ if(NOT "${TCL}" MATCHES .framework)
+ message(FATAL_ERROR "Could not find tcl framework, found ${TCL}")
+ endif()
+ message("frame: ${TCL}")
+endif(EXISTS /usr/lib/libtcl.dylib
AND EXISTS /System/Library/Frameworks/Tcl.framework)
-SUBDIRS(BundleSubDir)
+subdirs(BundleSubDir)
diff --git a/Tests/BundleUtilities/bundleutils.cmake b/Tests/BundleUtilities/bundleutils.cmake
index 46765e733..cc89347ad 100644
--- a/Tests/BundleUtilities/bundleutils.cmake
+++ b/Tests/BundleUtilities/bundleutils.cmake
@@ -31,7 +31,7 @@ configure_file("${MODULE}" "${OUTPUT_MODULE}" COPYONLY)
# this shouldn't be necessary except for the non-bundle case on Mac
function(gp_item_default_embedded_path_override item path)
set(path "@executable_path" PARENT_SCOPE)
-endfunction(gp_item_default_embedded_path_override)
+endfunction()
include(BundleUtilities)
fixup_bundle("${OUTPUT}" "${OUTPUT_MODULE}" "${INPUTDIR}")
@@ -42,4 +42,4 @@ execute_process(COMMAND "${OUTPUT}" RESULT_VARIABLE result OUTPUT_VARIABLE out E
if(NOT result STREQUAL "0")
message(FATAL_ERROR " failed to execute test program\n${out}")
-endif(NOT result STREQUAL "0")
+endif()
diff --git a/Tests/CMakeBuildTest.cmake.in b/Tests/CMakeBuildTest.cmake.in
index a8bb75090..195f107a2 100644
--- a/Tests/CMakeBuildTest.cmake.in
+++ b/Tests/CMakeBuildTest.cmake.in
@@ -7,53 +7,53 @@ make_directory("@CMAKE_BUILD_TEST_BINARY_DIR@")
message("Remove: @CMAKE_BUILD_TEST_SOURCE_DIR@/CMakeCache.txt")
file(REMOVE "@CMAKE_BUILD_TEST_SOURCE_DIR@/CMakeCache.txt")
-# run cmake in the binary directory
+# run cmake in the binary directory
message("running: ${CMAKE_COMMAND}")
execute_process(COMMAND "${CMAKE_COMMAND}"
- "@CMAKE_BUILD_TEST_SOURCE_DIR@"
+ "@CMAKE_BUILD_TEST_SOURCE_DIR@"
"-G@CMAKE_TEST_GENERATOR@"
WORKING_DIRECTORY "@CMAKE_BUILD_TEST_BINARY_DIR@"
RESULT_VARIABLE RESULT)
if(RESULT)
message(FATAL_ERROR "Error running cmake command")
-endif(RESULT)
+endif()
# Now use the --build option to build the project
message("running: ${CMAKE_COMMAND} --build")
-execute_process(COMMAND "${CMAKE_COMMAND}"
+execute_process(COMMAND "${CMAKE_COMMAND}"
--build "@CMAKE_BUILD_TEST_BINARY_DIR@" --config Debug
RESULT_VARIABLE RESULT)
if(RESULT)
message(FATAL_ERROR "Error running cmake --build")
-endif(RESULT)
+endif()
# check for configuration types
set(CMAKE_CONFIGURATION_TYPES @CMAKE_CONFIGURATION_TYPES@)
-# run the executable out of the Debug directory if there
+# run the executable out of the Debug directory if there
# are configuration types
if(CMAKE_CONFIGURATION_TYPES)
set(RUN_TEST "@CMAKE_BUILD_TEST_BINARY_DIR@/Debug/@CMAKE_BUILD_TEST_EXE@")
-else(CMAKE_CONFIGURATION_TYPES)
+else()
set(RUN_TEST "@CMAKE_BUILD_TEST_BINARY_DIR@/@CMAKE_BUILD_TEST_EXE@")
-endif(CMAKE_CONFIGURATION_TYPES)
+endif()
# run the test results
message("running [${RUN_TEST}]")
execute_process(COMMAND "${RUN_TEST}" RESULT_VARIABLE RESULT)
if(RESULT)
message(FATAL_ERROR "Error running test @CMAKE_BUILD_TEST_EXE@")
-endif(RESULT)
+endif()
# build it again with clean and only @CMAKE_BUILD_TEST_EXE@ target
-execute_process(COMMAND "${CMAKE_COMMAND}"
- --build "@CMAKE_BUILD_TEST_BINARY_DIR@" --config Debug
+execute_process(COMMAND "${CMAKE_COMMAND}"
+ --build "@CMAKE_BUILD_TEST_BINARY_DIR@" --config Debug
--clean-first --target @CMAKE_BUILD_TEST_EXE@
RESULT_VARIABLE RESULT)
if(RESULT)
message(FATAL_ERROR "Error running cmake --build")
-endif(RESULT)
+endif()
-# run it again after clean
+# run it again after clean
execute_process(COMMAND "${RUN_TEST}" RESULT_VARIABLE RESULT)
if(RESULT)
message(FATAL_ERROR "Error running test @CMAKE_BUILD_TEST_EXE@ after clean ")
-endif(RESULT)
+endif()
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index 27ae3a072..bbf804bb1 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -1,9 +1,9 @@
# a macro for tests that have a simple format where the name matches the
# directory and project
-MACRO(ADD_TEST_MACRO NAME COMMAND)
- STRING(REPLACE "." "/" dir "${NAME}")
- STRING(REGEX REPLACE "[^.]*\\." "" proj "${NAME}")
- ADD_TEST(${NAME} ${CMAKE_CTEST_COMMAND}
+macro(ADD_TEST_MACRO NAME COMMAND)
+ string(REPLACE "." "/" dir "${NAME}")
+ string(REGEX REPLACE "[^.]*\\." "" proj "${NAME}")
+ add_test(${NAME} ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/${dir}"
"${CMake_BINARY_DIR}/Tests/${dir}"
@@ -13,69 +13,66 @@ MACRO(ADD_TEST_MACRO NAME COMMAND)
--build-project ${proj}
${${NAME}_EXTRA_OPTIONS}
--test-command ${COMMAND} ${ARGN})
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${dir}")
-ENDMACRO(ADD_TEST_MACRO)
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${dir}")
+endmacro()
-MACRO(REGEX_ESCAPE_STRING _OUT _IN)
+macro(REGEX_ESCAPE_STRING _OUT _IN)
# Escape special regex metacharacters with a backslash
string(REGEX REPLACE "([$^.[|*+?()]|])" "\\\\\\1" ${_OUT} "${_IN}")
-ENDMACRO(REGEX_ESCAPE_STRING _OUT _IN)
+endmacro()
-INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/CheckFortran.cmake)
+include(${CMAKE_CURRENT_SOURCE_DIR}/CheckFortran.cmake)
# Fake a user home directory to avoid polluting the real one.
-IF(DEFINED ENV{HOME} AND NOT CTEST_NO_TEST_HOME)
- SET(TEST_HOME "${CMake_BINARY_DIR}/Tests/CMakeFiles/TestHome")
- FILE(MAKE_DIRECTORY "${TEST_HOME}")
- FILE(WRITE "${TEST_HOME}/.cvspass" ":pserver:anoncvs@www.cmake.org:/cvsroot/KWSys A\n")
- SET(TEST_HOME_ENV_CODE "# Fake a user home directory to avoid polluting the real one.
+if(DEFINED ENV{HOME} AND NOT CTEST_NO_TEST_HOME)
+ set(TEST_HOME "${CMake_BINARY_DIR}/Tests/CMakeFiles/TestHome")
+ file(MAKE_DIRECTORY "${TEST_HOME}")
+ file(WRITE "${TEST_HOME}/.cvspass" ":pserver:anoncvs@www.cmake.org:/cvsroot/KWSys A\n")
+ set(TEST_HOME_ENV_CODE "# Fake a user home directory to avoid polluting the real one.
# But provide original ENV{HOME} value in ENV{CTEST_REAL_HOME} for tests that
# need access to the real HOME directory.
-SET(ENV{CTEST_REAL_HOME} \"\$ENV{HOME}\")
-SET(ENV{HOME} \"${TEST_HOME}\")
+set(ENV{CTEST_REAL_HOME} \"\$ENV{HOME}\")
+set(ENV{HOME} \"${TEST_HOME}\")
")
-ENDIF()
+endif()
# Choose a default configuration for CTest tests.
-SET(CTestTest_CONFIG Debug)
-IF(NOT CMAKE_CONFIGURATION_TYPES AND CMAKE_BUILD_TYPE)
- SET(CTestTest_CONFIG ${CMAKE_BUILD_TYPE})
-ENDIF()
+set(CTestTest_CONFIG Debug)
+if(NOT CMAKE_CONFIGURATION_TYPES AND CMAKE_BUILD_TYPE)
+ set(CTestTest_CONFIG ${CMAKE_BUILD_TYPE})
+endif()
-CONFIGURE_FILE(${CMake_SOURCE_DIR}/Tests/EnforceConfig.cmake.in
+configure_file(${CMake_SOURCE_DIR}/Tests/EnforceConfig.cmake.in
${CMake_BINARY_DIR}/Tests/EnforceConfig.cmake @ONLY)
# Testing
-IF(BUILD_TESTING)
- IF("${CMAKE_TEST_GENERATOR}" MATCHES "Unix Makefiles" OR ("${CMAKE_TEST_GENERATOR}" MATCHES Ninja AND NOT WIN32))
- SET(TEST_CompileCommandOutput 1)
- ENDIF()
+if(BUILD_TESTING)
+ if("${CMAKE_TEST_GENERATOR}" MATCHES "Unix Makefiles" OR ("${CMAKE_TEST_GENERATOR}" MATCHES Ninja AND NOT WIN32))
+ set(TEST_CompileCommandOutput 1)
+ endif()
+
+ add_subdirectory(CMakeLib)
+ add_subdirectory(CMakeOnly)
+ add_subdirectory(RunCMake)
- ADD_SUBDIRECTORY(CMakeLib)
- ADD_SUBDIRECTORY(CMakeOnly)
- ADD_SUBDIRECTORY(RunCMake)
+ add_subdirectory(FindPackageModeMakefileTest)
- ADD_SUBDIRECTORY(FindPackageModeMakefileTest)
+ add_subdirectory(CTestTestMemcheck)
# Collect a list of all test build directories.
- SET(TEST_BUILD_DIRS)
+ set(TEST_BUILD_DIRS)
# Should the long tests be run?
- OPTION(CMAKE_RUN_LONG_TESTS
+ option(CMAKE_RUN_LONG_TESTS
"Should the long tests be run (such as Bootstrap)." ON)
- MARK_AS_ADVANCED(CMAKE_RUN_LONG_TESTS)
+ mark_as_advanced(CMAKE_RUN_LONG_TESTS)
- IF (CMAKE_RUN_LONG_TESTS)
- OPTION(CTEST_TEST_CTEST
+ if (CMAKE_RUN_LONG_TESTS)
+ option(CTEST_TEST_CTEST
"Should the tests that run a full sub ctest process be run?"
OFF)
- MARK_AS_ADVANCED(CTEST_TEST_CTEST)
-
- OPTION(TEST_KDE4_STABLE_BRANCH
- "Should the KDE4 stable branch test be run?"
- OFF)
- MARK_AS_ADVANCED(TEST_KDE4_STABLE_BRANCH)
- ENDIF (CMAKE_RUN_LONG_TESTS)
+ mark_as_advanced(CTEST_TEST_CTEST)
+ endif ()
# Should tests that use CVS be run?
#
@@ -83,19 +80,19 @@ IF(BUILD_TESTING)
if(EXISTS ${CMAKE_ROOT}/Modules/FindCVS.cmake)
find_package(CVS QUIET)
- else(EXISTS ${CMAKE_ROOT}/Modules/FindCVS.cmake)
+ else()
find_program(CVS_EXECUTABLE NAMES cvs)
- endif(EXISTS ${CMAKE_ROOT}/Modules/FindCVS.cmake)
+ endif()
if(CVS_EXECUTABLE)
set(do_cvs_tests 1)
- endif(CVS_EXECUTABLE)
+ endif()
if(do_cvs_tests AND NOT UNIX)
if("${CVS_EXECUTABLE}" MATCHES "cygwin")
set(do_cvs_tests 0)
- endif("${CVS_EXECUTABLE}" MATCHES "cygwin")
- endif(do_cvs_tests AND NOT UNIX)
+ endif()
+ endif()
# Should CPack tests be run? By default, yes, but...
#
@@ -108,35 +105,35 @@ IF(BUILD_TESTING)
# well-known bug in kwsys process execution that I would love to get
# time to fix.
#
- OPTION(CTEST_TEST_CPACK
+ option(CTEST_TEST_CPACK
"Should the tests that use '--build-target package' be run?"
ON)
- MARK_AS_ADVANCED(CTEST_TEST_CPACK)
- SET(CTEST_TEST_OSX_ARCH 0)
- IF(APPLE)
- EXECUTE_PROCESS(
+ mark_as_advanced(CTEST_TEST_CPACK)
+ set(CTEST_TEST_OSX_ARCH 0)
+ if(APPLE)
+ execute_process(
COMMAND sw_vers -productVersion
OUTPUT_VARIABLE OSX_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE
)
- IF(OSX_VERSION MATCHES "^10\\.[0123]" OR OSX_VERSION MATCHES "ProductVersion:\t10\\.[0123]")
- MESSAGE(STATUS "Forcing CTEST_TEST_CPACK=OFF on OSX < 10.4")
- MESSAGE(STATUS "OSX_VERSION='${OSX_VERSION}'")
- SET(CTEST_TEST_CPACK OFF)
- ELSE(OSX_VERSION MATCHES "^10\\.[0123]" OR OSX_VERSION MATCHES "ProductVersion:\t10\\.[0123]")
- SET(CTEST_TEST_OSX_ARCH 1)
- ENDIF(OSX_VERSION MATCHES "^10\\.[0123]" OR OSX_VERSION MATCHES "ProductVersion:\t10\\.[0123]")
- ENDIF(APPLE)
+ if(OSX_VERSION MATCHES "^10\\.[0123]" OR OSX_VERSION MATCHES "ProductVersion:\t10\\.[0123]")
+ message(STATUS "Forcing CTEST_TEST_CPACK=OFF on OSX < 10.4")
+ message(STATUS "OSX_VERSION='${OSX_VERSION}'")
+ set(CTEST_TEST_CPACK OFF)
+ else()
+ set(CTEST_TEST_OSX_ARCH 1)
+ endif()
+ endif()
# Use 1500 or CTEST_TEST_TIMEOUT for long test timeout value,
# whichever is greater.
- SET(CMAKE_LONG_TEST_TIMEOUT 1500)
- IF(CTEST_TEST_TIMEOUT)
- SET(CMAKE_LONG_TEST_TIMEOUT ${CTEST_TEST_TIMEOUT})
- ENDIF(CTEST_TEST_TIMEOUT)
- IF(CMAKE_LONG_TEST_TIMEOUT LESS 1500)
- SET(CMAKE_LONG_TEST_TIMEOUT 1500)
- ENDIF(CMAKE_LONG_TEST_TIMEOUT LESS 1500)
+ set(CMAKE_LONG_TEST_TIMEOUT 1500)
+ if(CTEST_TEST_TIMEOUT)
+ set(CMAKE_LONG_TEST_TIMEOUT ${CTEST_TEST_TIMEOUT})
+ endif()
+ if(CMAKE_LONG_TEST_TIMEOUT LESS 1500)
+ set(CMAKE_LONG_TEST_TIMEOUT 1500)
+ endif()
# add a bunch of standard build-and-test style tests
ADD_TEST_MACRO(CommandLineTest CommandLineTest)
@@ -148,53 +145,53 @@ IF(BUILD_TESTING)
ADD_TEST_MACRO(SystemInformation SystemInformation)
ADD_TEST_MACRO(MathTest MathTest)
# assume no resources building to test
- SET(TEST_RESOURCES FALSE)
+ set(TEST_RESOURCES FALSE)
# for windows and cygwin assume we have resources
- IF(WIN32 OR CYGWIN)
- SET(TEST_RESOURCES TRUE)
- ENDIF()
+ if(WIN32 OR CYGWIN)
+ set(TEST_RESOURCES TRUE)
+ endif()
# for borland and watcom there is no resource support
- IF("${CMAKE_TEST_GENERATOR}" MATCHES "WMake" OR
+ if("${CMAKE_TEST_GENERATOR}" MATCHES "WMake" OR
"${CMAKE_TEST_GENERATOR}" MATCHES "Borland")
- SET(TEST_RESOURCES FALSE)
- ENDIF()
- IF(TEST_RESOURCES)
+ set(TEST_RESOURCES FALSE)
+ endif()
+ if(TEST_RESOURCES)
ADD_TEST_MACRO(VSResource VSResource)
- ENDIF()
+ endif()
ADD_TEST_MACRO(Simple Simple)
ADD_TEST_MACRO(PreOrder PreOrder)
ADD_TEST_MACRO(MissingSourceFile MissingSourceFile)
- SET_TESTS_PROPERTIES(MissingSourceFile PROPERTIES
+ set_tests_properties(MissingSourceFile PROPERTIES
PASS_REGULAR_EXPRESSION "CMake Error at CMakeLists.txt:3 \\(add_executable\\):[ \r\n]*Cannot find source file:[ \r\n]*DoesNotExist/MissingSourceFile.c")
- IF(CMAKE_Fortran_COMPILER)
+ if(CMAKE_Fortran_COMPILER)
ADD_TEST_MACRO(FortranOnly FortranOnly)
- ENDIF()
+ endif()
# test Visual Studio GNU Fortran mixing with cmake_add_fortran_subdirectory
# run this project if we have a working fortran compiler or
# the test is enabled with CMAKE_TEST_CMAKE_ADD_FORTRAN cache variable.
# If you enable the test, CMake should find the MinGW fortran install,
# or in some cases you might need to set the PATH so that cmake can find
# the gfortran from mingw.
- IF(CMAKE_Fortran_COMPILER OR CMAKE_TEST_CMAKE_ADD_FORTRAN)
- SET(CMAKE_SKIP_VSGNUFortran FALSE)
+ if(CMAKE_Fortran_COMPILER OR CMAKE_TEST_CMAKE_ADD_FORTRAN)
+ set(CMAKE_SKIP_VSGNUFortran FALSE)
# disable test for apple builds using ifort if they are building
# more than one architecture, as ifort does not support that.
- IF(APPLE AND (CMAKE_Fortran_COMPILER MATCHES ifort))
- LIST(LENGTH CMAKE_OSX_ARCHITECTURES len)
- IF("${len}" GREATER 1)
- MESSAGE(STATUS "Skip VSGNUFortran for ifort dual cpu mac build")
- SET(CMAKE_SKIP_VSGNUFortran TRUE)
- ENDIF()
- ENDIF()
- IF((CMAKE_C_COMPILER MATCHES lsb)
+ if(APPLE AND (CMAKE_Fortran_COMPILER MATCHES ifort))
+ list(LENGTH CMAKE_OSX_ARCHITECTURES len)
+ if("${len}" GREATER 1)
+ message(STATUS "Skip VSGNUFortran for ifort dual cpu mac build")
+ set(CMAKE_SKIP_VSGNUFortran TRUE)
+ endif()
+ endif()
+ if((CMAKE_C_COMPILER MATCHES lsb)
AND (CMAKE_Fortran_COMPILER MATCHES ifort))
- MESSAGE(STATUS "Skip VSGNUFortran for ifort and lsb compilers")
- SET(CMAKE_SKIP_VSGNUFortran TRUE)
- ENDIF()
- IF(NOT CMAKE_SKIP_VSGNUFortran)
+ message(STATUS "Skip VSGNUFortran for ifort and lsb compilers")
+ set(CMAKE_SKIP_VSGNUFortran TRUE)
+ endif()
+ if(NOT CMAKE_SKIP_VSGNUFortran)
ADD_TEST_MACRO(VSGNUFortran ${CMAKE_COMMAND} -P runtest.cmake)
- ENDIF()
- ENDIF()
+ endif()
+ endif()
ADD_TEST_MACRO(COnly COnly)
ADD_TEST_MACRO(CxxOnly CxxOnly)
ADD_TEST_MACRO(IPO COnly/COnly)
@@ -218,44 +215,45 @@ IF(BUILD_TESTING)
ADD_TEST_MACRO(Unset Unset)
ADD_TEST_MACRO(PolicyScope PolicyScope)
ADD_TEST_MACRO(EmptyLibrary EmptyLibrary)
- SET_TESTS_PROPERTIES(EmptyLibrary PROPERTIES
+ ADD_TEST_MACRO(CompileDefinitions CompileDefinitions)
+ set_tests_properties(EmptyLibrary PROPERTIES
PASS_REGULAR_EXPRESSION "CMake Error: CMake can not determine linker language for target:test")
ADD_TEST_MACRO(CrossCompile CrossCompile)
- SET_TESTS_PROPERTIES(CrossCompile PROPERTIES
+ set_tests_properties(CrossCompile PROPERTIES
PASS_REGULAR_EXPRESSION "TRY_RUN.. invoked in cross-compiling mode")
- IF("${CMAKE_TEST_GENERATOR}" MATCHES "Make")
+ if("${CMAKE_TEST_GENERATOR}" MATCHES "Make")
ADD_TEST_MACRO(Policy0002 Policy0002)
- ENDIF("${CMAKE_TEST_GENERATOR}" MATCHES "Make")
- IF(CTEST_TEST_OSX_ARCH)
+ endif()
+ if(CTEST_TEST_OSX_ARCH)
ADD_TEST_MACRO(Architecture Architecture)
- SET_TESTS_PROPERTIES(Architecture PROPERTIES
+ set_tests_properties(Architecture PROPERTIES
PASS_REGULAR_EXPRESSION "(file is not of required architecture|does not match cputype|not the architecture being linked)")
- ENDIF(CTEST_TEST_OSX_ARCH)
+ endif()
- LIST(APPEND TEST_BUILD_DIRS ${CMake_TEST_INSTALL_PREFIX})
+ list(APPEND TEST_BUILD_DIRS ${CMake_TEST_INSTALL_PREFIX})
- IF(NOT QT4_FOUND)
- FIND_PACKAGE(Qt4)
- ENDIF(NOT QT4_FOUND)
+ if(NOT QT4_FOUND)
+ find_package(Qt4)
+ endif()
- IF(QT4_FOUND)
+ if(QT4_FOUND)
# test whether the Qt4 which has been found works, on some machines
# which run nightly builds there were errors like "wrong file format"
# for libQtCore.so. So first check it works, and only if it does add
# the automoc test.
- INCLUDE(CheckCXXSourceCompiles)
- SET(_save_CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES}")
- SET(_save_CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES}")
+ include(CheckCXXSourceCompiles)
+ set(_save_CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES}")
+ set(_save_CMAKE_REQUIRED_LIBRARIES "${CMAKE_REQUIRED_LIBRARIES}")
- SET(CMAKE_REQUIRED_INCLUDES ${QT_INCLUDES})
- SET(CMAKE_REQUIRED_LIBRARIES ${QT_QTCORE_LIBRARIES})
+ set(CMAKE_REQUIRED_INCLUDES ${QT_INCLUDES})
+ set(CMAKE_REQUIRED_LIBRARIES ${QT_QTCORE_LIBRARIES})
CHECK_CXX_SOURCE_COMPILES("#include <QCoreApplication>\n int main() {return (qApp == 0 ? 0 : 1); }\n"
QT4_WORKS)
- SET(CMAKE_REQUIRED_INCLUDES "${_save_CMAKE_REQUIRED_INCLUDES}")
- SET(CMAKE_REQUIRED_LIBRARIES "${_save_CMAKE_REQUIRED_LIBRARIES}")
- ENDIF()
+ set(CMAKE_REQUIRED_INCLUDES "${_save_CMAKE_REQUIRED_INCLUDES}")
+ set(CMAKE_REQUIRED_LIBRARIES "${_save_CMAKE_REQUIRED_LIBRARIES}")
+ endif()
# run test for BundleUtilities on supported platforms/compilers
if(MSVC OR
@@ -263,7 +261,7 @@ IF(BUILD_TESTING)
CMAKE_SYSTEM_NAME MATCHES "Darwin")
if(NOT "${CMAKE_TEST_GENERATOR}" STREQUAL "Watcom WMake")
- ADD_TEST(BundleUtilities ${CMAKE_CTEST_COMMAND}
+ add_test(BundleUtilities ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/BundleUtilities"
"${CMake_BINARY_DIR}/Tests/BundleUtilities"
@@ -271,12 +269,12 @@ IF(BUILD_TESTING)
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-project BundleUtilities
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/BundleUtilities")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/BundleUtilities")
# run test for DeployQt4 on supported platforms/compilers (which depends on BundleUtilities)
# this test also depends on the existence of the standard qtiff plugin
if(QT4_WORKS AND QT_QTSQL_FOUND)
- ADD_TEST(Qt4Deploy ${CMAKE_CTEST_COMMAND}
+ add_test(Qt4Deploy ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Qt4Deploy"
"${CMake_BINARY_DIR}/Tests/Qt4Deploy"
@@ -287,29 +285,29 @@ IF(BUILD_TESTING)
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-DQT_QMAKE_EXECUTABLE:FILEPATH=${QT_QMAKE_EXECUTABLE}
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Qt4Deploy")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Qt4Deploy")
endif()
endif()
endif()
- SET(CMAKE_BUILD_TEST_SOURCE_DIR "${CMake_SOURCE_DIR}/Tests/COnly")
- SET(CMAKE_BUILD_TEST_BINARY_DIR "${CMake_BINARY_DIR}/Tests/CMakeBuildCOnly")
- SET(CMAKE_BUILD_TEST_EXE COnly)
- CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CMakeBuildTest.cmake.in"
+ set(CMAKE_BUILD_TEST_SOURCE_DIR "${CMake_SOURCE_DIR}/Tests/COnly")
+ set(CMAKE_BUILD_TEST_BINARY_DIR "${CMake_BINARY_DIR}/Tests/CMakeBuildCOnly")
+ set(CMAKE_BUILD_TEST_EXE COnly)
+ configure_file("${CMake_SOURCE_DIR}/Tests/CMakeBuildTest.cmake.in"
"${CMake_BINARY_DIR}/Tests/CMakeBuildTest.cmake" @ONLY)
- ADD_TEST(CMakeBuildTest ${CMAKE_CMAKE_COMMAND} -P
+ add_test(CMakeBuildTest ${CMAKE_CMAKE_COMMAND} -P
"${CMake_BINARY_DIR}/Tests/CMakeBuildTest.cmake")
- LIST(APPEND TEST_BUILD_DIRS ${CMAKE_BUILD_TEST_BINARY_DIR})
+ list(APPEND TEST_BUILD_DIRS ${CMAKE_BUILD_TEST_BINARY_DIR})
# now do it again for a project that has two project commands
- SET(CMAKE_BUILD_TEST_SOURCE_DIR "${CMake_SOURCE_DIR}/Tests/DoubleProject")
- SET(CMAKE_BUILD_TEST_BINARY_DIR "${CMake_BINARY_DIR}/Tests/DoubleProject")
- SET(CMAKE_BUILD_TEST_EXE just_silly)
- CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CMakeBuildTest.cmake.in"
+ set(CMAKE_BUILD_TEST_SOURCE_DIR "${CMake_SOURCE_DIR}/Tests/DoubleProject")
+ set(CMAKE_BUILD_TEST_BINARY_DIR "${CMake_BINARY_DIR}/Tests/DoubleProject")
+ set(CMAKE_BUILD_TEST_EXE just_silly)
+ configure_file("${CMake_SOURCE_DIR}/Tests/CMakeBuildTest.cmake.in"
"${CMake_BINARY_DIR}/Tests/CMakeBuildDoubleProjectTest.cmake" @ONLY)
- ADD_TEST(CMakeDoubleProject ${CMAKE_CMAKE_COMMAND} -P
+ add_test(CMakeDoubleProject ${CMAKE_CMAKE_COMMAND} -P
"${CMake_BINARY_DIR}/Tests/CMakeBuildDoubleProjectTest.cmake")
- LIST(APPEND TEST_BUILD_DIRS ${CMAKE_BUILD_TEST_BINARY_DIR})
+ list(APPEND TEST_BUILD_DIRS ${CMAKE_BUILD_TEST_BINARY_DIR})
ADD_TEST_MACRO(Module.CheckTypeSize CheckTypeSize)
@@ -333,7 +331,7 @@ IF(BUILD_TESTING)
ADD_TEST_MACRO(PositionIndependentTargets PositionIndependentTargets)
endif()
- ADD_TEST(LinkFlags-prepare
+ add_test(LinkFlags-prepare
${CMAKE_CTEST_COMMAND} -C \${CTEST_CONFIGURATION_TYPE}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/LinkFlags"
@@ -344,16 +342,16 @@ IF(BUILD_TESTING)
--build-target LinkFlags
--build-options -DTEST_CONFIG=\${CTEST_CONFIGURATION_TYPE}
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/LinkFlags")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/LinkFlags")
- MACRO(ADD_LINK_FLAGS_TEST name depends)
- ADD_TEST(LinkFlags-${name}
+ macro(ADD_LINK_FLAGS_TEST name depends)
+ add_test(LinkFlags-${name}
${CMAKE_CMAKE_COMMAND} --build "${CMake_BINARY_DIR}/Tests/LinkFlags"
--target LinkFlags_${name} --config \${CTEST_CONFIGURATION_TYPE}
)
- SET_TESTS_PROPERTIES(LinkFlags-${name} PROPERTIES
+ set_tests_properties(LinkFlags-${name} PROPERTIES
PASS_REGULAR_EXPRESSION "BADFLAG" DEPENDS LinkFlags-${depends})
- ENDMACRO()
+ endmacro()
ADD_LINK_FLAGS_TEST(lib prepare)
ADD_LINK_FLAGS_TEST(dll lib)
ADD_LINK_FLAGS_TEST(exe dll)
@@ -365,12 +363,12 @@ IF(BUILD_TESTING)
# build the "Simple" test with the ExtraGenerators, if available
# This doesn't test whether the generated project files work (unfortunately),
# mainly it tests that cmake doesn't crash when generating these project files.
- IF(${CMAKE_TEST_GENERATOR} MATCHES "Unix Makefiles" OR ${CMAKE_TEST_GENERATOR} MATCHES "KDevelop")
+ if(${CMAKE_TEST_GENERATOR} MATCHES "Unix Makefiles" OR ${CMAKE_TEST_GENERATOR} MATCHES "KDevelop")
# check which generators we have
- EXEC_PROGRAM(${CMAKE_CMAKE_COMMAND} ARGS --help OUTPUT_VARIABLE cmakeOutput )
+ exec_program(${CMAKE_CMAKE_COMMAND} ARGS --help OUTPUT_VARIABLE cmakeOutput )
# check for the Eclipse generator
- IF ("${cmakeOutput}" MATCHES Eclipse)
- ADD_TEST(Simple_EclipseGenerator ${CMAKE_CTEST_COMMAND}
+ if ("${cmakeOutput}" MATCHES Eclipse)
+ add_test(Simple_EclipseGenerator ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Simple"
"${CMake_BINARY_DIR}/Tests/Simple_EclipseGenerator"
@@ -379,12 +377,12 @@ IF(BUILD_TESTING)
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-project Simple
--test-command Simple)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Simple_EclipseGenerator")
- ENDIF ("${cmakeOutput}" MATCHES Eclipse)
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Simple_EclipseGenerator")
+ endif ()
# check for the CodeBlocks generator
- IF ("${cmakeOutput}" MATCHES CodeBlocks)
- ADD_TEST(Simple_CodeBlocksGenerator ${CMAKE_CTEST_COMMAND}
+ if ("${cmakeOutput}" MATCHES CodeBlocks)
+ add_test(Simple_CodeBlocksGenerator ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Simple"
"${CMake_BINARY_DIR}/Tests/Simple_CodeBlocksGenerator"
@@ -393,11 +391,11 @@ IF(BUILD_TESTING)
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-project Simple
--test-command Simple)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Simple_CodeBlocksGenerator")
- ENDIF ("${cmakeOutput}" MATCHES CodeBlocks)
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Simple_CodeBlocksGenerator")
+ endif ()
# check for the KDevelop3 generator
- IF ("${cmakeOutput}" MATCHES KDevelop3)
- ADD_TEST(Simple_KDevelop3Generator ${CMAKE_CTEST_COMMAND}
+ if ("${cmakeOutput}" MATCHES KDevelop3)
+ add_test(Simple_KDevelop3Generator ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Simple"
"${CMake_BINARY_DIR}/Tests/Simple_KDevelop3Generator"
@@ -406,17 +404,17 @@ IF(BUILD_TESTING)
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-project Simple
--test-command Simple)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Simple_KDevelop3Generator")
- ENDIF ("${cmakeOutput}" MATCHES KDevelop3)
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Simple_KDevelop3Generator")
+ endif ()
- ENDIF(${CMAKE_TEST_GENERATOR} MATCHES "Unix Makefiles" OR ${CMAKE_TEST_GENERATOR} MATCHES "KDevelop")
+ endif()
# test for correct sub-project generation
# not implemented in VS6 or Xcode
- IF(NOT MSVC60 AND NOT XCODE AND NOT MSVC70)
+ if(NOT MSVC60 AND NOT XCODE AND NOT MSVC70)
# run cmake and configure all of SubProject
# but only build the independent executable car
- ADD_TEST(SubProject ${CMAKE_CTEST_COMMAND}
+ add_test(SubProject ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/SubProject"
"${CMake_BINARY_DIR}/Tests/SubProject"
@@ -427,20 +425,20 @@ IF(BUILD_TESTING)
--test-command car
)
- IF(${CMAKE_TEST_GENERATOR} MATCHES "Ninja")
+ if(${CMAKE_TEST_GENERATOR} MATCHES "Ninja")
# The Ninja generator does not create a recursive build system. Start
# from the root directory.
- SET(SubProject_SUBDIR)
- ELSE()
- SET(SubProject_SUBDIR "/foo")
- ENDIF()
+ set(SubProject_SUBDIR)
+ else()
+ set(SubProject_SUBDIR "/foo")
+ endif()
# For stage 2, do not run cmake again.
# Then build the foo sub project which should build
# the bar library which should be referenced because
# foo links to the static library bar, but bar is not
# directly in the foo sub project
- ADD_TEST(SubProject-Stage2 ${CMAKE_CTEST_COMMAND}
+ add_test(SubProject-Stage2 ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/SubProject${SubProject_SUBDIR}"
"${CMake_BINARY_DIR}/Tests/SubProject${SubProject_SUBDIR}"
@@ -452,29 +450,29 @@ IF(BUILD_TESTING)
--build-exe-dir "${CMake_BINARY_DIR}/Tests/SubProject/foo"
--test-command foo
)
- SET_TESTS_PROPERTIES ( SubProject-Stage2 PROPERTIES DEPENDS SubProject)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/SubProject")
- ENDIF(NOT MSVC60 AND NOT XCODE AND NOT MSVC70)
+ set_tests_properties ( SubProject-Stage2 PROPERTIES DEPENDS SubProject)
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/SubProject")
+ endif()
- IF (CMAKE_STRICT)
+ if (CMAKE_STRICT)
ADD_TEST_MACRO(DocTest DocTest)
- ENDIF (CMAKE_STRICT)
+ endif ()
# macro to add a test that will build a nightly release
# of CMake for given platform using the release scripts
- MACRO(ADD_NIGHTLY_BUILD_TEST name script)
- SET(_TEST_DIR "${CMake_BINARY_DIR}/Tests/${name}")
- FILE(MAKE_DIRECTORY "${_TEST_DIR}")
- FILE(WRITE "${_TEST_DIR}/nightly-cmake.sh"
+ macro(ADD_NIGHTLY_BUILD_TEST name script)
+ set(_TEST_DIR "${CMake_BINARY_DIR}/Tests/${name}")
+ file(MAKE_DIRECTORY "${_TEST_DIR}")
+ file(WRITE "${_TEST_DIR}/nightly-cmake.sh"
"cd ${_TEST_DIR}
${CMake_BINARY_DIR}/bin/cmake -DCMAKE_CREATE_VERSION=nightly -P ${CMake_SOURCE_DIR}/Utilities/Release/${script}
${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/Release/upload_release.cmake
")
- ADD_TEST(${name} /bin/sh ${_TEST_DIR}/nightly-cmake.sh)
- IF(COMMAND SET_TESTS_PROPERTIES AND COMMAND GET_TEST_PROPERTY)
- SET_TESTS_PROPERTIES (${name} PROPERTIES TIMEOUT ${CMAKE_LONG_TEST_TIMEOUT})
- ENDIF(COMMAND SET_TESTS_PROPERTIES AND COMMAND GET_TEST_PROPERTY)
- ENDMACRO(ADD_NIGHTLY_BUILD_TEST)
- IF(CMAKE_BUILD_NIGHTLY_RELEASES)
+ add_test(${name} /bin/sh ${_TEST_DIR}/nightly-cmake.sh)
+ if(COMMAND SET_TESTS_PROPERTIES AND COMMAND GET_TEST_PROPERTY)
+ set_tests_properties (${name} PROPERTIES TIMEOUT ${CMAKE_LONG_TEST_TIMEOUT})
+ endif()
+ endmacro()
+ if(CMAKE_BUILD_NIGHTLY_RELEASES)
ADD_NIGHTLY_BUILD_TEST(CMakeNightlyWindows
dash2win64_release.cmake)
ADD_NIGHTLY_BUILD_TEST(CMakeNightlyMac
@@ -483,10 +481,10 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
dashmacmini5_release.cmake)
ADD_NIGHTLY_BUILD_TEST(CMakeNightlyLinux
magrathea_release.cmake)
- ENDIF(CMAKE_BUILD_NIGHTLY_RELEASES)
+ endif()
# add tests with more complex invocations
- ADD_TEST(Framework ${CMAKE_CTEST_COMMAND}
+ add_test(Framework ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Framework"
"${CMake_BINARY_DIR}/Tests/Framework"
@@ -497,9 +495,9 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-options
"-DCMAKE_INSTALL_PREFIX:PATH=${CMake_BINARY_DIR}/Tests/Framework/Install"
--test-command bar)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Framework")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Framework")
- ADD_TEST(TargetName ${CMAKE_CTEST_COMMAND}
+ add_test(TargetName ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/TargetName"
"${CMake_BINARY_DIR}/Tests/TargetName"
@@ -510,9 +508,9 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--test-command ${CMAKE_CMAKE_COMMAND} -E compare_files
${CMake_SOURCE_DIR}/Tests/TargetName/scripts/hello_world
${CMake_BINARY_DIR}/Tests/TargetName/scripts/hello_world)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/TargetName")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/TargetName")
- ADD_TEST(LibName ${CMAKE_CTEST_COMMAND}
+ add_test(LibName ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/LibName"
"${CMake_BINARY_DIR}/Tests/LibName"
@@ -523,9 +521,9 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-exe-dir "${CMake_BINARY_DIR}/Tests/LibName/lib"
--test-command foobar
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/LibName")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/LibName")
- ADD_TEST(CustComDepend ${CMAKE_CTEST_COMMAND}
+ add_test(CustComDepend ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/CustComDepend"
"${CMake_BINARY_DIR}/Tests/CustComDepend"
@@ -536,9 +534,9 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-exe-dir "${CMake_BINARY_DIR}/Tests/CustComDepend/bin"
--test-command foo bar.c
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/CustComDepend")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/CustComDepend")
- ADD_TEST(ArgumentExpansion ${CMAKE_CTEST_COMMAND}
+ add_test(ArgumentExpansion ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/ArgumentExpansion"
"${CMake_BINARY_DIR}/Tests/ArgumentExpansion"
@@ -547,11 +545,22 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-exe-dir "${CMake_BINARY_DIR}/Tests/ArgumentExpansion/bin"
)
- SET_TESTS_PROPERTIES(ArgumentExpansion PROPERTIES
+ set_tests_properties(ArgumentExpansion PROPERTIES
FAIL_REGULAR_EXPRESSION "Unexpected: ")
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/ArgumentExpansion")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/ArgumentExpansion")
+
+ add_test(GeneratorExpression ${CMAKE_CTEST_COMMAND}
+ --build-and-test
+ "${CMake_SOURCE_DIR}/Tests/GeneratorExpression"
+ "${CMake_BINARY_DIR}/Tests/GeneratorExpression"
+ --build-generator ${CMAKE_TEST_GENERATOR}
+ --build-project GeneratorExpression
+ --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
+ --build-options -DCMAKE_BUILD_TYPE=\${CTEST_CONFIGURATION_TYPE}
+ )
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/GeneratorExpression")
- ADD_TEST(CustomCommand ${CMAKE_CTEST_COMMAND}
+ add_test(CustomCommand ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/CustomCommand"
"${CMake_BINARY_DIR}/Tests/CustomCommand"
@@ -562,9 +571,9 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-exe-dir "${CMake_BINARY_DIR}/Tests/CustomCommand/bin"
--test-command CustomCommand
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/CustomCommand")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/CustomCommand")
- ADD_TEST(CustomCommandWorkingDirectory ${CMAKE_CTEST_COMMAND}
+ add_test(CustomCommandWorkingDirectory ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/CustomCommandWorkingDirectory"
"${CMake_BINARY_DIR}/Tests/CustomCommandWorkingDirectory"
@@ -574,9 +583,9 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--test-command working
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/CustomCommandWorkingDirectory")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/CustomCommandWorkingDirectory")
- #ADD_TEST(SimpleExclude ${CMAKE_CTEST_COMMAND}
+ #add_test(SimpleExclude ${CMAKE_CTEST_COMMAND}
# --build-and-test
# "${CMake_SOURCE_DIR}/Tests/SimpleExclude"
# "${CMake_BINARY_DIR}/Tests/SimpleExclude"
@@ -590,7 +599,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
#-P "${CMake_BINARY_DIR}/Tests/SimpleExclude/run.cmake"
#)
-# ADD_TEST(SameName ${CMAKE_CTEST_COMMAND}
+# add_test(SameName ${CMAKE_CTEST_COMMAND}
# --build-and-test
# "${CMake_SOURCE_DIR}/Tests/SameName"
# "${CMake_BINARY_DIR}/Tests/SameName"
@@ -601,7 +610,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
# --test-command
# "${CMake_BINARY_DIR}/Tests/SameName/Exe1/mytest2")
- ADD_TEST(OutOfSource ${CMAKE_CTEST_COMMAND}
+ add_test(OutOfSource ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/OutOfSource"
"${CMake_BINARY_DIR}/Tests/OutOfSource"
@@ -611,11 +620,11 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-two-config
--test-command
"${CMake_BINARY_DIR}/Tests/OutOfSource/SubDir/OutOfSourceSubdir/simple")
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/OutOfSource")
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/OutOfSourceDeep")
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/OutOfBinary")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/OutOfSource")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/OutOfSourceDeep")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/OutOfBinary")
- ADD_TEST(BuildDepends ${CMAKE_CTEST_COMMAND}
+ add_test(BuildDepends ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/BuildDepends"
"${CMake_BINARY_DIR}/Tests/BuildDepends"
@@ -623,11 +632,11 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-project BuildDepends
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/BuildDepends")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/BuildDepends")
- SET(SimpleInstallInstallDir
+ set(SimpleInstallInstallDir
"${CMake_BINARY_DIR}/Tests/SimpleInstall/InstallDirectory")
- ADD_TEST(SimpleInstall ${CMAKE_CTEST_COMMAND}
+ add_test(SimpleInstall ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/SimpleInstall"
"${CMake_BINARY_DIR}/Tests/SimpleInstall"
@@ -639,8 +648,8 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
"-DCMAKE_INSTALL_PREFIX:PATH=${SimpleInstallInstallDir}"
"-DCTEST_TEST_CPACK:BOOL=${CTEST_TEST_CPACK}"
--test-command ${SimpleInstallInstallDir}/MyTest/bin/SimpleInstExe)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/SimpleInstall")
- ADD_TEST(SimpleInstall-Stage2 ${CMAKE_CTEST_COMMAND}
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/SimpleInstall")
+ add_test(SimpleInstall-Stage2 ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/SimpleInstallS2"
"${CMake_BINARY_DIR}/Tests/SimpleInstallS2"
@@ -652,7 +661,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
"-DCMAKE_INSTALL_PREFIX:PATH=${SimpleInstallInstallDir}"
"-DSTAGE2:BOOL=1"
--test-command ${SimpleInstallInstallDir}/MyTest/bin/SimpleInstExeS2)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/SimpleInstallS2")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/SimpleInstallS2")
# By default, run the CPackComponents test if the CTEST_TEST_CPACK
# option is ON:
@@ -663,11 +672,11 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
if (CMAKE_SYSTEM_NAME MATCHES "Linux" AND NOT CMAKE_CURRENT_BINARY_DIR MATCHES ".* .*")
find_program(RPMBUILD NAMES rpmbuild)
- endif(CMAKE_SYSTEM_NAME MATCHES "Linux" AND NOT CMAKE_CURRENT_BINARY_DIR MATCHES ".* .*")
+ endif()
# Do not try to build RPM
if (NOT RPMBUILD)
set(CPACK_BINARY_RPM OFF)
- endif(NOT RPMBUILD)
+ endif()
find_program(NSIS_MAKENSIS_EXECUTABLE NAMES makensis
PATHS [HKEY_LOCAL_MACHINE\\SOFTWARE\\NSIS]
@@ -680,23 +689,23 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
if(WIN32)
if(NSIS_MAKENSIS_EXECUTABLE)
set(CTEST_RUN_CPackComponents ON)
- else(NSIS_MAKENSIS_EXECUTABLE)
+ else()
set(CTEST_RUN_CPackComponents OFF)
set(CTEST_package_X11_TEST OFF)
- endif(NSIS_MAKENSIS_EXECUTABLE)
- endif(WIN32)
+ endif()
+ endif()
- IF(CTEST_RUN_CPackComponents)
+ if(CTEST_RUN_CPackComponents)
set(CPackComponents_EXTRA_OPTIONS)
if(APPLE)
set(CPackComponents_EXTRA_OPTIONS -DCPACK_BINARY_DRAGNDROP:BOOL=ON)
- endif(APPLE)
+ endif()
if(NSIS_MAKENSIS_EXECUTABLE)
set(CPackComponents_EXTRA_OPTIONS ${CPackComponents_EXTRA_OPTIONS}
-DCPACK_BINARY_NSIS:BOOL=ON)
- endif(NSIS_MAKENSIS_EXECUTABLE)
+ endif()
- ADD_TEST(CPackComponents ${CMAKE_CTEST_COMMAND}
+ add_test(CPackComponents ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/CPackComponents"
"${CMake_BINARY_DIR}/Tests/CPackComponents"
@@ -713,22 +722,22 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--test-command ${CMAKE_CMAKE_COMMAND}
"-DCPackComponents_BINARY_DIR:PATH=${CMake_BINARY_DIR}/Tests/CPackComponents"
-P "${CMake_SOURCE_DIR}/Tests/CPackComponents/VerifyResult.cmake")
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/CPackComponents")
- ENDIF(CTEST_RUN_CPackComponents)
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/CPackComponents")
+ endif()
- IF(CTEST_RUN_CPackComponentsForAll)
+ if(CTEST_RUN_CPackComponentsForAll)
# Check whether if rpmbuild command is found
# before adding RPM tests
find_program(RPMBUILD_EXECUTABLE NAMES rpmbuild)
if(RPMBUILD_EXECUTABLE)
list(APPEND ACTIVE_CPACK_GENERATORS RPM)
- endif(RPMBUILD_EXECUTABLE)
+ endif()
# Check whether if dpkg command is found
# before adding DEB tests
find_program(DPKG_EXECUTABLE NAMES dpkg)
if(DPKG_EXECUTABLE)
list(APPEND ACTIVE_CPACK_GENERATORS DEB)
- endif(DPKG_EXECUTABLE)
+ endif()
# ACTIVE_CPACK_GENERATORS variable
# now contains the list of 'active generators'
@@ -738,17 +747,17 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
list(APPEND GENLST "ZIP")
if(APPLE)
list(APPEND GENLST "DragNDrop")
- endif(APPLE)
+ endif()
if (NOT CMAKE_CURRENT_BINARY_DIR MATCHES ".* .*")
list(FIND ACTIVE_CPACK_GENERATORS "RPM" RPM_ACTIVE)
if (NOT ${RPM_ACTIVE} EQUAL -1)
list(APPEND GENLST "RPM")
- endif(NOT ${RPM_ACTIVE} EQUAL -1)
- endif(NOT CMAKE_CURRENT_BINARY_DIR MATCHES ".* .*")
+ endif()
+ endif()
list(FIND ACTIVE_CPACK_GENERATORS "DEB" DEB_ACTIVE)
if (NOT ${DEB_ACTIVE} EQUAL -1)
list(APPEND GENLST "DEB")
- endif(NOT ${DEB_ACTIVE} EQUAL -1)
+ endif()
# set up list of component packaging ways
list(APPEND CWAYLST "default")
@@ -759,7 +768,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
set(CPackRun_CPackGen "-DCPackGen=${CPackGen}")
foreach(CPackComponentWay ${CWAYLST})
set(CPackRun_CPackComponentWay "-DCPackComponentWay=${CPackComponentWay}")
- ADD_TEST(CPackComponentsForAll-${CPackGen}-${CPackComponentWay} ${CMAKE_CTEST_COMMAND}
+ add_test(CPackComponentsForAll-${CPackGen}-${CPackComponentWay} ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/CPackComponentsForAll"
"${CMake_BINARY_DIR}/Tests/CPackComponentsForAll/build${CPackGen}-${CPackComponentWay}"
@@ -777,10 +786,10 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
"${CPackRun_CPackGen}"
"${CPackRun_CPackComponentWay}"
-P "${CMake_SOURCE_DIR}/Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake")
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/CPackComponentsForAll/build${CPackGen}-${CPackComponentWay}")
- endforeach(CPackComponentWay)
- endforeach(CPackGen)
- ENDIF(CTEST_RUN_CPackComponentsForAll)
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/CPackComponentsForAll/build${CPackGen}-${CPackComponentWay}")
+ endforeach()
+ endforeach()
+ endif()
# By default, turn this test off (because it takes a long time...)
#
@@ -794,13 +803,11 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
NOT "$ENV{COVFILE}" STREQUAL "" OR
CMAKE_RUN_LONG_TESTS)
set(CTEST_RUN_CPackTestAllGenerators ${CTEST_TEST_CPACK})
- endif(CMAKE_CXX_FLAGS MATCHES "-ftest-coverage" OR
- NOT "$ENV{COVFILE}" STREQUAL "" OR
- CMAKE_RUN_LONG_TESTS)
- endif(NOT DEFINED CTEST_RUN_CPackTestAllGenerators)
+ endif()
+ endif()
- IF(CTEST_RUN_CPackTestAllGenerators)
- ADD_TEST(CPackTestAllGenerators ${CMAKE_CTEST_COMMAND}
+ if(CTEST_RUN_CPackTestAllGenerators)
+ add_test(CPackTestAllGenerators ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/CPackTestAllGenerators"
"${CMake_BINARY_DIR}/Tests/CPackTestAllGenerators"
@@ -813,16 +820,16 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
-D cpack=${CMAKE_CPACK_COMMAND}
-P ${CMake_SOURCE_DIR}/Tests/CPackTestAllGenerators/RunCPack.cmake
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/CPackTestAllGenerators")
- ENDIF(CTEST_RUN_CPackTestAllGenerators)
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/CPackTestAllGenerators")
+ endif()
- IF(CTEST_package_X11_TEST)
- SET(X11_build_target_arg --build-target package)
- ELSE(CTEST_package_X11_TEST)
- SET(X11_build_target_arg)
- ENDIF(CTEST_package_X11_TEST)
+ if(CTEST_package_X11_TEST)
+ set(X11_build_target_arg --build-target package)
+ else()
+ set(X11_build_target_arg)
+ endif()
- ADD_TEST(X11 ${CMAKE_CTEST_COMMAND}
+ add_test(X11 ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/X11"
"${CMake_BINARY_DIR}/Tests/X11"
@@ -832,53 +839,53 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-two-config
${X11_build_target_arg}
--test-command UseX11)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/X11")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/X11")
if(NOT DEFINED CTEST_RUN_CMakeTestAllGenerators)
set(CTEST_RUN_CMakeTestAllGenerators ON)
- endif(NOT DEFINED CTEST_RUN_CMakeTestAllGenerators)
+ endif()
- IF(CTEST_RUN_CMakeTestAllGenerators)
- ADD_TEST(CMakeTestAllGenerators ${CMAKE_CMAKE_COMMAND}
+ if(CTEST_RUN_CMakeTestAllGenerators)
+ add_test(CMakeTestAllGenerators ${CMAKE_CMAKE_COMMAND}
-D dir=${CMake_BINARY_DIR}/Tests/CMakeTestAllGenerators
-D CMake_SOURCE_DIR=${CMake_SOURCE_DIR}
-P ${CMake_SOURCE_DIR}/Tests/CMakeTestAllGenerators/RunCMake.cmake
)
- LIST(APPEND TEST_BUILD_DIRS
+ list(APPEND TEST_BUILD_DIRS
"${CMake_BINARY_DIR}/Tests/CMakeTestAllGenerators")
- ENDIF(CTEST_RUN_CMakeTestAllGenerators)
+ endif()
if(NOT DEFINED CTEST_RUN_CMakeTestBadCommandLines)
set(CTEST_RUN_CMakeTestBadCommandLines ON)
- endif(NOT DEFINED CTEST_RUN_CMakeTestBadCommandLines)
+ endif()
- IF(CTEST_RUN_CMakeTestBadCommandLines)
- ADD_TEST(CMakeTestBadCommandLines ${CMAKE_CMAKE_COMMAND}
+ if(CTEST_RUN_CMakeTestBadCommandLines)
+ add_test(CMakeTestBadCommandLines ${CMAKE_CMAKE_COMMAND}
-D dir=${CMake_BINARY_DIR}/Tests/CMakeTestBadCommandLines
-D gen=${CMAKE_TEST_GENERATOR}
-D CMake_SOURCE_DIR=${CMake_SOURCE_DIR}
-P ${CMake_SOURCE_DIR}/Tests/CMakeTestBadCommandLines/RunCMake.cmake
)
- LIST(APPEND TEST_BUILD_DIRS
+ list(APPEND TEST_BUILD_DIRS
"${CMake_BINARY_DIR}/Tests/CMakeTestBadCommandLines")
- ENDIF(CTEST_RUN_CMakeTestBadCommandLines)
+ endif()
if(NOT DEFINED CTEST_RUN_CMakeTestMultipleConfigures)
set(CTEST_RUN_CMakeTestMultipleConfigures ON)
- endif(NOT DEFINED CTEST_RUN_CMakeTestMultipleConfigures)
+ endif()
- IF(CTEST_RUN_CMakeTestMultipleConfigures)
- ADD_TEST(CMakeTestMultipleConfigures ${CMAKE_CMAKE_COMMAND}
+ if(CTEST_RUN_CMakeTestMultipleConfigures)
+ add_test(CMakeTestMultipleConfigures ${CMAKE_CMAKE_COMMAND}
-D dir=${CMake_BINARY_DIR}/Tests/CMakeTestMultipleConfigures
-D gen=${CMAKE_TEST_GENERATOR}
-D CMake_SOURCE_DIR=${CMake_SOURCE_DIR}
-P ${CMake_SOURCE_DIR}/Tests/CMakeTestMultipleConfigures/RunCMake.cmake
)
- LIST(APPEND TEST_BUILD_DIRS
+ list(APPEND TEST_BUILD_DIRS
"${CMake_BINARY_DIR}/Tests/CMakeTestMultipleConfigures")
- ENDIF(CTEST_RUN_CMakeTestMultipleConfigures)
+ endif()
- ADD_TEST(LoadedCommandOneConfig ${CMAKE_CTEST_COMMAND}
+ add_test(LoadedCommandOneConfig ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/LoadCommandOneConfig"
"${CMake_BINARY_DIR}/Tests/LoadCommandOneConfig"
@@ -887,9 +894,9 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--test-command LoadedCommand
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/LoadCommandOneConfig")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/LoadCommandOneConfig")
- ADD_TEST(complex ${CMAKE_CTEST_COMMAND}
+ add_test(complex ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Complex"
"${CMake_BINARY_DIR}/Tests/Complex"
@@ -903,9 +910,9 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
--test-command complex
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Complex")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Complex")
- ADD_TEST(complexOneConfig ${CMAKE_CTEST_COMMAND}
+ add_test(complexOneConfig ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/ComplexOneConfig"
"${CMake_BINARY_DIR}/Tests/ComplexOneConfig"
@@ -916,11 +923,11 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-options
-DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
--test-command complex)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/ComplexOneConfig")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/ComplexOneConfig")
# because of the registry write these tests depend on each other
- SET_TESTS_PROPERTIES ( complex PROPERTIES DEPENDS complexOneConfig)
+ set_tests_properties ( complex PROPERTIES DEPENDS complexOneConfig)
- ADD_TEST(Example ${CMAKE_CTEST_COMMAND}
+ add_test(Example ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Example"
"${CMake_BINARY_DIR}/Example"
@@ -930,9 +937,9 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-exe-dir "${CMake_BINARY_DIR}/Example/Demo"
--test-command helloDemo
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Example")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Example")
- ADD_TEST(Environment ${CMAKE_CTEST_COMMAND}
+ add_test(Environment ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Environment"
"${CMake_BINARY_DIR}/Tests/Environment"
@@ -943,10 +950,10 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--force-new-ctest-process
--test-command ${CMAKE_CTEST_COMMAND} -V
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Environment")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Environment")
- IF(QT4_WORKS AND QT_QTGUI_FOUND)
- ADD_TEST(QtAutomoc ${CMAKE_CTEST_COMMAND}
+ if(QT4_WORKS AND QT_QTGUI_FOUND)
+ add_test(QtAutomoc ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/QtAutomoc"
"${CMake_BINARY_DIR}/Tests/QtAutomoc"
@@ -958,10 +965,10 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-options -DQT_QMAKE_EXECUTABLE:FILEPATH=${QT_QMAKE_EXECUTABLE}
--test-command ${CMAKE_CTEST_COMMAND} -V
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/QtAutomoc")
- ENDIF()
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/QtAutomoc")
+ endif()
- ADD_TEST(ExternalProject ${CMAKE_CTEST_COMMAND}
+ add_test(ExternalProject ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/ExternalProject"
"${CMake_BINARY_DIR}/Tests/ExternalProject"
@@ -972,13 +979,13 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--force-new-ctest-process
--test-command ${CMAKE_CTEST_COMMAND} -V
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/ExternalProject")
- SET_TESTS_PROPERTIES(ExternalProject PROPERTIES
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/ExternalProject")
+ set_tests_properties(ExternalProject PROPERTIES
TIMEOUT ${CMAKE_LONG_TEST_TIMEOUT})
# do each of the tutorial steps
- FOREACH(STP RANGE 1 7)
- ADD_TEST(TutorialStep${STP} ${CMAKE_CTEST_COMMAND}
+ foreach(STP RANGE 1 7)
+ add_test(TutorialStep${STP} ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Tutorial/Step${STP}"
"${CMake_BINARY_DIR}/Tests/Tutorial/Step${STP}"
@@ -987,10 +994,10 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-project Tutorial
--test-command Tutorial 25.0)
- ENDFOREACH(STP)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Tutorial")
+ endforeach()
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Tutorial")
- ADD_TEST(testing ${CMAKE_CTEST_COMMAND} -C \${CTEST_CONFIGURATION_TYPE}
+ add_test(testing ${CMAKE_CTEST_COMMAND} -C \${CTEST_CONFIGURATION_TYPE}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Testing"
"${CMake_BINARY_DIR}/Tests/Testing"
@@ -999,10 +1006,10 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--test-command ${CMAKE_CTEST_COMMAND} -C \${CTEST_CONFIGURATION_TYPE}
)
- SET_TESTS_PROPERTIES(testing PROPERTIES PASS_REGULAR_EXPRESSION "Passed")
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Testing")
+ set_tests_properties(testing PROPERTIES PASS_REGULAR_EXPRESSION "Passed")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Testing")
- ADD_TEST(wrapping ${CMAKE_CTEST_COMMAND}
+ add_test(wrapping ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Wrapping"
"${CMake_BINARY_DIR}/Tests/Wrapping"
@@ -1012,7 +1019,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
--test-command wrapping
)
- ADD_TEST(qtwrapping ${CMAKE_CTEST_COMMAND}
+ add_test(qtwrapping ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Wrapping"
"${CMake_BINARY_DIR}/Tests/Wrapping"
@@ -1022,9 +1029,9 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-exe-dir "${CMake_BINARY_DIR}/Tests/Wrapping/bin"
--test-command qtwrapping
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Wrapping")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Wrapping")
- ADD_TEST(testdriver1 ${CMAKE_CTEST_COMMAND}
+ add_test(testdriver1 ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/TestDriver"
"${CMake_BINARY_DIR}/Tests/TestDriver"
@@ -1035,7 +1042,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--test-command TestDriverTest test1
)
- ADD_TEST(testdriver2 ${CMAKE_CTEST_COMMAND}
+ add_test(testdriver2 ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/TestDriver"
"${CMake_BINARY_DIR}/Tests/TestDriver"
@@ -1046,7 +1053,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--test-command TestDriverTest test2
)
- ADD_TEST(testdriver3 ${CMAKE_CTEST_COMMAND}
+ add_test(testdriver3 ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/TestDriver"
"${CMake_BINARY_DIR}/Tests/TestDriver"
@@ -1056,9 +1063,9 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-project TestDriverTest
--test-command TestDriverTest subdir/test3
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/TestDriver")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/TestDriver")
- ADD_TEST(Dependency ${CMAKE_CTEST_COMMAND}
+ add_test(Dependency ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Dependency"
"${CMake_BINARY_DIR}/Tests/Dependency"
@@ -1068,9 +1075,9 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-project Dependency
--test-command exec
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Dependency")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Dependency")
- IF("${CMAKE_SYSTEM_NAME}" MATCHES syllable)
+ if("${CMAKE_SYSTEM_NAME}" MATCHES syllable)
# RPATH isn't supported under Syllable, so the tests don't
# find their libraries. In order to fix that LIBRARY_OUTPUT_DIR
@@ -1078,17 +1085,17 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
# For now we just require on Syllable that the user adjusts the DLL_PATH
# environment variable, so except the two tests below all other tests will succeed.
- SET(_DLL_PATH "$ENV{DLL_PATH}")
- IF(NOT "${_DLL_PATH}" MATCHES "^(.*:)?\\@bindir\\@/\\.(:.*)?$")
- MESSAGE(FATAL_ERROR "In order to successfully run the CMake test suite on Syllable you need to add \"\\@bindir\\@/.\" to the DLL_PATH environment variable")
- ENDIF(NOT "${_DLL_PATH}" MATCHES "^(.*:)?\\@bindir\\@/\\.(:.*)?$")
- IF(NOT "${_DLL_PATH}" MATCHES "^(.*:)?\\@bindir\\@/\\.\\./lib(:.*)?$")
- MESSAGE(FATAL_ERROR "In order to successfully run the CMake test suite on Syllable you need to add \"\\@bindir\\@/../lib\" to the DLL_PATH environment variable")
- ENDIF(NOT "${_DLL_PATH}" MATCHES "^(.*:)?\\@bindir\\@/\\.\\./lib(:.*)?$")
+ set(_DLL_PATH "$ENV{DLL_PATH}")
+ if(NOT "${_DLL_PATH}" MATCHES "^(.*:)?\\@bindir\\@/\\.(:.*)?$")
+ message(FATAL_ERROR "In order to successfully run the CMake test suite on Syllable you need to add \"\\@bindir\\@/.\" to the DLL_PATH environment variable")
+ endif()
+ if(NOT "${_DLL_PATH}" MATCHES "^(.*:)?\\@bindir\\@/\\.\\./lib(:.*)?$")
+ message(FATAL_ERROR "In order to successfully run the CMake test suite on Syllable you need to add \"\\@bindir\\@/../lib\" to the DLL_PATH environment variable")
+ endif()
- ELSE("${CMAKE_SYSTEM_NAME}" MATCHES syllable)
+ else()
- ADD_TEST(JumpWithLibOut ${CMAKE_CTEST_COMMAND}
+ add_test(JumpWithLibOut ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Jump"
"${CMake_BINARY_DIR}/Tests/Jump/WithLibOut"
@@ -1101,7 +1108,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--test-command jumpExecutable
)
- ADD_TEST(JumpNoLibOut ${CMAKE_CTEST_COMMAND}
+ add_test(JumpNoLibOut ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Jump"
"${CMake_BINARY_DIR}/Tests/Jump/NoLibOut"
@@ -1112,9 +1119,9 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--test-command jumpExecutable
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Jump")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Jump")
- ADD_TEST(Plugin ${CMAKE_CTEST_COMMAND}
+ add_test(Plugin ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Plugin"
"${CMake_BINARY_DIR}/Tests/Plugin"
@@ -1123,14 +1130,14 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-two-config
--test-command bin/example)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Plugin")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Plugin")
- IF(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG)
+ if(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG)
ADD_TEST_MACRO(RuntimePath RuntimePath)
- ENDIF(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG)
- ENDIF("${CMAKE_SYSTEM_NAME}" MATCHES syllable)
+ endif()
+ endif()
- ADD_TEST(linkorder1 ${CMAKE_CTEST_COMMAND}
+ add_test(linkorder1 ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/LinkLineOrder"
"${CMake_BINARY_DIR}/Tests/LinkLineOrder"
@@ -1140,7 +1147,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--test-command Exec1
)
- ADD_TEST(linkorder2 ${CMAKE_CTEST_COMMAND}
+ add_test(linkorder2 ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/LinkLineOrder"
"${CMake_BINARY_DIR}/Tests/LinkLineOrder"
@@ -1149,19 +1156,19 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-project LinkLineOrder
--test-command Exec2
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/LinkLineOrder")
- SET_TESTS_PROPERTIES ( qtwrapping PROPERTIES DEPENDS wrapping)
- SET_TESTS_PROPERTIES ( testdriver1 PROPERTIES DEPENDS qtwrapping)
- SET_TESTS_PROPERTIES ( testdriver2 PROPERTIES DEPENDS testdriver1)
- SET_TESTS_PROPERTIES ( testdriver3 PROPERTIES DEPENDS testdriver2)
- SET_TESTS_PROPERTIES ( linkorder2 PROPERTIES DEPENDS linkorder1)
- SET_TESTS_PROPERTIES ( SimpleInstall-Stage2 PROPERTIES DEPENDS SimpleInstall)
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/LinkLineOrder")
+ set_tests_properties ( qtwrapping PROPERTIES DEPENDS wrapping)
+ set_tests_properties ( testdriver1 PROPERTIES DEPENDS qtwrapping)
+ set_tests_properties ( testdriver2 PROPERTIES DEPENDS testdriver1)
+ set_tests_properties ( testdriver3 PROPERTIES DEPENDS testdriver2)
+ set_tests_properties ( linkorder2 PROPERTIES DEPENDS linkorder1)
+ set_tests_properties ( SimpleInstall-Stage2 PROPERTIES DEPENDS SimpleInstall)
# Test static linking on toolchains known to support it.
- IF("${CMAKE_C_COMPILER_ID}" MATCHES "^(GNU)$"
+ if("${CMAKE_C_COMPILER_ID}" MATCHES "^(GNU)$"
AND NOT APPLE AND NOT WIN32 AND NOT CYGWIN
AND EXISTS "/usr/lib/libm.a")
- ADD_TEST(LinkStatic ${CMAKE_CTEST_COMMAND}
+ add_test(LinkStatic ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/LinkStatic"
"${CMake_BINARY_DIR}/Tests/LinkStatic"
@@ -1171,10 +1178,10 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-options -DMATH_LIBRARY:FILEPATH=/usr/lib/libm.a
--test-command LinkStatic
)
- ENDIF()
+ endif()
- IF(NOT CMAKE_TEST_DIFFERENT_GENERATOR)
- ADD_TEST(kwsys ${CMAKE_CTEST_COMMAND}
+ if(NOT CMAKE_TEST_DIFFERENT_GENERATOR)
+ add_test(kwsys ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Source/kwsys"
"${CMake_BINARY_DIR}/Tests/kwsys"
@@ -1183,27 +1190,27 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-project kwsys
--test-command kwsysTestsCxx testIOS
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/kwsys")
- ENDIF(NOT CMAKE_TEST_DIFFERENT_GENERATOR)
- SET(MAKE_IS_GNU )
- IF(${CMAKE_TEST_MAKEPROGRAM} MATCHES make)
- EXEC_PROGRAM(
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/kwsys")
+ endif()
+ set(MAKE_IS_GNU )
+ if(${CMAKE_TEST_MAKEPROGRAM} MATCHES make)
+ exec_program(
${CMAKE_TEST_MAKEPROGRAM} ARGS no_such_target --version
RETURN_VALUE res OUTPUT_VARIABLE out
)
- IF("${res}" EQUAL 0)
- IF("${out}" MATCHES "GNU")
- SET(MAKE_IS_GNU 1)
- ENDIF("${out}" MATCHES "GNU")
- ENDIF("${res}" EQUAL 0)
- ENDIF(${CMAKE_TEST_MAKEPROGRAM} MATCHES make)
+ if("${res}" EQUAL 0)
+ if("${out}" MATCHES "GNU")
+ set(MAKE_IS_GNU 1)
+ endif()
+ endif()
+ endif()
# only add this test on platforms that support it
# some old versions of make simply cannot handle spaces in paths
- IF (MAKE_IS_GNU OR
+ if (MAKE_IS_GNU OR
"${CMAKE_TEST_MAKEPROGRAM}" MATCHES "nmake|gmake|wmake" OR
"${CMAKE_TEST_GENERATOR}" MATCHES "Visual Studio|XCode|Borland")
- ADD_TEST(SubDirSpaces ${CMAKE_CTEST_COMMAND}
+ add_test(SubDirSpaces ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/SubDirSpaces"
"${CMake_BINARY_DIR}/Tests/SubDirSpaces"
@@ -1216,13 +1223,11 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
"${CMake_BINARY_DIR}/Tests/SubDirSpaces/ShouldBeHere"
"${CMake_BINARY_DIR}/Tests/SubDirSpaces/testfromsubdir.obj"
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/SubDirSpaces")
- ENDIF (MAKE_IS_GNU OR
- "${CMAKE_TEST_MAKEPROGRAM}" MATCHES "nmake|gmake|wmake" OR
- "${CMAKE_TEST_GENERATOR}" MATCHES "Visual Studio|XCode|Borland")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/SubDirSpaces")
+ endif ()
- IF (WIN32)
- ADD_TEST(SubDir ${CMAKE_CTEST_COMMAND}
+ if (WIN32)
+ add_test(SubDir ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/SubDir"
"${CMake_BINARY_DIR}/Tests/SubDir"
@@ -1234,8 +1239,8 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
"${CMake_BINARY_DIR}/Tests/SubDir/ShouldBeHere"
"${CMake_BINARY_DIR}/Tests/SubDir/testfromsubdir.obj"
)
- ELSE (WIN32)
- ADD_TEST(SubDir ${CMAKE_CTEST_COMMAND}
+ else ()
+ add_test(SubDir ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/SubDir"
"${CMake_BINARY_DIR}/Tests/SubDir"
@@ -1247,22 +1252,23 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
"${CMake_BINARY_DIR}/Tests/SubDir/ShouldBeHere"
"${CMake_BINARY_DIR}/Tests/SubDir/testfromsubdir.o"
)
- ENDIF (WIN32)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/SubDir")
+ endif ()
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/SubDir")
- IF(CMAKE_TEST_MSVC)
+ if(CMAKE_TEST_MSVC)
ADD_TEST_MACRO(ForceInclude foo)
+ ADD_TEST_MACRO(PDBDirectoryAndName myexe)
ADD_TEST_MACRO(PrecompiledHeader foo)
- ENDIF()
- IF(CMAKE_TEST_MSVC OR
+ endif()
+ if(CMAKE_TEST_MSVC OR
"${CMAKE_TEST_GENERATOR}" MATCHES "(MSYS|MinGW) Makefiles")
ADD_TEST_MACRO(ModuleDefinition example_exe)
- ENDIF()
+ endif()
ADD_TEST_MACRO(CheckCompilerRelatedVariables CheckCompilerRelatedVariables)
- IF("${CMAKE_TEST_GENERATOR}" MATCHES "Makefile")
- ADD_TEST(MakeClean ${CMAKE_CTEST_COMMAND}
+ if("${CMAKE_TEST_GENERATOR}" MATCHES "Makefile")
+ add_test(MakeClean ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/MakeClean"
"${CMake_BINARY_DIR}/Tests/MakeClean"
@@ -1272,8 +1278,8 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-exe-dir "${CMake_BINARY_DIR}/MakeClean"
--test-command check_clean
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/MakeClean")
- ENDIF("${CMAKE_TEST_GENERATOR}" MATCHES "Makefile")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/MakeClean")
+ endif()
if(NOT DEFINED CTEST_RUN_MFC)
set(CTEST_RUN_MFC OFF)
@@ -1380,12 +1386,12 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/MFC")
endif()
- IF(${CMAKE_TEST_GENERATOR} MATCHES "Visual Studio")
- IF(NOT MSVC60)
+ if(${CMAKE_TEST_GENERATOR} MATCHES "Visual Studio")
+ if(NOT MSVC60)
ADD_TEST_MACRO(SBCS SBCS)
- ENDIF(NOT MSVC60)
+ endif()
- ADD_TEST(VSExternalInclude ${CMAKE_CTEST_COMMAND}
+ add_test(VSExternalInclude ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/VSExternalInclude"
"${CMake_BINARY_DIR}/Tests/VSExternalInclude"
@@ -1394,9 +1400,9 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-project VSExternalInclude
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--test-command VSExternalInclude)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/VSExternalInclude")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/VSExternalInclude")
- ADD_TEST(VSMidl ${CMAKE_CTEST_COMMAND}
+ add_test(VSMidl ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/VSMidl"
"${CMake_BINARY_DIR}/Tests/VSMidl"
@@ -1405,14 +1411,14 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-project VSMidl
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--test-command VSMidl)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/VSMidl")
- ENDIF(${CMAKE_TEST_GENERATOR} MATCHES "Visual Studio")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/VSMidl")
+ endif()
- IF (APPLE)
+ if (APPLE)
if (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
- SET(BundleTestInstallDir
+ set(BundleTestInstallDir
"${CMake_BINARY_DIR}/Tests/BundleTest/InstallDirectory")
- ADD_TEST(BundleTest ${CMAKE_CTEST_COMMAND}
+ add_test(BundleTest ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/BundleTest"
"${CMake_BINARY_DIR}/Tests/BundleTest"
@@ -1426,9 +1432,9 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
"-DCMake_SOURCE_DIR:PATH=${CMake_SOURCE_DIR}"
--test-command
${BundleTestInstallDir}/Applications/SecondBundleExe.app/Contents/MacOS/SecondBundleExe)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/BundleTest")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/BundleTest")
- ADD_TEST(CFBundleTest ${CMAKE_CTEST_COMMAND}
+ add_test(CFBundleTest ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/CFBundleTest"
"${CMake_BINARY_DIR}/Tests/CFBundleTest"
@@ -1441,14 +1447,14 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
-Ddir=${CMake_BINARY_DIR}/Tests/CFBundleTest
-Dgen=${CMAKE_TEST_GENERATOR}
-P ${CMake_SOURCE_DIR}/Tests/CFBundleTest/VerifyResult.cmake)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/CFBundleTest")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/CFBundleTest")
ADD_TEST_MACRO(ObjC++ ObjC++)
- ENDIF (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
- ENDIF (APPLE)
+ endif ()
+ endif ()
- IF(APPLE AND CTEST_TEST_CPACK)
- ADD_TEST(BundleGeneratorTest ${CMAKE_CTEST_COMMAND}
+ if(APPLE AND CTEST_TEST_CPACK)
+ add_test(BundleGeneratorTest ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/BundleGeneratorTest"
"${CMake_BINARY_DIR}/Tests/BundleGeneratorTest"
@@ -1459,10 +1465,10 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-target package
--build-options "-DCMAKE_INSTALL_PREFIX:PATH=${CMake_BINARY_DIR}/Tests/BundleGeneratorTest/InstallDirectory"
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/BundleGeneratorTest")
- ENDIF(APPLE AND CTEST_TEST_CPACK)
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/BundleGeneratorTest")
+ endif()
- ADD_TEST(WarnUnusedUnusedViaSet ${CMAKE_CTEST_COMMAND}
+ add_test(WarnUnusedUnusedViaSet ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/VariableUnusedViaSet"
"${CMake_BINARY_DIR}/Tests/WarnUnusedUnusedViaSet"
@@ -1471,13 +1477,13 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-noclean
--build-project WarnUnusedUnusedViaSet
--build-options "--warn-unused-vars")
- SET_TESTS_PROPERTIES(WarnUnusedUnusedViaSet PROPERTIES
+ set_tests_properties(WarnUnusedUnusedViaSet PROPERTIES
PASS_REGULAR_EXPRESSION "unused variable \\(changing definition\\) 'UNUSED_VARIABLE'")
- SET_TESTS_PROPERTIES(WarnUnusedUnusedViaSet PROPERTIES
+ set_tests_properties(WarnUnusedUnusedViaSet PROPERTIES
FAIL_REGULAR_EXPRESSION "unused variable \\(unsetting\\) 'UNUSED_VARIABLE'")
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/WarnUnusedUnusedViaSet")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/WarnUnusedUnusedViaSet")
- ADD_TEST(WarnUnusedUnusedViaUnset ${CMAKE_CTEST_COMMAND}
+ add_test(WarnUnusedUnusedViaUnset ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/VariableUnusedViaUnset"
"${CMake_BINARY_DIR}/Tests/WarnUnusedUnusedViaUnset"
@@ -1486,13 +1492,13 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-noclean
--build-project WarnUnusedUnusedViaUnset
--build-options "--warn-unused-vars")
- SET_TESTS_PROPERTIES(WarnUnusedUnusedViaUnset PROPERTIES
- PASS_REGULAR_EXPRESSION "CMake Warning .*:7 \\(set\\):")
- SET_TESTS_PROPERTIES(WarnUnusedUnusedViaUnset PROPERTIES
- FAIL_REGULAR_EXPRESSION "CMake Warning .*:5 \\(set\\):")
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/WarnUnusedUnusedViaUnset")
+ set_tests_properties(WarnUnusedUnusedViaUnset PROPERTIES
+ PASS_REGULAR_EXPRESSION "CMake Warning .*VariableUnusedViaUnset.CMakeLists.txt:7 \\(set\\):")
+ set_tests_properties(WarnUnusedUnusedViaUnset PROPERTIES
+ FAIL_REGULAR_EXPRESSION "CMake Warning .*VariableUnusedViaUnset.CMakeLists.txt:5 \\(set\\):")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/WarnUnusedUnusedViaUnset")
- ADD_TEST(WarnUnusedCliUnused ${CMAKE_CTEST_COMMAND}
+ add_test(WarnUnusedCliUnused ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/VariableUsage"
"${CMake_BINARY_DIR}/Tests/WarnUnusedCliUnused"
@@ -1501,11 +1507,11 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-noclean
--build-project WarnUnusedCliUnused
--build-options "-DUNUSED_CLI_VARIABLE=Unused")
- SET_TESTS_PROPERTIES(WarnUnusedCliUnused PROPERTIES
+ set_tests_properties(WarnUnusedCliUnused PROPERTIES
PASS_REGULAR_EXPRESSION "CMake Warning:.*Manually-specified variables were not used by the project:.* UNUSED_CLI_VARIABLE")
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/WarnUnusedCliUnused")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/WarnUnusedCliUnused")
- ADD_TEST(WarnUnusedCliUsed ${CMAKE_CTEST_COMMAND}
+ add_test(WarnUnusedCliUsed ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/VariableUsage"
"${CMake_BINARY_DIR}/Tests/WarnUnusedCliUsed"
@@ -1514,13 +1520,13 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-noclean
--build-project WarnUnusedCliUsed
--build-options "-DUSED_VARIABLE=Usage proven")
- SET_TESTS_PROPERTIES(WarnUnusedCliUsed PROPERTIES
+ set_tests_properties(WarnUnusedCliUsed PROPERTIES
PASS_REGULAR_EXPRESSION "Usage proven")
- SET_TESTS_PROPERTIES(WarnUnusedCliUsed PROPERTIES
+ set_tests_properties(WarnUnusedCliUsed PROPERTIES
FAIL_REGULAR_EXPRESSION "CMake Warning: The variable, 'USED_VARIABLE'")
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/WarnUnusedCliUsed")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/WarnUnusedCliUsed")
- ADD_TEST(WarnUninitialized ${CMAKE_CTEST_COMMAND}
+ add_test(WarnUninitialized ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/VariableUsage"
"${CMake_BINARY_DIR}/Tests/WarnUninitialized"
@@ -1529,11 +1535,11 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-noclean
--build-project WarnUninitialized
--build-options "--warn-uninitialized")
- SET_TESTS_PROPERTIES(WarnUninitialized PROPERTIES
+ set_tests_properties(WarnUninitialized PROPERTIES
PASS_REGULAR_EXPRESSION "uninitialized variable 'USED_VARIABLE'")
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/WarnUninitialized")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/WarnUninitialized")
- ADD_TEST(TestsWorkingDirectory ${CMAKE_CTEST_COMMAND}
+ add_test(TestsWorkingDirectory ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/TestsWorkingDirectory"
"${CMake_BINARY_DIR}/Tests/TestsWorkingDirectory"
@@ -1544,200 +1550,200 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--force-new-ctest-process
--test-command ${CMAKE_CTEST_COMMAND} -V -C \${CTEST_CONFIGURATION_TYPE}
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/TestsWorkingDirectory")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/TestsWorkingDirectory")
# Make sure CTest can handle a test with no newline in output.
- ADD_TEST(CTest.NoNewline
+ add_test(CTest.NoNewline
${CMAKE_CMAKE_COMMAND} -E echo_append "This line has no newline!")
# A simple test for ctest in script mode
- CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestScriptMode/CTestTestScriptMode.cmake.in"
+ configure_file("${CMake_SOURCE_DIR}/Tests/CTestScriptMode/CTestTestScriptMode.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestScriptMode/CTestTestScriptMode.cmake" @ONLY)
-# ADD_TEST(CTest.ScriptMode ${CMAKE_CTEST_COMMAND}
+# add_test(CTest.ScriptMode ${CMAKE_CTEST_COMMAND}
# -S "${CMake_BINARY_DIR}/Tests/CTestScriptMode/CTestTestScriptMode.cmake"
# )
- SET(CTEST_TEST_UPDATE 1)
- IF(CTEST_TEST_UPDATE)
+ set(CTEST_TEST_UPDATE 1)
+ if(CTEST_TEST_UPDATE)
# Test CTest Update with Subversion
- FIND_PACKAGE(Subversion QUIET)
- IF(Subversion_FOUND)
- GET_FILENAME_COMPONENT(_Subversion_BIN_DIR
+ find_package(Subversion QUIET)
+ if(Subversion_FOUND)
+ get_filename_component(_Subversion_BIN_DIR
${Subversion_SVN_EXECUTABLE} PATH)
- FIND_PROGRAM(Subversion_SVNADMIN_EXECUTABLE svnadmin
+ find_program(Subversion_SVNADMIN_EXECUTABLE svnadmin
HINTS ${_Subversion_BIN_DIR}
)
- MARK_AS_ADVANCED(Subversion_SVNADMIN_EXECUTABLE)
- IF(NOT Subversion_SVNADMIN_EXECUTABLE)
- SET(Subversion_FOUND FALSE)
- ENDIF(NOT Subversion_SVNADMIN_EXECUTABLE)
- ENDIF(Subversion_FOUND)
- IF(Subversion_FOUND)
- SET(CTestUpdateSVN_DIR "CTest UpdateSVN")
- CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestUpdateSVN.cmake.in"
+ mark_as_advanced(Subversion_SVNADMIN_EXECUTABLE)
+ if(NOT Subversion_SVNADMIN_EXECUTABLE)
+ set(Subversion_FOUND FALSE)
+ endif()
+ endif()
+ if(Subversion_FOUND)
+ set(CTestUpdateSVN_DIR "CTest UpdateSVN")
+ configure_file("${CMake_SOURCE_DIR}/Tests/CTestUpdateSVN.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestUpdateSVN.cmake" @ONLY)
- ADD_TEST(CTest.UpdateSVN ${CMAKE_CMAKE_COMMAND}
+ add_test(CTest.UpdateSVN ${CMAKE_CMAKE_COMMAND}
-P "${CMake_BINARY_DIR}/Tests/CTestUpdateSVN.cmake"
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateSVN_DIR}")
- ENDIF(Subversion_FOUND)
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateSVN_DIR}")
+ endif()
# Test CTest Update with CVS
- IF(EXISTS ${CMAKE_ROOT}/Modules/FindCVS.cmake)
- FIND_PACKAGE(CVS QUIET)
- ELSE(EXISTS ${CMAKE_ROOT}/Modules/FindCVS.cmake)
- FIND_PROGRAM(CVS_EXECUTABLE NAMES cvs)
- SET(CVS_FOUND ${CVS_EXECUTABLE})
- ENDIF(EXISTS ${CMAKE_ROOT}/Modules/FindCVS.cmake)
- SET(CTEST_TEST_UPDATE_CVS ${CVS_FOUND})
- IF(CTEST_TEST_UPDATE_CVS AND NOT UNIX)
- IF("${CVS_EXECUTABLE}" MATCHES "cygwin")
- MESSAGE(STATUS "No CTest.UpdateCVS test with cygwin cvs.exe outside cygwin!")
- SET(CTEST_TEST_UPDATE_CVS 0)
- ENDIF("${CVS_EXECUTABLE}" MATCHES "cygwin")
- ENDIF(CTEST_TEST_UPDATE_CVS AND NOT UNIX)
- IF(CTEST_TEST_UPDATE_CVS)
- SET(CTestUpdateCVS_DIR "CTest UpdateCVS")
- CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestUpdateCVS.cmake.in"
+ if(EXISTS ${CMAKE_ROOT}/Modules/FindCVS.cmake)
+ find_package(CVS QUIET)
+ else()
+ find_program(CVS_EXECUTABLE NAMES cvs)
+ set(CVS_FOUND ${CVS_EXECUTABLE})
+ endif()
+ set(CTEST_TEST_UPDATE_CVS ${CVS_FOUND})
+ if(CTEST_TEST_UPDATE_CVS AND NOT UNIX)
+ if("${CVS_EXECUTABLE}" MATCHES "cygwin")
+ message(STATUS "No CTest.UpdateCVS test with cygwin cvs.exe outside cygwin!")
+ set(CTEST_TEST_UPDATE_CVS 0)
+ endif()
+ endif()
+ if(CTEST_TEST_UPDATE_CVS)
+ set(CTestUpdateCVS_DIR "CTest UpdateCVS")
+ configure_file("${CMake_SOURCE_DIR}/Tests/CTestUpdateCVS.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestUpdateCVS.cmake" @ONLY)
- ADD_TEST(CTest.UpdateCVS ${CMAKE_CMAKE_COMMAND}
+ add_test(CTest.UpdateCVS ${CMAKE_CMAKE_COMMAND}
-P "${CMake_BINARY_DIR}/Tests/CTestUpdateCVS.cmake"
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateCVS_DIR}")
- ENDIF(CTEST_TEST_UPDATE_CVS)
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateCVS_DIR}")
+ endif()
# Test CTest Update with BZR
- FIND_PROGRAM(BZR_EXECUTABLE NAMES bzr)
- MARK_AS_ADVANCED(BZR_EXECUTABLE)
- SET(CTEST_TEST_UPDATE_BZR 0)
- IF(BZR_EXECUTABLE)
- IF(NOT "${BZR_EXECUTABLE}" MATCHES "cygwin" OR UNIX)
- SET(CTEST_TEST_UPDATE_BZR 1)
- ENDIF(NOT "${BZR_EXECUTABLE}" MATCHES "cygwin" OR UNIX)
- ENDIF(BZR_EXECUTABLE)
- IF(CTEST_TEST_UPDATE_BZR)
+ find_program(BZR_EXECUTABLE NAMES bzr)
+ mark_as_advanced(BZR_EXECUTABLE)
+ set(CTEST_TEST_UPDATE_BZR 0)
+ if(BZR_EXECUTABLE)
+ if(NOT "${BZR_EXECUTABLE}" MATCHES "cygwin" OR UNIX)
+ set(CTEST_TEST_UPDATE_BZR 1)
+ endif()
+ endif()
+ if(CTEST_TEST_UPDATE_BZR)
# Check if xmloutput plugin is there
- EXECUTE_PROCESS(COMMAND ${BZR_EXECUTABLE} xmlplugins RESULT_VARIABLE xmlplugres
+ execute_process(COMMAND ${BZR_EXECUTABLE} xmlplugins RESULT_VARIABLE xmlplugres
OUTPUT_QUIET ERROR_QUIET)
- IF( NOT ${xmlplugres} )
- SET(CTestUpdateBZR_DIR "CTest UpdateBZR")
- CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestUpdateBZR.cmake.in"
+ if( NOT ${xmlplugres} )
+ set(CTestUpdateBZR_DIR "CTest UpdateBZR")
+ configure_file("${CMake_SOURCE_DIR}/Tests/CTestUpdateBZR.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestUpdateBZR.cmake" @ONLY)
- ADD_TEST(CTest.UpdateBZR ${CMAKE_CMAKE_COMMAND}
+ add_test(CTest.UpdateBZR ${CMAKE_CMAKE_COMMAND}
-P "${CMake_BINARY_DIR}/Tests/CTestUpdateBZR.cmake"
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateBZR_DIR}")
- SET(CTestUpdateBZR_DIR "CTest UpdateBZR_CLocale")
- CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestUpdateBZR.cmake.in"
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateBZR_DIR}")
+ set(CTestUpdateBZR_DIR "CTest UpdateBZR_CLocale")
+ configure_file("${CMake_SOURCE_DIR}/Tests/CTestUpdateBZR.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestUpdateBZR_CLocale.cmake" @ONLY)
- ADD_TEST(CTest.UpdateBZR.CLocale ${CMAKE_CMAKE_COMMAND}
+ add_test(CTest.UpdateBZR.CLocale ${CMAKE_CMAKE_COMMAND}
-P "${CMake_BINARY_DIR}/Tests/CTestUpdateBZR_CLocale.cmake"
)
- SET_TESTS_PROPERTIES(CTest.UpdateBZR.CLocale PROPERTIES ENVIRONMENT LC_ALL=C)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateBZR_DIR}")
- ENDIF( NOT ${xmlplugres} )
- ENDIF(CTEST_TEST_UPDATE_BZR)
+ set_tests_properties(CTest.UpdateBZR.CLocale PROPERTIES ENVIRONMENT LC_ALL=C)
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateBZR_DIR}")
+ endif()
+ endif()
# Test CTest Update with GIT
- FIND_PROGRAM(GIT_EXECUTABLE NAMES git)
- MARK_AS_ADVANCED(GIT_EXECUTABLE)
- SET(CTEST_TEST_UPDATE_GIT 0)
- IF(GIT_EXECUTABLE)
- IF(NOT "${GIT_EXECUTABLE}" MATCHES "cygwin" OR UNIX)
- SET(CTEST_TEST_UPDATE_GIT 1)
- ENDIF(NOT "${GIT_EXECUTABLE}" MATCHES "cygwin" OR UNIX)
- ENDIF(GIT_EXECUTABLE)
- IF(CTEST_TEST_UPDATE_GIT)
- SET(CTestUpdateGIT_DIR "CTest UpdateGIT")
- CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestUpdateGIT.cmake.in"
+ find_program(GIT_EXECUTABLE NAMES git)
+ mark_as_advanced(GIT_EXECUTABLE)
+ set(CTEST_TEST_UPDATE_GIT 0)
+ if(GIT_EXECUTABLE)
+ if(NOT "${GIT_EXECUTABLE}" MATCHES "cygwin" OR UNIX)
+ set(CTEST_TEST_UPDATE_GIT 1)
+ endif()
+ endif()
+ if(CTEST_TEST_UPDATE_GIT)
+ set(CTestUpdateGIT_DIR "CTest UpdateGIT")
+ configure_file("${CMake_SOURCE_DIR}/Tests/CTestUpdateGIT.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestUpdateGIT.cmake" @ONLY)
- ADD_TEST(CTest.UpdateGIT ${CMAKE_CMAKE_COMMAND}
+ add_test(CTest.UpdateGIT ${CMAKE_CMAKE_COMMAND}
-P "${CMake_BINARY_DIR}/Tests/CTestUpdateGIT.cmake"
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateGIT_DIR}")
- ENDIF(CTEST_TEST_UPDATE_GIT)
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateGIT_DIR}")
+ endif()
# Test CTest Update with HG
- FIND_PROGRAM(HG_EXECUTABLE NAMES hg)
- MARK_AS_ADVANCED(HG_EXECUTABLE)
- SET(CTEST_TEST_UPDATE_HG 0)
- IF(HG_EXECUTABLE)
- IF(NOT "${HG_EXECUTABLE}" MATCHES "cygwin" OR UNIX)
- SET(CTEST_TEST_UPDATE_HG 1)
- ENDIF(NOT "${HG_EXECUTABLE}" MATCHES "cygwin" OR UNIX)
- ENDIF(HG_EXECUTABLE)
- IF(CTEST_TEST_UPDATE_HG)
- SET(CTestUpdateHG_DIR "CTest UpdateHG")
- CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestUpdateHG.cmake.in"
+ find_program(HG_EXECUTABLE NAMES hg)
+ mark_as_advanced(HG_EXECUTABLE)
+ set(CTEST_TEST_UPDATE_HG 0)
+ if(HG_EXECUTABLE)
+ if(NOT "${HG_EXECUTABLE}" MATCHES "cygwin" OR UNIX)
+ set(CTEST_TEST_UPDATE_HG 1)
+ endif()
+ endif()
+ if(CTEST_TEST_UPDATE_HG)
+ set(CTestUpdateHG_DIR "CTest UpdateHG")
+ configure_file("${CMake_SOURCE_DIR}/Tests/CTestUpdateHG.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestUpdateHG.cmake" @ONLY)
- ADD_TEST(CTest.UpdateHG ${CMAKE_CMAKE_COMMAND}
+ add_test(CTest.UpdateHG ${CMAKE_CMAKE_COMMAND}
-P "${CMake_BINARY_DIR}/Tests/CTestUpdateHG.cmake"
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateHG_DIR}")
- ENDIF(CTEST_TEST_UPDATE_HG)
- ENDIF(CTEST_TEST_UPDATE)
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${CTestUpdateHG_DIR}")
+ endif()
+ endif()
- CONFIGURE_FILE(
+ configure_file(
"${CMake_SOURCE_DIR}/Tests/CTestTestFailure/testNoBuild.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestTestFailure/testNoBuild.cmake"
@ONLY ESCAPE_QUOTES)
- ADD_TEST(CTestTestNoBuild ${CMAKE_CTEST_COMMAND}
+ add_test(CTestTestNoBuild ${CMAKE_CTEST_COMMAND}
-S "${CMake_BINARY_DIR}/Tests/CTestTestFailure/testNoBuild.cmake" -V
--output-log "${CMake_BINARY_DIR}/Tests/CTestTestFailure/testOut1.log"
)
- SET_TESTS_PROPERTIES(CTestTestNoBuild PROPERTIES
+ set_tests_properties(CTestTestNoBuild PROPERTIES
FAIL_REGULAR_EXPRESSION "Error" WILL_FAIL true)
- CONFIGURE_FILE(
+ configure_file(
"${CMake_SOURCE_DIR}/Tests/CTestTestFailure/testNoExe.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestTestFailure/testNoExe.cmake"
@ONLY ESCAPE_QUOTES)
- ADD_TEST(CTestTestNoExe ${CMAKE_CTEST_COMMAND}
+ add_test(CTestTestNoExe ${CMAKE_CTEST_COMMAND}
-S "${CMake_BINARY_DIR}/Tests/CTestTestFailure/testNoExe.cmake" -V
--output-log "${CMake_BINARY_DIR}/Tests/CTestTestFailure/testOut2.log"
)
- SET_TESTS_PROPERTIES(CTestTestNoExe PROPERTIES DEPENDS CTestTestNoBuild
+ set_tests_properties(CTestTestNoExe PROPERTIES DEPENDS CTestTestNoBuild
PASS_REGULAR_EXPRESSION "Could not find executable"
FAIL_REGULAR_EXPRESSION "SegFault")
- CONFIGURE_FILE(
+ configure_file(
"${CMake_SOURCE_DIR}/Tests/CTestTestUpload/test.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestTestUpload/test.cmake"
@ONLY ESCAPE_QUOTES)
- ADD_TEST(CTestTestUpload ${CMAKE_CTEST_COMMAND}
+ add_test(CTestTestUpload ${CMAKE_CTEST_COMMAND}
-S "${CMake_BINARY_DIR}/Tests/CTestTestUpload/test.cmake" -V
--output-log "${CMake_BINARY_DIR}/Tests/CTestTestUpload/testOut.log"
)
- SET_TESTS_PROPERTIES(CTestTestUpload PROPERTIES
+ set_tests_properties(CTestTestUpload PROPERTIES
PASS_REGULAR_EXPRESSION "Upload\\.xml")
- CONFIGURE_FILE(
+ configure_file(
"${CMake_SOURCE_DIR}/Tests/CTestTestConfigFileInBuildDir/test1.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestTestConfigFileInBuildDir1/test1.cmake"
@ONLY ESCAPE_QUOTES)
- ADD_TEST(CTestTestConfigFileInBuildDir1 ${CMAKE_CTEST_COMMAND}
+ add_test(CTestTestConfigFileInBuildDir1 ${CMAKE_CTEST_COMMAND}
-S "${CMake_BINARY_DIR}/Tests/CTestTestConfigFileInBuildDir1/test1.cmake" -V
--output-log "${CMake_BINARY_DIR}/Tests/CTestTestConfigFileInBuildDir1/testOut1.log"
)
REGEX_ESCAPE_STRING(CTEST_TEST_ESCAPED_SOURCE_DIR "${CMake_SOURCE_DIR}")
- SET_TESTS_PROPERTIES(CTestTestConfigFileInBuildDir1 PROPERTIES DEPENDS CTestTestNoBuild
+ set_tests_properties(CTestTestConfigFileInBuildDir1 PROPERTIES DEPENDS CTestTestNoBuild
PASS_REGULAR_EXPRESSION
"Reading ctest configuration file: ${CTEST_TEST_ESCAPED_SOURCE_DIR}.Tests.CTestTestConfigFileInBuildDir.CTestConfig.cmake")
- CONFIGURE_FILE(
+ configure_file(
"${CMake_SOURCE_DIR}/Tests/CTestTestConfigFileInBuildDir/test2.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestTestConfigFileInBuildDir2/test2.cmake"
@ONLY ESCAPE_QUOTES)
- CONFIGURE_FILE(
+ configure_file(
"${CMake_SOURCE_DIR}/Tests/CTestTestConfigFileInBuildDir/CTestConfig.cmake"
"${CMake_BINARY_DIR}/Tests/CTestTestConfigFileInBuildDir2/CTestConfig.cmake"
@ONLY ESCAPE_QUOTES COPYONLY)
- ADD_TEST(CTestTestConfigFileInBuildDir2 ${CMAKE_CTEST_COMMAND}
+ add_test(CTestTestConfigFileInBuildDir2 ${CMAKE_CTEST_COMMAND}
-S "${CMake_BINARY_DIR}/Tests/CTestTestConfigFileInBuildDir2/test2.cmake" -V
--output-log "${CMake_BINARY_DIR}/Tests/CTestTestConfigFileInBuildDir2/testOut2.log"
)
REGEX_ESCAPE_STRING(CTEST_TEST_ESCAPED_BINARY_DIR "${CMake_BINARY_DIR}")
- SET_TESTS_PROPERTIES(CTestTestConfigFileInBuildDir2 PROPERTIES DEPENDS CTestTestNoBuild
+ set_tests_properties(CTestTestConfigFileInBuildDir2 PROPERTIES DEPENDS CTestTestNoBuild
REQUIRED_FILES ${CMake_BINARY_DIR}/Tests/CTestTestConfigFileInBuildDir2/CTestConfig.cmake
PASS_REGULAR_EXPRESSION
"Reading ctest configuration file: ${CTEST_TEST_ESCAPED_BINARY_DIR}.Tests.CTestTestConfigFileInBuildDir2.CTestConfig.cmake")
@@ -1829,175 +1835,175 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
ADD_TEST_MACRO(CMakeCommands.target_link_libraries target_link_libraries)
- CONFIGURE_FILE(
+ configure_file(
"${CMake_SOURCE_DIR}/Tests/CTestTestCrash/test.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestTestCrash/test.cmake"
@ONLY ESCAPE_QUOTES)
- ADD_TEST(CTestTestCrash ${CMAKE_CTEST_COMMAND}
+ add_test(CTestTestCrash ${CMAKE_CTEST_COMMAND}
-S "${CMake_BINARY_DIR}/Tests/CTestTestCrash/test.cmake" -V
--output-log "${CMake_BINARY_DIR}/Tests/CTestTestCrash/testOutput.log"
)
# with watcom the SEGFAULT is not found, it just fails
- IF(CMAKE_TEST_GENERATOR MATCHES "Watcom WMake")
- SET_TESTS_PROPERTIES(CTestTestCrash PROPERTIES
+ if(CMAKE_TEST_GENERATOR MATCHES "Watcom WMake")
+ set_tests_properties(CTestTestCrash PROPERTIES
PASS_REGULAR_EXPRESSION "Failed")
- ELSE(CMAKE_TEST_GENERATOR MATCHES "Watcom WMake")
- SET_TESTS_PROPERTIES(CTestTestCrash PROPERTIES
+ else()
+ set_tests_properties(CTestTestCrash PROPERTIES
PASS_REGULAR_EXPRESSION "(Illegal|SegFault)")
- ENDIF(CMAKE_TEST_GENERATOR MATCHES "Watcom WMake")
+ endif()
- CONFIGURE_FILE(
+ configure_file(
"${CMake_SOURCE_DIR}/Tests/CTestTestBadExe/test.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestTestBadExe/test.cmake"
@ONLY ESCAPE_QUOTES)
- ADD_TEST(CTestTestBadExe ${CMAKE_CTEST_COMMAND}
+ add_test(CTestTestBadExe ${CMAKE_CTEST_COMMAND}
-S "${CMake_BINARY_DIR}/Tests/CTestTestBadExe/test.cmake" -V
--output-log "${CMake_BINARY_DIR}/Tests/CTestTestBadExe/testOutput.log"
)
- SET(CTestTestBadExe_REGEX "BAD_COMMAND")
+ set(CTestTestBadExe_REGEX "BAD_COMMAND")
# some cygwin can not be made to produce a BAD_COMMAND error
# the best we can get from it is a failed test
- IF(CYGWIN)
- SET(CTestTestBadExe_REGEX "(\\*\\*\\*Failed)|BAD_COMMAND")
- ENDIF()
- SET_TESTS_PROPERTIES(CTestTestBadExe PROPERTIES
+ if(CYGWIN)
+ set(CTestTestBadExe_REGEX "(\\*\\*\\*Failed)|BAD_COMMAND")
+ endif()
+ set_tests_properties(CTestTestBadExe PROPERTIES
PASS_REGULAR_EXPRESSION "${CTestTestBadExe_REGEX}")
- CONFIGURE_FILE(
+ configure_file(
"${CMake_SOURCE_DIR}/Tests/CTestTestParallel/test.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestTestParallel/test.cmake"
@ONLY ESCAPE_QUOTES)
- ADD_TEST(CTestTestParallel ${CMAKE_CTEST_COMMAND}
+ add_test(CTestTestParallel ${CMAKE_CTEST_COMMAND}
-S "${CMake_BINARY_DIR}/Tests/CTestTestParallel/test.cmake" -V
--output-log "${CMake_BINARY_DIR}/Tests/CTestTestParallel/testOutput.log"
)
- ADD_TEST(CTestTestPrintLabels ${CMAKE_CTEST_COMMAND} --print-labels)
- SET_TESTS_PROPERTIES(CTestTestPrintLabels PROPERTIES LABELS "Label1;Label2")
- SET_TESTS_PROPERTIES(CTestTestPrintLabels PROPERTIES PASS_REGULAR_EXPRESSION
+ add_test(CTestTestPrintLabels ${CMAKE_CTEST_COMMAND} --print-labels)
+ set_tests_properties(CTestTestPrintLabels PROPERTIES LABELS "Label1;Label2")
+ set_tests_properties(CTestTestPrintLabels PROPERTIES PASS_REGULAR_EXPRESSION
"All Labels:.* Label1.* Label2")
- CONFIGURE_FILE(
+ configure_file(
"${CMake_SOURCE_DIR}/Tests/CTestTestResourceLock/test.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestTestResourceLock/test.cmake"
@ONLY ESCAPE_QUOTES)
- ADD_TEST(CTestTestResourceLock ${CMAKE_CTEST_COMMAND}
+ add_test(CTestTestResourceLock ${CMAKE_CTEST_COMMAND}
-S "${CMake_BINARY_DIR}/Tests/CTestTestResourceLock/test.cmake" -V
--output-log "${CMake_BINARY_DIR}/Tests/CTestTestResourceLock/output.log"
)
- CONFIGURE_FILE(
+ configure_file(
"${CMake_SOURCE_DIR}/Tests/CTestTestScheduler/test.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestTestScheduler/test.cmake"
@ONLY ESCAPE_QUOTES)
- ADD_TEST(CTestTestScheduler ${CMAKE_CTEST_COMMAND}
+ add_test(CTestTestScheduler ${CMAKE_CTEST_COMMAND}
-S "${CMake_BINARY_DIR}/Tests/CTestTestScheduler/test.cmake" -V
--output-log "${CMake_BINARY_DIR}/Tests/CTestTestScheduler/testOutput.log"
)
- SET_TESTS_PROPERTIES(CTestTestScheduler PROPERTIES
+ set_tests_properties(CTestTestScheduler PROPERTIES
PASS_REGULAR_EXPRESSION "Start 1.*Start 2.*Start 3.*Start 4.*Start 4.*Start 3.*Start 2.*Start 1"
RESOURCE_LOCK "CostData")
- CONFIGURE_FILE(
+ configure_file(
"${CMake_SOURCE_DIR}/Tests/CTestTestCostSerial/test.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestTestCostSerial/test.cmake"
@ONLY ESCAPE_QUOTES)
- ADD_TEST(CTestTestCostSerial ${CMAKE_CTEST_COMMAND}
+ add_test(CTestTestCostSerial ${CMAKE_CTEST_COMMAND}
-S "${CMake_BINARY_DIR}/Tests/CTestTestCostSerial/test.cmake" -V
--output-log "${CMake_BINARY_DIR}/Tests/CTestTestCostSerial/testOutput.log"
)
- SET_TESTS_PROPERTIES(CTestTestCostSerial PROPERTIES
+ set_tests_properties(CTestTestCostSerial PROPERTIES
PASS_REGULAR_EXPRESSION "Start 2.*Start 3.*Start 1.*Start 2.*Start 3.*Start 1"
RESOURCE_LOCK "CostData")
- CONFIGURE_FILE(
+ configure_file(
"${CMake_SOURCE_DIR}/Tests/CTestTestStopTime/test.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestTestStopTime/test.cmake"
@ONLY ESCAPE_QUOTES)
- CONFIGURE_FILE(
+ configure_file(
"${CMake_SOURCE_DIR}/Tests/CTestTestStopTime/GetDate.cmake"
"${CMake_BINARY_DIR}/Tests/CTestTestStopTime/GetDate.cmake"
COPYONLY)
- ADD_TEST(CTestTestStopTime ${CMAKE_CTEST_COMMAND}
+ add_test(CTestTestStopTime ${CMAKE_CTEST_COMMAND}
-S "${CMake_BINARY_DIR}/Tests/CTestTestStopTime/test.cmake" -V
--output-log "${CMake_BINARY_DIR}/Tests/CTestTestStopTime/testOutput.log"
)
- SET_TESTS_PROPERTIES(CTestTestStopTime PROPERTIES
+ set_tests_properties(CTestTestStopTime PROPERTIES
PASS_REGULAR_EXPRESSION "The stop time has been passed")
- CONFIGURE_FILE(
+ configure_file(
"${CMake_SOURCE_DIR}/Tests/CTestTestSubdir/test.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestTestSubdir/test.cmake"
@ONLY ESCAPE_QUOTES)
- ADD_TEST(CTestTestSubdir ${CMAKE_CTEST_COMMAND}
+ add_test(CTestTestSubdir ${CMAKE_CTEST_COMMAND}
-S "${CMake_BINARY_DIR}/Tests/CTestTestSubdir/test.cmake" -V
--output-log "${CMake_BINARY_DIR}/Tests/CTestTestSubdir/testOutput.log"
)
#make sure all 3 subdirs were added
- SET_TESTS_PROPERTIES(CTestTestSubdir PROPERTIES
+ set_tests_properties(CTestTestSubdir PROPERTIES
PASS_REGULAR_EXPRESSION "0 tests failed out of 3")
- CONFIGURE_FILE(
+ configure_file(
"${CMake_SOURCE_DIR}/Tests/CTestTestTimeout/test.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestTestTimeout/test.cmake"
@ONLY ESCAPE_QUOTES)
- ADD_TEST(CTestTestTimeout ${CMAKE_CTEST_COMMAND}
+ add_test(CTestTestTimeout ${CMAKE_CTEST_COMMAND}
-C "\${CTestTest_CONFIG}"
-S "${CMake_BINARY_DIR}/Tests/CTestTestTimeout/test.cmake" -V
--output-log "${CMake_BINARY_DIR}/Tests/CTestTestTimeout/testOutput.log"
)
- SET_TESTS_PROPERTIES(CTestTestTimeout PROPERTIES
+ set_tests_properties(CTestTestTimeout PROPERTIES
PASS_REGULAR_EXPRESSION "TestTimeout *\\.+ *\\*\\*\\*Timeout.*CheckChild *\\.+ *Passed")
- CONFIGURE_FILE(
+ configure_file(
"${CMake_SOURCE_DIR}/Tests/CTestTestZeroTimeout/test.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestTestZeroTimeout/test.cmake"
@ONLY ESCAPE_QUOTES)
- ADD_TEST(CTestTestZeroTimeout ${CMAKE_CTEST_COMMAND}
+ add_test(CTestTestZeroTimeout ${CMAKE_CTEST_COMMAND}
-S "${CMake_BINARY_DIR}/Tests/CTestTestZeroTimeout/test.cmake" -V
--output-log
"${CMake_BINARY_DIR}/Tests/CTestTestZeroTimeout/testOutput.log")
- SET_TESTS_PROPERTIES(CTestTestZeroTimeout PROPERTIES
+ set_tests_properties(CTestTestZeroTimeout PROPERTIES
FAIL_REGULAR_EXPRESSION "\\*\\*\\*Timeout")
- CONFIGURE_FILE(
+ configure_file(
"${CMake_SOURCE_DIR}/Tests/CTestTestDepends/test.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestTestDepends/test.cmake"
@ONLY ESCAPE_QUOTES)
- ADD_TEST(CTestTestDepends ${CMAKE_CTEST_COMMAND}
+ add_test(CTestTestDepends ${CMAKE_CTEST_COMMAND}
-C "\${CTestTest_CONFIG}"
-S "${CMake_BINARY_DIR}/Tests/CTestTestDepends/test.cmake" -V
--output-log "${CMake_BINARY_DIR}/Tests/CTestTestDepends/testOutput.log"
)
- CONFIGURE_FILE(
+ configure_file(
"${CMake_SOURCE_DIR}/Tests/CTestTestCycle/test.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestTestCycle/test.cmake"
@ONLY ESCAPE_QUOTES)
- ADD_TEST(CTestTestCycle ${CMAKE_CTEST_COMMAND}
+ add_test(CTestTestCycle ${CMAKE_CTEST_COMMAND}
-C "\${CTestTest_CONFIG}"
-S "${CMake_BINARY_DIR}/Tests/CTestTestCycle/test.cmake" -V
--output-log "${CMake_BINARY_DIR}/Tests/CTestTestCycle/testOutput.log"
)
- SET_TESTS_PROPERTIES(CTestTestCycle PROPERTIES
+ set_tests_properties(CTestTestCycle PROPERTIES
PASS_REGULAR_EXPRESSION "a cycle exists in the test dependency graph")
- CONFIGURE_FILE(
+ configure_file(
"${CMake_SOURCE_DIR}/Tests/CTestTestRunScript/test.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestTestRunScript/test.cmake"
@ONLY ESCAPE_QUOTES)
- CONFIGURE_FILE(
+ configure_file(
"${CMake_SOURCE_DIR}/Tests/CTestTestRunScript/hello.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestTestRunScript/hello.cmake"
@ONLY ESCAPE_QUOTES)
- ADD_TEST(CTestTestRunScript ${CMAKE_CTEST_COMMAND}
+ add_test(CTestTestRunScript ${CMAKE_CTEST_COMMAND}
-S "${CMake_BINARY_DIR}/Tests/CTestTestRunScript/test.cmake" -V
--output-log "${CMake_BINARY_DIR}/Tests/CTestTestRunScript/testOutput.log"
)
- ADD_TEST(CTestTestShowOnly ${CMAKE_CTEST_COMMAND} -N)
+ add_test(CTestTestShowOnly ${CMAKE_CTEST_COMMAND} -N)
- ADD_TEST(CTestBatchTest ${CMAKE_CTEST_COMMAND} -B)
+ add_test(CTestBatchTest ${CMAKE_CTEST_COMMAND} -B)
# Use macro, not function so that build can still be driven by CMake 2.4.
# After 2.6 is required, this could be a function without the extra 'set'
@@ -2048,120 +2054,83 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
endforeach()
- IF (CMAKE_TESTS_CDASH_SERVER)
- SET(regex "^([^:]+)://([^/]+)(/.*)$")
+ if (CMAKE_TESTS_CDASH_SERVER)
+ set(regex "^([^:]+)://([^/]+)(/.*)$")
- IF ("${CMAKE_TESTS_CDASH_SERVER}" MATCHES "${regex}")
- SET(protocol "${CMAKE_MATCH_1}")
- SET(server "${CMAKE_MATCH_2}")
- SET(path "${CMAKE_MATCH_3}")
- ELSE ("${CMAKE_TESTS_CDASH_SERVER}" MATCHES "${regex}")
- SET(protocol "http")
- SET(server "www.cdash.org")
- SET(path "/CDash")
- MESSAGE("warning: CMAKE_TESTS_CDASH_SERVER does not match expected regex...")
- MESSAGE(" ...using default url='${protocol}://${server}${path}' for CTestTest[23]")
- ENDIF ("${CMAKE_TESTS_CDASH_SERVER}" MATCHES "${regex}")
- ENDIF (CMAKE_TESTS_CDASH_SERVER)
+ if ("${CMAKE_TESTS_CDASH_SERVER}" MATCHES "${regex}")
+ set(protocol "${CMAKE_MATCH_1}")
+ set(server "${CMAKE_MATCH_2}")
+ set(path "${CMAKE_MATCH_3}")
+ else ()
+ set(protocol "http")
+ set(server "www.cdash.org")
+ set(path "/CDash")
+ message("warning: CMAKE_TESTS_CDASH_SERVER does not match expected regex...")
+ message(" ...using default url='${protocol}://${server}${path}' for CTestTest[23]")
+ endif ()
+ endif ()
- IF (CTEST_TEST_CTEST AND CMAKE_RUN_LONG_TESTS AND CMAKE_TESTS_CDASH_SERVER)
- CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestTest/test.cmake.in"
+ if (CTEST_TEST_CTEST AND CMAKE_RUN_LONG_TESTS AND CMAKE_TESTS_CDASH_SERVER)
+ configure_file("${CMake_SOURCE_DIR}/Tests/CTestTest/test.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestTest/test.cmake" @ONLY ESCAPE_QUOTES)
- ADD_TEST(CTestTest ${CMAKE_CTEST_COMMAND}
+ add_test(CTestTest ${CMAKE_CTEST_COMMAND}
-S "${CMake_BINARY_DIR}/Tests/CTestTest/test.cmake" -V
--output-log "${CMake_BINARY_DIR}/Tests/CTestTest/testOutput.log"
)
- CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestTest2/test.cmake.in"
+ configure_file("${CMake_SOURCE_DIR}/Tests/CTestTest2/test.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestTest2/test.cmake" @ONLY ESCAPE_QUOTES)
- ADD_TEST(CTestTest2 ${CMAKE_CTEST_COMMAND}
+ add_test(CTestTest2 ${CMAKE_CTEST_COMMAND}
-S "${CMake_BINARY_DIR}/Tests/CTestTest2/test.cmake" -V
--output-log "${CMake_BINARY_DIR}/Tests/CTestTest2/testOutput.log"
)
- CONFIGURE_FILE("${CMake_SOURCE_DIR}/Tests/CTestTestChecksum/test.cmake.in"
+ configure_file("${CMake_SOURCE_DIR}/Tests/CTestTestChecksum/test.cmake.in"
"${CMake_BINARY_DIR}/Tests/CTestTestChecksum/test.cmake" @ONLY
ESCAPE_QUOTES)
- ADD_TEST(CTestTestChecksum ${CMAKE_CTEST_COMMAND}
+ add_test(CTestTestChecksum ${CMAKE_CTEST_COMMAND}
-S "${CMake_BINARY_DIR}/Tests/CTestTestChecksum/test.cmake" -V
--output-log
"${CMake_BINARY_DIR}/Tests/CTestTestChecksum/testOutput.log"
)
- SET_TESTS_PROPERTIES(CTestTestChecksum PROPERTIES PASS_REGULAR_EXPRESSION
+ set_tests_properties(CTestTestChecksum PROPERTIES PASS_REGULAR_EXPRESSION
"Submission failed: Checksum failed for file")
# these tests take a long time, make sure they have it
# if timeouts have not already been set
- GET_TEST_PROPERTY(CTestTest TIMEOUT PREVIOUS_TIMEOUT)
- IF ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
- SET_TESTS_PROPERTIES ( CTestTest
+ get_test_property(CTestTest TIMEOUT PREVIOUS_TIMEOUT)
+ if ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
+ set_tests_properties ( CTestTest
PROPERTIES TIMEOUT ${CMAKE_LONG_TEST_TIMEOUT})
- ENDIF ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
+ endif ()
- GET_TEST_PROPERTY(CTestTest2 TIMEOUT PREVIOUS_TIMEOUT)
- IF ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
- SET_TESTS_PROPERTIES ( CTestTest2
+ get_test_property(CTestTest2 TIMEOUT PREVIOUS_TIMEOUT)
+ if ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
+ set_tests_properties ( CTestTest2
PROPERTIES TIMEOUT ${CMAKE_LONG_TEST_TIMEOUT})
- ENDIF ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
- ENDIF (CTEST_TEST_CTEST AND CMAKE_RUN_LONG_TESTS AND CMAKE_TESTS_CDASH_SERVER)
-
- IF (CMAKE_RUN_LONG_TESTS AND TEST_KDE4_STABLE_BRANCH)
- IF(UNIX)
- IF(NOT QT4_FOUND)
- FIND_PACKAGE(Qt4)
- ENDIF(NOT QT4_FOUND)
-
- SET(TRY_BUILD_KDE4 TRUE)
- IF(QT4_FOUND)
- # check whether it's Qt 4.5 in a cmake 2.4. compatible way:
- IF(NOT EXISTS "${QT_QTNETWORK_INCLUDE_DIR}/QAbstractNetworkCache")
- SET(TRY_BUILD_KDE4 FALSE)
- ENDIF(NOT EXISTS "${QT_QTNETWORK_INCLUDE_DIR}/QAbstractNetworkCache")
- ELSE(QT4_FOUND)
- SET(TRY_BUILD_KDE4 FALSE)
- ENDIF(QT4_FOUND)
-
- FIND_PACKAGE(Perl)
- IF(NOT PERL_FOUND)
- SET(TRY_BUILD_KDE4 FALSE)
- ENDIF(NOT PERL_FOUND)
-
- FIND_PACKAGE(ZLIB)
- IF(NOT ZLIB_FOUND)
- SET(TRY_BUILD_KDE4 FALSE)
- ENDIF(NOT ZLIB_FOUND)
-
- IF(TRY_BUILD_KDE4)
- FILE(MAKE_DIRECTORY ${CMake_BINARY_DIR}/Tests/KDE4StableBranchTest)
- SET(TEST_KDE4_BASE_DIR ${CMake_BINARY_DIR}/Tests/KDE4StableBranchTest)
- CONFIGURE_FILE(${CMake_SOURCE_DIR}/Tests/KDE4StableBranchTest/test_kde4.sh.in ${CMake_BINARY_DIR}/Tests/KDE4StableBranchTest/test_kde4.sh @ONLY)
- EXECUTE_PROCESS(COMMAND chmod 755 ${CMake_BINARY_DIR}/Tests/KDE4StableBranchTest/test_kde4.sh )
- ADD_TEST(KDE4StableBranchTest ${CMake_BINARY_DIR}/Tests/KDE4StableBranchTest/test_kde4.sh)
- ENDIF(TRY_BUILD_KDE4)
-
- ENDIF(UNIX)
- ENDIF (CMAKE_RUN_LONG_TESTS AND TEST_KDE4_STABLE_BRANCH)
-
- IF("${CMAKE_TEST_GENERATOR}" MATCHES Xcode)
- SET(CMAKE_SKIP_BOOTSTRAP_TEST 1)
- ENDIF("${CMAKE_TEST_GENERATOR}" MATCHES Xcode)
- IF(EXISTS "${CMake_BINARY_DIR}/CMakeLists.txt")
+ endif ()
+ endif ()
+
+ if("${CMAKE_TEST_GENERATOR}" MATCHES Xcode)
+ set(CMAKE_SKIP_BOOTSTRAP_TEST 1)
+ endif()
+ if(EXISTS "${CMake_BINARY_DIR}/CMakeLists.txt")
# If there is CMakeLists.txt in the binary tree, assume in-source build
- SET(CMAKE_SKIP_BOOTSTRAP_TEST 1)
- ENDIF(EXISTS "${CMake_BINARY_DIR}/CMakeLists.txt")
- SET(bootstrap "")
- IF(CMAKE_RUN_LONG_TESTS AND NOT CMAKE_SKIP_BOOTSTRAP_TEST)
- IF(UNIX)
- SET(bootstrap ${CMake_SOURCE_DIR}/bootstrap)
- ELSEIF(MSYS)
- CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/bootstrap.bat.in
+ set(CMAKE_SKIP_BOOTSTRAP_TEST 1)
+ endif()
+ set(bootstrap "")
+ if(CMAKE_RUN_LONG_TESTS AND NOT CMAKE_SKIP_BOOTSTRAP_TEST)
+ if(UNIX)
+ set(bootstrap ${CMake_SOURCE_DIR}/bootstrap)
+ elseif(MSYS)
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/bootstrap.bat.in
${CMAKE_CURRENT_BINARY_DIR}/bootstrap.bat @ONLY)
- SET(bootstrap ${CMAKE_CURRENT_BINARY_DIR}/bootstrap.bat)
- ENDIF()
- ENDIF()
- IF(bootstrap)
- ADD_TEST(BootstrapTest ${CMAKE_CTEST_COMMAND}
+ set(bootstrap ${CMAKE_CURRENT_BINARY_DIR}/bootstrap.bat)
+ endif()
+ endif()
+ if(bootstrap)
+ add_test(BootstrapTest ${CMAKE_CTEST_COMMAND}
--build-and-test
${CMake_SOURCE_DIR}
${CMake_BINARY_DIR}/Tests/BootstrapTest
@@ -2171,20 +2140,20 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-generator "${CMAKE_TEST_GENERATOR}"
--test-command
${CMake_BINARY_DIR}/Tests/BootstrapTest/Bootstrap.cmk/cmake)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/BootstrapTest")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/BootstrapTest")
# Make this test run early during parallel execution
- SET_TESTS_PROPERTIES(BootstrapTest PROPERTIES COST 5000)
+ set_tests_properties(BootstrapTest PROPERTIES COST 5000)
# provide more time for the bootstrap test
- GET_TEST_PROPERTY(BootstrapTest TIMEOUT PREVIOUS_TIMEOUT)
- IF ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
- SET_TESTS_PROPERTIES ( BootstrapTest
+ get_test_property(BootstrapTest TIMEOUT PREVIOUS_TIMEOUT)
+ if ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
+ set_tests_properties ( BootstrapTest
PROPERTIES TIMEOUT 5400)
- ENDIF ("${PREVIOUS_TIMEOUT}" MATCHES NOTFOUND)
- ENDIF()
+ endif ()
+ endif()
- IF(CMAKE_Fortran_COMPILER)
- ADD_TEST(Fortran ${CMAKE_CTEST_COMMAND}
+ if(CMAKE_Fortran_COMPILER)
+ add_test(Fortran ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Fortran"
"${CMake_BINARY_DIR}/Tests/Fortran"
@@ -2193,17 +2162,17 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-two-config
--test-command testf)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Fortran")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Fortran")
# FortranCInterface tests.
- IF(UNIX)
- CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/FortranC/Flags.cmake.in
+ if(UNIX)
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/FortranC/Flags.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/FortranC/Flags.cmake @ONLY)
- ADD_TEST(FortranC.Flags ${CMAKE_CMAKE_COMMAND} -P
+ add_test(FortranC.Flags ${CMAKE_CMAKE_COMMAND} -P
${CMAKE_CURRENT_BINARY_DIR}/FortranC/Flags.cmake)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/FortranC/Flags")
- ELSE()
- ADD_TEST(FortranC ${CMAKE_CTEST_COMMAND}
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/FortranC/Flags")
+ else()
+ add_test(FortranC ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/FortranC"
"${CMake_BINARY_DIR}/Tests/FortranC"
@@ -2212,21 +2181,21 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--build-two-config
--test-command CMakeFiles/FortranCInterface/FortranCInterface)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/FortranC")
- ENDIF()
- ENDIF()
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/FortranC")
+ endif()
+ endif()
find_package(Java COMPONENTS Development QUIET)
- IF(Java_JAVA_EXECUTABLE AND Java_JAVAC_EXECUTABLE AND Java_JAR_EXECUTABLE AND NOT MINGW
+ if(Java_JAVA_EXECUTABLE AND Java_JAVAC_EXECUTABLE AND Java_JAR_EXECUTABLE AND NOT MINGW
AND NOT "${CMAKE_TEST_GENERATOR}" MATCHES "Xcode")
- GET_FILENAME_COMPONENT(JNIPATH ${JAVA_COMPILE} PATH)
- FIND_FILE(JNI_H jni.h
+ get_filename_component(JNIPATH ${JAVA_COMPILE} PATH)
+ find_file(JNI_H jni.h
"${JNIPATH}/../include"
"${JNIPATH}/../java/include")
- IF(JNI_H AND EXISTS "${JNI_H}") # in case jni.h is a broken symlink
- FILE(READ "${JNI_H}" JNI_FILE)
- IF("${JNI_FILE}" MATCHES "JDK1_2")
- ADD_TEST(Java ${CMAKE_CTEST_COMMAND}
+ if(JNI_H AND EXISTS "${JNI_H}") # in case jni.h is a broken symlink
+ file(READ "${JNI_H}" JNI_FILE)
+ if("${JNI_FILE}" MATCHES "JDK1_2")
+ add_test(Java ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Java"
"${CMake_BINARY_DIR}/Tests/Java"
@@ -2236,19 +2205,19 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-two-config
--build-run-dir "${CMake_BINARY_DIR}/Tests/Java/"
--test-command ${JAVA_RUNTIME} -classpath hello.jar HelloWorld)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Java")
- ENDIF("${JNI_FILE}" MATCHES "JDK1_2")
- ENDIF()
- ENDIF()
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Java")
+ endif()
+ endif()
+ endif()
# add some cross compiler tests, for now only with makefile based generators
- IF(CMAKE_TEST_GENERATOR MATCHES "Makefiles" OR CMAKE_TEST_GENERATOR MATCHES "KDevelop")
+ if(CMAKE_TEST_GENERATOR MATCHES "Makefiles" OR CMAKE_TEST_GENERATOR MATCHES "KDevelop")
# if sdcc is found, build the SimpleCOnly project with sdcc
- FIND_PROGRAM(SDCC_EXECUTABLE sdcc)
- MARK_AS_ADVANCED(SDCC_EXECUTABLE)
- IF(SDCC_EXECUTABLE)
- ADD_TEST(SimpleCOnly_sdcc ${CMAKE_CTEST_COMMAND}
+ find_program(SDCC_EXECUTABLE sdcc)
+ mark_as_advanced(SDCC_EXECUTABLE)
+ if(SDCC_EXECUTABLE)
+ add_test(SimpleCOnly_sdcc ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/SimpleCOnly"
"${CMake_BINARY_DIR}/Tests/SimpleCOnly_sdcc"
@@ -2258,16 +2227,16 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-options
"-DCMAKE_SYSTEM_NAME=Generic"
"-DCMAKE_C_COMPILER=${SDCC_EXECUTABLE}")
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/SimpleCOnly_sdcc")
- ENDIF(SDCC_EXECUTABLE)
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/SimpleCOnly_sdcc")
+ endif()
# If a Linux -> MinGW cross compiler is found then try it
- FIND_PROGRAM(MINGW_CC_LINUX2WIN_EXECUTABLE i586-mingw32msvc-gcc)
- FIND_PROGRAM(MINGW_CXX_LINUX2WIN_EXECUTABLE i586-mingw32msvc-g++)
- FIND_PROGRAM(MINGW_RC_LINUX2WIN_EXECUTABLE i586-mingw32msvc-windres)
- MARK_AS_ADVANCED(MINGW_CC_LINUX2WIN_EXECUTABLE MINGW_CXX_LINUX2WIN_EXECUTABLE MINGW_RC_LINUX2WIN_EXECUTABLE)
- IF(MINGW_CC_LINUX2WIN_EXECUTABLE AND MINGW_CXX_LINUX2WIN_EXECUTABLE AND MINGW_RC_LINUX2WIN_EXECUTABLE)
- ADD_TEST(Simple_Mingw_Linux2Win ${CMAKE_CTEST_COMMAND}
+ find_program(MINGW_CC_LINUX2WIN_EXECUTABLE i586-mingw32msvc-gcc)
+ find_program(MINGW_CXX_LINUX2WIN_EXECUTABLE i586-mingw32msvc-g++)
+ find_program(MINGW_RC_LINUX2WIN_EXECUTABLE i586-mingw32msvc-windres)
+ mark_as_advanced(MINGW_CC_LINUX2WIN_EXECUTABLE MINGW_CXX_LINUX2WIN_EXECUTABLE MINGW_RC_LINUX2WIN_EXECUTABLE)
+ if(MINGW_CC_LINUX2WIN_EXECUTABLE AND MINGW_CXX_LINUX2WIN_EXECUTABLE AND MINGW_RC_LINUX2WIN_EXECUTABLE)
+ add_test(Simple_Mingw_Linux2Win ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/Simple"
"${CMake_BINARY_DIR}/Tests/Simple_Mingw_Linux2Win"
@@ -2280,63 +2249,63 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
"-DCMAKE_CXX_COMPILER=${MINGW_CXX_LINUX2WIN_EXECUTABLE}"
"-DCMAKE_RC_COMPILER=${MINGW_RC_LINUX2WIN_EXECUTABLE}"
)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Simple_Mingw_Linux2Win")
- ENDIF()
- ENDIF(CMAKE_TEST_GENERATOR MATCHES "Makefiles" OR CMAKE_TEST_GENERATOR MATCHES "KDevelop")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Simple_Mingw_Linux2Win")
+ endif()
+ endif()
- IF(UNIX)
- STRING(COMPARE EQUAL "${CMAKE_INSTALL_PREFIX}" "${CMake_BINARY_DIR}/Tests/TestShellInstall/Prefix"
+ if(UNIX)
+ string(COMPARE EQUAL "${CMAKE_INSTALL_PREFIX}" "${CMake_BINARY_DIR}/Tests/TestShellInstall/Prefix"
PREFIX_IS_FOR_TEST)
- IF(PREFIX_IS_FOR_TEST)
- CONFIGURE_FILE(
+ if(PREFIX_IS_FOR_TEST)
+ configure_file(
${CMake_SOURCE_DIR}/Tests/TestInstall.sh.in
${CMake_BINARY_DIR}/Tests/TestShellInstall/TestInstall.sh
@ONLY IMMEDIATE
)
- ADD_TEST(ShellInstall /bin/sh ${CMake_BINARY_DIR}/Tests/TestShellInstall/TestShellInstall.sh)
- ENDIF(PREFIX_IS_FOR_TEST)
- ENDIF(UNIX)
-
- IF(CMAKE_TEST_PROJECT_CSE_DIR)
- SET(script "${CMAKE_TEST_PROJECT_CSE_DIR}/BuildProjectCSE.cmake")
- IF(NOT EXISTS "${script}")
- SET(script "${CMAKE_TEST_PROJECT_CSE_DIR}/cse_build.cmake")
- ENDIF(NOT EXISTS "${script}")
- IF(NOT EXISTS "${script}")
- MESSAGE("warning: CMAKE_TEST_PROJECT_CSE_DIR set, but no build script found...")
- ENDIF(NOT EXISTS "${script}")
-
- ADD_TEST(BuildCSE ${CMAKE_CTEST_COMMAND} -V -S "${script}")
- SET_TESTS_PROPERTIES(BuildCSE PROPERTIES TIMEOUT 5400)
- ENDIF(CMAKE_TEST_PROJECT_CSE_DIR)
-
- IF(CMAKE_TEST_PLPLOT_DIR)
- ADD_TEST(plplot ${CMAKE_CTEST_COMMAND} -V -S ${CMAKE_TEST_PLPLOT_DIR}/../../EasyDashboardScripts/plplot.cmake )
- SET_TESTS_PROPERTIES ( plplot PROPERTIES TIMEOUT 5400)
- ENDIF(CMAKE_TEST_PLPLOT_DIR)
-
- IF(CMAKE_TEST_CHICKEN_DIR)
- ADD_TEST(Chicken ${CMAKE_CTEST_COMMAND} -V -S ${CMAKE_TEST_CHICKEN_DIR}/../../EasyDashboardScripts/Chicken.cmake )
- SET_TESTS_PROPERTIES ( Chicken PROPERTIES TIMEOUT 5400)
- ENDIF(CMAKE_TEST_CHICKEN_DIR)
-
- IF(CMAKE_TEST_KDELIBS_ALPHA_1_DIR)
- ADD_TEST(KDELibsAlpha1 ${CMAKE_CTEST_COMMAND} -V -S ${CMAKE_TEST_KDELIBS_ALPHA_1_DIR}/../../EasyDashboardScripts/kdelibs.cmake )
- SET_TESTS_PROPERTIES ( KDELibsAlpha1 PROPERTIES TIMEOUT 5400)
- ENDIF(CMAKE_TEST_KDELIBS_ALPHA_1_DIR)
+ add_test(ShellInstall /bin/sh ${CMake_BINARY_DIR}/Tests/TestShellInstall/TestShellInstall.sh)
+ endif()
+ endif()
+
+ if(CMAKE_TEST_PROJECT_CSE_DIR)
+ set(script "${CMAKE_TEST_PROJECT_CSE_DIR}/BuildProjectCSE.cmake")
+ if(NOT EXISTS "${script}")
+ set(script "${CMAKE_TEST_PROJECT_CSE_DIR}/cse_build.cmake")
+ endif()
+ if(NOT EXISTS "${script}")
+ message("warning: CMAKE_TEST_PROJECT_CSE_DIR set, but no build script found...")
+ endif()
+
+ add_test(BuildCSE ${CMAKE_CTEST_COMMAND} -V -S "${script}")
+ set_tests_properties(BuildCSE PROPERTIES TIMEOUT 5400)
+ endif()
+
+ if(CMAKE_TEST_PLPLOT_DIR)
+ add_test(plplot ${CMAKE_CTEST_COMMAND} -V -S ${CMAKE_TEST_PLPLOT_DIR}/../../EasyDashboardScripts/plplot.cmake )
+ set_tests_properties ( plplot PROPERTIES TIMEOUT 5400)
+ endif()
+
+ if(CMAKE_TEST_CHICKEN_DIR)
+ add_test(Chicken ${CMAKE_CTEST_COMMAND} -V -S ${CMAKE_TEST_CHICKEN_DIR}/../../EasyDashboardScripts/Chicken.cmake )
+ set_tests_properties ( Chicken PROPERTIES TIMEOUT 5400)
+ endif()
+
+ if(CMAKE_TEST_KDELIBS_ALPHA_1_DIR)
+ add_test(KDELibsAlpha1 ${CMAKE_CTEST_COMMAND} -V -S ${CMAKE_TEST_KDELIBS_ALPHA_1_DIR}/../../EasyDashboardScripts/kdelibs.cmake )
+ set_tests_properties ( KDELibsAlpha1 PROPERTIES TIMEOUT 5400)
+ endif()
# If this is not an in-source build, provide a target to wipe out
# all the test build directories.
- IF(NOT EXISTS "${CMake_BINARY_DIR}/CMakeLists.txt")
- CONFIGURE_FILE(${CMake_SOURCE_DIR}/Tests/test_clean.cmake.in
+ if(NOT EXISTS "${CMake_BINARY_DIR}/CMakeLists.txt")
+ configure_file(${CMake_SOURCE_DIR}/Tests/test_clean.cmake.in
${CMake_BINARY_DIR}/Tests/test_clean.cmake @ONLY)
- ADD_CUSTOM_TARGET(test_clean
+ add_custom_target(test_clean
COMMAND ${CMAKE_COMMAND} -P ${CMake_BINARY_DIR}/Tests/test_clean.cmake
COMMENT "Removing test build directories."
)
- ENDIF(NOT EXISTS "${CMake_BINARY_DIR}/CMakeLists.txt")
+ endif()
- ADD_TEST(CMakeWizardTest ${CMAKE_CMAKE_COMMAND}
+ add_test(CMakeWizardTest ${CMAKE_CMAKE_COMMAND}
-D build_dir:STRING=${CMAKE_CURRENT_BINARY_DIR}/CMakeWizardTest
-D source_dir:STRING=${CMAKE_CURRENT_SOURCE_DIR}/Tutorial/Step3
-D CMAKE_CTEST_COMMAND:STRING=${CMAKE_CTEST_COMMAND}
@@ -2349,33 +2318,33 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
# with at least one CMakeLists.txt file that uses ExternalProject
# to download and configure the project. The directory should also
# contain a RunTest.cmake file that has a single set of the format:
- # SET(project_RUN_TEST testToRun)
+ # set(project_RUN_TEST testToRun)
# The testToRun should be a test executable that can be run to
# smoke test the build.
- FOREACH(project ${CMAKE_CONTRACT_PROJECTS})
- INCLUDE(Contracts/${project}/RunTest.cmake)
+ foreach(project ${CMAKE_CONTRACT_PROJECTS})
+ include(Contracts/${project}/RunTest.cmake)
ADD_TEST_MACRO(Contracts.${project}
${${project}_RUN_TEST})
# Contract test timeout in seconds.
# Default to 6 hours.
- IF(DEFINED ${project}_TEST_TIMEOUT)
- SET(timeout ${${project}_TEST_TIMEOUT})
- ELSEIF(CMAKE_CONTRACT_TEST_TIMEOUT_DEFAULT)
- SET(timeout ${CMAKE_CONTRACT_TEST_TIMEOUT_DEFAULT})
- ELSE()
- SET(timeout 21600)
- ENDIF()
- SET_TESTS_PROPERTIES(Contracts.${project} PROPERTIES TIMEOUT ${timeout})
- ENDFOREACH()
-
- IF(TEST_CompileCommandOutput)
- SET(CompileCommandOutput_EXTRA_OPTIONS
+ if(DEFINED ${project}_TEST_TIMEOUT)
+ set(timeout ${${project}_TEST_TIMEOUT})
+ elseif(CMAKE_CONTRACT_TEST_TIMEOUT_DEFAULT)
+ set(timeout ${CMAKE_CONTRACT_TEST_TIMEOUT_DEFAULT})
+ else()
+ set(timeout 21600)
+ endif()
+ set_tests_properties(Contracts.${project} PROPERTIES TIMEOUT ${timeout})
+ endforeach()
+
+ if(TEST_CompileCommandOutput)
+ set(CompileCommandOutput_EXTRA_OPTIONS
--build-options -DMAKE_SUPPORTS_SPACES=${MAKE_IS_GNU})
ADD_TEST_MACRO(CompileCommandOutput
"${CMake_BINARY_DIR}/Tests/CMakeLib/runcompilecommands")
- ENDIF()
+ endif()
- ADD_TEST(IncludeDirectories ${CMAKE_CTEST_COMMAND}
+ add_test(IncludeDirectories ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/IncludeDirectories"
"${CMake_BINARY_DIR}/Tests/IncludeDirectories"
@@ -2384,21 +2353,21 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
--build-project IncludeDirectories
--build-makeprogram ${CMAKE_TEST_MAKEPROGRAM}
--test-command IncludeDirectories)
- LIST(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/IncludeDirectories")
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/IncludeDirectories")
- IF(CMAKE_USE_KWSTYLE AND KWSTYLE_EXECUTABLE)
+ if(CMAKE_USE_KWSTYLE AND KWSTYLE_EXECUTABLE)
# The "make StyleCheck" command line as a test. If the test fails, look
# for lines like "Error #0 (624) Line length exceed 88 (max=79)" in the
# output to find where the style errors are...
- ADD_TEST(KWStyle ${KWSTYLE_EXECUTABLE}
+ add_test(KWStyle ${KWSTYLE_EXECUTABLE}
-xml ${CMake_BINARY_DIR}/CMake.kws.xml
-o ${CMake_SOURCE_DIR}/Utilities/KWStyle/CMakeOverwrite.txt
-v
-D ${CMake_BINARY_DIR}/CMakeKWSFiles.txt
)
- SET_TESTS_PROPERTIES(KWStyle PROPERTIES
+ set_tests_properties(KWStyle PROPERTIES
WORKING_DIRECTORY ${CMake_BINARY_DIR}/Utilities/KWStyle)
- ENDIF()
-ENDIF(BUILD_TESTING)
+ endif()
+endif()
-SUBDIRS(CMakeTests)
+subdirs(CMakeTests)
diff --git a/Tests/CMakeOnly/AllFindModules/CMakeLists.txt b/Tests/CMakeOnly/AllFindModules/CMakeLists.txt
index 551cee3bc..212c75899 100644
--- a/Tests/CMakeOnly/AllFindModules/CMakeLists.txt
+++ b/Tests/CMakeOnly/AllFindModules/CMakeLists.txt
@@ -13,7 +13,7 @@ file(GLOB FIND_MODULES "${CMAKE_CURRENT_SOURCE_DIR}/../../../Modules/Find*.cmake
macro(do_find MODULE_NAME)
message(STATUS " Checking Find${MODULE_NAME}")
find_package(${MODULE_NAME})
-endmacro(do_find)
+endmacro()
# It is only possible to use either Qt3 or Qt4 in one project.
# Since FindQt will complain if both are found we explicitly request Qt4 here
@@ -35,15 +35,15 @@ foreach(FIND_MODULE ${FIND_MODULES})
do_find(${MODULE_NAME})
endif ()
-endforeach(FIND_MODULE)
+endforeach()
# Qt4 is not present, so we can check Qt3
if (NOT QT4_FOUND)
set(DESIRED_QT_VERSION 3)
foreach(FIND_MODULE ${NO_QT4_MODULES} "Qt")
do_find(${FIND_MODULE})
- endforeach(FIND_MODULE)
-endif (NOT QT4_FOUND)
+ endforeach()
+endif ()
macro(check_version_string MODULE_NAME VERSION_VAR)
if (${MODULE_NAME}_FOUND)
@@ -65,20 +65,20 @@ macro(check_version_string MODULE_NAME VERSION_VAR)
message(SEND_ERROR "${MODULE_NAME}_FOUND is set but version number variable ${VERSION_VAR} is NOT DEFINED")
endif()
endif ()
-endmacro(check_version_string)
+endmacro()
# If any of these modules reported that it was found a version number should have been
# reported.
-foreach(VTEST ALSA ARMADILLO BZIP2 CUPS CURL EXPAT FREETYPE GETTEXT GIT HSPELL
+foreach(VTEST ALSA ARMADILLO BZIP2 CUPS CURL EXPAT FREETYPE GETTEXT GIT HG HSPELL
JASPER LIBLZMA LIBXML2 LIBXSLT PERL PKG_CONFIG PostgreSQL TIFF ZLIB)
check_version_string(${VTEST} ${VTEST}_VERSION_STRING)
-endforeach(VTEST)
+endforeach()
foreach(VTEST BISON Boost CUDA DOXYGEN FLEX GIF GTK2 LibArchive OPENSCENEGRAPH
RUBY SWIG)
check_version_string(${VTEST} ${VTEST}_VERSION)
-endforeach(VTEST)
+endforeach()
check_version_string(PYTHONINTERP PYTHON_VERSION_STRING)
check_version_string(SUBVERSION Subversion_VERSION_SVN)
diff --git a/Tests/CMakeOnly/CMakeLists.txt b/Tests/CMakeOnly/CMakeLists.txt
index a1551ca03..51a630fe5 100644
--- a/Tests/CMakeOnly/CMakeLists.txt
+++ b/Tests/CMakeOnly/CMakeLists.txt
@@ -19,10 +19,20 @@ add_CMakeOnly_test(CheckCXXCompilerFlag)
add_CMakeOnly_test(CheckLanguage)
+add_CMakeOnly_test(CompilerIdC)
+add_CMakeOnly_test(CompilerIdCXX)
+if(CMAKE_Fortran_COMPILER)
+ add_CMakeOnly_test(CompilerIdFortran)
+endif()
+
add_CMakeOnly_test(AllFindModules)
+add_CMakeOnly_test(SelectLibraryConfigurations)
+
add_CMakeOnly_test(TargetScope)
+add_CMakeOnly_test(find_library)
+
add_test(CMakeOnly.ProjectInclude ${CMAKE_CMAKE_COMMAND}
-DTEST=ProjectInclude
-DCMAKE_ARGS=-DCMAKE_PROJECT_ProjectInclude_INCLUDE=${CMAKE_CURRENT_SOURCE_DIR}/ProjectInclude/include.cmake
diff --git a/Tests/CMakeOnly/CheckCXXSymbolExists/CMakeLists.txt b/Tests/CMakeOnly/CheckCXXSymbolExists/CMakeLists.txt
index 1c978c181..9528aa357 100644
--- a/Tests/CMakeOnly/CheckCXXSymbolExists/CMakeLists.txt
+++ b/Tests/CMakeOnly/CheckCXXSymbolExists/CMakeLists.txt
@@ -7,56 +7,56 @@
# If you change this test do not forget to change the CheckSymbolExists
# test, too.
-PROJECT(CheckCXXSymbolExists CXX)
+project(CheckCXXSymbolExists CXX)
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR)
+cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
-SET(CMAKE_REQUIRED_INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}/../CheckSymbolExists")
+set(CMAKE_REQUIRED_INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}/../CheckSymbolExists")
-INCLUDE(CheckCXXSymbolExists)
+include(CheckCXXSymbolExists)
foreach(_config_type Release RelWithDebInfo MinSizeRel Debug)
set(CMAKE_TRY_COMPILE_CONFIGURATION ${_config_type})
unset(CSE_RESULT_${_config_type} CACHE)
- MESSAGE(STATUS "Testing configuration ${_config_type}")
+ message(STATUS "Testing configuration ${_config_type}")
check_cxx_symbol_exists(non_existent_function_for_symbol_test "cm_cse.h" CSE_RESULT_${_config_type})
- IF (CSE_RESULT_${_config_type})
- MESSAGE(SEND_ERROR "CheckCXXSymbolExists reported a nonexistent symbol as existing in configuration ${_config_type}")
- ENDIF (CSE_RESULT_${_config_type})
+ if (CSE_RESULT_${_config_type})
+ message(SEND_ERROR "CheckCXXSymbolExists reported a nonexistent symbol as existing in configuration ${_config_type}")
+ endif ()
endforeach()
set(CMAKE_TRY_COMPILE_CONFIGURATION ${CMAKE_BUILD_TYPE})
unset(CSE_RESULT_ERRNO_CERRNO CACHE)
-MESSAGE(STATUS "Checking <cerrno>")
+message(STATUS "Checking <cerrno>")
check_cxx_symbol_exists(errno "cerrno" CSE_RESULT_ERRNO_CERRNO)
-IF (NOT CSE_RESULT_ERRNO_CERRNO)
+if (NOT CSE_RESULT_ERRNO_CERRNO)
unset(CSE_RESULT_ERRNO_ERRNOH CACHE)
- MESSAGE(STATUS "Checking <errno.h>")
+ message(STATUS "Checking <errno.h>")
check_cxx_symbol_exists(errno "errno.h" CSE_RESULT_ERRNO_ERRNOH)
- IF (NOT CSE_RESULT_ERRNO_ERRNOH)
- MESSAGE(SEND_ERROR "CheckCXXSymbolExists did not find errno in <cerrno> and <errno.h>")
- ELSE (NOT CSE_RESULT_ERRNO_ERRNOH)
- MESSAGE(STATUS "errno found in <errno.h>")
- ENDIF (NOT CSE_RESULT_ERRNO_ERRNOH)
-ELSE (NOT CSE_RESULT_ERRNO_CERRNO)
- MESSAGE(STATUS "errno found in <cerrno>")
-ENDIF (NOT CSE_RESULT_ERRNO_CERRNO)
+ if (NOT CSE_RESULT_ERRNO_ERRNOH)
+ message(SEND_ERROR "CheckCXXSymbolExists did not find errno in <cerrno> and <errno.h>")
+ else ()
+ message(STATUS "errno found in <errno.h>")
+ endif ()
+else ()
+ message(STATUS "errno found in <cerrno>")
+endif ()
-IF (CMAKE_COMPILER_IS_GNUCXX)
+if (CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
unset(CSE_RESULT_O3 CACHE)
- MESSAGE(STATUS "Testing with optimization -O3")
+ message(STATUS "Testing with optimization -O3")
check_cxx_symbol_exists(non_existent_function_for_symbol_test "cm_cse.h" CSE_RESULT_O3)
- IF (CSE_RESULT_O3)
- MESSAGE(SEND_ERROR "CheckCXXSymbolExists reported a nonexistent symbol as existing with optimization -O3")
- ENDIF (CSE_RESULT_O3)
-ENDIF (CMAKE_COMPILER_IS_GNUCXX)
+ if (CSE_RESULT_O3)
+ message(SEND_ERROR "CheckCXXSymbolExists reported a nonexistent symbol as existing with optimization -O3")
+ endif ()
+endif ()
diff --git a/Tests/CMakeOnly/CheckSymbolExists/CMakeLists.txt b/Tests/CMakeOnly/CheckSymbolExists/CMakeLists.txt
index 7c969d3be..765657712 100644
--- a/Tests/CMakeOnly/CheckSymbolExists/CMakeLists.txt
+++ b/Tests/CMakeOnly/CheckSymbolExists/CMakeLists.txt
@@ -7,24 +7,24 @@
# If you change this test do not forget to change the CheckCXXSymbolExists
# test, too.
-PROJECT(CheckSymbolExists C)
+project(CheckSymbolExists C)
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR)
+cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
-SET(CMAKE_REQUIRED_INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}")
+set(CMAKE_REQUIRED_INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}")
-INCLUDE(CheckSymbolExists)
+include(CheckSymbolExists)
foreach(_config_type Release RelWithDebInfo MinSizeRel Debug)
set(CMAKE_TRY_COMPILE_CONFIGURATION ${_config_type})
unset(CSE_RESULT_${_config_type} CACHE)
- MESSAGE(STATUS "Testing configuration ${_config_type}")
+ message(STATUS "Testing configuration ${_config_type}")
check_symbol_exists(non_existent_function_for_symbol_test "cm_cse.h" CSE_RESULT_${_config_type})
- IF (CSE_RESULT_${_config_type})
- MESSAGE(SEND_ERROR "CheckSymbolExists reported a nonexistent symbol as existing in configuration ${_config_type}")
- ENDIF (CSE_RESULT_${_config_type})
+ if (CSE_RESULT_${_config_type})
+ message(SEND_ERROR "CheckSymbolExists reported a nonexistent symbol as existing in configuration ${_config_type}")
+ endif ()
endforeach()
set(CMAKE_TRY_COMPILE_CONFIGURATION ${CMAKE_BUILD_TYPE})
@@ -32,20 +32,20 @@ unset(CSE_RESULT_ERRNO CACHE)
check_symbol_exists(errno "errno.h" CSE_RESULT_ERRNO)
-IF (NOT CSE_RESULT_ERRNO)
- MESSAGE(SEND_ERROR "CheckSymbolExists did not find errno in <errno.h>")
-ELSE (NOT CSE_RESULT_ERRNO)
- MESSAGE(STATUS "errno found as expected")
-ENDIF (NOT CSE_RESULT_ERRNO)
+if (NOT CSE_RESULT_ERRNO)
+ message(SEND_ERROR "CheckSymbolExists did not find errno in <errno.h>")
+else ()
+ message(STATUS "errno found as expected")
+endif ()
-IF (CMAKE_COMPILER_IS_GNUCC)
+if (CMAKE_COMPILER_IS_GNUCC)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O3")
unset(CSE_RESULT_O3 CACHE)
- MESSAGE(STATUS "Testing with optimization -O3")
+ message(STATUS "Testing with optimization -O3")
check_symbol_exists(non_existent_function_for_symbol_test "cm_cse.h" CSE_RESULT_O3)
- IF (CSE_RESULT_O3)
- MESSAGE(SEND_ERROR "CheckSymbolExists reported a nonexistent symbol as existing with optimization -O3")
- ENDIF (CSE_RESULT_O3)
-ENDIF (CMAKE_COMPILER_IS_GNUCC)
+ if (CSE_RESULT_O3)
+ message(SEND_ERROR "CheckSymbolExists reported a nonexistent symbol as existing with optimization -O3")
+ endif ()
+endif ()
diff --git a/Tests/CMakeOnly/CompilerIdC/CMakeLists.txt b/Tests/CMakeOnly/CompilerIdC/CMakeLists.txt
new file mode 100644
index 000000000..848ffdd36
--- /dev/null
+++ b/Tests/CMakeOnly/CompilerIdC/CMakeLists.txt
@@ -0,0 +1,14 @@
+cmake_minimum_required(VERSION 2.8.9)
+project(CompilerIdC C)
+
+foreach(v
+ CMAKE_C_COMPILER
+ CMAKE_C_COMPILER_ID
+ CMAKE_C_COMPILER_VERSION
+ )
+ if(${v})
+ message(STATUS "${v}=[${${v}}]")
+ else()
+ message(SEND_ERROR "${v} not set!")
+ endif()
+endforeach()
diff --git a/Tests/CMakeOnly/CompilerIdCXX/CMakeLists.txt b/Tests/CMakeOnly/CompilerIdCXX/CMakeLists.txt
new file mode 100644
index 000000000..94ac31e4c
--- /dev/null
+++ b/Tests/CMakeOnly/CompilerIdCXX/CMakeLists.txt
@@ -0,0 +1,14 @@
+cmake_minimum_required(VERSION 2.8.9)
+project(CompilerIdCXX CXX)
+
+foreach(v
+ CMAKE_CXX_COMPILER
+ CMAKE_CXX_COMPILER_ID
+ CMAKE_CXX_COMPILER_VERSION
+ )
+ if(${v})
+ message(STATUS "${v}=[${${v}}]")
+ else()
+ message(SEND_ERROR "${v} not set!")
+ endif()
+endforeach()
diff --git a/Tests/CMakeOnly/CompilerIdFortran/CMakeLists.txt b/Tests/CMakeOnly/CompilerIdFortran/CMakeLists.txt
new file mode 100644
index 000000000..3a2bdebd6
--- /dev/null
+++ b/Tests/CMakeOnly/CompilerIdFortran/CMakeLists.txt
@@ -0,0 +1,22 @@
+cmake_minimum_required(VERSION 2.8.9)
+project(CompilerIdFortran Fortran)
+
+foreach(v
+ CMAKE_Fortran_COMPILER
+ CMAKE_Fortran_COMPILER_ID
+ )
+ if(${v})
+ message(STATUS "${v}=[${${v}}]")
+ else()
+ message(SEND_ERROR "${v} not set!")
+ endif()
+endforeach()
+foreach(v
+ CMAKE_Fortran_COMPILER_VERSION
+ )
+ if(${v})
+ message(STATUS "${v}=[${${v}}]")
+ else()
+ message(WARNING "${v} not set!")
+ endif()
+endforeach()
diff --git a/Tests/CMakeOnly/SelectLibraryConfigurations/CMakeLists.txt b/Tests/CMakeOnly/SelectLibraryConfigurations/CMakeLists.txt
new file mode 100644
index 000000000..5bf0f8abc
--- /dev/null
+++ b/Tests/CMakeOnly/SelectLibraryConfigurations/CMakeLists.txt
@@ -0,0 +1,64 @@
+cmake_minimum_required(VERSION 2.8)
+
+project(SelectLibraryConfigurations NONE)
+
+include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake)
+
+macro(check_slc basename expect)
+ message(STATUS "checking select_library_configurations(${basename})")
+ select_library_configurations(${basename})
+ if (NOT ${basename}_LIBRARY STREQUAL "${expect}")
+ message(SEND_ERROR "select_library_configurations(${basename}) returned '${${basename}_LIBRARY}' but '${expect}' was expected")
+ endif ()
+ if (NOT ${basename}_LIBRARY STREQUAL "${${basename}_LIBRARIES}")
+ message(SEND_ERROR "select_library_configurations(${basename}) LIBRARY: '${${basename}_LIBRARY}' LIBRARIES: '${${basename}_LIBRARIES}'")
+ endif ()
+endmacro(check_slc)
+
+if (NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
+ set(NOTYPE_RELONLY_LIBRARY_RELEASE "opt")
+ check_slc(NOTYPE_RELONLY "opt")
+
+ set(NOTYPE_DBGONLY_LIBRARY_DEBUG "dbg")
+ check_slc(NOTYPE_DBGONLY "dbg")
+
+ set(NOTYPE_RELDBG_LIBRARY_RELEASE "opt")
+ set(NOTYPE_RELDBG_LIBRARY_DEBUG "dbg")
+ check_slc(NOTYPE_RELDBG "opt")
+
+ set(CMAKE_BUILD_TYPE Debug)
+endif ()
+
+check_slc(empty "")
+
+set(OPTONLY_LIBRARY_RELEASE "opt")
+check_slc(OPTONLY "opt")
+
+set(DBGONLY_LIBRARY_RELEASE "dbg")
+check_slc(DBGONLY "dbg")
+
+set(SAME_LIBRARY_RELEASE "same")
+set(SAME_LIBRARY_DEBUG "same")
+check_slc(SAME "same")
+
+set(OPTONLYLIST_LIBRARY_RELEASE "opt1;opt2")
+check_slc(OPTONLYLIST "opt1;opt2")
+
+set(DBGONLYLIST_LIBRARY_RELEASE "dbg1;dbg2")
+check_slc(DBGONLYLIST "dbg1;dbg2")
+
+set(OPT1DBG1_LIBRARY_RELEASE "opt")
+set(OPT1DBG1_LIBRARY_DEBUG "dbg")
+check_slc(OPT1DBG1 "optimized;opt;debug;dbg")
+
+set(OPT1DBG2_LIBRARY_RELEASE "opt")
+set(OPT1DBG2_LIBRARY_DEBUG "dbg1;dbg2")
+check_slc(OPT1DBG2 "optimized;opt;debug;dbg1;debug;dbg2")
+
+set(OPT2DBG1_LIBRARY_RELEASE "opt1;opt2")
+set(OPT2DBG1_LIBRARY_DEBUG "dbg")
+check_slc(OPT2DBG1 "optimized;opt1;optimized;opt2;debug;dbg")
+
+set(OPT2DBG2_LIBRARY_RELEASE "opt1;opt2")
+set(OPT2DBG2_LIBRARY_DEBUG "dbg1;dbg2")
+check_slc(OPT2DBG2 "optimized;opt1;optimized;opt2;debug;dbg1;debug;dbg2")
diff --git a/Tests/CMakeOnly/find_library/CMakeLists.txt b/Tests/CMakeOnly/find_library/CMakeLists.txt
new file mode 100644
index 000000000..08f9331e1
--- /dev/null
+++ b/Tests/CMakeOnly/find_library/CMakeLists.txt
@@ -0,0 +1,61 @@
+cmake_minimum_required(VERSION 2.8)
+project(FindLibraryTest NONE)
+
+set(CMAKE_FIND_DEBUG_MODE 1)
+
+macro(test_find_library expected)
+ get_filename_component(dir ${expected} PATH)
+ get_filename_component(name ${expected} NAME)
+ string(REGEX REPLACE "lib/?64" "lib" dir "${dir}")
+ unset(LIB CACHE)
+ find_library(LIB
+ NAMES ${name}
+ PATHS ${CMAKE_CURRENT_SOURCE_DIR}/${dir}
+ NO_DEFAULT_PATH
+ )
+ if(LIB)
+ # Convert to relative path for comparison to expected location.
+ file(RELATIVE_PATH REL_LIB "${CMAKE_CURRENT_SOURCE_DIR}" "${LIB}")
+
+ # Debugging output.
+ if(CMAKE_FIND_DEBUG_MODE)
+ message(STATUS "Library ${expected} searched as ${dir}, found as [${REL_LIB}].")
+ endif()
+
+ # Check and report failure.
+ if(NOT "${REL_LIB}" STREQUAL "${expected}")
+ message(SEND_ERROR "Library ${l} should have been [${expected}] but was [${REL_LIB}]")
+ endif()
+ else()
+ message(SEND_ERROR "Library ${expected} searched as ${dir}, NOT FOUND!")
+ endif()
+endmacro()
+
+set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
+set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
+set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS TRUE)
+
+set(CMAKE_SIZEOF_VOID_P 4)
+foreach(lib
+ lib/A/lib/libtest1.a
+ lib/A/libtest1.a
+ lib/libtest1.a
+ lib/libtest2.a
+ lib/libtest3.a
+ lib/libtest3.a
+ )
+ test_find_library(${lib})
+endforeach()
+
+set(CMAKE_SIZEOF_VOID_P 8)
+foreach(lib64
+ lib/64/libtest2.a
+ lib/A/lib64/libtest3.a
+ lib/libtest3.a
+ lib64/A/lib/libtest2.a
+ lib64/A/lib64/libtest1.a
+ lib64/A/libtest1.a
+ lib64/libtest1.a
+ )
+ test_find_library(${lib64})
+endforeach()
diff --git a/Tests/CMakeOnly/find_library/lib/64/libtest2.a b/Tests/CMakeOnly/find_library/lib/64/libtest2.a
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/Tests/CMakeOnly/find_library/lib/64/libtest2.a
diff --git a/Tests/CMakeOnly/find_library/lib/A/lib/libtest1.a b/Tests/CMakeOnly/find_library/lib/A/lib/libtest1.a
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/Tests/CMakeOnly/find_library/lib/A/lib/libtest1.a
diff --git a/Tests/CMakeOnly/find_library/lib/A/lib64/libtest3.a b/Tests/CMakeOnly/find_library/lib/A/lib64/libtest3.a
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/Tests/CMakeOnly/find_library/lib/A/lib64/libtest3.a
diff --git a/Tests/CMakeOnly/find_library/lib/A/libtest1.a b/Tests/CMakeOnly/find_library/lib/A/libtest1.a
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/Tests/CMakeOnly/find_library/lib/A/libtest1.a
diff --git a/Tests/CMakeOnly/find_library/lib/libtest1.a b/Tests/CMakeOnly/find_library/lib/libtest1.a
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/Tests/CMakeOnly/find_library/lib/libtest1.a
diff --git a/Tests/CMakeOnly/find_library/lib/libtest2.a b/Tests/CMakeOnly/find_library/lib/libtest2.a
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/Tests/CMakeOnly/find_library/lib/libtest2.a
diff --git a/Tests/CMakeOnly/find_library/lib/libtest3.a b/Tests/CMakeOnly/find_library/lib/libtest3.a
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/Tests/CMakeOnly/find_library/lib/libtest3.a
diff --git a/Tests/CMakeOnly/find_library/lib64/A/lib/libtest2.a b/Tests/CMakeOnly/find_library/lib64/A/lib/libtest2.a
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/Tests/CMakeOnly/find_library/lib64/A/lib/libtest2.a
diff --git a/Tests/CMakeOnly/find_library/lib64/A/lib64/libtest1.a b/Tests/CMakeOnly/find_library/lib64/A/lib64/libtest1.a
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/Tests/CMakeOnly/find_library/lib64/A/lib64/libtest1.a
diff --git a/Tests/CMakeOnly/find_library/lib64/A/libtest1.a b/Tests/CMakeOnly/find_library/lib64/A/libtest1.a
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/Tests/CMakeOnly/find_library/lib64/A/libtest1.a
diff --git a/Tests/CMakeOnly/find_library/lib64/libtest1.a b/Tests/CMakeOnly/find_library/lib64/libtest1.a
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/Tests/CMakeOnly/find_library/lib64/libtest1.a
diff --git a/Tests/CMakeTestMultipleConfigures/RunCMake.cmake b/Tests/CMakeTestMultipleConfigures/RunCMake.cmake
index 19391d7f1..96326646b 100644
--- a/Tests/CMakeTestMultipleConfigures/RunCMake.cmake
+++ b/Tests/CMakeTestMultipleConfigures/RunCMake.cmake
@@ -143,7 +143,7 @@ function(analyze_directory_diffs d1 d2 diff_count_var)
endif()
set(${diff_count_var} ${diffs} PARENT_SCOPE)
-endfunction(analyze_directory_diffs)
+endfunction()
# Analyze diffs between b1:b2, b2:b3, b3:b4, b4:b5 ... bN-1:bN.
diff --git a/Tests/CMakeTests/CMakeLists.txt b/Tests/CMakeTests/CMakeLists.txt
index c42c490b0..d34d4a618 100644
--- a/Tests/CMakeTests/CMakeLists.txt
+++ b/Tests/CMakeTests/CMakeLists.txt
@@ -1,12 +1,12 @@
-SET(CMAKE_EXECUTABLE "${CMake_BIN_DIR}/cmake")
+set(CMAKE_EXECUTABLE "${CMake_BIN_DIR}/cmake")
-MACRO(AddCMakeTest TestName PreArgs)
- CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/${TestName}Test.cmake.in"
+macro(AddCMakeTest TestName PreArgs)
+ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/${TestName}Test.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/${TestName}Test.cmake" @ONLY IMMEDIATE)
- ADD_TEST(CMake.${TestName} ${CMAKE_EXECUTABLE} ${PreArgs}
+ add_test(CMake.${TestName} ${CMAKE_EXECUTABLE} ${PreArgs}
-P "${CMAKE_CURRENT_BINARY_DIR}/${TestName}Test.cmake" ${ARGN})
-ENDMACRO(AddCMakeTest)
+endmacro()
AddCMakeTest(List "")
@@ -43,12 +43,12 @@ if(HAVE_ELF_H)
AddCMakeTest(ELF "")
endif()
-SET(EndStuff_PreArgs
+set(EndStuff_PreArgs
"-Ddir:STRING=${CMAKE_CURRENT_BINARY_DIR}/EndStuffTest"
)
AddCMakeTest(EndStuff "${EndStuff_PreArgs}")
-SET(GetPrerequisites_PreArgs
+set(GetPrerequisites_PreArgs
"-DCTEST_CONFIGURATION_TYPE:STRING=\\\${CTEST_CONFIGURATION_TYPE}"
)
AddCMakeTest(GetPrerequisites "${GetPrerequisites_PreArgs}")
diff --git a/Tests/CMakeTests/FileDownloadTest.cmake.in b/Tests/CMakeTests/FileDownloadTest.cmake.in
index 9dc2ebb27..91086c6d7 100644
--- a/Tests/CMakeTests/FileDownloadTest.cmake.in
+++ b/Tests/CMakeTests/FileDownloadTest.cmake.in
@@ -38,6 +38,59 @@ file(DOWNLOAD
${dir}/file3.png
TIMEOUT 2
STATUS status
+ EXPECTED_HASH SHA1=50c614fc28b39c1281d0517bb6d5858b4359c9b7
+ )
+
+message(STATUS "FileDownload:5")
+file(DOWNLOAD
+ ${url}
+ ${dir}/file3.png
+ TIMEOUT 2
+ STATUS status
+ EXPECTED_HASH SHA224=73cd5f442b04e8320e4f907f8e1b21d4befff98b5bd77bc32526ea68
+ )
+
+message(STATUS "FileDownload:6")
+file(DOWNLOAD
+ ${url}
+ ${dir}/file3.png
+ TIMEOUT 2
+ STATUS status
+ EXPECTED_HASH SHA256=2e067f6c09cbc7cd619c8fbcc44eb64cd6b45a95e4cddb3a585eee1f731c4da9
+ )
+
+message(STATUS "FileDownload:7")
+file(DOWNLOAD
+ ${url}
+ ${dir}/file3.png
+ TIMEOUT 2
+ STATUS status
+ EXPECTED_HASH SHA384=398bf41902a7251c30e522b307e3e41e3fb617c765b3feaa99b2f7d063894708ad399267ccc25d877437a10e5e890d35
+ )
+
+message(STATUS "FileDownload:8")
+file(DOWNLOAD
+ ${url}
+ ${dir}/file3.png
+ TIMEOUT 2
+ STATUS status
+ EXPECTED_HASH SHA512=c51854d21052713968b849c2b4263cf54be03bc3a7e9847a6c71c6c8d1d13cd805fe1b9fa95f9ba1d0a5631513974f6fae21e34ab5b171d94bad48df5f073e48
+ )
+message(STATUS "FileDownload:9")
+file(DOWNLOAD
+ ${url}
+ ${dir}/file3.png
+ TIMEOUT 2
+ STATUS status
+ EXPECTED_HASH MD5=d16778650db435bda3a8c3435c3ff5d1
+ )
+
+message(STATUS "FileDownload:10")
+file(DOWNLOAD
+ ${url}
+ ${dir}/file3.png
+ TIMEOUT 2
+ STATUS status
EXPECTED_MD5 d16778650db435bda3a8c3435c3ff5d1
)
message(STATUS "${status}")
diff --git a/Tests/CMakeTests/FindBaseTest.cmake.in b/Tests/CMakeTests/FindBaseTest.cmake.in
index 47c1692db..658b35022 100644
--- a/Tests/CMakeTests/FindBaseTest.cmake.in
+++ b/Tests/CMakeTests/FindBaseTest.cmake.in
@@ -12,7 +12,7 @@ set(_HEADER_FULL_A "${MY_SOURCE_DIR}/A/include/${_HEADER}")
find_file(FOO_H_1 ${_HEADER})
if(FOO_H_1)
message(FATAL_ERROR "${_HEADER} found: ${FOO_H_1}, it should not exist !")
-endif(FOO_H_1)
+endif()
# The HINTS option should override the system but the PATHS option
# should not.
@@ -21,10 +21,10 @@ find_file(TEST_H_1 ${_HEADER} HINTS ${MY_SOURCE_DIR}/A/include)
find_file(TEST_H_2 ${_HEADER} PATHS ${MY_SOURCE_DIR}/A/include)
if(NOT "${TEST_H_1}" STREQUAL "${_HEADER_FULL_A}")
message(FATAL_ERROR "Did not find \"${_HEADER_FULL_A}\"\ngot \"${TEST_H_1}\" instead!")
-endif(NOT "${TEST_H_1}" STREQUAL "${_HEADER_FULL_A}")
+endif()
if(NOT "${TEST_H_2}" STREQUAL "${_HEADER_FULL}")
message(FATAL_ERROR "Did not find \"${_HEADER_FULL}\"\ngot \"${TEST_H_2}\" instead!")
-endif(NOT "${TEST_H_2}" STREQUAL "${_HEADER_FULL}")
+endif()
set(CMAKE_SYSTEM_PREFIX_PATH)
# with this it still should not be found, since the include/ subdir is still missing
@@ -32,20 +32,20 @@ set(CMAKE_INCLUDE_PATH "${MY_SOURCE_DIR}")
find_file(FOO_H_2 ${_HEADER})
if(FOO_H_2)
message(FATAL_ERROR "${_HEADER} found: ${FOO_H_2}, it should not exist !")
-endif(FOO_H_2)
+endif()
# now with the PATH_SUFFIX it should be found
find_file(FOO_H_3 NAMES ${_HEADER} PATH_SUFFIXES include )
if(NOT "${FOO_H_3}" STREQUAL "${_HEADER_FULL}")
message(FATAL_ERROR "Did not find \"${_HEADER_FULL}\"\ngot ${FOO_H_3} instead !")
-endif(NOT "${FOO_H_3}" STREQUAL "${_HEADER_FULL}")
+endif()
# without PATH_SUFFIX, but with a CMAKE_INCLUDE_PATH it should not be found
set(CMAKE_INCLUDE_PATH /include)
find_file(FOO_H_4 ${_HEADER})
if(FOO_H_4)
message(FATAL_ERROR "${_HEADER} found: ${FOO_H_4}, it should not exist !")
-endif(FOO_H_4)
+endif()
# when setting CMAKE_FIND_ROOT_PATH to the current source dir,
# together with the CMAKE_INCLUDE_PATH it should be found
@@ -53,10 +53,10 @@ set(CMAKE_FIND_ROOT_PATH blub "${MY_SOURCE_DIR}")
find_file(FOO_H_5 ${_HEADER})
if(NOT "${FOO_H_5}" STREQUAL "${_HEADER_FULL}")
message(FATAL_ERROR "Did not find \"${_HEADER_FULL}\"\ngot ${FOO_H_5} instead !")
-endif(NOT "${FOO_H_5}" STREQUAL "${_HEADER_FULL}")
+endif()
# by explicitly disabling CMAKE_FIND_ROOT_PATH again it shouldn't be found
find_file(FOO_H_6 ${_HEADER} NO_CMAKE_FIND_ROOT_PATH)
if(FOO_H_6)
message(FATAL_ERROR "${_HEADER} found: ${FOO_H_6}, it should not exist !")
-endif(FOO_H_6)
+endif()
diff --git a/Tests/CMakeTests/GetFilenameComponentRealpathTest.cmake.in b/Tests/CMakeTests/GetFilenameComponentRealpathTest.cmake.in
index 7adc240f0..22f6afd3b 100644
--- a/Tests/CMakeTests/GetFilenameComponentRealpathTest.cmake.in
+++ b/Tests/CMakeTests/GetFilenameComponentRealpathTest.cmake.in
@@ -66,7 +66,7 @@ if(UNIX)
if(EXISTS file1 OR EXISTS file2)
message(FATAL_ERROR "removal of file1 or file2 failed")
endif()
- endif(LN)
+ endif()
file(REMOVE ${bindir}/file3)
endif()
diff --git a/Tests/CMakeTests/GetPrerequisitesTest.cmake.in b/Tests/CMakeTests/GetPrerequisitesTest.cmake.in
index daf467bcc..89ca735d3 100644
--- a/Tests/CMakeTests/GetPrerequisitesTest.cmake.in
+++ b/Tests/CMakeTests/GetPrerequisitesTest.cmake.in
@@ -58,7 +58,7 @@ function(stresstest_list_prerequisites file)
message(STATUS "=============================================================================")
message(STATUS "")
-endfunction(stresstest_list_prerequisites)
+endfunction()
function(test_cmake_executables)
@@ -68,7 +68,7 @@ function(test_cmake_executables)
get_filename_component(cmake_bin_dir "${CMAKE_COMMAND}" PATH)
list_prerequisites_by_glob(GLOB "${cmake_bin_dir}/*" 0 0 1)
-endfunction(test_cmake_executables)
+endfunction()
message(STATUS "=============================================================================")
@@ -93,7 +93,7 @@ if(do_testdefaults)
message(STATUS "")
list_prerequisites("${CMAKE_COMMAND}")
message(STATUS "")
-endif(do_testdefaults)
+endif()
set(do_stresstest 0)
@@ -103,7 +103,7 @@ if(do_stresstest)
message(STATUS "")
stresstest_list_prerequisites("${CMAKE_COMMAND}")
message(STATUS "")
-endif(do_stresstest)
+endif()
test_cmake_executables()
@@ -141,7 +141,7 @@ message(STATUS "")
get_cmake_property(vs VARIABLES)
foreach(v ${vs})
message(STATUS "${v}='${${v}}'")
-endforeach(v)
+endforeach()
message(STATUS "")
message(STATUS "=============================================================================")
diff --git a/Tests/CMakeTests/IncludeTest.cmake.in b/Tests/CMakeTests/IncludeTest.cmake.in
index eca679b4a..985333c4b 100644
--- a/Tests/CMakeTests/IncludeTest.cmake.in
+++ b/Tests/CMakeTests/IncludeTest.cmake.in
@@ -9,18 +9,18 @@ set(fileTwo "${CMAKE_ROOT}/Modules/CMake.cmake")
if(WIN32)
string(TOLOWER "${fileOne}" fileOne)
string(TOLOWER "${fileTwo}" fileTwo)
-endif(WIN32)
+endif()
if(NOT "${fileOne}" STREQUAL "${fileTwo}")
message(FATAL_ERROR "Wrong CMake.cmake was included: \"${fileOne}\" expected \"${fileTwo}\"")
-endif(NOT "${fileOne}" STREQUAL "${fileTwo}")
+endif()
# this one must return NOTFOUND in _includedFile
include(I_do_not_exist OPTIONAL RESULT_VARIABLE _includedFile)
if(_includedFile)
message(FATAL_ERROR "File \"I_do_not_exist\" was included, although it shouldn't exist,\nIncluded file is \"${_includedFile}\"")
-endif(_includedFile)
+endif()
# and this one must succeed too
include(CMake OPTIONAL RESULT_VARIABLE _includedFile)
@@ -29,11 +29,11 @@ set(fileTwo "${CMAKE_ROOT}/Modules/CMake.cmake")
if(WIN32)
string(TOLOWER "${fileOne}" fileOne)
string(TOLOWER "${fileTwo}" fileTwo)
-endif(WIN32)
+endif()
if(NOT "${fileOne}" STREQUAL "${fileTwo}")
message(FATAL_ERROR "Wrong CMake.cmake was included: \"${fileOne}\" expected \"${fileTwo}\"")
-endif(NOT "${fileOne}" STREQUAL "${fileTwo}")
+endif()
# Check that CMAKE_CURRENT_LIST_DIR is working:
# Needs to be a file in the build tree, which is correct cmake script
diff --git a/Tests/CMakeTests/ListTest.cmake.in b/Tests/CMakeTests/ListTest.cmake.in
index cf6f91a70..a16750354 100644
--- a/Tests/CMakeTests/ListTest.cmake.in
+++ b/Tests/CMakeTests/ListTest.cmake.in
@@ -1,88 +1,99 @@
-MACRO(TEST command expected)
- IF("x${result}" STREQUAL "x${expected}")
- #MESSAGE("TEST \"${command}\" success: \"${result}\" expected: \"${expected}\"")
- ELSE("x${result}" STREQUAL "x${expected}")
- MESSAGE(SEND_ERROR "${CMAKE_CURRENT_LIST_LINE}: TEST \"${command}\" failed: \"${result}\" expected: \"${expected}\"")
- ENDIF("x${result}" STREQUAL "x${expected}")
-ENDMACRO(TEST command expected)
+macro(TEST command expected)
+ if("x${result}" STREQUAL "x${expected}")
+ #message("TEST \"${command}\" success: \"${result}\" expected: \"${expected}\"")
+ else()
+ message(SEND_ERROR "${CMAKE_CURRENT_LIST_LINE}: TEST \"${command}\" failed: \"${result}\" expected: \"${expected}\"")
+ endif()
+endmacro()
-SET(mylist andy bill ken brad)
+set(mylist andy bill ken brad)
-LIST(LENGTH mylist result)
+list(LENGTH mylist result)
TEST("LENGTH mylist result" "4")
-LIST(LENGTH "mylist" result)
+list(LENGTH "mylist" result)
TEST("LENGTH \"mylist\" result" "4")
-LIST(LENGTH "nonexiting_list1" result)
+list(LENGTH "nonexiting_list1" result)
TEST("LENGTH \"nonexiting_list1\" result" "0")
-LIST(GET mylist 3 2 1 0 result)
+list(GET mylist 3 2 1 0 result)
TEST("GET mylist 3 2 1 0 result" "brad;ken;bill;andy")
-LIST(GET mylist 0 item0)
-LIST(GET mylist 1 item1)
-LIST(GET mylist 2 item2)
-LIST(GET mylist 3 item3)
-SET(result "${item3}" "${item0}" "${item1}" "${item2}")
+list(GET mylist 0 item0)
+list(GET mylist 1 item1)
+list(GET mylist 2 item2)
+list(GET mylist 3 item3)
+set(result "${item3}" "${item0}" "${item1}" "${item2}")
TEST("GET individual 3 2 1 0 result" "brad;andy;bill;ken")
-LIST(GET mylist -1 -2 -3 -4 result)
+list(GET mylist -1 -2 -3 -4 result)
TEST("GET mylist -1 -2 -3 -4 result" "brad;ken;bill;andy")
-LIST(GET mylist -1 2 -3 0 result)
+list(GET mylist -1 2 -3 0 result)
TEST("GET mylist -1 2 -3 0 ${result}" "brad;ken;bill;andy")
-LIST(GET "nonexiting_list2" 1 result)
+list(GET "nonexiting_list2" 1 result)
TEST("GET \"nonexiting_list2\" 1 result" "NOTFOUND")
-SET(result andy)
-LIST(APPEND result brad)
+set(result andy)
+list(APPEND result brad)
TEST("APPEND result brad" "andy;brad")
-LIST(APPEND "nonexiting_list3" brad)
-SET(result "${nonexiting_list3}")
+list(APPEND "nonexiting_list3" brad)
+set(result "${nonexiting_list3}")
TEST("APPEND \"nonexiting_list3\" brad" "brad")
-LIST(INSERT "nonexiting_list4" 0 andy bill brad ken)
-SET(result "${nonexiting_list4}")
+list(INSERT "nonexiting_list4" 0 andy bill brad ken)
+set(result "${nonexiting_list4}")
TEST("APPEND \"nonexiting_list4\" andy bill brad ken" "andy;bill;brad;ken")
-SET(result andy brad)
-LIST(INSERT result -1 bill ken)
+set(result andy brad)
+list(INSERT result -1 bill ken)
TEST("INSERT result -1 bill ken" "andy;bill;ken;brad")
-SET(result andy bill brad ken bob)
-LIST(REMOVE_ITEM result bob)
+set(result andy bill brad ken bob)
+list(REMOVE_ITEM result bob)
TEST("REMOVE_ITEM result bob" "andy;bill;brad;ken")
-SET(result andy bill bob brad ken peter)
-LIST(REMOVE_ITEM result peter bob)
+set(result andy bill bob brad ken peter)
+list(REMOVE_ITEM result peter bob)
TEST("REMOVE_ITEM result peter bob" "andy;bill;brad;ken")
-SET(result bob andy bill bob brad ken bob)
-LIST(REMOVE_ITEM result bob)
+set(result bob andy bill bob brad ken bob)
+list(REMOVE_ITEM result bob)
TEST("REMOVE_ITEM result bob" "andy;bill;brad;ken")
-SET(result andy bill bob brad ken peter)
-LIST(REMOVE_AT result 2 -1)
+set(result andy bill bob brad ken peter)
+list(REMOVE_AT result 2 -1)
TEST("REMOVE_AT result 2 -1" "andy;bill;brad;ken")
# ken is at index 2, nobody is not in the list so -1 should be returned
-SET(mylist andy bill ken brad)
-LIST(FIND mylist ken result)
+set(mylist andy bill ken brad)
+list(FIND mylist ken result)
TEST("FIND mylist ken result" "2")
-LIST(FIND mylist nobody result)
+list(FIND mylist nobody result)
TEST("FIND mylist nobody result" "-1")
-SET(result ken bill andy brad)
-LIST(SORT result)
+set(result ken bill andy brad)
+list(SORT result)
TEST("SORT result" "andy;bill;brad;ken")
-SET(result andy bill brad ken)
-LIST(REVERSE result)
+set(result andy bill brad ken)
+list(REVERSE result)
TEST("REVERSE result" "ken;brad;bill;andy")
-SET(result bill andy bill brad ken ken ken)
-LIST(REMOVE_DUPLICATES result)
+set(result bill andy bill brad ken ken ken)
+list(REMOVE_DUPLICATES result)
TEST("REMOVE_DUPLICATES result" "bill;andy;brad;ken")
+
+# these commands should just do nothing if the list is already empty
+set(result "")
+list(REMOVE_DUPLICATES result)
+TEST("REMOVE_DUPLICATES empty result" "")
+
+list(REVERSE result)
+TEST("REVERSE empty result" "")
+
+list(SORT result)
+TEST("SORT empty result" "")
diff --git a/Tests/CMakeTests/StringTestScript.cmake b/Tests/CMakeTests/StringTestScript.cmake
index 7a264a0e2..a562e71d3 100644
--- a/Tests/CMakeTests/StringTestScript.cmake
+++ b/Tests/CMakeTests/StringTestScript.cmake
@@ -236,42 +236,42 @@ elseif(testname STREQUAL string_find_with_no_possible_result) # pass
message(STATUS "v='${v}'")
if(NOT(-1 EQUAL ${v}))
message(SEND_ERROR "FIND sub-command should return -1 but returned ${v}.")
- endif(NOT(-1 EQUAL ${v}))
+ endif()
elseif(testname STREQUAL string_find_reverse_with_no_possible_result) # pass
string(FIND "CMake is a great application." "z" v REVERSE)
message(STATUS "v='${v}'")
if(NOT(-1 EQUAL ${v}))
message(SEND_ERROR "FIND REVERSE sub-command should return -1 but returned ${v}.")
- endif(NOT(-1 EQUAL ${v}))
+ endif()
elseif(testname STREQUAL string_find_with_required_result) # pass
string(FIND "CMake is a great application." "g" v)
message(STATUS "v='${v}'")
if(NOT(11 EQUAL ${v}))
message(SEND_ERROR "FIND sub-command should return 11 but returned ${v}.")
- endif(NOT(11 EQUAL ${v}))
+ endif()
elseif(testname STREQUAL string_find_reverse_with_required_result) # pass
string(FIND "CMake is a great application." "e" v REVERSE)
message(STATUS "v='${v}'")
if(NOT(13 EQUAL ${v}))
message(SEND_ERROR "FIND REVERSE sub-command should return 13 but returned ${v}.")
- endif(NOT(13 EQUAL ${v}))
+ endif()
elseif(testname STREQUAL string_find_word_reverse_with_required_result) # pass
string(FIND "The command should find REVERSE in this string. Or maybe this REVERSE?!" "REVERSE" v)
message(STATUS "v='${v}'")
if(NOT(24 EQUAL ${v}))
message(SEND_ERROR "FIND sub-command should return 24 but returned ${v}.")
- endif(NOT(24 EQUAL ${v}))
+ endif()
elseif(testname STREQUAL string_find_reverse_word_reverse_with_required_result) # pass
string(FIND "The command should find REVERSE in this string. Or maybe this REVERSE?!" "REVERSE" v REVERSE)
message(STATUS "v='${v}'")
if(NOT(62 EQUAL ${v}))
message(SEND_ERROR "FIND sub-command should return 62 but returned ${v}.")
- endif(NOT(62 EQUAL ${v}))
+ endif()
else() # fail
message(FATAL_ERROR "testname='${testname}' - error: no such test in '${CMAKE_CURRENT_LIST_FILE}'")
diff --git a/Tests/CMakeTests/ToolchainTest.cmake.in b/Tests/CMakeTests/ToolchainTest.cmake.in
index e4a2e4813..96e7196a5 100644
--- a/Tests/CMakeTests/ToolchainTest.cmake.in
+++ b/Tests/CMakeTests/ToolchainTest.cmake.in
@@ -1,12 +1,12 @@
############################################################
# some preparations so that the CMakeDetermineXXX.cmake files will work in scripted mode
-# overwrite MARK_AS_ADVANCED(), since this is used in CMakeDetermineCCompiler.cmake
+# overwrite mark_as_advanced(), since this is used in CMakeDetermineCCompiler.cmake
# which will complain that it can"t be used in script mode
macro(MARK_AS_ADVANCED)
-endmacro(MARK_AS_ADVANCED)
+endmacro()
# set this to a place where we are allowed to write
-set(CMAKE_PLATFORM_ROOT_BIN "${CMAKE_CURRENT_BINARY_DIR}")
+set(CMAKE_PLATFORM_INFO_DIR "${CMAKE_CURRENT_BINARY_DIR}")
# don't run the compiler detection
set(CMAKE_C_COMPILER_ID_RUN 1)
@@ -21,19 +21,19 @@ include(CMakeDetermineSystem)
# check that CMAKE_SYSTEM_XXX and CMAKE_HOST_SYSTEM_xxx are identical
if(NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "${CMAKE_HOST_SYSTEM_NAME}")
message(FATAL_ERROR "CMAKE_SYSTEM_NAME and CMAKE_HOST_SYSTEM_NAME not identical: \"${CMAKE_SYSTEM_NAME}\" vs. \"${CMAKE_HOST_SYSTEM_NAME}\"")
-endif(NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "${CMAKE_HOST_SYSTEM_NAME}")
+endif()
if(NOT "${CMAKE_SYSTEM}" STREQUAL "${CMAKE_HOST_SYSTEM}")
message(FATAL_ERROR "CMAKE_SYSTEM and CMAKE_HOST_SYSTEM not identical: \"${CMAKE_SYSTEM}\" vs. \"${CMAKE_HOST_SYSTEM}\"")
-endif(NOT "${CMAKE_SYSTEM}" STREQUAL "${CMAKE_HOST_SYSTEM}")
+endif()
if(NOT "${CMAKE_SYSTEM_VERSION}" STREQUAL "${CMAKE_HOST_SYSTEM_VERSION}")
message(FATAL_ERROR "CMAKE_SYSTEM_VERSION and CMAKE_HOST_SYSTEM_VERSION not identical: \"${CMAKE_SYSTEM_VERSION}\" vs. \"${CMAKE_HOST_SYSTEM_VERSION}\"")
-endif(NOT "${CMAKE_SYSTEM_VERSION}" STREQUAL "${CMAKE_HOST_SYSTEM_VERSION}")
+endif()
if(NOT "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "${CMAKE_HOST_SYSTEM_PROCESSOR}")
message(FATAL_ERROR "CMAKE_SYSTEM_PROCESSOR and CMAKE_HOST_SYSTEM_PROCESSOR not identical: \"${CMAKE_SYSTEM_PROCESSOR}\" vs. \"${CMAKE_HOST_SYSTEM_PROCESSOR}\"")
-endif(NOT "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "${CMAKE_HOST_SYSTEM_PROCESSOR}")
+endif()
# save the values so we can compare them to CMAKE_HOST_SYSTEM_XXX in the toolchain case
@@ -55,7 +55,7 @@ set(CMAKE_HOST_SYSTEM_PROCESSOR)
############################################################
-# now define a toolchain file and check that everything is
+# now define a toolchain file and check that everything is
# detected correctly and nothing predefined is overwritten
set(CMAKE_TOOLCHAIN_FILE "${MY_SOURCE_DIR}/DummyToolchain.cmake")
@@ -73,35 +73,35 @@ include(CMakeDetermineCXXCompiler)
if(NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "Dumdidum")
message(FATAL_ERROR "CMAKE_SYSTEM_NAME overwritten: \"${CMAKE_SYSTEM_NAME}\", was: \"Dumdidum\"")
-endif(NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "Dumdidum")
+endif()
if(NOT "${CMAKE_SYSTEM}" STREQUAL "Dumdidum-1.0")
message(FATAL_ERROR "CMAKE_SYSTEM wrong: \"${CMAKE_SYSTEM}\", expected: \"Dumdidum-1.0\"")
-endif(NOT "${CMAKE_SYSTEM}" STREQUAL "Dumdidum-1.0")
+endif()
set(fileOne "${_INCLUDED_TOOLCHAIN_FILE}")
set(fileTwo "${MY_SOURCE_DIR}/DummyToolchain.cmake")
if(WIN32)
string(TOLOWER "${fileOne}" fileOne)
string(TOLOWER "${fileTwo}" fileTwo)
-endif(WIN32)
+endif()
if(NOT "${fileOne}" STREQUAL "${fileTwo}")
message(FATAL_ERROR "Wrong toolchain was loaded: \"${fileOne}\" expected \"${fileTwo}\"")
-endif(NOT "${fileOne}" STREQUAL "${fileTwo}")
+endif()
# check that CMAKE_HOST_SYSTEM_XXX and _SYSTEM_xxx detected above are identical
if(NOT "${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "${NATIVE_SYSTEM_NAME}")
message(FATAL_ERROR "CMAKE_HOST_SYSTEM_NAME and NATIVE_SYSTEM_NAME not identical: \"${CMAKE_HOST_SYSTEM_NAME}\" vs. \"${NATIVE_SYSTEM_NAME}\"")
-endif(NOT "${CMAKE_HOST_SYSTEM_NAME}" STREQUAL "${NATIVE_SYSTEM_NAME}")
+endif()
if(NOT "${CMAKE_HOST_SYSTEM}" STREQUAL "${NATIVE_SYSTEM}")
message(FATAL_ERROR "CMAKE_HOST_SYSTEM and NATIVE_SYSTEM not identical: \"${CMAKE_HOST_SYSTEM}\" vs. \"${NATIVE_SYSTEM}\"")
-endif(NOT "${CMAKE_HOST_SYSTEM}" STREQUAL "${NATIVE_SYSTEM}")
+endif()
if(NOT "${CMAKE_HOST_SYSTEM_VERSION}" STREQUAL "${NATIVE_SYSTEM_VERSION}")
message(FATAL_ERROR "CMAKE_HOST_SYSTEM_VERSION and NATIVE_SYSTEM_VERSION not identical: \"${CMAKE_HOST_SYSTEM_VERSION}\" vs. \"${NATIVE_SYSTEM_VERSION}\"")
-endif(NOT "${CMAKE_HOST_SYSTEM_VERSION}" STREQUAL "${NATIVE_SYSTEM_VERSION}")
+endif()
if(NOT "${CMAKE_HOST_SYSTEM_PROCESSOR}" STREQUAL "${NATIVE_SYSTEM_PROCESSOR}")
message(FATAL_ERROR "CMAKE_HOST_SYSTEM_PROCESSOR and NATIVE_SYSTEM_PROCESSOR not identical: \"${CMAKE_HOST_SYSTEM_PROCESSOR}\" vs. \"${NATIVE_SYSTEM_PROCESSOR}\"")
-endif(NOT "${CMAKE_HOST_SYSTEM_PROCESSOR}" STREQUAL "${NATIVE_SYSTEM_PROCESSOR}")
+endif()
#############################################################
@@ -109,15 +109,15 @@ endif(NOT "${CMAKE_HOST_SYSTEM_PROCESSOR}" STREQUAL "${NATIVE_SYSTEM_PROCESSOR}"
if(NOT "${_CMAKE_TOOLCHAIN_PREFIX}" STREQUAL "arm-elf-")
message(FATAL_ERROR "wrong toolchain prefix detected: \"${_CMAKE_TOOLCHAIN_PREFIX}\", expected: \"arm-elf-\"")
-endif(NOT "${_CMAKE_TOOLCHAIN_PREFIX}" STREQUAL "arm-elf-")
+endif()
if(NOT "${_CMAKE_USER_C_COMPILER_PATH}" STREQUAL "/opt/foo/bin")
message(FATAL_ERROR "wrong C compiler location detected: \"${_CMAKE_USER_C_COMPILER_PATH}\", expected: \"/opt/foo/bin\"")
-endif(NOT "${_CMAKE_USER_C_COMPILER_PATH}" STREQUAL "/opt/foo/bin")
+endif()
if(NOT "${CMAKE_C_OUTPUT_EXTENSION}" STREQUAL ".foo")
message(FATAL_ERROR "C output extension overwritten: \"${CMAKE_C_OUTPUT_EXTENSION}\", was: \".foo\"")
-endif(NOT "${CMAKE_C_OUTPUT_EXTENSION}" STREQUAL ".foo")
+endif()
#############################################################
@@ -125,11 +125,11 @@ endif(NOT "${CMAKE_C_OUTPUT_EXTENSION}" STREQUAL ".foo")
if(NOT "${_CMAKE_USER_CXX_COMPILER_PATH}" STREQUAL "/opt/bar/bin")
message(FATAL_ERROR "wrong CXX compiler location detected: \"${_CMAKE_USER_CXX_COMPILER_PATH}\", expected: \"/opt/bar/bin\"")
-endif(NOT "${_CMAKE_USER_CXX_COMPILER_PATH}" STREQUAL "/opt/bar/bin")
+endif()
if(NOT "${CMAKE_CXX_OUTPUT_EXTENSION}" STREQUAL ".bar")
message(FATAL_ERROR "C output extension overwritten: \"${CMAKE_CXX_OUTPUT_EXTENSION}\", was: \".bar\"")
-endif(NOT "${CMAKE_CXX_OUTPUT_EXTENSION}" STREQUAL ".bar")
+endif()
message(STATUS "CMAKE_SYSTEM: \"${CMAKE_SYSTEM}\"")
message(STATUS "_CMAKE_TOOLCHAIN_PREFIX: \"${_CMAKE_TOOLCHAIN_PREFIX}\"")
diff --git a/Tests/CMakeTests/VariableWatchTest.cmake.in b/Tests/CMakeTests/VariableWatchTest.cmake.in
index bdb4f7ec4..0c084fde8 100644
--- a/Tests/CMakeTests/VariableWatchTest.cmake.in
+++ b/Tests/CMakeTests/VariableWatchTest.cmake.in
@@ -1,15 +1,15 @@
-MESSAGE("Start")
+message("Start")
-VARIABLE_WATCH(TESTVAR MESSAGE)
-VARIABLE_WATCH(TESTVAR1)
+variable_watch(TESTVAR MESSAGE)
+variable_watch(TESTVAR1)
macro(testwatch var access file stack)
- MESSAGE("There was a ${access} access done on the variable: ${var} in file ${file}")
- MESSAGE("List file stack is: ${stack}")
+ message("There was a ${access} access done on the variable: ${var} in file ${file}")
+ message("List file stack is: ${stack}")
set(${var}_watched 1)
-endmacro(testwatch)
+endmacro()
-VARIABLE_WATCH(somevar testwatch)
+variable_watch(somevar testwatch)
set(TESTVAR1 "1")
set(TESTVAR "1")
diff --git a/Tests/CMakeTests/VersionTest.cmake.in b/Tests/CMakeTests/VersionTest.cmake.in
index 215bb2b96..9e31cb431 100644
--- a/Tests/CMakeTests/VersionTest.cmake.in
+++ b/Tests/CMakeTests/VersionTest.cmake.in
@@ -7,3 +7,10 @@ if("${CMAKE_VERSION}" VERSION_LESS "${min_ver}")
else()
message("CMAKE_VERSION=[${CMAKE_VERSION}] is not less than [${min_ver}]")
endif()
+
+set(v 1.2.3.4.5.6.7)
+if("${v}.8" VERSION_LESS "${v}.9")
+ message(STATUS "${v}.8 is less than ${v}.9")
+else()
+ message(FATAL_ERROR "${v}.8 is not less than ${v}.9?")
+endif()
diff --git a/Tests/CMakeTests/WhileTest.cmake.in b/Tests/CMakeTests/WhileTest.cmake.in
index 4693f2d8f..4cec291a0 100644
--- a/Tests/CMakeTests/WhileTest.cmake.in
+++ b/Tests/CMakeTests/WhileTest.cmake.in
@@ -10,7 +10,7 @@ while(COUNT LESS 200)
set(NUMBERS "${NUMBERS} ${NCOUNT}")
set(NCOUNT "${NCOUNT}0")
endwhile()
-endwhile(COUNT LESS 200)
+endwhile()
if(NOT NUMBERS STREQUAL " 0 3 30 20 3 30")
message(SEND_ERROR "while loop nesting error, result: '${NUMBERS}'")
diff --git a/Tests/COnly/CMakeLists.txt b/Tests/COnly/CMakeLists.txt
index 5ef0f1eea..b3cc43813 100644
--- a/Tests/COnly/CMakeLists.txt
+++ b/Tests/COnly/CMakeLists.txt
@@ -10,14 +10,14 @@ target_link_libraries(COnly testc1 testc2)
if(MSVC_VERSION)
set_target_properties(COnly PROPERTIES
LINK_FLAGS " /NODEFAULTLIB:\"libcdg.lib\" /NODEFAULTLIB:\"libcmtg.lib\" /NODEFAULTLIB:\"foomsvcrt.lib\" /NODEFAULTLIB:\"libbar.lib\" /NODEFAULTLIB:\"libfooba.lib\"")
-endif(MSVC_VERSION)
+endif()
string(ASCII 35 32 67 77 97 107 101 ASCII_STRING)
message(STATUS "String: ${ASCII_STRING}")
get_source_file_property(LANG conly.c LANGUAGE)
if("${LANG}" STREQUAL "C")
message("Language is C")
-else("${LANG}" STREQUAL "C")
+else()
message(FATAL_ERROR "Bad language for file conly.c")
-endif("${LANG}" STREQUAL "C")
+endif()
add_library(testCModule MODULE testCModule.c)
diff --git a/Tests/COnly/libc2.h b/Tests/COnly/libc2.h
index a99d8984e..2713d71ae 100644
--- a/Tests/COnly/libc2.h
+++ b/Tests/COnly/libc2.h
@@ -5,7 +5,7 @@
# define CM_TEST_LIB_EXPORT __declspec( dllimport )
# endif
#else
-# define CM_TEST_LIB_EXPORT
+# define CM_TEST_LIB_EXPORT
#endif
CM_TEST_LIB_EXPORT float LibC2Func();
diff --git a/Tests/CPackComponents/CMakeLists.txt b/Tests/CPackComponents/CMakeLists.txt
index 58f5bdffe..1cb86696a 100644
--- a/Tests/CPackComponents/CMakeLists.txt
+++ b/Tests/CPackComponents/CMakeLists.txt
@@ -36,7 +36,7 @@ endif()
# Create installation targets. Note that we put each kind of file
# into a different component via COMPONENT. These components will
# be used to create the installation components.
-install(TARGETS mylib
+install(TARGETS mylib
ARCHIVE
DESTINATION lib
COMPONENT libraries)
diff --git a/Tests/CPackComponents/VerifyResult.cmake b/Tests/CPackComponents/VerifyResult.cmake
index 850ec0022..c7c24fde1 100644
--- a/Tests/CPackComponents/VerifyResult.cmake
+++ b/Tests/CPackComponents/VerifyResult.cmake
@@ -4,7 +4,7 @@ message(STATUS "")
if(NOT CPackComponents_BINARY_DIR)
message(FATAL_ERROR "CPackComponents_BINARY_DIR not set")
-endif(NOT CPackComponents_BINARY_DIR)
+endif()
set(expected_file_mask "")
@@ -18,15 +18,15 @@ if(WIN32)
)
if(NSIS_MAKENSIS_EXECUTABLE)
set(expected_file_mask "${CPackComponents_BINARY_DIR}/MyLib-*.exe")
- endif(NSIS_MAKENSIS_EXECUTABLE)
-endif(WIN32)
+ endif()
+endif()
if(APPLE)
# Always expect the *.dmg installer - PackageMaker should always
# be installed on a development Mac:
#
set(expected_file_mask "${CPackComponents_BINARY_DIR}/MyLib-*.dmg")
-endif(APPLE)
+endif()
if(expected_file_mask)
set(expected_count 1)
@@ -38,11 +38,11 @@ if(expected_file_mask)
if(NOT expected_file)
message(FATAL_ERROR "error: expected_file does not exist: CPackComponents test fails.")
- endif(NOT expected_file)
+ endif()
list(LENGTH expected_file actual_count)
message(STATUS "actual_count='${actual_count}'")
if(NOT actual_count EQUAL expected_count)
message(FATAL_ERROR "error: expected_count does not match actual_count: CPackComponents test fails.")
- endif(NOT actual_count EQUAL expected_count)
-endif(expected_file_mask)
+ endif()
+endif()
diff --git a/Tests/CPackComponentsForAll/CMakeLists.txt b/Tests/CPackComponentsForAll/CMakeLists.txt
index 5449d09dc..8162f0c2a 100644
--- a/Tests/CPackComponentsForAll/CMakeLists.txt
+++ b/Tests/CPackComponentsForAll/CMakeLists.txt
@@ -118,6 +118,6 @@ if (NOT ("${CPackComponentWay}" STREQUAL "default"))
${CPackComponentsForAll_BINARY_DIR}/MyLibCPackConfig-${CPackComponentWay}.cmake
@ONLY)
set(CPACK_PROJECT_CONFIG_FILE ${CPackComponentsForAll_BINARY_DIR}/MyLibCPackConfig-${CPackComponentWay}.cmake)
-endif (NOT ("${CPackComponentWay}" STREQUAL "default"))
+endif ()
# Include CPack to introduce the appropriate targets
include(CPack) \ No newline at end of file
diff --git a/Tests/CPackComponentsForAll/MyLibCPackConfig-AllInOne.cmake.in b/Tests/CPackComponentsForAll/MyLibCPackConfig-AllInOne.cmake.in
index 1d203c8d8..0bfbf1467 100644
--- a/Tests/CPackComponentsForAll/MyLibCPackConfig-AllInOne.cmake.in
+++ b/Tests/CPackComponentsForAll/MyLibCPackConfig-AllInOne.cmake.in
@@ -3,15 +3,15 @@
#
if(CPACK_GENERATOR MATCHES "ZIP")
set(CPACK_ARCHIVE_COMPONENT_INSTALL "ON")
-endif(CPACK_GENERATOR MATCHES "ZIP")
+endif()
if(CPACK_GENERATOR MATCHES "RPM")
set(CPACK_RPM_COMPONENT_INSTALL "ON")
-endif(CPACK_GENERATOR MATCHES "RPM")
+endif()
if(CPACK_GENERATOR MATCHES "DEB")
set(CPACK_DEB_COMPONENT_INSTALL "ON")
-endif(CPACK_GENERATOR MATCHES "DEB")
+endif()
#
# Choose grouping way
diff --git a/Tests/CPackComponentsForAll/MyLibCPackConfig-IgnoreGroup.cmake.in b/Tests/CPackComponentsForAll/MyLibCPackConfig-IgnoreGroup.cmake.in
index 9444a1473..450c2047e 100644
--- a/Tests/CPackComponentsForAll/MyLibCPackConfig-IgnoreGroup.cmake.in
+++ b/Tests/CPackComponentsForAll/MyLibCPackConfig-IgnoreGroup.cmake.in
@@ -3,16 +3,16 @@
#
if(CPACK_GENERATOR MATCHES "ZIP")
set(CPACK_ARCHIVE_COMPONENT_INSTALL "ON")
-endif(CPACK_GENERATOR MATCHES "ZIP")
+endif()
if(CPACK_GENERATOR MATCHES "RPM")
set(CPACK_RPM_COMPONENT_INSTALL "ON")
set(CPACK_RPM_applications_PACKAGE_REQUIRES "mylib-libraries")
-endif(CPACK_GENERATOR MATCHES "RPM")
+endif()
if(CPACK_GENERATOR MATCHES "DEB")
set(CPACK_DEB_COMPONENT_INSTALL "ON")
-endif(CPACK_GENERATOR MATCHES "DEB")
+endif()
#
# Choose grouping way
diff --git a/Tests/CPackComponentsForAll/MyLibCPackConfig-OnePackPerGroup.cmake.in b/Tests/CPackComponentsForAll/MyLibCPackConfig-OnePackPerGroup.cmake.in
index 2d251b363..60bdd06be 100644
--- a/Tests/CPackComponentsForAll/MyLibCPackConfig-OnePackPerGroup.cmake.in
+++ b/Tests/CPackComponentsForAll/MyLibCPackConfig-OnePackPerGroup.cmake.in
@@ -3,20 +3,20 @@
#
if(CPACK_GENERATOR MATCHES "ZIP")
set(CPACK_ARCHIVE_COMPONENT_INSTALL "ON")
-endif(CPACK_GENERATOR MATCHES "ZIP")
+endif()
if(CPACK_GENERATOR MATCHES "RPM")
set(CPACK_RPM_COMPONENT_INSTALL "ON")
set(CPACK_RPM_Development_PACKAGE_REQUIRES "mylib-Runtime")
-endif(CPACK_GENERATOR MATCHES "RPM")
+endif()
if(CPACK_GENERATOR MATCHES "DEB")
set(CPACK_DEB_COMPONENT_INSTALL "ON")
-endif(CPACK_GENERATOR MATCHES "DEB")
+endif()
if(CPACK_GENERATOR MATCHES "DragNDrop")
set(CPACK_COMPONENTS_GROUPING "ONE_PER_GROUP")
-endif(CPACK_GENERATOR MATCHES "DragNDrop")
+endif()
#
# Choose grouping way
diff --git a/Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake b/Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake
index e2d343d9f..9a022c580 100644
--- a/Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake
+++ b/Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake
@@ -4,21 +4,21 @@ message(STATUS "")
if(NOT CPackComponentsForAll_BINARY_DIR)
message(FATAL_ERROR "CPackComponentsForAll_BINARY_DIR not set")
-endif(NOT CPackComponentsForAll_BINARY_DIR)
+endif()
if(NOT CPackGen)
message(FATAL_ERROR "CPackGen not set")
-endif(NOT CPackGen)
+endif()
get_filename_component(CPACK_LOCATION ${CMAKE_COMMAND} PATH)
set(CPackCommand "${CPACK_LOCATION}/cpack")
message("cpack = ${CPackCommand}")
if(NOT CPackCommand)
message(FATAL_ERROR "CPackCommand not set")
-endif(NOT CPackCommand)
+endif()
if(NOT CPackComponentWay)
message(FATAL_ERROR "CPackComponentWay not set")
-endif(NOT CPackComponentWay)
+endif()
set(expected_file_mask "")
# The usual default behavior is to expect a single file
@@ -30,7 +30,7 @@ set(config_type $ENV{CMAKE_CONFIG_TYPE})
set(config_args )
if(config_type)
set(config_args -C ${config_type})
-endif(config_type)
+endif()
set(config_verbose )
if(CPackGen MATCHES "ZIP")
@@ -80,15 +80,15 @@ if(CPackGen MATCHES "DragNDrop")
elseif (${CPackComponentWay} STREQUAL "AllInOne")
set(expected_count 1)
endif ()
-endif(CPackGen MATCHES "DragNDrop")
+endif()
# clean-up previously CPack generated files
if(expected_file_mask)
file(GLOB expected_file "${expected_file_mask}")
if (expected_file)
file(REMOVE ${expected_file})
- endif(expected_file)
-endif(expected_file_mask)
+ endif()
+endif()
message("config_args = ${config_args}")
message("config_verbose = ${config_verbose}")
@@ -100,9 +100,9 @@ execute_process(COMMAND ${CPackCommand} ${config_verbose} -G ${CPackGen} ${confi
if (CPack_result)
message(FATAL_ERROR "error: CPack execution went wrong!, CPack_output=${CPack_output}, CPack_error=${CPack_error}")
-else (CPack_result)
+else ()
message(STATUS "CPack_output=${CPack_output}")
-endif(CPack_result)
+endif()
# Now verify if the number of expected file is OK
# - using expected_file_mask and
@@ -116,11 +116,11 @@ if(expected_file_mask)
if(NOT expected_file)
message(FATAL_ERROR "error: expected_file=${expected_file} does not exist: CPackComponentsForAll test fails. (CPack_output=${CPack_output}, CPack_error=${CPack_error}")
- endif(NOT expected_file)
+ endif()
list(LENGTH expected_file actual_count)
message(STATUS "actual_count='${actual_count}'")
if(NOT actual_count EQUAL expected_count)
message(FATAL_ERROR "error: expected_count=${expected_count} does not match actual_count=${actual_count}: CPackComponents test fails. (CPack_output=${CPack_output}, CPack_error=${CPack_error})")
- endif(NOT actual_count EQUAL expected_count)
-endif(expected_file_mask)
+ endif()
+endif()
diff --git a/Tests/CTestScriptMode/CTestTestScriptMode.cmake.in b/Tests/CTestScriptMode/CTestTestScriptMode.cmake.in
index 0c4394faa..45f0e3710 100644
--- a/Tests/CTestScriptMode/CTestTestScriptMode.cmake.in
+++ b/Tests/CTestScriptMode/CTestTestScriptMode.cmake.in
@@ -5,9 +5,9 @@ set(CMAKE_CMAKE_SYSTEM_NAME "@CMAKE_SYSTEM_NAME@")
if (NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "${CMAKE_CMAKE_SYSTEM_NAME}")
message(FATAL_ERROR "Error: CMAKE_SYSTEM_NAME is \"${CMAKE_SYSTEM_NAME}\", but should be \"@CMAKE_SYSTEM_NAME@\"")
-endif(NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "${CMAKE_CMAKE_SYSTEM_NAME}")
+endif()
-# this seems to be necessary, otherwise ctest complains that these
+# this seems to be necessary, otherwise ctest complains that these
# variables are not set:
set(CTEST_COMMAND "\"@CMAKE_CTEST_COMMAND@\"")
set(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestScriptMode/")
diff --git a/Tests/CTestTest/test.cmake.in b/Tests/CTestTest/test.cmake.in
index eac5eab20..d21dafa43 100644
--- a/Tests/CTestTest/test.cmake.in
+++ b/Tests/CTestTest/test.cmake.in
@@ -4,25 +4,25 @@
###################################################################
# this is the cvs module name that should be checked out
-SET (CTEST_MODULE_NAME SmallAndFast)
+set (CTEST_MODULE_NAME SmallAndFast)
-# these are the the name of the source and binary directory on disk.
+# these are the the name of the source and binary directory on disk.
# They will be appended to DASHBOARD_ROOT
-SET (CTEST_SOURCE_NAME SmallAndFast)
-SET (CTEST_BINARY_NAME SmallAndFastBuild)
+set (CTEST_SOURCE_NAME SmallAndFast)
+set (CTEST_BINARY_NAME SmallAndFastBuild)
# which ctest command to use for running the dashboard
-SET (CTEST_COMMAND
+set (CTEST_COMMAND
"\"${CTEST_EXECUTABLE_NAME}\" --version"
"\"${CTEST_EXECUTABLE_NAME}\" -D Experimental -A \"${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}\""
)
# what cmake command to use for configuring this dashboard
-GET_FILENAME_COMPONENT(CTEST_EXECUTABLE_PATH "${CTEST_EXECUTABLE_NAME}" PATH)
-SET(CTEST_CMAKE_COMMAND "\"${CTEST_EXECUTABLE_PATH}/cmake\"")
+get_filename_component(CTEST_EXECUTABLE_PATH "${CTEST_EXECUTABLE_NAME}" PATH)
+set(CTEST_CMAKE_COMMAND "\"${CTEST_EXECUTABLE_PATH}/cmake\"")
-MESSAGE("CTest executable: ${CTEST_EXECUTABLE_NAME}")
-MESSAGE("CMake executable: ${CTEST_CMAKE_COMMAND}")
+message("CTest executable: ${CTEST_EXECUTABLE_NAME}")
+message("CMake executable: ${CTEST_CMAKE_COMMAND}")
CTEST_SLEEP(1)
CTEST_SLEEP(1 1 1)
@@ -33,11 +33,11 @@ CTEST_SLEEP(1 1 1)
####################################################################
# should ctest wipe the binary tree before running
-SET (CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE)
+set (CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE)
# this is the initial cache to use for the binary tree, be careful to escape
# any quotes inside of this string if you use it
-SET (CTEST_INITIAL_CACHE "
+set (CTEST_INITIAL_CACHE "
SITE:STRING=@SITE@
BUILDNAME:STRING=SmallAndFast-@BUILDNAME@
CMAKE_GENERATOR:INTERNAL=@CMAKE_GENERATOR@
@@ -54,15 +54,15 @@ MEMORYCHECK_COMMAND_OPTIONS:STRING=@MEMORYCHECK_COMMAND_OPTIONS@
COVERAGE_COMMAND:FILEPATH=@COVERAGE_COMMAND@
")
-# if you do not want to use the default location for a
+# if you do not want to use the default location for a
# dashboard then set this variable to the directory
# the dashboard should be in
-SET (CTEST_DASHBOARD_ROOT "@CMAKE_CURRENT_BINARY_DIR@/Tests/CTestTest")
+set (CTEST_DASHBOARD_ROOT "@CMAKE_CURRENT_BINARY_DIR@/Tests/CTestTest")
# set any extra envionment varibles here
-SET (CTEST_ENVIRONMENT
+set (CTEST_ENVIRONMENT
)
-SET (CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTest/SmallAndFast")
-SET (CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTest/${CTEST_BINARY_NAME}")
+set (CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTest/SmallAndFast")
+set (CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTest/${CTEST_BINARY_NAME}")
diff --git a/Tests/CTestTest2/test.cmake.in b/Tests/CTestTest2/test.cmake.in
index b58b6397e..ec756ddc4 100644
--- a/Tests/CTestTest2/test.cmake.in
+++ b/Tests/CTestTest2/test.cmake.in
@@ -1,31 +1,31 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.1)
+cmake_minimum_required(VERSION 2.1)
# Settings:
-SET(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
-SET(CTEST_SITE "@SITE@")
-SET(CTEST_BUILD_NAME "KWSys-@BUILDNAME@-CTest2")
-
-SET(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Source/kwsys")
-SET(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTest2/kwsysBin")
-SET(CTEST_CVS_COMMAND "@CVSCOMMAND@")
-SET(CTEST_CMAKE_GENERATOR "@CMAKE_GENERATOR@")
-SET(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
-SET(CTEST_MEMORYCHECK_COMMAND "@MEMORYCHECK_COMMAND@")
-SET(CTEST_MEMORYCHECK_SUPPRESSIONS_FILE "@MEMORYCHECK_SUPPRESSIONS_FILE@")
-SET(CTEST_MEMORYCHECK_COMMAND_OPTIONS "@MEMORYCHECK_COMMAND_OPTIONS@")
-SET(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
-SET(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+set(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "KWSys-@BUILDNAME@-CTest2")
+
+set(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Source/kwsys")
+set(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTest2/kwsysBin")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_MEMORYCHECK_COMMAND "@MEMORYCHECK_COMMAND@")
+set(CTEST_MEMORYCHECK_SUPPRESSIONS_FILE "@MEMORYCHECK_SUPPRESSIONS_FILE@")
+set(CTEST_MEMORYCHECK_COMMAND_OPTIONS "@MEMORYCHECK_COMMAND_OPTIONS@")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
# By default, CTESTTEST2_USE_PURIFY is not defined. If you want to run purify
# on CTestTest2, set CTESTTEST2_USE_PURIFY to ON in CMake's cache.
-SET(CTESTTEST2_USE_PURIFY @CTESTTEST2_USE_PURIFY@)
-IF("${CTEST_MEMORYCHECK_COMMAND}" MATCHES purify AND NOT CTESTTEST2_USE_PURIFY)
- SET(CTEST_MEMORYCHECK_COMMAND)
-ENDIF()
+set(CTESTTEST2_USE_PURIFY @CTESTTEST2_USE_PURIFY@)
+if("${CTEST_MEMORYCHECK_COMMAND}" MATCHES purify AND NOT CTESTTEST2_USE_PURIFY)
+ set(CTEST_MEMORYCHECK_COMMAND)
+endif()
#CTEST_EMPTY_BINARY_DIRECTORY(${CTEST_BINARY_DIRECTORY})
-FILE(WRITE "${CTEST_BINARY_DIRECTORY}/CMakeCache.txt" "
+file(WRITE "${CTEST_BINARY_DIRECTORY}/CMakeCache.txt" "
CMAKE_CXX_FLAGS:STRING=@CMAKE_CXX_FLAGS@
CMAKE_C_FLAGS:STRING=@CMAKE_C_FLAGS@
CMAKE_C_COMPILER:STRING=@CMAKE_C_COMPILER@
@@ -55,6 +55,6 @@ set(CTEST_DROP_LOCATION "@path@/submit.php?project=PublicDashboard")
CTEST_SUBMIT(RETURN_VALUE res)
# Test submission of a subset of parts.
-SET(CTEST_EXTRA_SUBMIT_FILES ${CTEST_NOTES_FILES})
+set(CTEST_EXTRA_SUBMIT_FILES ${CTEST_NOTES_FILES})
CTEST_SUBMIT(RETURN_VALUE res PARTS ExtraFiles)
-SET(CTEST_EXTRA_SUBMIT_FILES)
+set(CTEST_EXTRA_SUBMIT_FILES)
diff --git a/Tests/CTestTestBadExe/CMakeLists.txt b/Tests/CTestTestBadExe/CMakeLists.txt
index 8a925b62f..c71c21516 100644
--- a/Tests/CTestTestBadExe/CMakeLists.txt
+++ b/Tests/CTestTestBadExe/CMakeLists.txt
@@ -1,7 +1,7 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(CTestTestBadExe)
-INCLUDE(CTest)
+project(CTestTestBadExe)
+include(CTest)
-CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/notAnExe.txt" "${CMAKE_CURRENT_BINARY_DIR}/notAnExe.txt" COPYONLY)
+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/notAnExe.txt" "${CMAKE_CURRENT_BINARY_DIR}/notAnExe.txt" COPYONLY)
-ADD_TEST (TestBadExe "${CMAKE_CURRENT_BINARY_DIR}/notAnExe.txt")
+add_test (TestBadExe "${CMAKE_CURRENT_BINARY_DIR}/notAnExe.txt")
diff --git a/Tests/CTestTestBadExe/test.cmake.in b/Tests/CTestTestBadExe/test.cmake.in
index 5d22d3587..2421b136d 100644
--- a/Tests/CTestTestBadExe/test.cmake.in
+++ b/Tests/CTestTestBadExe/test.cmake.in
@@ -1,17 +1,17 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.1)
+cmake_minimum_required(VERSION 2.1)
# Settings:
-SET(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
-SET(CTEST_SITE "@SITE@")
-SET(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-BadExe")
+set(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-BadExe")
-SET(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestBadExe")
-SET(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestBadExe")
-SET(CTEST_CVS_COMMAND "@CVSCOMMAND@")
-SET(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
-SET(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
-SET(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
-SET(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+set(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestBadExe")
+set(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestBadExe")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
#CTEST_EMPTY_BINARY_DIRECTORY(${CTEST_BINARY_DIRECTORY})
diff --git a/Tests/CTestTestChecksum/test.cmake.in b/Tests/CTestTestChecksum/test.cmake.in
index 84135446f..6317500d6 100644
--- a/Tests/CTestTestChecksum/test.cmake.in
+++ b/Tests/CTestTestChecksum/test.cmake.in
@@ -1,25 +1,25 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.1)
+cmake_minimum_required(VERSION 2.1)
# Settings:
-SET(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
-SET(CTEST_SITE "@SITE@")
-SET(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-Checksum")
+set(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-Checksum")
-SET(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestParallel")
-SET(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestParallel")
-SET(CTEST_CVS_COMMAND "@CVSCOMMAND@")
-SET(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
-SET(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
-SET(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
-SET(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+set(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestParallel")
+set(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestParallel")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
CTEST_START(Experimental)
CTEST_CONFIGURE(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
CTEST_BUILD(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
CTEST_TEST(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res PARALLEL_LEVEL 4)
-SET(CTEST_DROP_METHOD "@protocol@")
-SET(CTEST_DROP_SITE "@server@")
-SET(CTEST_DROP_LOCATION "@path@/submit.php?project=PublicDashboard")
+set(CTEST_DROP_METHOD "@protocol@")
+set(CTEST_DROP_SITE "@server@")
+set(CTEST_DROP_LOCATION "@path@/submit.php?project=PublicDashboard")
CTEST_SUBMIT(RETRY_DELAY 3 RETRY_COUNT 2 INTERNAL_TEST_CHECKSUM RETURN_VALUE res)
diff --git a/Tests/CTestTestConfigFileInBuildDir/test1.cmake.in b/Tests/CTestTestConfigFileInBuildDir/test1.cmake.in
index 498cab280..feaa5c385 100644
--- a/Tests/CTestTestConfigFileInBuildDir/test1.cmake.in
+++ b/Tests/CTestTestConfigFileInBuildDir/test1.cmake.in
@@ -1,17 +1,17 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
+cmake_minimum_required(VERSION 2.8)
# Settings:
-SET(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
-SET(CTEST_SITE "@SITE@")
-SET(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-ConfigFileInBuildDir1")
+set(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-ConfigFileInBuildDir1")
-SET(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestConfigFileInBuildDir")
-SET(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestConfigFileInBuildDir1")
-SET(CTEST_CVS_COMMAND "@CVSCOMMAND@")
-SET(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
-SET(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
-SET(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
-SET(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+set(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestConfigFileInBuildDir")
+set(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestConfigFileInBuildDir1")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
CTEST_START(Experimental)
CTEST_CONFIGURE(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
diff --git a/Tests/CTestTestConfigFileInBuildDir/test2.cmake.in b/Tests/CTestTestConfigFileInBuildDir/test2.cmake.in
index d359f2d36..f489114cd 100644
--- a/Tests/CTestTestConfigFileInBuildDir/test2.cmake.in
+++ b/Tests/CTestTestConfigFileInBuildDir/test2.cmake.in
@@ -1,17 +1,17 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
+cmake_minimum_required(VERSION 2.8)
# Settings:
-SET(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
-SET(CTEST_SITE "@SITE@")
-SET(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-ConfigFileInBuildDir2")
+set(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-ConfigFileInBuildDir2")
-SET(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestConfigFileInBuildDir")
-SET(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestConfigFileInBuildDir2")
-SET(CTEST_CVS_COMMAND "@CVSCOMMAND@")
-SET(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
-SET(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
-SET(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
-SET(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+set(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestConfigFileInBuildDir")
+set(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestConfigFileInBuildDir2")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
CTEST_START(Experimental)
CTEST_CONFIGURE(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
diff --git a/Tests/CTestTestCostSerial/CMakeLists.txt b/Tests/CTestTestCostSerial/CMakeLists.txt
index a9a5c2594..d3344cfab 100644
--- a/Tests/CTestTestCostSerial/CMakeLists.txt
+++ b/Tests/CTestTestCostSerial/CMakeLists.txt
@@ -1,13 +1,13 @@
-CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
-PROJECT (CTestTestCostSerial)
-INCLUDE (CTest)
+cmake_minimum_required (VERSION 2.6)
+project (CTestTestCostSerial)
+include (CTest)
-ADD_EXECUTABLE (Sleep sleep.c)
+add_executable (Sleep sleep.c)
-FOREACH (index RANGE 1 3)
- ADD_TEST (TestSleep${index} Sleep)
-ENDFOREACH (index RANGE 1 3)
+foreach (index RANGE 1 3)
+ add_test (TestSleep${index} Sleep)
+endforeach ()
-SET_TESTS_PROPERTIES(TestSleep1 PROPERTIES COST -500)
-SET_TESTS_PROPERTIES(TestSleep2 PROPERTIES COST 12)
-SET_TESTS_PROPERTIES(TestSleep3 PROPERTIES COST 0)
+set_tests_properties(TestSleep1 PROPERTIES COST -500)
+set_tests_properties(TestSleep2 PROPERTIES COST 12)
+set_tests_properties(TestSleep3 PROPERTIES COST 0)
diff --git a/Tests/CTestTestCostSerial/test.cmake.in b/Tests/CTestTestCostSerial/test.cmake.in
index ca216e3fc..8661767d6 100644
--- a/Tests/CTestTestCostSerial/test.cmake.in
+++ b/Tests/CTestTestCostSerial/test.cmake.in
@@ -1,24 +1,24 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.1)
+cmake_minimum_required(VERSION 2.1)
# Settings:
-SET(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
-SET(CTEST_SITE "@SITE@")
-SET(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-CostSerial")
+set(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-CostSerial")
-SET(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestCostSerial")
-SET(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestCostSerial")
-SET(CTEST_CVS_COMMAND "@CVSCOMMAND@")
-SET(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
-SET(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
-SET(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
-SET(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+set(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestCostSerial")
+set(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestCostSerial")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
#CTEST_EMPTY_BINARY_DIRECTORY(${CTEST_BINARY_DIRECTORY})
# Remove old cost data file if it exists
-IF(EXISTS "${CTEST_BINARY_DIRECTORY}/Testing/Temporary/CTestCostData.txt")
- FILE(REMOVE "${CTEST_BINARY_DIRECTORY}/Testing/Temporary/CTestCostData.txt")
-ENDIF(EXISTS "${CTEST_BINARY_DIRECTORY}/Testing/Temporary/CTestCostData.txt")
+if(EXISTS "${CTEST_BINARY_DIRECTORY}/Testing/Temporary/CTestCostData.txt")
+ file(REMOVE "${CTEST_BINARY_DIRECTORY}/Testing/Temporary/CTestCostData.txt")
+endif()
CTEST_START(Experimental)
CTEST_CONFIGURE(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
diff --git a/Tests/CTestTestCrash/CMakeLists.txt b/Tests/CTestTestCrash/CMakeLists.txt
index 0ac6ba03c..77986df34 100644
--- a/Tests/CTestTestCrash/CMakeLists.txt
+++ b/Tests/CTestTestCrash/CMakeLists.txt
@@ -1,7 +1,7 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(CTestTestCrash)
-INCLUDE(CTest)
+project(CTestTestCrash)
+include(CTest)
-ADD_EXECUTABLE (Crash crash.cxx)
+add_executable (Crash crash.cxx)
-ADD_TEST (TestCrash Crash)
+add_test (TestCrash Crash)
diff --git a/Tests/CTestTestCrash/test.cmake.in b/Tests/CTestTestCrash/test.cmake.in
index 5cec594cd..4e27bc2bc 100644
--- a/Tests/CTestTestCrash/test.cmake.in
+++ b/Tests/CTestTestCrash/test.cmake.in
@@ -1,17 +1,17 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.1)
+cmake_minimum_required(VERSION 2.1)
# Settings:
-SET(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
-SET(CTEST_SITE "@SITE@")
-SET(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-Crash")
+set(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-Crash")
-SET(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestCrash")
-SET(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestCrash")
-SET(CTEST_CVS_COMMAND "@CVSCOMMAND@")
-SET(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
-SET(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
-SET(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
-SET(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+set(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestCrash")
+set(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestCrash")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
#CTEST_EMPTY_BINARY_DIRECTORY(${CTEST_BINARY_DIRECTORY})
diff --git a/Tests/CTestTestCycle/test.cmake.in b/Tests/CTestTestCycle/test.cmake.in
index 201f6044e..22f33770e 100644
--- a/Tests/CTestTestCycle/test.cmake.in
+++ b/Tests/CTestTestCycle/test.cmake.in
@@ -1,17 +1,17 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.1)
+cmake_minimum_required(VERSION 2.1)
# Settings:
-SET(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
-SET(CTEST_SITE "@SITE@")
-SET(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-Cycle")
+set(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-Cycle")
-SET(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestCycle")
-SET(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestCycle")
-SET(CTEST_CVS_COMMAND "@CVSCOMMAND@")
-SET(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
-SET(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
-SET(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
-SET(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+set(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestCycle")
+set(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestCycle")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
CTEST_START(Experimental)
CTEST_CONFIGURE(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
diff --git a/Tests/CTestTestDepends/test.cmake.in b/Tests/CTestTestDepends/test.cmake.in
index 36a1ebf87..49fc443dd 100644
--- a/Tests/CTestTestDepends/test.cmake.in
+++ b/Tests/CTestTestDepends/test.cmake.in
@@ -1,17 +1,17 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.1)
+cmake_minimum_required(VERSION 2.1)
# Settings:
-SET(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
-SET(CTEST_SITE "@SITE@")
-SET(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-Depends")
+set(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-Depends")
-SET(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestDepends")
-SET(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestDepends")
-SET(CTEST_CVS_COMMAND "@CVSCOMMAND@")
-SET(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
-SET(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
-SET(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
-SET(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+set(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestDepends")
+set(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestDepends")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
CTEST_START(Experimental)
CTEST_CONFIGURE(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
diff --git a/Tests/CTestTestFailedSubmits/test.cmake.in b/Tests/CTestTestFailedSubmits/test.cmake.in
index b0e16322d..394400630 100644
--- a/Tests/CTestTestFailedSubmits/test.cmake.in
+++ b/Tests/CTestTestFailedSubmits/test.cmake.in
@@ -1,4 +1,4 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
+cmake_minimum_required(VERSION 2.8)
# CTestConfig.cmake settings:
set(CTEST_PROJECT_NAME "SmallAndFast")
@@ -9,21 +9,21 @@ set(CTEST_PROJECT_NAME "SmallAndFast")
set(CTEST_DROP_METHOD "@drop_method@")
# Settings:
-SET(CTEST_USE_LAUNCHERS 1)
+set(CTEST_USE_LAUNCHERS 1)
# Emit these compiler warnings:
set(ENV{CXXFLAGS} "$ENV{CXXFLAGS} -Wall")
-SET(CTEST_SITE "@SITE@")
-SET(CTEST_BUILD_NAME "CTestTestLaunchers-@drop_method@")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTestLaunchers-@drop_method@")
-SET(CTEST_SOURCE_DIRECTORY "@source@")
-SET(CTEST_BINARY_DIRECTORY "@build@")
-SET(CTEST_CVS_COMMAND "@CVSCOMMAND@")
-SET(CTEST_CMAKE_GENERATOR "@CMAKE_GENERATOR@")
-SET(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
-SET(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
-SET(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+set(CTEST_SOURCE_DIRECTORY "@source@")
+set(CTEST_BINARY_DIRECTORY "@build@")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
CTEST_EMPTY_BINARY_DIRECTORY(${CTEST_BINARY_DIRECTORY})
diff --git a/Tests/CTestTestFailure/CMakeLists.txt b/Tests/CTestTestFailure/CMakeLists.txt
index 690fbfc5c..01fbb2c4f 100644
--- a/Tests/CTestTestFailure/CMakeLists.txt
+++ b/Tests/CTestTestFailure/CMakeLists.txt
@@ -1,8 +1,8 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(CTestTestFailure)
-INCLUDE(CTest)
+project(CTestTestFailure)
+include(CTest)
-ADD_EXECUTABLE (NoBuild badCode.cxx)
-TARGET_LINK_LIBRARIES (NoBuild ${EXTRA_LIBS})
+add_executable (NoBuild badCode.cxx)
+target_link_libraries (NoBuild ${EXTRA_LIBS})
-ADD_TEST (TestNoExe NoBuild)
+add_test (TestNoExe NoBuild)
diff --git a/Tests/CTestTestFailure/testNoBuild.cmake.in b/Tests/CTestTestFailure/testNoBuild.cmake.in
index 7bc921a31..6edd9dd95 100644
--- a/Tests/CTestTestFailure/testNoBuild.cmake.in
+++ b/Tests/CTestTestFailure/testNoBuild.cmake.in
@@ -1,17 +1,17 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.1)
+cmake_minimum_required(VERSION 2.1)
# Settings:
-SET(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
-SET(CTEST_SITE "@SITE@")
-SET(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-NoBuild")
+set(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-NoBuild")
-SET(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestFailure")
-SET(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestFailure")
-SET(CTEST_CVS_COMMAND "@CVSCOMMAND@")
-SET(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
-SET(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
-SET(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
-SET(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+set(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestFailure")
+set(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestFailure")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
#CTEST_EMPTY_BINARY_DIRECTORY(${CTEST_BINARY_DIRECTORY})
diff --git a/Tests/CTestTestFailure/testNoExe.cmake.in b/Tests/CTestTestFailure/testNoExe.cmake.in
index 59c18d752..f09594c2b 100644
--- a/Tests/CTestTestFailure/testNoExe.cmake.in
+++ b/Tests/CTestTestFailure/testNoExe.cmake.in
@@ -1,17 +1,17 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.1)
+cmake_minimum_required(VERSION 2.1)
# Settings:
-SET(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
-SET(CTEST_SITE "@SITE@")
-SET(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-NoExe")
+set(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-NoExe")
-SET(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestFailure")
-SET(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestFailure")
-SET(CTEST_CVS_COMMAND "@CVSCOMMAND@")
-SET(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
-SET(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
-SET(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
-SET(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+set(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestFailure")
+set(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestFailure")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
#CTEST_EMPTY_BINARY_DIRECTORY(${CTEST_BINARY_DIRECTORY})
diff --git a/Tests/CTestTestMemcheck/CMakeLists.txt b/Tests/CTestTestMemcheck/CMakeLists.txt
new file mode 100644
index 000000000..2730a6140
--- /dev/null
+++ b/Tests/CTestTestMemcheck/CMakeLists.txt
@@ -0,0 +1,81 @@
+foreach (_retval 0 1)
+ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/ret${_retval}.c" "int main(){return ${_retval};}\n")
+endforeach ()
+
+# create binaries that we will use as a pseudo memory checker
+add_executable(pseudo_valgrind "${CMAKE_CURRENT_BINARY_DIR}/ret0.c")
+set_target_properties(pseudo_valgrind PROPERTIES OUTPUT_NAME valgrind)
+
+# Xcode 2.x forgets to create the output directory before linking
+# the individual architectures.
+if(CMAKE_OSX_ARCHITECTURES AND XCODE AND NOT "${XCODE_VERSION}" MATCHES "^[^12]")
+ add_custom_command(TARGET pseudo_valgrind
+ PRE_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CFG_INTDIR}"
+ )
+endif()
+
+add_executable(pseudo_purify "${CMAKE_CURRENT_BINARY_DIR}/ret0.c")
+set_target_properties(pseudo_purify PROPERTIES OUTPUT_NAME purify)
+add_executable(pseudo_BC "${CMAKE_CURRENT_BINARY_DIR}/ret0.c")
+set_target_properties(pseudo_BC PROPERTIES OUTPUT_NAME BC)
+
+# binary to be used as pre- and post-memcheck command that fails
+add_executable(memcheck_fail "${CMAKE_CURRENT_BINARY_DIR}/ret1.c")
+
+foreach (_test IN ITEMS Unknown UnknownQuoted NotExist
+ DummyValgrind DummyValgrindPrePost
+ DummyValgrindFailPre DummyValgrindFailPost
+ DummyPurify DummyBC
+ DummyValgrindIgnoreMemcheck)
+ configure_file(
+ "${CMAKE_CURRENT_SOURCE_DIR}/${_test}/test.cmake.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/${_test}/test.cmake"
+ @ONLY ESCAPE_QUOTES)
+ add_test(NAME CTestTestMemcheck${_test}
+ COMMAND ${CMAKE_CTEST_COMMAND}
+ -S "${CMAKE_CURRENT_BINARY_DIR}/${_test}/test.cmake" -V
+ --output-log "${CMAKE_CURRENT_BINARY_DIR}/${_test}/testOutput.log"
+ -D PSEUDO_BC=$<TARGET_FILE:pseudo_BC>
+ -D PSEUDO_PURIFY=$<TARGET_FILE:pseudo_purify>
+ -D PSEUDO_VALGRIND=$<TARGET_FILE:pseudo_valgrind>
+ -D ERROR_COMMAND=$<TARGET_FILE:memcheck_fail>
+ )
+endforeach ()
+
+string(REPLACE "\\" "\\\\" CMAKE_COMMAND_ESCAPED "${CMAKE_COMMAND}")
+string(REPLACE "(" "\\(" CMAKE_COMMAND_ESCAPED "${CMAKE_COMMAND_ESCAPED}")
+string(REPLACE ")" "\\)" CMAKE_COMMAND_ESCAPED "${CMAKE_COMMAND_ESCAPED}")
+string(REPLACE "+" "\\+" CMAKE_COMMAND_ESCAPED "${CMAKE_COMMAND_ESCAPED}")
+
+foreach (_unkn Unknown UnknownQuoted)
+ set_tests_properties(CTestTestMemcheck${_unkn} PROPERTIES
+ PASS_REGULAR_EXPRESSION "Do not understand memory checker: ${CMAKE_COMMAND_ESCAPED}\n(.*\n)?Error in read script: ${CMAKE_CURRENT_BINARY_DIR}/${_unkn}/test.cmake\n")
+endforeach ()
+
+set_tests_properties(CTestTestMemcheckNotExist PROPERTIES
+ PASS_REGULAR_EXPRESSION "Memory checker \\(MemoryCheckCommand\\) not set, or cannot find the specified program.")
+
+set(NORMAL_CTEST_OUTPUT "\n-- Processing memory checking output: \nMemory checking results:\n(BullseyeCoverage[^\n]*\n)?")
+
+# It is a valid result if valgrind does not output any files (can e.g. happen
+# if you have not compiled in debug mode), so these tests will not fail.
+set_tests_properties(CTestTestMemcheckDummyValgrind CTestTestMemcheckDummyValgrindPrePost
+ PROPERTIES
+ PASS_REGULAR_EXPRESSION "${NORMAL_CTEST_OUTPUT}")
+
+foreach (_pp Pre Post)
+ string(TOLOWER ${_pp} _pp_lower)
+ set_tests_properties(CTestTestMemcheckDummyValgrindFail${_pp}
+ PROPERTIES
+ PASS_REGULAR_EXPRESSION "\nProblem running command: ${CMAKE_CURRENT_BINARY_DIR}[^\n]*fail[^\n]*\n(.*\n)?Problem executing ${_pp_lower}-memcheck command\\(s\\\).\n(.*\n)?Error in read script: ${CMAKE_CURRENT_BINARY_DIR}/DummyValgrindFail${_pp}/test.cmake\n")
+endforeach ()
+
+set_tests_properties(CTestTestMemcheckDummyValgrindIgnoreMemcheck
+ PROPERTIES
+ PASS_REGULAR_EXPRESSION "\n2/2 Test #2: RunCMakeAgain .*\n1/1 MemCheck #1: RunCMake .*${NORMAL_CTEST_OUTPUT}")
+
+set_tests_properties(CTestTestMemcheckDummyPurify PROPERTIES
+ PASS_REGULAR_EXPRESSION "\nCannot find memory tester output file: ${CMAKE_CURRENT_BINARY_DIR}/DummyPurify/Testing/Temporary/MemoryChecker.log\n(.*\n)?Error in read script: ${CMAKE_CURRENT_BINARY_DIR}/DummyPurify/test.cmake\n")
+
+set_tests_properties(CTestTestMemcheckDummyBC PROPERTIES
+ PASS_REGULAR_EXPRESSION "\nCannot find memory tester output file: ${CMAKE_CURRENT_BINARY_DIR}/DummyBC/Testing/Temporary/MemoryChecker.log\n(.*\n)?Error parsing XML in stream at line 1: no element found\n(.*\n)?Error in read script: ${CMAKE_CURRENT_BINARY_DIR}/DummyBC/test.cmake\n")
diff --git a/Tests/CTestTestMemcheck/DummyBC/CMakeLists.txt b/Tests/CTestTestMemcheck/DummyBC/CMakeLists.txt
new file mode 100644
index 000000000..aa0e495da
--- /dev/null
+++ b/Tests/CTestTestMemcheck/DummyBC/CMakeLists.txt
@@ -0,0 +1,5 @@
+cmake_minimum_required(VERSION 2.8.9)
+project(CTestTestMemcheckDummyBC)
+include(CTest)
+
+add_test (RunCMake "${CMAKE_COMMAND}")
diff --git a/Tests/CTestTestMemcheck/DummyBC/CTestConfig.cmake b/Tests/CTestTestMemcheck/DummyBC/CTestConfig.cmake
new file mode 100644
index 000000000..39cdd88cc
--- /dev/null
+++ b/Tests/CTestTestMemcheck/DummyBC/CTestConfig.cmake
@@ -0,0 +1,7 @@
+set (CTEST_PROJECT_NAME "CTestTestMemcheckDummyBC")
+set (CTEST_NIGHTLY_START_TIME "21:00:00 EDT")
+set (CTEST_DART_SERVER_VERSION "2")
+set(CTEST_DROP_METHOD "http")
+set(CTEST_DROP_SITE "www.cdash.org")
+set(CTEST_DROP_LOCATION "/CDash/submit.php?project=PublicDashboard")
+set(CTEST_DROP_SITE_CDASH TRUE)
diff --git a/Tests/CTestTestMemcheck/DummyBC/test.cmake.in b/Tests/CTestTestMemcheck/DummyBC/test.cmake.in
new file mode 100644
index 000000000..500549878
--- /dev/null
+++ b/Tests/CTestTestMemcheck/DummyBC/test.cmake.in
@@ -0,0 +1,24 @@
+cmake_minimum_required(VERSION 2.8.9)
+
+# Settings:
+set(CTEST_DASHBOARD_ROOT "@CMAKE_CURRENT_BINARY_DIR@")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-MemcheckDummyBC")
+
+set(CTEST_SOURCE_DIRECTORY "@CMAKE_CURRENT_SOURCE_DIR@/DummyBC")
+set(CTEST_BINARY_DIRECTORY "@CMAKE_CURRENT_BINARY_DIR@/DummyBC")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+
+set(CTEST_MEMORYCHECK_COMMAND "${PSEUDO_BC}")
+
+#CTEST_EMPTY_BINARY_DIRECTORY(${CTEST_BINARY_DIRECTORY})
+
+CTEST_START(Experimental)
+CTEST_CONFIGURE(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
+#CTEST_BUILD(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
+CTEST_TEST(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
+CTEST_MEMCHECK(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
diff --git a/Tests/CTestTestMemcheck/DummyPurify/CMakeLists.txt b/Tests/CTestTestMemcheck/DummyPurify/CMakeLists.txt
new file mode 100644
index 000000000..dfd93fde4
--- /dev/null
+++ b/Tests/CTestTestMemcheck/DummyPurify/CMakeLists.txt
@@ -0,0 +1,5 @@
+cmake_minimum_required(VERSION 2.8.9)
+project(CTestTestMemcheckDummyPurify)
+include(CTest)
+
+add_test (RunCMake "${CMAKE_COMMAND}")
diff --git a/Tests/CTestTestMemcheck/DummyPurify/CTestConfig.cmake b/Tests/CTestTestMemcheck/DummyPurify/CTestConfig.cmake
new file mode 100644
index 000000000..40b960867
--- /dev/null
+++ b/Tests/CTestTestMemcheck/DummyPurify/CTestConfig.cmake
@@ -0,0 +1,7 @@
+set (CTEST_PROJECT_NAME "CTestTestMemcheckDummyPurify")
+set (CTEST_NIGHTLY_START_TIME "21:00:00 EDT")
+set (CTEST_DART_SERVER_VERSION "2")
+set(CTEST_DROP_METHOD "http")
+set(CTEST_DROP_SITE "www.cdash.org")
+set(CTEST_DROP_LOCATION "/CDash/submit.php?project=PublicDashboard")
+set(CTEST_DROP_SITE_CDASH TRUE)
diff --git a/Tests/CTestTestMemcheck/DummyPurify/test.cmake.in b/Tests/CTestTestMemcheck/DummyPurify/test.cmake.in
new file mode 100644
index 000000000..0df4f68b8
--- /dev/null
+++ b/Tests/CTestTestMemcheck/DummyPurify/test.cmake.in
@@ -0,0 +1,24 @@
+cmake_minimum_required(VERSION 2.8.9)
+
+# Settings:
+set(CTEST_DASHBOARD_ROOT "@CMAKE_CURRENT_BINARY_DIR@")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-MemcheckDummyPurify")
+
+set(CTEST_SOURCE_DIRECTORY "@CMAKE_CURRENT_SOURCE_DIR@/DummyPurify")
+set(CTEST_BINARY_DIRECTORY "@CMAKE_CURRENT_BINARY_DIR@/DummyPurify")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+
+set(CTEST_MEMORYCHECK_COMMAND "${PSEUDO_PURIFY}")
+
+#CTEST_EMPTY_BINARY_DIRECTORY(${CTEST_BINARY_DIRECTORY})
+
+CTEST_START(Experimental)
+CTEST_CONFIGURE(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
+#CTEST_BUILD(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
+CTEST_TEST(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
+CTEST_MEMCHECK(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
diff --git a/Tests/CTestTestMemcheck/DummyValgrind/CMakeLists.txt b/Tests/CTestTestMemcheck/DummyValgrind/CMakeLists.txt
new file mode 100644
index 000000000..822966ade
--- /dev/null
+++ b/Tests/CTestTestMemcheck/DummyValgrind/CMakeLists.txt
@@ -0,0 +1,5 @@
+cmake_minimum_required(VERSION 2.8.9)
+project(CTestTestMemcheckDummyValgrind)
+include(CTest)
+
+add_test (RunCMake "${CMAKE_COMMAND}")
diff --git a/Tests/CTestTestMemcheck/DummyValgrind/CTestConfig.cmake b/Tests/CTestTestMemcheck/DummyValgrind/CTestConfig.cmake
new file mode 100644
index 000000000..4ca59a42e
--- /dev/null
+++ b/Tests/CTestTestMemcheck/DummyValgrind/CTestConfig.cmake
@@ -0,0 +1,7 @@
+set (CTEST_PROJECT_NAME "CTestTestMemcheckDummyValgrind")
+set (CTEST_NIGHTLY_START_TIME "21:00:00 EDT")
+set (CTEST_DART_SERVER_VERSION "2")
+set(CTEST_DROP_METHOD "http")
+set(CTEST_DROP_SITE "www.cdash.org")
+set(CTEST_DROP_LOCATION "/CDash/submit.php?project=PublicDashboard")
+set(CTEST_DROP_SITE_CDASH TRUE)
diff --git a/Tests/CTestTestMemcheck/DummyValgrind/test.cmake.in b/Tests/CTestTestMemcheck/DummyValgrind/test.cmake.in
new file mode 100644
index 000000000..e341fed1e
--- /dev/null
+++ b/Tests/CTestTestMemcheck/DummyValgrind/test.cmake.in
@@ -0,0 +1,24 @@
+cmake_minimum_required(VERSION 2.8.9)
+
+# Settings:
+set(CTEST_DASHBOARD_ROOT "@CMAKE_CURRENT_BINARY_DIR@")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-MemcheckDummyValgrind")
+
+set(CTEST_SOURCE_DIRECTORY "@CMAKE_CURRENT_SOURCE_DIR@/DummyValgrind")
+set(CTEST_BINARY_DIRECTORY "@CMAKE_CURRENT_BINARY_DIR@/DummyValgrind")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+
+set(CTEST_MEMORYCHECK_COMMAND "${PSEUDO_VALGRIND}")
+
+#CTEST_EMPTY_BINARY_DIRECTORY(${CTEST_BINARY_DIRECTORY})
+
+CTEST_START(Experimental)
+CTEST_CONFIGURE(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
+#CTEST_BUILD(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
+CTEST_TEST(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
+CTEST_MEMCHECK(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
diff --git a/Tests/CTestTestMemcheck/DummyValgrindFailPost/CMakeLists.txt b/Tests/CTestTestMemcheck/DummyValgrindFailPost/CMakeLists.txt
new file mode 100644
index 000000000..8185071af
--- /dev/null
+++ b/Tests/CTestTestMemcheck/DummyValgrindFailPost/CMakeLists.txt
@@ -0,0 +1,5 @@
+cmake_minimum_required(VERSION 2.8.9)
+project(CTestTestMemcheckDummyValgrindFailPost)
+include(CTest)
+
+add_test (RunCMake "${CMAKE_COMMAND}")
diff --git a/Tests/CTestTestMemcheck/DummyValgrindFailPost/CTestConfig.cmake b/Tests/CTestTestMemcheck/DummyValgrindFailPost/CTestConfig.cmake
new file mode 100644
index 000000000..4ca59a42e
--- /dev/null
+++ b/Tests/CTestTestMemcheck/DummyValgrindFailPost/CTestConfig.cmake
@@ -0,0 +1,7 @@
+set (CTEST_PROJECT_NAME "CTestTestMemcheckDummyValgrind")
+set (CTEST_NIGHTLY_START_TIME "21:00:00 EDT")
+set (CTEST_DART_SERVER_VERSION "2")
+set(CTEST_DROP_METHOD "http")
+set(CTEST_DROP_SITE "www.cdash.org")
+set(CTEST_DROP_LOCATION "/CDash/submit.php?project=PublicDashboard")
+set(CTEST_DROP_SITE_CDASH TRUE)
diff --git a/Tests/CTestTestMemcheck/DummyValgrindFailPost/test.cmake.in b/Tests/CTestTestMemcheck/DummyValgrindFailPost/test.cmake.in
new file mode 100644
index 000000000..7c1aa66e6
--- /dev/null
+++ b/Tests/CTestTestMemcheck/DummyValgrindFailPost/test.cmake.in
@@ -0,0 +1,26 @@
+cmake_minimum_required(VERSION 2.8.9)
+
+# Settings:
+set(CTEST_DASHBOARD_ROOT "@CMAKE_CURRENT_BINARY_DIR@")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-MemcheckDummyValgrindFailPost")
+
+set(CTEST_SOURCE_DIRECTORY "@CMAKE_CURRENT_SOURCE_DIR@/DummyValgrindFailPost")
+set(CTEST_BINARY_DIRECTORY "@CMAKE_CURRENT_BINARY_DIR@/DummyValgrindFailPost")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+
+set(CTEST_MEMORYCHECK_COMMAND "${PSEUDO_VALGRIND}")
+
+set(CTEST_CUSTOM_POST_MEMCHECK "${ERROR_COMMAND}")
+
+#CTEST_EMPTY_BINARY_DIRECTORY(${CTEST_BINARY_DIRECTORY})
+
+CTEST_START(Experimental)
+CTEST_CONFIGURE(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
+#CTEST_BUILD(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
+CTEST_TEST(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
+CTEST_MEMCHECK(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
diff --git a/Tests/CTestTestMemcheck/DummyValgrindFailPre/CMakeLists.txt b/Tests/CTestTestMemcheck/DummyValgrindFailPre/CMakeLists.txt
new file mode 100644
index 000000000..3714cd6a3
--- /dev/null
+++ b/Tests/CTestTestMemcheck/DummyValgrindFailPre/CMakeLists.txt
@@ -0,0 +1,5 @@
+cmake_minimum_required(VERSION 2.8.9)
+project(CTestTestMemcheckDummyValgrindFailPre)
+include(CTest)
+
+add_test (RunCMake "${CMAKE_COMMAND}")
diff --git a/Tests/CTestTestMemcheck/DummyValgrindFailPre/CTestConfig.cmake b/Tests/CTestTestMemcheck/DummyValgrindFailPre/CTestConfig.cmake
new file mode 100644
index 000000000..4ca59a42e
--- /dev/null
+++ b/Tests/CTestTestMemcheck/DummyValgrindFailPre/CTestConfig.cmake
@@ -0,0 +1,7 @@
+set (CTEST_PROJECT_NAME "CTestTestMemcheckDummyValgrind")
+set (CTEST_NIGHTLY_START_TIME "21:00:00 EDT")
+set (CTEST_DART_SERVER_VERSION "2")
+set(CTEST_DROP_METHOD "http")
+set(CTEST_DROP_SITE "www.cdash.org")
+set(CTEST_DROP_LOCATION "/CDash/submit.php?project=PublicDashboard")
+set(CTEST_DROP_SITE_CDASH TRUE)
diff --git a/Tests/CTestTestMemcheck/DummyValgrindFailPre/test.cmake.in b/Tests/CTestTestMemcheck/DummyValgrindFailPre/test.cmake.in
new file mode 100644
index 000000000..b2d7bb170
--- /dev/null
+++ b/Tests/CTestTestMemcheck/DummyValgrindFailPre/test.cmake.in
@@ -0,0 +1,26 @@
+cmake_minimum_required(VERSION 2.8.9)
+
+# Settings:
+set(CTEST_DASHBOARD_ROOT "@CMAKE_CURRENT_BINARY_DIR@")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-MemcheckDummyValgrindFailPre")
+
+set(CTEST_SOURCE_DIRECTORY "@CMAKE_CURRENT_SOURCE_DIR@/DummyValgrindFailPre")
+set(CTEST_BINARY_DIRECTORY "@CMAKE_CURRENT_BINARY_DIR@/DummyValgrindFailPre")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+
+set(CTEST_MEMORYCHECK_COMMAND "${PSEUDO_VALGRIND}")
+
+set(CTEST_CUSTOM_PRE_MEMCHECK "${ERROR_COMMAND}")
+
+#CTEST_EMPTY_BINARY_DIRECTORY(${CTEST_BINARY_DIRECTORY})
+
+CTEST_START(Experimental)
+CTEST_CONFIGURE(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
+#CTEST_BUILD(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
+CTEST_TEST(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
+CTEST_MEMCHECK(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
diff --git a/Tests/CTestTestMemcheck/DummyValgrindIgnoreMemcheck/CMakeLists.txt b/Tests/CTestTestMemcheck/DummyValgrindIgnoreMemcheck/CMakeLists.txt
new file mode 100644
index 000000000..5d437d1b7
--- /dev/null
+++ b/Tests/CTestTestMemcheck/DummyValgrindIgnoreMemcheck/CMakeLists.txt
@@ -0,0 +1,6 @@
+cmake_minimum_required(VERSION 2.8.9)
+project(CTestTestMemcheckDummyValgrindIgnoreMemcheck)
+include(CTest)
+
+add_test (RunCMake "${CMAKE_COMMAND}")
+add_test (RunCMakeAgain "${CMAKE_COMMAND}")
diff --git a/Tests/CTestTestMemcheck/DummyValgrindIgnoreMemcheck/CTestConfig.cmake b/Tests/CTestTestMemcheck/DummyValgrindIgnoreMemcheck/CTestConfig.cmake
new file mode 100644
index 000000000..6eee3e602
--- /dev/null
+++ b/Tests/CTestTestMemcheck/DummyValgrindIgnoreMemcheck/CTestConfig.cmake
@@ -0,0 +1,9 @@
+set (CTEST_PROJECT_NAME "CTestTestMemcheckDummyValgrindIgnoreMemcheck")
+set (CTEST_NIGHTLY_START_TIME "21:00:00 EDT")
+set (CTEST_DART_SERVER_VERSION "2")
+set(CTEST_DROP_METHOD "http")
+set(CTEST_DROP_SITE "www.cdash.org")
+set(CTEST_DROP_LOCATION "/CDash/submit.php?project=PublicDashboard")
+set(CTEST_DROP_SITE_CDASH TRUE)
+
+set(CTEST_CUSTOM_MEMCHECK_IGNORE RunCMakeAgain)
diff --git a/Tests/CTestTestMemcheck/DummyValgrindIgnoreMemcheck/test.cmake.in b/Tests/CTestTestMemcheck/DummyValgrindIgnoreMemcheck/test.cmake.in
new file mode 100644
index 000000000..031a232c2
--- /dev/null
+++ b/Tests/CTestTestMemcheck/DummyValgrindIgnoreMemcheck/test.cmake.in
@@ -0,0 +1,24 @@
+cmake_minimum_required(VERSION 2.8.9)
+
+# Settings:
+set(CTEST_DASHBOARD_ROOT "@CMAKE_CURRENT_BINARY_DIR@")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-MemcheckDummyValgrindIgnoreMemcheck")
+
+set(CTEST_SOURCE_DIRECTORY "@CMAKE_CURRENT_SOURCE_DIR@/DummyValgrindIgnoreMemcheck")
+set(CTEST_BINARY_DIRECTORY "@CMAKE_CURRENT_BINARY_DIR@/DummyValgrindIgnoreMemcheck")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+
+set(CTEST_MEMORYCHECK_COMMAND "${PSEUDO_VALGRIND}")
+
+#CTEST_EMPTY_BINARY_DIRECTORY(${CTEST_BINARY_DIRECTORY})
+
+CTEST_START(Experimental)
+CTEST_CONFIGURE(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
+#CTEST_BUILD(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
+CTEST_TEST(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
+CTEST_MEMCHECK(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
diff --git a/Tests/CTestTestMemcheck/DummyValgrindPrePost/CMakeLists.txt b/Tests/CTestTestMemcheck/DummyValgrindPrePost/CMakeLists.txt
new file mode 100644
index 000000000..bc1563212
--- /dev/null
+++ b/Tests/CTestTestMemcheck/DummyValgrindPrePost/CMakeLists.txt
@@ -0,0 +1,5 @@
+cmake_minimum_required(VERSION 2.8.9)
+project(CTestTestMemcheckDummyValgrindPrePost)
+include(CTest)
+
+add_test (RunCMake "${CMAKE_COMMAND}")
diff --git a/Tests/CTestTestMemcheck/DummyValgrindPrePost/CTestConfig.cmake b/Tests/CTestTestMemcheck/DummyValgrindPrePost/CTestConfig.cmake
new file mode 100644
index 000000000..6e4c2e86c
--- /dev/null
+++ b/Tests/CTestTestMemcheck/DummyValgrindPrePost/CTestConfig.cmake
@@ -0,0 +1,7 @@
+set (CTEST_PROJECT_NAME "CTestTestMemcheckDummyValgrindPrePost")
+set (CTEST_NIGHTLY_START_TIME "21:00:00 EDT")
+set (CTEST_DART_SERVER_VERSION "2")
+set(CTEST_DROP_METHOD "http")
+set(CTEST_DROP_SITE "www.cdash.org")
+set(CTEST_DROP_LOCATION "/CDash/submit.php?project=PublicDashboard")
+set(CTEST_DROP_SITE_CDASH TRUE)
diff --git a/Tests/CTestTestMemcheck/DummyValgrindPrePost/test.cmake.in b/Tests/CTestTestMemcheck/DummyValgrindPrePost/test.cmake.in
new file mode 100644
index 000000000..44c416e6b
--- /dev/null
+++ b/Tests/CTestTestMemcheck/DummyValgrindPrePost/test.cmake.in
@@ -0,0 +1,27 @@
+cmake_minimum_required(VERSION 2.8.9)
+
+# Settings:
+set(CTEST_DASHBOARD_ROOT "@CMAKE_CURRENT_BINARY_DIR@")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-MemcheckDummyValgrindPrePost")
+
+set(CTEST_SOURCE_DIRECTORY "@CMAKE_CURRENT_SOURCE_DIR@/DummyValgrindPrePost")
+set(CTEST_BINARY_DIRECTORY "@CMAKE_CURRENT_BINARY_DIR@/DummyValgrindPrePost")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+
+set(CTEST_MEMORYCHECK_COMMAND "${PSEUDO_VALGRIND}")
+
+set(CTEST_CUSTOM_PRE_MEMCHECK "${CTEST_MEMORYCHECK_COMMAND}")
+set(CTEST_CUSTOM_POST_MEMCHECK "${CTEST_MEMORYCHECK_COMMAND}")
+
+#CTEST_EMPTY_BINARY_DIRECTORY(${CTEST_BINARY_DIRECTORY})
+
+CTEST_START(Experimental)
+CTEST_CONFIGURE(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
+#CTEST_BUILD(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
+CTEST_TEST(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
+CTEST_MEMCHECK(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
diff --git a/Tests/CTestTestMemcheck/NotExist/CMakeLists.txt b/Tests/CTestTestMemcheck/NotExist/CMakeLists.txt
new file mode 100644
index 000000000..4d905de9e
--- /dev/null
+++ b/Tests/CTestTestMemcheck/NotExist/CMakeLists.txt
@@ -0,0 +1,5 @@
+cmake_minimum_required(VERSION 2.8.9)
+project(CTestTestMemcheckNotExist)
+include(CTest)
+
+add_test (RunCMake "${CMAKE_COMMAND}")
diff --git a/Tests/CTestTestMemcheck/NotExist/CTestConfig.cmake b/Tests/CTestTestMemcheck/NotExist/CTestConfig.cmake
new file mode 100644
index 000000000..3ed84aab9
--- /dev/null
+++ b/Tests/CTestTestMemcheck/NotExist/CTestConfig.cmake
@@ -0,0 +1,7 @@
+set (CTEST_PROJECT_NAME "CTestTestMemcheckUnknown")
+set (CTEST_NIGHTLY_START_TIME "21:00:00 EDT")
+set (CTEST_DART_SERVER_VERSION "2")
+set(CTEST_DROP_METHOD "http")
+set(CTEST_DROP_SITE "www.cdash.org")
+set(CTEST_DROP_LOCATION "/CDash/submit.php?project=PublicDashboard")
+set(CTEST_DROP_SITE_CDASH TRUE)
diff --git a/Tests/CTestTestMemcheck/NotExist/test.cmake.in b/Tests/CTestTestMemcheck/NotExist/test.cmake.in
new file mode 100644
index 000000000..78db7e23d
--- /dev/null
+++ b/Tests/CTestTestMemcheck/NotExist/test.cmake.in
@@ -0,0 +1,18 @@
+cmake_minimum_required(VERSION 2.8.9)
+
+# Settings:
+set(CTEST_DASHBOARD_ROOT "@CMAKE_CURRENT_BINARY_DIR@")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-MemcheckNotExist")
+
+set(CTEST_SOURCE_DIRECTORY "@CMAKE_CURRENT_SOURCE_DIR@/NotExist")
+set(CTEST_BINARY_DIRECTORY "@CMAKE_CURRENT_BINARY_DIR@/NotExist")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+set(CTEST_MEMORYCHECK_COMMAND "${CTEST_BINARY_DIRECTORY}/no-memcheck-exe")
+
+CTEST_START(Experimental)
+CTEST_MEMCHECK(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
diff --git a/Tests/CTestTestMemcheck/Unknown/CMakeLists.txt b/Tests/CTestTestMemcheck/Unknown/CMakeLists.txt
new file mode 100644
index 000000000..3fd3103ba
--- /dev/null
+++ b/Tests/CTestTestMemcheck/Unknown/CMakeLists.txt
@@ -0,0 +1,5 @@
+cmake_minimum_required(VERSION 2.8.9)
+project(CTestTestMemcheckUnknown)
+include(CTest)
+
+add_test (RunCMake "${CMAKE_COMMAND}")
diff --git a/Tests/CTestTestMemcheck/Unknown/CTestConfig.cmake b/Tests/CTestTestMemcheck/Unknown/CTestConfig.cmake
new file mode 100644
index 000000000..3ed84aab9
--- /dev/null
+++ b/Tests/CTestTestMemcheck/Unknown/CTestConfig.cmake
@@ -0,0 +1,7 @@
+set (CTEST_PROJECT_NAME "CTestTestMemcheckUnknown")
+set (CTEST_NIGHTLY_START_TIME "21:00:00 EDT")
+set (CTEST_DART_SERVER_VERSION "2")
+set(CTEST_DROP_METHOD "http")
+set(CTEST_DROP_SITE "www.cdash.org")
+set(CTEST_DROP_LOCATION "/CDash/submit.php?project=PublicDashboard")
+set(CTEST_DROP_SITE_CDASH TRUE)
diff --git a/Tests/CTestTestMemcheck/Unknown/test.cmake.in b/Tests/CTestTestMemcheck/Unknown/test.cmake.in
new file mode 100644
index 000000000..c0b783948
--- /dev/null
+++ b/Tests/CTestTestMemcheck/Unknown/test.cmake.in
@@ -0,0 +1,18 @@
+cmake_minimum_required(VERSION 2.8.9)
+
+# Settings:
+set(CTEST_DASHBOARD_ROOT "@CMAKE_CURRENT_BINARY_DIR@")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-MemcheckUnknown")
+
+set(CTEST_SOURCE_DIRECTORY "@CMAKE_CURRENT_SOURCE_DIR@/Unknown")
+set(CTEST_BINARY_DIRECTORY "@CMAKE_CURRENT_BINARY_DIR@/Unknown")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+set(CTEST_MEMORYCHECK_COMMAND "@CMAKE_COMMAND@")
+
+CTEST_START(Experimental)
+CTEST_MEMCHECK(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
diff --git a/Tests/CTestTestMemcheck/UnknownQuoted/CMakeLists.txt b/Tests/CTestTestMemcheck/UnknownQuoted/CMakeLists.txt
new file mode 100644
index 000000000..6f49c6144
--- /dev/null
+++ b/Tests/CTestTestMemcheck/UnknownQuoted/CMakeLists.txt
@@ -0,0 +1,5 @@
+cmake_minimum_required(VERSION 2.8.9)
+project(CTestTestMemcheckUnknownQuoted)
+include(CTest)
+
+add_test (RunCMake "\"${CMAKE_COMMAND}\"")
diff --git a/Tests/CTestTestMemcheck/UnknownQuoted/CTestConfig.cmake b/Tests/CTestTestMemcheck/UnknownQuoted/CTestConfig.cmake
new file mode 100644
index 000000000..f0233a7a4
--- /dev/null
+++ b/Tests/CTestTestMemcheck/UnknownQuoted/CTestConfig.cmake
@@ -0,0 +1,7 @@
+set (CTEST_PROJECT_NAME "CTestTestMemcheckUnknownQuoted")
+set (CTEST_NIGHTLY_START_TIME "21:00:00 EDT")
+set (CTEST_DART_SERVER_VERSION "2")
+set(CTEST_DROP_METHOD "http")
+set(CTEST_DROP_SITE "www.cdash.org")
+set(CTEST_DROP_LOCATION "/CDash/submit.php?project=PublicDashboard")
+set(CTEST_DROP_SITE_CDASH TRUE)
diff --git a/Tests/CTestTestMemcheck/UnknownQuoted/test.cmake.in b/Tests/CTestTestMemcheck/UnknownQuoted/test.cmake.in
new file mode 100644
index 000000000..e2bfb601a
--- /dev/null
+++ b/Tests/CTestTestMemcheck/UnknownQuoted/test.cmake.in
@@ -0,0 +1,18 @@
+cmake_minimum_required(VERSION 2.8.9)
+
+# Settings:
+set(CTEST_DASHBOARD_ROOT "@CMAKE_CURRENT_BINARY_DIR@")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-MemcheckUnknownQuoted")
+
+set(CTEST_SOURCE_DIRECTORY "@CMAKE_CURRENT_SOURCE_DIR@/UnknownQuoted")
+set(CTEST_BINARY_DIRECTORY "@CMAKE_CURRENT_BINARY_DIR@/UnknownQuoted")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+set(CTEST_MEMORYCHECK_COMMAND "@CMAKE_COMMAND@")
+
+CTEST_START(Experimental)
+CTEST_MEMCHECK(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
diff --git a/Tests/CTestTestParallel/CMakeLists.txt b/Tests/CTestTestParallel/CMakeLists.txt
index fc53f6874..e47085a09 100644
--- a/Tests/CTestTestParallel/CMakeLists.txt
+++ b/Tests/CTestTestParallel/CMakeLists.txt
@@ -1,15 +1,15 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(CTestTestParallel)
-INCLUDE(CTest)
+project(CTestTestParallel)
+include(CTest)
-ADD_EXECUTABLE (LockFile lockFile.c)
+add_executable (LockFile lockFile.c)
-ADD_TEST (TestRunSerial1 LockFile)
-ADD_TEST (TestRunSerial2 LockFile)
-SET_TESTS_PROPERTIES(TestRunSerial1 TestRunSerial2 PROPERTIES RUN_SERIAL true)
+add_test (TestRunSerial1 LockFile)
+add_test (TestRunSerial2 LockFile)
+set_tests_properties(TestRunSerial1 TestRunSerial2 PROPERTIES RUN_SERIAL true)
-ADD_TEST (TestProcessorsGreaterThanMPL1 LockFile)
-ADD_TEST (TestProcessorsGreaterThanMPL2 LockFile)
-SET_TESTS_PROPERTIES(TestProcessorsGreaterThanMPL1 PROPERTIES PROCESSORS 10)
-SET_TESTS_PROPERTIES(TestProcessorsGreaterThanMPL1 PROPERTIES DEPENDS
+add_test (TestProcessorsGreaterThanMPL1 LockFile)
+add_test (TestProcessorsGreaterThanMPL2 LockFile)
+set_tests_properties(TestProcessorsGreaterThanMPL1 PROPERTIES PROCESSORS 10)
+set_tests_properties(TestProcessorsGreaterThanMPL1 PROPERTIES DEPENDS
TestProcessorsGreaterThanMPL2)
diff --git a/Tests/CTestTestParallel/test.cmake.in b/Tests/CTestTestParallel/test.cmake.in
index 83845dee4..0418755cf 100644
--- a/Tests/CTestTestParallel/test.cmake.in
+++ b/Tests/CTestTestParallel/test.cmake.in
@@ -1,17 +1,17 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.1)
+cmake_minimum_required(VERSION 2.1)
# Settings:
-SET(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
-SET(CTEST_SITE "@SITE@")
-SET(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-Parallel")
+set(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-Parallel")
-SET(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestParallel")
-SET(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestParallel")
-SET(CTEST_CVS_COMMAND "@CVSCOMMAND@")
-SET(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
-SET(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
-SET(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
-SET(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+set(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestParallel")
+set(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestParallel")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
#CTEST_EMPTY_BINARY_DIRECTORY(${CTEST_BINARY_DIRECTORY})
diff --git a/Tests/CTestTestResourceLock/CMakeLists.txt b/Tests/CTestTestResourceLock/CMakeLists.txt
index 1041ef149..4001643fd 100644
--- a/Tests/CTestTestResourceLock/CMakeLists.txt
+++ b/Tests/CTestTestResourceLock/CMakeLists.txt
@@ -1,13 +1,13 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(CTestTestResourceLock)
-INCLUDE(CTest)
+project(CTestTestResourceLock)
+include(CTest)
-ADD_EXECUTABLE (LockFile lockFile.c)
+add_executable (LockFile lockFile.c)
-ADD_TEST (TestLockedFile1.1 LockFile locked1.txt)
-ADD_TEST (TestLockedFile1.2 LockFile locked1.txt)
-SET_TESTS_PROPERTIES(TestLockedFile1.1 TestLockedFile1.2 PROPERTIES RESOURCE_LOCK "locked1.txt")
+add_test (TestLockedFile1.1 LockFile locked1.txt)
+add_test (TestLockedFile1.2 LockFile locked1.txt)
+set_tests_properties(TestLockedFile1.1 TestLockedFile1.2 PROPERTIES RESOURCE_LOCK "locked1.txt")
-ADD_TEST (TestLockedFile2.1 LockFile locked2.txt)
-ADD_TEST (TestLockedFile2.2 LockFile locked2.txt)
-SET_TESTS_PROPERTIES(TestLockedFile2.1 TestLockedFile2.2 PROPERTIES RESOURCE_LOCK "locked2.txt")
+add_test (TestLockedFile2.1 LockFile locked2.txt)
+add_test (TestLockedFile2.2 LockFile locked2.txt)
+set_tests_properties(TestLockedFile2.1 TestLockedFile2.2 PROPERTIES RESOURCE_LOCK "locked2.txt")
diff --git a/Tests/CTestTestResourceLock/test.cmake.in b/Tests/CTestTestResourceLock/test.cmake.in
index 98c5901c4..571cc5050 100644
--- a/Tests/CTestTestResourceLock/test.cmake.in
+++ b/Tests/CTestTestResourceLock/test.cmake.in
@@ -1,17 +1,17 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.1)
+cmake_minimum_required(VERSION 2.1)
# Settings:
-SET(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
-SET(CTEST_SITE "@SITE@")
-SET(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-ResourceLock")
+set(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-ResourceLock")
-SET(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestResourceLock")
-SET(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestResourceLock")
-SET(CTEST_CVS_COMMAND "@CVSCOMMAND@")
-SET(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
-SET(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
-SET(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
-SET(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+set(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestResourceLock")
+set(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestResourceLock")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
CTEST_START(Experimental)
CTEST_CONFIGURE(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
diff --git a/Tests/CTestTestRunScript/hello.cmake.in b/Tests/CTestTestRunScript/hello.cmake.in
index 140df1e02..37905e3c4 100644
--- a/Tests/CTestTestRunScript/hello.cmake.in
+++ b/Tests/CTestTestRunScript/hello.cmake.in
@@ -1,2 +1,2 @@
-SET(CTEST_RUN_CURRENT_SCRIPT 0)
-MESSAGE("hello world")
+set(CTEST_RUN_CURRENT_SCRIPT 0)
+message("hello world")
diff --git a/Tests/CTestTestRunScript/test.cmake.in b/Tests/CTestTestRunScript/test.cmake.in
index 8301a56d3..3074a5156 100644
--- a/Tests/CTestTestRunScript/test.cmake.in
+++ b/Tests/CTestTestRunScript/test.cmake.in
@@ -1,2 +1,2 @@
-SET(CTEST_RUN_CURRENT_SCRIPT 0)
+set(CTEST_RUN_CURRENT_SCRIPT 0)
CTEST_RUN_SCRIPT("CTestTestRunScript/hello.cmake" RETURN_VALUE res RETURN_VALUE)
diff --git a/Tests/CTestTestScheduler/CMakeLists.txt b/Tests/CTestTestScheduler/CMakeLists.txt
index 882988fd4..ccd7b2cbb 100644
--- a/Tests/CTestTestScheduler/CMakeLists.txt
+++ b/Tests/CTestTestScheduler/CMakeLists.txt
@@ -1,9 +1,9 @@
-CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
-PROJECT (CTestTestScheduler)
-INCLUDE (CTest)
+cmake_minimum_required (VERSION 2.6)
+project (CTestTestScheduler)
+include (CTest)
-ADD_EXECUTABLE (Sleep sleep.c)
+add_executable (Sleep sleep.c)
-FOREACH (time RANGE 1 4)
- ADD_TEST (TestSleep${time} Sleep ${time})
-ENDFOREACH (time RANGE 1 4)
+foreach (time RANGE 1 4)
+ add_test (TestSleep${time} Sleep ${time})
+endforeach ()
diff --git a/Tests/CTestTestScheduler/test.cmake.in b/Tests/CTestTestScheduler/test.cmake.in
index 505bd7c5b..9115a6193 100644
--- a/Tests/CTestTestScheduler/test.cmake.in
+++ b/Tests/CTestTestScheduler/test.cmake.in
@@ -1,24 +1,24 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.1)
+cmake_minimum_required(VERSION 2.1)
# Settings:
-SET(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
-SET(CTEST_SITE "@SITE@")
-SET(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-Scheduler")
+set(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-Scheduler")
-SET(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestScheduler")
-SET(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestScheduler")
-SET(CTEST_CVS_COMMAND "@CVSCOMMAND@")
-SET(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
-SET(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
-SET(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
-SET(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+set(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestScheduler")
+set(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestScheduler")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
#CTEST_EMPTY_BINARY_DIRECTORY(${CTEST_BINARY_DIRECTORY})
# Remove old cost data file if it exists
-IF(EXISTS "${CTEST_BINARY_DIRECTORY}/Testing/Temporary/CTestCostData.txt")
- FILE(REMOVE "${CTEST_BINARY_DIRECTORY}/Testing/Temporary/CTestCostData.txt")
-ENDIF(EXISTS "${CTEST_BINARY_DIRECTORY}/Testing/Temporary/CTestCostData.txt")
+if(EXISTS "${CTEST_BINARY_DIRECTORY}/Testing/Temporary/CTestCostData.txt")
+ file(REMOVE "${CTEST_BINARY_DIRECTORY}/Testing/Temporary/CTestCostData.txt")
+endif()
CTEST_START(Experimental)
CTEST_CONFIGURE(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
diff --git a/Tests/CTestTestStopTime/CMakeLists.txt b/Tests/CTestTestStopTime/CMakeLists.txt
index 5fe30d352..bd8bebdda 100644
--- a/Tests/CTestTestStopTime/CMakeLists.txt
+++ b/Tests/CTestTestStopTime/CMakeLists.txt
@@ -1,11 +1,11 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(CTestTestStopTime)
-INCLUDE(CTest)
+project(CTestTestStopTime)
+include(CTest)
-ADD_EXECUTABLE (Sleep sleep.c)
+add_executable (Sleep sleep.c)
-ADD_TEST (TestSleep Sleep 30)
-ADD_TEST (ShouldNotRun Sleep 30)
+add_test (TestSleep Sleep 30)
+add_test (ShouldNotRun Sleep 30)
-SET_TESTS_PROPERTIES(ShouldNotRun PROPERTIES DEPENDS TestSleep)
-SET_TESTS_PROPERTIES(ShouldNotRun PROPERTIES WILL_FAIL ON)
+set_tests_properties(ShouldNotRun PROPERTIES DEPENDS TestSleep)
+set_tests_properties(ShouldNotRun PROPERTIES WILL_FAIL ON)
diff --git a/Tests/CTestTestStopTime/GetDate.cmake b/Tests/CTestTestStopTime/GetDate.cmake
index b79330691..60f1e0c74 100644
--- a/Tests/CTestTestStopTime/GetDate.cmake
+++ b/Tests/CTestTestStopTime/GetDate.cmake
@@ -1,6 +1,6 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.2)
+cmake_minimum_required(VERSION 2.2)
-MACRO(GET_DATE)
+macro(GET_DATE)
#
# All macro arguments are optional.
# If there's an ARGV0, use it as GD_PREFIX. Default = 'GD_'
@@ -34,20 +34,20 @@ MACRO(GET_DATE)
# If there's an ARGV0, use it as GD_PREFIX:
#
- SET(GD_PREFIX "GD_")
- IF(NOT "${ARGV0}" STREQUAL "")
- SET(GD_PREFIX "${ARGV0}")
- ENDIF(NOT "${ARGV0}" STREQUAL "")
- IF(NOT "${GD_PREFIX}" STREQUAL "GD_")
- SET(${GD_PREFIX}PREFIX "${GD_PREFIX}")
- ENDIF(NOT "${GD_PREFIX}" STREQUAL "GD_")
+ set(GD_PREFIX "GD_")
+ if(NOT "${ARGV0}" STREQUAL "")
+ set(GD_PREFIX "${ARGV0}")
+ endif()
+ if(NOT "${GD_PREFIX}" STREQUAL "GD_")
+ set(${GD_PREFIX}PREFIX "${GD_PREFIX}")
+ endif()
# If there's an ARGV1, use it as ${GD_PREFIX}VERBOSE:
#
- SET(${GD_PREFIX}VERBOSE "0")
- IF(NOT "${ARGV1}" STREQUAL "")
- SET(${GD_PREFIX}VERBOSE "${ARGV1}")
- ENDIF(NOT "${ARGV1}" STREQUAL "")
+ set(${GD_PREFIX}VERBOSE "0")
+ if(NOT "${ARGV1}" STREQUAL "")
+ set(${GD_PREFIX}VERBOSE "${ARGV1}")
+ endif()
# Retrieve the current date and time in the format:
#
@@ -57,58 +57,58 @@ MACRO(GET_DATE)
# Use "echo %DATE% %TIME%" on Windows.
# Otherwise, try "date" as implemented on most Unix flavors.
#
- IF(WIN32)
+ if(WIN32)
#
# Use "cmd" shell with %DATE% and %TIME% support...
# May need adjustment in different locales or for custom date/time formats
# set in the Windows Control Panel.
#
- SET(${GD_PREFIX}CMD "cmd")
- SET(${GD_PREFIX}ARGS "/c echo %DATE% %TIME%")
- ELSE(WIN32)
+ set(${GD_PREFIX}CMD "cmd")
+ set(${GD_PREFIX}ARGS "/c echo %DATE% %TIME%")
+ else()
#
# Match the format returned by default in US English Windows:
#
- SET(${GD_PREFIX}CMD "date")
- SET(${GD_PREFIX}ARGS "\"+%a %m/%d/%Y %H:%M:%S.00\"")
- ENDIF(WIN32)
+ set(${GD_PREFIX}CMD "date")
+ set(${GD_PREFIX}ARGS "\"+%a %m/%d/%Y %H:%M:%S.00\"")
+ endif()
- EXEC_PROGRAM("${${GD_PREFIX}CMD}" "." ARGS "${${GD_PREFIX}ARGS}"
+ exec_program("${${GD_PREFIX}CMD}" "." ARGS "${${GD_PREFIX}ARGS}"
OUTPUT_VARIABLE ${GD_PREFIX}OV RETURN_VALUE ${GD_PREFIX}RV
)
- IF(${GD_PREFIX}VERBOSE)
- MESSAGE(STATUS "")
- MESSAGE(STATUS "<GET_DATE>")
- MESSAGE(STATUS "")
- MESSAGE(STATUS "GD_PREFIX='${GD_PREFIX}'")
- IF(NOT "${GD_PREFIX}" STREQUAL "GD_")
- MESSAGE(STATUS "${GD_PREFIX}PREFIX='${${GD_PREFIX}PREFIX}'")
- ENDIF(NOT "${GD_PREFIX}" STREQUAL "GD_")
- MESSAGE(STATUS "${GD_PREFIX}VERBOSE='${${GD_PREFIX}VERBOSE}'")
- MESSAGE(STATUS "")
- MESSAGE(STATUS "${GD_PREFIX}CMD='${${GD_PREFIX}CMD}'")
- MESSAGE(STATUS "${GD_PREFIX}ARGS='${${GD_PREFIX}ARGS}'")
- MESSAGE(STATUS "${GD_PREFIX}OV='${${GD_PREFIX}OV}'")
- MESSAGE(STATUS "${GD_PREFIX}RV='${${GD_PREFIX}RV}'")
- MESSAGE(STATUS "")
- ENDIF(${GD_PREFIX}VERBOSE)
-
- IF("${${GD_PREFIX}RV}" STREQUAL "0")
+ if(${GD_PREFIX}VERBOSE)
+ message(STATUS "")
+ message(STATUS "<GET_DATE>")
+ message(STATUS "")
+ message(STATUS "GD_PREFIX='${GD_PREFIX}'")
+ if(NOT "${GD_PREFIX}" STREQUAL "GD_")
+ message(STATUS "${GD_PREFIX}PREFIX='${${GD_PREFIX}PREFIX}'")
+ endif()
+ message(STATUS "${GD_PREFIX}VERBOSE='${${GD_PREFIX}VERBOSE}'")
+ message(STATUS "")
+ message(STATUS "${GD_PREFIX}CMD='${${GD_PREFIX}CMD}'")
+ message(STATUS "${GD_PREFIX}ARGS='${${GD_PREFIX}ARGS}'")
+ message(STATUS "${GD_PREFIX}OV='${${GD_PREFIX}OV}'")
+ message(STATUS "${GD_PREFIX}RV='${${GD_PREFIX}RV}'")
+ message(STATUS "")
+ endif()
+
+ if("${${GD_PREFIX}RV}" STREQUAL "0")
#
# Extract eight individual components by matching a regex with paren groupings.
# Use the replace functionality and \\1 thru \\8 to extract components.
#
- SET(${GD_PREFIX}REGEX "([^ ]+) +([^/]+)/([^/]+)/([^ ]+) +([^:]+):([^:]+):([^\\.]+)\\.(.*)")
+ set(${GD_PREFIX}REGEX "([^ ]+) +([^/]+)/([^/]+)/([^ ]+) +([^:]+):([^:]+):([^\\.]+)\\.(.*)")
- STRING(REGEX REPLACE "${${GD_PREFIX}REGEX}" "\\1" ${GD_PREFIX}DAY_OF_WEEK "${${GD_PREFIX}OV}")
- STRING(REGEX REPLACE "${${GD_PREFIX}REGEX}" "\\2" ${GD_PREFIX}MONTH "${${GD_PREFIX}OV}")
- STRING(REGEX REPLACE "${${GD_PREFIX}REGEX}" "\\3" ${GD_PREFIX}DAY "${${GD_PREFIX}OV}")
- STRING(REGEX REPLACE "${${GD_PREFIX}REGEX}" "\\4" ${GD_PREFIX}YEAR "${${GD_PREFIX}OV}")
- STRING(REGEX REPLACE "${${GD_PREFIX}REGEX}" "\\5" ${GD_PREFIX}HOUR "${${GD_PREFIX}OV}")
- STRING(REGEX REPLACE "${${GD_PREFIX}REGEX}" "\\6" ${GD_PREFIX}MINUTE "${${GD_PREFIX}OV}")
- STRING(REGEX REPLACE "${${GD_PREFIX}REGEX}" "\\7" ${GD_PREFIX}SECOND "${${GD_PREFIX}OV}")
- STRING(REGEX REPLACE "${${GD_PREFIX}REGEX}" "\\8" ${GD_PREFIX}FRACTIONAL_SECOND "${${GD_PREFIX}OV}")
+ string(REGEX REPLACE "${${GD_PREFIX}REGEX}" "\\1" ${GD_PREFIX}DAY_OF_WEEK "${${GD_PREFIX}OV}")
+ string(REGEX REPLACE "${${GD_PREFIX}REGEX}" "\\2" ${GD_PREFIX}MONTH "${${GD_PREFIX}OV}")
+ string(REGEX REPLACE "${${GD_PREFIX}REGEX}" "\\3" ${GD_PREFIX}DAY "${${GD_PREFIX}OV}")
+ string(REGEX REPLACE "${${GD_PREFIX}REGEX}" "\\4" ${GD_PREFIX}YEAR "${${GD_PREFIX}OV}")
+ string(REGEX REPLACE "${${GD_PREFIX}REGEX}" "\\5" ${GD_PREFIX}HOUR "${${GD_PREFIX}OV}")
+ string(REGEX REPLACE "${${GD_PREFIX}REGEX}" "\\6" ${GD_PREFIX}MINUTE "${${GD_PREFIX}OV}")
+ string(REGEX REPLACE "${${GD_PREFIX}REGEX}" "\\7" ${GD_PREFIX}SECOND "${${GD_PREFIX}OV}")
+ string(REGEX REPLACE "${${GD_PREFIX}REGEX}" "\\8" ${GD_PREFIX}FRACTIONAL_SECOND "${${GD_PREFIX}OV}")
#
# Verify that extracted components don't have anything obviously
@@ -117,93 +117,93 @@ MACRO(GET_DATE)
# Expecting a four digit year:
#
- IF(NOT "${${GD_PREFIX}YEAR}" MATCHES "^[0-9][0-9][0-9][0-9]$")
- MESSAGE(STATUS "WARNING: Extracted ${GD_PREFIX}YEAR='${${GD_PREFIX}YEAR}' is not a four digit number...")
- ENDIF(NOT "${${GD_PREFIX}YEAR}" MATCHES "^[0-9][0-9][0-9][0-9]$")
+ if(NOT "${${GD_PREFIX}YEAR}" MATCHES "^[0-9][0-9][0-9][0-9]$")
+ message(STATUS "WARNING: Extracted ${GD_PREFIX}YEAR='${${GD_PREFIX}YEAR}' is not a four digit number...")
+ endif()
# Expecting month to be <= 12:
#
- IF(${${GD_PREFIX}MONTH} GREATER 12)
- MESSAGE(STATUS "WARNING: Extracted ${GD_PREFIX}MONTH='${${GD_PREFIX}MONTH}' is greater than 12!")
- ENDIF(${${GD_PREFIX}MONTH} GREATER 12)
+ if(${${GD_PREFIX}MONTH} GREATER 12)
+ message(STATUS "WARNING: Extracted ${GD_PREFIX}MONTH='${${GD_PREFIX}MONTH}' is greater than 12!")
+ endif()
# Expecting day to be <= 31:
#
- IF(${${GD_PREFIX}DAY} GREATER 31)
- MESSAGE(STATUS "WARNING: Extracted ${GD_PREFIX}DAY='${${GD_PREFIX}DAY}' is greater than 31!")
- ENDIF(${${GD_PREFIX}DAY} GREATER 31)
+ if(${${GD_PREFIX}DAY} GREATER 31)
+ message(STATUS "WARNING: Extracted ${GD_PREFIX}DAY='${${GD_PREFIX}DAY}' is greater than 31!")
+ endif()
# Expecting hour to be <= 23:
#
- IF(${${GD_PREFIX}HOUR} GREATER 23)
- MESSAGE(STATUS "WARNING: Extracted ${GD_PREFIX}HOUR='${${GD_PREFIX}HOUR}' is greater than 23!")
- ENDIF(${${GD_PREFIX}HOUR} GREATER 23)
+ if(${${GD_PREFIX}HOUR} GREATER 23)
+ message(STATUS "WARNING: Extracted ${GD_PREFIX}HOUR='${${GD_PREFIX}HOUR}' is greater than 23!")
+ endif()
# Expecting minute to be <= 59:
#
- IF(${${GD_PREFIX}MINUTE} GREATER 59)
- MESSAGE(STATUS "WARNING: Extracted ${GD_PREFIX}MINUTE='${${GD_PREFIX}MINUTE}' is greater than 59!")
- ENDIF(${${GD_PREFIX}MINUTE} GREATER 59)
+ if(${${GD_PREFIX}MINUTE} GREATER 59)
+ message(STATUS "WARNING: Extracted ${GD_PREFIX}MINUTE='${${GD_PREFIX}MINUTE}' is greater than 59!")
+ endif()
# Expecting second to be <= 59:
#
- IF(${${GD_PREFIX}SECOND} GREATER 59)
- MESSAGE(STATUS "WARNING: Extracted ${GD_PREFIX}SECOND='${${GD_PREFIX}SECOND}' is greater than 59!")
- ENDIF(${${GD_PREFIX}SECOND} GREATER 59)
+ if(${${GD_PREFIX}SECOND} GREATER 59)
+ message(STATUS "WARNING: Extracted ${GD_PREFIX}SECOND='${${GD_PREFIX}SECOND}' is greater than 59!")
+ endif()
# If individual components are single digit,
# prepend a leading zero:
#
- IF("${${GD_PREFIX}YEAR}" MATCHES "^[0-9]$")
- SET(${GD_PREFIX}YEAR "0${${GD_PREFIX}YEAR}")
- ENDIF("${${GD_PREFIX}YEAR}" MATCHES "^[0-9]$")
- IF("${${GD_PREFIX}MONTH}" MATCHES "^[0-9]$")
- SET(${GD_PREFIX}MONTH "0${${GD_PREFIX}MONTH}")
- ENDIF("${${GD_PREFIX}MONTH}" MATCHES "^[0-9]$")
- IF("${${GD_PREFIX}DAY}" MATCHES "^[0-9]$")
- SET(${GD_PREFIX}DAY "0${${GD_PREFIX}DAY}")
- ENDIF("${${GD_PREFIX}DAY}" MATCHES "^[0-9]$")
- IF("${${GD_PREFIX}HOUR}" MATCHES "^[0-9]$")
- SET(${GD_PREFIX}HOUR "0${${GD_PREFIX}HOUR}")
- ENDIF("${${GD_PREFIX}HOUR}" MATCHES "^[0-9]$")
- IF("${${GD_PREFIX}MINUTE}" MATCHES "^[0-9]$")
- SET(${GD_PREFIX}MINUTE "0${${GD_PREFIX}MINUTE}")
- ENDIF("${${GD_PREFIX}MINUTE}" MATCHES "^[0-9]$")
- IF("${${GD_PREFIX}SECOND}" MATCHES "^[0-9]$")
- SET(${GD_PREFIX}SECOND "0${${GD_PREFIX}SECOND}")
- ENDIF("${${GD_PREFIX}SECOND}" MATCHES "^[0-9]$")
-
- IF(${GD_PREFIX}VERBOSE)
- MESSAGE(STATUS "${GD_PREFIX}REGEX='${${GD_PREFIX}REGEX}'")
- MESSAGE(STATUS "${GD_PREFIX}YEAR='${${GD_PREFIX}YEAR}'")
- MESSAGE(STATUS "${GD_PREFIX}MONTH='${${GD_PREFIX}MONTH}'")
- MESSAGE(STATUS "${GD_PREFIX}DAY='${${GD_PREFIX}DAY}'")
- MESSAGE(STATUS "${GD_PREFIX}HOUR='${${GD_PREFIX}HOUR}'")
- MESSAGE(STATUS "${GD_PREFIX}MINUTE='${${GD_PREFIX}MINUTE}'")
- MESSAGE(STATUS "${GD_PREFIX}SECOND='${${GD_PREFIX}SECOND}'")
- MESSAGE(STATUS "${GD_PREFIX}FRACTIONAL_SECOND='${${GD_PREFIX}FRACTIONAL_SECOND}'")
- MESSAGE(STATUS "${GD_PREFIX}DAY_OF_WEEK='${${GD_PREFIX}DAY_OF_WEEK}'")
- MESSAGE(STATUS "")
- MESSAGE(STATUS "Counters that change...")
- MESSAGE(STATUS "")
- MESSAGE(STATUS "...very very quickly : ${${GD_PREFIX}YEAR}${${GD_PREFIX}MONTH}${${GD_PREFIX}DAY}${${GD_PREFIX}HOUR}${${GD_PREFIX}MINUTE}${${GD_PREFIX}SECOND}${${GD_PREFIX}FRACTIONAL_SECOND}")
- MESSAGE(STATUS " every second : ${${GD_PREFIX}YEAR}${${GD_PREFIX}MONTH}${${GD_PREFIX}DAY}${${GD_PREFIX}HOUR}${${GD_PREFIX}MINUTE}${${GD_PREFIX}SECOND}")
- MESSAGE(STATUS " daily : ${${GD_PREFIX}YEAR}${${GD_PREFIX}MONTH}${${GD_PREFIX}DAY}")
- MESSAGE(STATUS " monthly : ${${GD_PREFIX}YEAR}${${GD_PREFIX}MONTH}")
- MESSAGE(STATUS " annually : ${${GD_PREFIX}YEAR}")
- MESSAGE(STATUS "")
- ENDIF(${GD_PREFIX}VERBOSE)
- ELSE("${${GD_PREFIX}RV}" STREQUAL "0")
- MESSAGE(SEND_ERROR "ERROR: MACRO(GET_DATE) failed. ${GD_PREFIX}CMD='${${GD_PREFIX}CMD}' ${GD_PREFIX}ARGS='${${GD_PREFIX}ARGS}' ${GD_PREFIX}OV='${${GD_PREFIX}OV}' ${GD_PREFIX}RV='${${GD_PREFIX}RV}'")
- ENDIF("${${GD_PREFIX}RV}" STREQUAL "0")
-
- IF(${GD_PREFIX}VERBOSE)
- MESSAGE(STATUS "</GET_DATE>")
- MESSAGE(STATUS "")
- ENDIF(${GD_PREFIX}VERBOSE)
-ENDMACRO(GET_DATE)
-
-MACRO(ADD_SECONDS sec)
+ if("${${GD_PREFIX}YEAR}" MATCHES "^[0-9]$")
+ set(${GD_PREFIX}YEAR "0${${GD_PREFIX}YEAR}")
+ endif()
+ if("${${GD_PREFIX}MONTH}" MATCHES "^[0-9]$")
+ set(${GD_PREFIX}MONTH "0${${GD_PREFIX}MONTH}")
+ endif()
+ if("${${GD_PREFIX}DAY}" MATCHES "^[0-9]$")
+ set(${GD_PREFIX}DAY "0${${GD_PREFIX}DAY}")
+ endif()
+ if("${${GD_PREFIX}HOUR}" MATCHES "^[0-9]$")
+ set(${GD_PREFIX}HOUR "0${${GD_PREFIX}HOUR}")
+ endif()
+ if("${${GD_PREFIX}MINUTE}" MATCHES "^[0-9]$")
+ set(${GD_PREFIX}MINUTE "0${${GD_PREFIX}MINUTE}")
+ endif()
+ if("${${GD_PREFIX}SECOND}" MATCHES "^[0-9]$")
+ set(${GD_PREFIX}SECOND "0${${GD_PREFIX}SECOND}")
+ endif()
+
+ if(${GD_PREFIX}VERBOSE)
+ message(STATUS "${GD_PREFIX}REGEX='${${GD_PREFIX}REGEX}'")
+ message(STATUS "${GD_PREFIX}YEAR='${${GD_PREFIX}YEAR}'")
+ message(STATUS "${GD_PREFIX}MONTH='${${GD_PREFIX}MONTH}'")
+ message(STATUS "${GD_PREFIX}DAY='${${GD_PREFIX}DAY}'")
+ message(STATUS "${GD_PREFIX}HOUR='${${GD_PREFIX}HOUR}'")
+ message(STATUS "${GD_PREFIX}MINUTE='${${GD_PREFIX}MINUTE}'")
+ message(STATUS "${GD_PREFIX}SECOND='${${GD_PREFIX}SECOND}'")
+ message(STATUS "${GD_PREFIX}FRACTIONAL_SECOND='${${GD_PREFIX}FRACTIONAL_SECOND}'")
+ message(STATUS "${GD_PREFIX}DAY_OF_WEEK='${${GD_PREFIX}DAY_OF_WEEK}'")
+ message(STATUS "")
+ message(STATUS "Counters that change...")
+ message(STATUS "")
+ message(STATUS "...very very quickly : ${${GD_PREFIX}YEAR}${${GD_PREFIX}MONTH}${${GD_PREFIX}DAY}${${GD_PREFIX}HOUR}${${GD_PREFIX}MINUTE}${${GD_PREFIX}SECOND}${${GD_PREFIX}FRACTIONAL_SECOND}")
+ message(STATUS " every second : ${${GD_PREFIX}YEAR}${${GD_PREFIX}MONTH}${${GD_PREFIX}DAY}${${GD_PREFIX}HOUR}${${GD_PREFIX}MINUTE}${${GD_PREFIX}SECOND}")
+ message(STATUS " daily : ${${GD_PREFIX}YEAR}${${GD_PREFIX}MONTH}${${GD_PREFIX}DAY}")
+ message(STATUS " monthly : ${${GD_PREFIX}YEAR}${${GD_PREFIX}MONTH}")
+ message(STATUS " annually : ${${GD_PREFIX}YEAR}")
+ message(STATUS "")
+ endif()
+ else()
+ message(SEND_ERROR "ERROR: macro(GET_DATE) failed. ${GD_PREFIX}CMD='${${GD_PREFIX}CMD}' ${GD_PREFIX}ARGS='${${GD_PREFIX}ARGS}' ${GD_PREFIX}OV='${${GD_PREFIX}OV}' ${GD_PREFIX}RV='${${GD_PREFIX}RV}'")
+ endif()
+
+ if(${GD_PREFIX}VERBOSE)
+ message(STATUS "</GET_DATE>")
+ message(STATUS "")
+ endif()
+endmacro()
+
+macro(ADD_SECONDS sec)
set(new_min ${${GD_PREFIX}MINUTE})
set(new_hr ${${GD_PREFIX}HOUR})
math(EXPR new_sec "${sec} + ${${GD_PREFIX}SECOND}")
@@ -230,4 +230,4 @@ MACRO(ADD_SECONDS sec)
if(${hr_len} EQUAL 1)
set(new_hr "0${new_hr}")
endif()
-ENDMACRO(ADD_SECONDS)
+endmacro()
diff --git a/Tests/CTestTestStopTime/test.cmake.in b/Tests/CTestTestStopTime/test.cmake.in
index 2d03686e6..c3920a414 100644
--- a/Tests/CTestTestStopTime/test.cmake.in
+++ b/Tests/CTestTestStopTime/test.cmake.in
@@ -1,21 +1,21 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.1)
+cmake_minimum_required(VERSION 2.1)
# Settings:
-SET(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
-SET(CTEST_SITE "@SITE@")
-SET(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-StopTime")
-
-SET(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestStopTime")
-SET(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestStopTime")
-SET(CTEST_CVS_COMMAND "@CVSCOMMAND@")
-SET(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
-SET(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
-SET(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
-SET(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+set(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-StopTime")
+
+set(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestStopTime")
+set(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestStopTime")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
#CTEST_EMPTY_BINARY_DIRECTORY(${CTEST_BINARY_DIRECTORY})
-INCLUDE("${CTEST_BINARY_DIRECTORY}/GetDate.cmake")
+include("${CTEST_BINARY_DIRECTORY}/GetDate.cmake")
CTEST_START(Experimental)
CTEST_CONFIGURE(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
diff --git a/Tests/CTestTestSubdir/CMakeLists.txt b/Tests/CTestTestSubdir/CMakeLists.txt
index 5400ee8c5..b7cc7e2f1 100644
--- a/Tests/CTestTestSubdir/CMakeLists.txt
+++ b/Tests/CTestTestSubdir/CMakeLists.txt
@@ -1,7 +1,7 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(CTestTestSubdir)
-INCLUDE(CTest)
+project(CTestTestSubdir)
+include(CTest)
-ADD_SUBDIRECTORY(subdir)
-SUBDIRS(subdir2)
-SUBDIRS("${CTestTestSubdir_SOURCE_DIR}/subdir3")
+add_subdirectory(subdir)
+subdirs(subdir2)
+subdirs("${CTestTestSubdir_SOURCE_DIR}/subdir3")
diff --git a/Tests/CTestTestSubdir/subdir/CMakeLists.txt b/Tests/CTestTestSubdir/subdir/CMakeLists.txt
index b40d316d6..ee555354e 100644
--- a/Tests/CTestTestSubdir/subdir/CMakeLists.txt
+++ b/Tests/CTestTestSubdir/subdir/CMakeLists.txt
@@ -1,2 +1,2 @@
-ADD_EXECUTABLE (main main.c)
-ADD_TEST (TestMain1 main)
+add_executable (main main.c)
+add_test (TestMain1 main)
diff --git a/Tests/CTestTestSubdir/subdir2/CMakeLists.txt b/Tests/CTestTestSubdir/subdir2/CMakeLists.txt
index 23f8e07c2..a8d0a779b 100644
--- a/Tests/CTestTestSubdir/subdir2/CMakeLists.txt
+++ b/Tests/CTestTestSubdir/subdir2/CMakeLists.txt
@@ -1,2 +1,2 @@
-ADD_EXECUTABLE (main2 main.c)
-ADD_TEST (TestMain2 main2)
+add_executable (main2 main.c)
+add_test (TestMain2 main2)
diff --git a/Tests/CTestTestSubdir/subdir3/CMakeLists.txt b/Tests/CTestTestSubdir/subdir3/CMakeLists.txt
index 9a44b12b8..fbc41d5e6 100644
--- a/Tests/CTestTestSubdir/subdir3/CMakeLists.txt
+++ b/Tests/CTestTestSubdir/subdir3/CMakeLists.txt
@@ -1,2 +1,2 @@
-ADD_EXECUTABLE (main3 main.c)
-ADD_TEST (TestMain3 main3)
+add_executable (main3 main.c)
+add_test (TestMain3 main3)
diff --git a/Tests/CTestTestSubdir/test.cmake.in b/Tests/CTestTestSubdir/test.cmake.in
index f240473ee..d1d87adc4 100644
--- a/Tests/CTestTestSubdir/test.cmake.in
+++ b/Tests/CTestTestSubdir/test.cmake.in
@@ -1,17 +1,17 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.1)
+cmake_minimum_required(VERSION 2.1)
# Settings:
-SET(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
-SET(CTEST_SITE "@SITE@")
-SET(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-Subdir")
+set(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-Subdir")
-SET(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestSubdir")
-SET(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestSubdir")
-SET(CTEST_CVS_COMMAND "@CVSCOMMAND@")
-SET(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
-SET(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
-SET(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
-SET(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+set(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestSubdir")
+set(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestSubdir")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
#CTEST_EMPTY_BINARY_DIRECTORY(${CTEST_BINARY_DIRECTORY})
diff --git a/Tests/CTestTestTimeout/CMakeLists.txt b/Tests/CTestTestTimeout/CMakeLists.txt
index 0fd1cebb3..476d0a5e0 100644
--- a/Tests/CTestTestTimeout/CMakeLists.txt
+++ b/Tests/CTestTestTimeout/CMakeLists.txt
@@ -1,28 +1,28 @@
cmake_minimum_required (VERSION 2.8)
-PROJECT(CTestTestTimeout)
-INCLUDE(CTest)
+project(CTestTestTimeout)
+include(CTest)
-IF(NOT TIMEOUT)
- IF(CYGWIN)
- SET(TIMEOUT 4) # Cygwin CMake sometimes takes > 1 second to load!
- ELSE()
- SET(TIMEOUT 1)
- ENDIF()
-ENDIF()
+if(NOT TIMEOUT)
+ if(CYGWIN)
+ set(TIMEOUT 4) # Cygwin CMake sometimes takes > 1 second to load!
+ else()
+ set(TIMEOUT 1)
+ endif()
+endif()
-ADD_DEFINITIONS(-DTIMEOUT=${TIMEOUT})
-ADD_EXECUTABLE (Timeout timeout.c)
+add_definitions(-DTIMEOUT=${TIMEOUT})
+add_executable (Timeout timeout.c)
-ADD_TEST(NAME TestTimeout
+add_test(NAME TestTimeout
COMMAND ${CMAKE_COMMAND} -D Timeout=$<TARGET_FILE:Timeout>
-D Log=${CMAKE_CURRENT_BINARY_DIR}/timeout.log
-P ${CMAKE_CURRENT_SOURCE_DIR}/timeout.cmake
)
-SET_TESTS_PROPERTIES(TestTimeout PROPERTIES TIMEOUT ${TIMEOUT})
+set_tests_properties(TestTimeout PROPERTIES TIMEOUT ${TIMEOUT})
-ADD_TEST(NAME CheckChild
+add_test(NAME CheckChild
COMMAND ${CMAKE_COMMAND} -D Timeout=$<TARGET_FILE:Timeout>
-D Log=${CMAKE_CURRENT_BINARY_DIR}/timeout.log
-P ${CMAKE_CURRENT_SOURCE_DIR}/check.cmake
)
-SET_TESTS_PROPERTIES(CheckChild PROPERTIES DEPENDS TestTimeout)
+set_tests_properties(CheckChild PROPERTIES DEPENDS TestTimeout)
diff --git a/Tests/CTestTestTimeout/test.cmake.in b/Tests/CTestTestTimeout/test.cmake.in
index 8a8dc24e5..e34dc07b5 100644
--- a/Tests/CTestTestTimeout/test.cmake.in
+++ b/Tests/CTestTestTimeout/test.cmake.in
@@ -1,21 +1,21 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.1)
+cmake_minimum_required(VERSION 2.1)
# Settings:
-SET(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
-SET(CTEST_SITE "@SITE@")
-SET(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-Timeout")
+set(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-Timeout")
-SET(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestTimeout")
-SET(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestTimeout")
-SET(CTEST_CVS_COMMAND "@CVSCOMMAND@")
-SET(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
-SET(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
-SET(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
-SET(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+set(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestTimeout")
+set(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestTimeout")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
#CTEST_EMPTY_BINARY_DIRECTORY(${CTEST_BINARY_DIRECTORY})
-FILE(WRITE "${CTEST_BINARY_DIRECTORY}/CMakeCache.txt" "
+file(WRITE "${CTEST_BINARY_DIRECTORY}/CMakeCache.txt" "
TIMEOUT:STRING=@CTestTestTimeout_TIME@
")
diff --git a/Tests/CTestTestUpload/CMakeLists.txt b/Tests/CTestTestUpload/CMakeLists.txt
index bc164b10c..90d811cd9 100644
--- a/Tests/CTestTestUpload/CMakeLists.txt
+++ b/Tests/CTestTestUpload/CMakeLists.txt
@@ -1,4 +1,4 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(CTestTestUpload)
+project(CTestTestUpload)
add_executable (Sleep sleep.c)
diff --git a/Tests/CTestTestUpload/test.cmake.in b/Tests/CTestTestUpload/test.cmake.in
index acfa233bc..2c0fc3812 100644
--- a/Tests/CTestTestUpload/test.cmake.in
+++ b/Tests/CTestTestUpload/test.cmake.in
@@ -1,14 +1,14 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.1)
+cmake_minimum_required(VERSION 2.1)
# Settings:
-SET(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
-SET(CTEST_SITE "@SITE@")
-SET(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-Upload")
+set(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-Upload")
-SET(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestUpload")
-SET(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestUpload")
-SET(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
-SET(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestUpload")
+set(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestUpload")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
CTEST_START(Experimental)
CTEST_CONFIGURE(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
diff --git a/Tests/CTestTestZeroTimeout/CMakeLists.txt b/Tests/CTestTestZeroTimeout/CMakeLists.txt
index 8a5246db1..4d2b79dc2 100644
--- a/Tests/CTestTestZeroTimeout/CMakeLists.txt
+++ b/Tests/CTestTestZeroTimeout/CMakeLists.txt
@@ -1,8 +1,8 @@
-CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
-PROJECT (CTestTestZeroTimeout)
-INCLUDE (CTest)
+cmake_minimum_required (VERSION 2.6)
+project (CTestTestZeroTimeout)
+include (CTest)
-ADD_EXECUTABLE (Sleep sleep.c)
+add_executable (Sleep sleep.c)
-ADD_TEST (TestExplicitZeroTimeout Sleep)
-SET_TESTS_PROPERTIES(TestExplicitZeroTimeout PROPERTIES TIMEOUT 0)
+add_test (TestExplicitZeroTimeout Sleep)
+set_tests_properties(TestExplicitZeroTimeout PROPERTIES TIMEOUT 0)
diff --git a/Tests/CTestTestZeroTimeout/test.cmake.in b/Tests/CTestTestZeroTimeout/test.cmake.in
index 56bae9d17..285a19150 100644
--- a/Tests/CTestTestZeroTimeout/test.cmake.in
+++ b/Tests/CTestTestZeroTimeout/test.cmake.in
@@ -1,18 +1,18 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.1)
+cmake_minimum_required(VERSION 2.1)
# Settings:
-SET(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
-SET(CTEST_SITE "@SITE@")
-SET(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-ZeroTimeout")
+set(CTEST_DASHBOARD_ROOT "@CMake_BINARY_DIR@/Tests/CTestTest")
+set(CTEST_SITE "@SITE@")
+set(CTEST_BUILD_NAME "CTestTest-@BUILDNAME@-ZeroTimeout")
-SET(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestZeroTimeout")
-SET(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestZeroTimeout")
-SET(CTEST_CVS_COMMAND "@CVSCOMMAND@")
-SET(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
-SET(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
-SET(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
-SET(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
-SET(CTEST_TEST_TIMEOUT 2)
+set(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTestZeroTimeout")
+set(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestTestZeroTimeout")
+set(CTEST_CVS_COMMAND "@CVSCOMMAND@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_TEST_GENERATOR@")
+set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CONFIG_TYPE}")
+set(CTEST_COVERAGE_COMMAND "@COVERAGE_COMMAND@")
+set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")
+set(CTEST_TEST_TIMEOUT 2)
CTEST_START(Experimental)
CTEST_CONFIGURE(BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
diff --git a/Tests/CTestUpdateBZR.cmake.in b/Tests/CTestUpdateBZR.cmake.in
index c654f477a..8fb1d3483 100644
--- a/Tests/CTestUpdateBZR.cmake.in
+++ b/Tests/CTestUpdateBZR.cmake.in
@@ -74,7 +74,7 @@ if(dirs_added)
WORKING_DIRECTORY ${TOP}/user-source
COMMAND ${BZR} add ${dirs_added}
)
-endif(dirs_added)
+endif()
run_child(
WORKING_DIRECTORY ${TOP}/user-source
COMMAND ${BZR} add ${files_added}
diff --git a/Tests/CTestUpdateCVS.cmake.in b/Tests/CTestUpdateCVS.cmake.in
index f7f5db65d..1699c3f1f 100644
--- a/Tests/CTestUpdateCVS.cmake.in
+++ b/Tests/CTestUpdateCVS.cmake.in
@@ -91,7 +91,7 @@ if(dirs_added)
WORKING_DIRECTORY ${TOP}/user-source
COMMAND ${CVSCMD} add ${dirs_added}
)
-endif(dirs_added)
+endif()
run_child(
WORKING_DIRECTORY ${TOP}/user-source
COMMAND ${CVSCMD} add ${files_added}
diff --git a/Tests/CTestUpdateCommon.cmake b/Tests/CTestUpdateCommon.cmake
index 335d09e7e..aaf88a8d1 100644
--- a/Tests/CTestUpdateCommon.cmake
+++ b/Tests/CTestUpdateCommon.cmake
@@ -12,8 +12,8 @@ function(run_child)
string(REGEX REPLACE "\n" "\n " OUTPUT "${OUTPUT}")
message(FATAL_ERROR "Child failed (${FAILED}), output is\n ${OUTPUT}\n"
"Command = [${ARGN}]\n")
- endif(FAILED)
-endfunction(run_child)
+ endif()
+endfunction()
#-----------------------------------------------------------------------------
# Function to find the Update.xml file and check for expected entries.
@@ -26,7 +26,7 @@ function(check_updates build)
)
if(NOT UPDATE_XML_FILE)
message(FATAL_ERROR "Cannot find Update.xml with pattern\n ${PATTERN}")
- endif(NOT UPDATE_XML_FILE)
+ endif()
message(" found ${UPDATE_XML_FILE}")
set(max_update_xml_size 16384)
@@ -73,11 +73,11 @@ function(check_updates build)
set(MSG "${MSG}Update.xml is missing expected entries:\n")
foreach(f ${MISSING})
set(MSG "${MSG} ${f}\n")
- endforeach(f)
- else(MISSING)
+ endforeach()
+ else()
# Success
message(" no entries missing from Update.xml")
- endif(MISSING)
+ endif()
# Report the result
if(EXTRA)
@@ -85,11 +85,11 @@ function(check_updates build)
set(MSG "${MSG}Update.xml has extra unexpected entries:\n")
foreach(f ${EXTRA})
set(MSG "${MSG} ${f}\n")
- endforeach(f)
- else(EXTRA)
+ endforeach()
+ else()
# Success
message(" no extra entries in Update.xml")
- endif(EXTRA)
+ endif()
if(MSG)
# Provide the log file
@@ -99,14 +99,14 @@ function(check_updates build)
file(READ ${UPDATE_LOG_FILE} UPDATE_LOG LIMIT ${max_update_xml_size})
string(REGEX REPLACE "\n" "\n " UPDATE_LOG "${UPDATE_LOG}")
set(MSG "${MSG}Update log:\n ${UPDATE_LOG}")
- else(UPDATE_LOG_FILE)
+ else()
set(MSG "${MSG}No update log found!")
- endif(UPDATE_LOG_FILE)
+ endif()
# Display the error message
message(FATAL_ERROR "${MSG}")
- endif(MSG)
-endfunction(check_updates)
+ endif()
+endfunction()
#-----------------------------------------------------------------------------
# Function to create initial content.
@@ -123,7 +123,7 @@ set(CTEST_NIGHTLY_START_TIME \"21:00:00 EDT\")
# Some other files.
file(WRITE ${TOP}/${dir}/foo.txt "foo\n")
file(WRITE ${TOP}/${dir}/bar.txt "bar\n")
-endfunction(create_content)
+endfunction()
#-----------------------------------------------------------------------------
# Function to update content.
@@ -137,20 +137,20 @@ function(update_content dir added_var removed_var dirs_var)
set(${dirs_var} subdir PARENT_SCOPE)
set(${added_var} zot.txt subdir/foo.txt subdir/bar.txt PARENT_SCOPE)
set(${removed_var} bar.txt PARENT_SCOPE)
-endfunction(update_content)
+endfunction()
#-----------------------------------------------------------------------------
# Function to change existing files
function(change_content dir)
file(APPEND ${TOP}/${dir}/foo.txt "foo line 3\n")
file(APPEND ${TOP}/${dir}/subdir/foo.txt "foo line 2\n")
-endfunction(change_content)
+endfunction()
#-----------------------------------------------------------------------------
# Function to create local modifications before update
function(modify_content dir)
file(APPEND ${TOP}/${dir}/CTestConfig.cmake "# local modification\n")
-endfunction(modify_content)
+endfunction()
#-----------------------------------------------------------------------------
# Function to write CTestConfiguration.ini content.
@@ -163,7 +163,7 @@ BuildDirectory: ${TOP}/${bin_dir}
Site: test.site
BuildName: user-test
")
-endfunction(create_build_tree)
+endfunction()
#-----------------------------------------------------------------------------
# Function to write the dashboard test script.
@@ -181,7 +181,7 @@ ${custom_text}
ctest_start(Experimental)
ctest_update(SOURCE \${CTEST_SOURCE_DIRECTORY})
")
-endfunction(create_dashboard_script)
+endfunction()
#-----------------------------------------------------------------------------
# Function to run the dashboard through the command line
@@ -205,7 +205,7 @@ function(run_dashboard_command_line bin_dir)
Updated{subdir/bar.txt}
${_modified}
)
-endfunction(run_dashboard_command_line)
+endfunction()
#-----------------------------------------------------------------------------
# Function to run the dashboard through a script
@@ -224,11 +224,11 @@ function(run_dashboard_script bin_dir)
Updated{subdir/foo.txt}
Updated{subdir/bar.txt}
)
-endfunction(run_dashboard_script)
+endfunction()
#-----------------------------------------------------------------------------
# Function to initialize the testing directory.
function(init_testing)
file(REMOVE_RECURSE ${TOP})
file(MAKE_DIRECTORY ${TOP})
-endfunction(init_testing)
+endfunction()
diff --git a/Tests/CTestUpdateGIT.cmake.in b/Tests/CTestUpdateGIT.cmake.in
index eb9f987c6..0c01291e7 100644
--- a/Tests/CTestUpdateGIT.cmake.in
+++ b/Tests/CTestUpdateGIT.cmake.in
@@ -159,7 +159,7 @@ if(dirs_added)
WORKING_DIRECTORY ${TOP}/user-source
COMMAND ${GIT} add ${dirs_added}
)
-endif(dirs_added)
+endif()
run_child(
WORKING_DIRECTORY ${TOP}/user-source
COMMAND ${GIT} add ${files_added}
@@ -221,7 +221,7 @@ macro(rewind_source src_dir)
WORKING_DIRECTORY ${TOP}/${src_dir}
COMMAND ${GIT} submodule update
)
-endmacro(rewind_source)
+endmacro()
rewind_source(user-source)
# Make sure pull does not try to rebase (which does not work with
diff --git a/Tests/CTestUpdateHG.cmake.in b/Tests/CTestUpdateHG.cmake.in
index 640d2c6f3..c5440f954 100644
--- a/Tests/CTestUpdateHG.cmake.in
+++ b/Tests/CTestUpdateHG.cmake.in
@@ -70,7 +70,7 @@ if(dirs_added)
WORKING_DIRECTORY ${TOP}/user-source
COMMAND ${HG} add ${dirs_added}
)
-endif(dirs_added)
+endif()
run_child(
WORKING_DIRECTORY ${TOP}/user-source
COMMAND ${HG} add ${files_added}
diff --git a/Tests/CTestUpdateSVN.cmake.in b/Tests/CTestUpdateSVN.cmake.in
index 15b833b10..b5728fd67 100644
--- a/Tests/CTestUpdateSVN.cmake.in
+++ b/Tests/CTestUpdateSVN.cmake.in
@@ -74,7 +74,7 @@ if(dirs_added)
WORKING_DIRECTORY ${TOP}/user-source
COMMAND ${SVNCMD} add ${depth_empty} ${dirs_added}
)
-endif(dirs_added)
+endif()
run_child(
WORKING_DIRECTORY ${TOP}/user-source
COMMAND ${SVNCMD} add ${files_added}
diff --git a/Tests/CheckCompilerRelatedVariables/CMakeLists.txt b/Tests/CheckCompilerRelatedVariables/CMakeLists.txt
index 8b279a5c4..20001e6ed 100644
--- a/Tests/CheckCompilerRelatedVariables/CMakeLists.txt
+++ b/Tests/CheckCompilerRelatedVariables/CMakeLists.txt
@@ -46,6 +46,7 @@ echo_var(MSVC80)
echo_var(MSVC90)
echo_var(MSVC10)
echo_var(MSVC11)
+echo_var(MSVC_IDE)
if(MSVC)
#
@@ -60,6 +61,13 @@ if(MSVC)
else()
message(FATAL_ERROR "error: ${msvc_total} MSVC** variables are defined -- exactly 1 expected")
endif()
+ if(NOT DEFINED MSVC_IDE)
+ message(FATAL_ERROR "MSVC_IDE not defined but should be!")
+ elseif("${CMAKE_GENERATOR}" MATCHES "Visual Studio" AND NOT MSVC_IDE)
+ message(FATAL_ERROR "MSVC_IDE is not true but should be (${CMAKE_GENERATOR})!")
+ elseif(NOT "${CMAKE_GENERATOR}" MATCHES "Visual Studio" AND MSVC_IDE)
+ message(FATAL_ERROR "MSVC_IDE is true but should not be (${CMAKE_GENERATOR})!")
+ endif()
else()
#
# The compiler is something other than cl... None of the MSVC** variables
@@ -70,6 +78,9 @@ else()
else()
message(FATAL_ERROR "error: ${msvc_total} MSVC** variables are defined -- exactly 0 expected")
endif()
+ if(DEFINED MSVC_IDE)
+ message(FATAL_ERROR "MSVC_IDE is defined but should not be!")
+ endif()
endif()
diff --git a/Tests/CommandLineTest/CMakeLists.txt b/Tests/CommandLineTest/CMakeLists.txt
index 0493a0c4b..96aac104c 100644
--- a/Tests/CommandLineTest/CMakeLists.txt
+++ b/Tests/CommandLineTest/CMakeLists.txt
@@ -1,13 +1,13 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(CommandLineTest)
+project(CommandLineTest)
-GET_FILENAME_COMPONENT(CMAKE_BIN_DIR ${CMAKE_COMMAND} PATH)
-MACRO(EXEC_CMAKE_COMMAND CMAKE_ARGS)
- EXEC_PROGRAM("${CMAKE_COMMAND}" ARGS "${CMAKE_ARGS}" RETURN_VALUE RET)
- IF(${RET})
- MESSAGE(SEND_ERROR "CMake command failed with arguments \"${CMAKE_ARGS}\"")
- ENDIF(${RET})
-ENDMACRO(EXEC_CMAKE_COMMAND)
+get_filename_component(CMAKE_BIN_DIR ${CMAKE_COMMAND} PATH)
+macro(EXEC_CMAKE_COMMAND CMAKE_ARGS)
+ exec_program("${CMAKE_COMMAND}" ARGS "${CMAKE_ARGS}" RETURN_VALUE RET)
+ if(${RET})
+ message(SEND_ERROR "CMake command failed with arguments \"${CMAKE_ARGS}\"")
+ endif()
+endmacro()
EXEC_CMAKE_COMMAND("-E chdir \"${CMAKE_CURRENT_SOURCE_DIR}\" \"${CMAKE_COMMAND}\" -E echo \"Hello World\"")
EXEC_CMAKE_COMMAND("-E time \"${CMAKE_COMMAND} -N -L ${CommandLineTest_SOURCE_DIR}\"")
@@ -24,22 +24,22 @@ EXEC_CMAKE_COMMAND("--help-html \"${CMAKE_CURRENT_BINARY_DIR}/cmake.html\"")
EXEC_CMAKE_COMMAND("--copyright \"${CMAKE_CURRENT_BINARY_DIR}/Copyright.txt\"")
EXEC_CMAKE_COMMAND("--version \"${CMAKE_CURRENT_BINARY_DIR}/version.txt\"")
-ADD_EXECUTABLE(CommandLineTest CommandLineTest.cxx)
+add_executable(CommandLineTest CommandLineTest.cxx)
-GET_FILENAME_COMPONENT(CMAKE_COMMAND_PATH "${CMAKE_COMMAND}" PATH)
-SET(CTEST_COMMAND "${CMAKE_COMMAND_PATH}/ctest")
-MACRO(EXEC_CTEST_COMMAND CMAKE_ARGS)
- EXEC_PROGRAM("${CTEST_COMMAND}" ARGS "${CMAKE_ARGS}" RETURN_VALUE RET)
- IF(${RET})
- MESSAGE(SEND_ERROR "CTest command failed with arguments \"${CMAKE_ARGS}\"")
- ENDIF(${RET})
-ENDMACRO(EXEC_CTEST_COMMAND)
-MACRO(EXEC_CTEST_COMMAND_WITH_DIR DIR CMAKE_ARGS)
- EXEC_PROGRAM("${CTEST_COMMAND}" "${DIR}" ARGS "${CMAKE_ARGS}" RETURN_VALUE RET)
- IF(${RET})
- MESSAGE(SEND_ERROR "CTest command failed with arguments \"${CMAKE_ARGS}\"")
- ENDIF(${RET})
-ENDMACRO(EXEC_CTEST_COMMAND_WITH_DIR)
+get_filename_component(CMAKE_COMMAND_PATH "${CMAKE_COMMAND}" PATH)
+set(CTEST_COMMAND "${CMAKE_COMMAND_PATH}/ctest")
+macro(EXEC_CTEST_COMMAND CMAKE_ARGS)
+ exec_program("${CTEST_COMMAND}" ARGS "${CMAKE_ARGS}" RETURN_VALUE RET)
+ if(${RET})
+ message(SEND_ERROR "CTest command failed with arguments \"${CMAKE_ARGS}\"")
+ endif()
+endmacro()
+macro(EXEC_CTEST_COMMAND_WITH_DIR DIR CMAKE_ARGS)
+ exec_program("${CTEST_COMMAND}" "${DIR}" ARGS "${CMAKE_ARGS}" RETURN_VALUE RET)
+ if(${RET})
+ message(SEND_ERROR "CTest command failed with arguments \"${CMAKE_ARGS}\"")
+ endif()
+endmacro()
EXEC_CTEST_COMMAND_WITH_DIR("${CMAKE_CURRENT_BINARY_DIR}/../.." "-N")
EXEC_CTEST_COMMAND_WITH_DIR("${CMAKE_CURRENT_BINARY_DIR}/../.." "-R complex -N")
@@ -55,25 +55,25 @@ EXEC_CTEST_COMMAND("--help-man \"${CMAKE_CURRENT_BINARY_DIR}/ctest.man\"")
EXEC_CTEST_COMMAND("--help-html \"${CMAKE_CURRENT_BINARY_DIR}/ctest.html\"")
EXEC_CTEST_COMMAND("--version")
-IF(THIS_SHOULD_BE_SET)
- MESSAGE(STATUS "***************************")
- MESSAGE(STATUS "PreLoad.cmake works fine.")
- MESSAGE(STATUS "***************************")
-ELSE(THIS_SHOULD_BE_SET)
- MESSAGE("***************************")
- MESSAGE(FATAL_ERROR "PreLoad.cmake does not work.")
-ENDIF(THIS_SHOULD_BE_SET)
+if(THIS_SHOULD_BE_SET)
+ message(STATUS "***************************")
+ message(STATUS "PreLoad.cmake works fine.")
+ message(STATUS "***************************")
+else()
+ message("***************************")
+ message(FATAL_ERROR "PreLoad.cmake does not work.")
+endif()
-IF(DEFINED ENV{TEST_ENVIRONMENT_VARIABLE_NOTSET})
- MESSAGE(SEND_ERROR "Environment variable definition test broken!")
-ENDIF(DEFINED ENV{TEST_ENVIRONMENT_VARIABLE_NOTSET})
+if(DEFINED ENV{TEST_ENVIRONMENT_VARIABLE_NOTSET})
+ message(SEND_ERROR "Environment variable definition test broken!")
+endif()
-SET(ENV{TEST_ENVIRONMENT_VARIABLE} "Environment variable set")
-IF("$ENV{TEST_ENVIRONMENT_VARIABLE}" STREQUAL "Environment variable set")
- MESSAGE(STATUS "Environment variable set to: $ENV{TEST_ENVIRONMENT_VARIABLE}")
- IF(NOT DEFINED ENV{TEST_ENVIRONMENT_VARIABLE})
- MESSAGE(SEND_ERROR "Environment variable definition test failed!")
- ENDIF(NOT DEFINED ENV{TEST_ENVIRONMENT_VARIABLE})
-ELSE("$ENV{TEST_ENVIRONMENT_VARIABLE}" STREQUAL "Environment variable set")
- MESSAGE(SEND_ERROR "Environment variable setting is broken")
-ENDIF("$ENV{TEST_ENVIRONMENT_VARIABLE}" STREQUAL "Environment variable set")
+set(ENV{TEST_ENVIRONMENT_VARIABLE} "Environment variable set")
+if("$ENV{TEST_ENVIRONMENT_VARIABLE}" STREQUAL "Environment variable set")
+ message(STATUS "Environment variable set to: $ENV{TEST_ENVIRONMENT_VARIABLE}")
+ if(NOT DEFINED ENV{TEST_ENVIRONMENT_VARIABLE})
+ message(SEND_ERROR "Environment variable definition test failed!")
+ endif()
+else()
+ message(SEND_ERROR "Environment variable setting is broken")
+endif()
diff --git a/Tests/CommandLineTest/PreLoad.cmake b/Tests/CommandLineTest/PreLoad.cmake
index 87284aff0..f059bcea6 100644
--- a/Tests/CommandLineTest/PreLoad.cmake
+++ b/Tests/CommandLineTest/PreLoad.cmake
@@ -1 +1 @@
-SET(THIS_SHOULD_BE_SET ON CACHE BOOL "Some variable")
+set(THIS_SHOULD_BE_SET ON CACHE BOOL "Some variable")
diff --git a/Tests/CompileCommandOutput/CMakeLists.txt b/Tests/CompileCommandOutput/CMakeLists.txt
index bd8e305c2..6f9468dca 100644
--- a/Tests/CompileCommandOutput/CMakeLists.txt
+++ b/Tests/CompileCommandOutput/CMakeLists.txt
@@ -2,15 +2,15 @@
cmake_minimum_required (VERSION 2.6)
project (CompileCommandOutput CXX)
-SET(CMAKE_EXPORT_COMPILE_COMMANDS ON)
+set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_DEBUG_POSTFIX "_test_debug_postfix")
-IF(MAKE_SUPPORTS_SPACES)
- SET(test1_srcs "file with spaces.cxx")
-ELSE()
- SET(test1_srcs "file_with_underscores.cxx")
-ENDIF()
-ADD_LIBRARY(test1 STATIC ${test1_srcs})
-ADD_LIBRARY(test2 SHARED "../CompileCommandOutput/relative.cxx")
-INCLUDE_DIRECTORIES(${CompileCommandOutput_SOURCE_DIR}/../../Source)
-ADD_EXECUTABLE(CompileCommandOutput compile_command_output.cxx)
-TARGET_LINK_LIBRARIES(CompileCommandOutput test1 test2)
+if(MAKE_SUPPORTS_SPACES)
+ set(test1_srcs "file with spaces.cxx")
+else()
+ set(test1_srcs "file_with_underscores.cxx")
+endif()
+add_library(test1 STATIC ${test1_srcs})
+add_library(test2 SHARED "../CompileCommandOutput/relative.cxx")
+include_directories(${CompileCommandOutput_SOURCE_DIR}/../../Source)
+add_executable(CompileCommandOutput compile_command_output.cxx)
+target_link_libraries(CompileCommandOutput test1 test2)
diff --git a/Tests/CompileDefinitions/CMakeLists.txt b/Tests/CompileDefinitions/CMakeLists.txt
new file mode 100644
index 000000000..e7d91bf94
--- /dev/null
+++ b/Tests/CompileDefinitions/CMakeLists.txt
@@ -0,0 +1,16 @@
+
+cmake_minimum_required(VERSION 2.8)
+
+project(CompileDefinitions)
+
+if ("${CMAKE_GENERATOR}" STREQUAL "Visual Studio 6")
+ add_definitions(-DNO_SPACES_IN_DEFINE_VALUES)
+endif()
+
+add_subdirectory(add_definitions_command)
+add_subdirectory(target_prop)
+add_subdirectory(add_definitions_command_with_target_prop)
+
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/dummyexecutable.cpp" "int main(int, char **) { return 0; }\n")
+
+add_executable(CompileDefinitions "${CMAKE_CURRENT_BINARY_DIR}/dummyexecutable.cpp")
diff --git a/Tests/CompileDefinitions/add_definitions_command/CMakeLists.txt b/Tests/CompileDefinitions/add_definitions_command/CMakeLists.txt
new file mode 100644
index 000000000..a6372af74
--- /dev/null
+++ b/Tests/CompileDefinitions/add_definitions_command/CMakeLists.txt
@@ -0,0 +1,7 @@
+
+project(add_definitions_command)
+
+add_definitions(-DCMAKE_IS_FUN -DCMAKE_IS=Fun -DCMAKE_IS_="Fun" -DCMAKE_IS_REALLY="Very Fun")
+add_definitions(-DCMAKE_IS_="Fun" -DCMAKE_IS_REALLY="Very Fun" -DCMAKE_IS_FUN -DCMAKE_IS=Fun)
+
+add_executable(add_definitions_command_executable ../compiletest.cpp)
diff --git a/Tests/CompileDefinitions/add_definitions_command_with_target_prop/CMakeLists.txt b/Tests/CompileDefinitions/add_definitions_command_with_target_prop/CMakeLists.txt
new file mode 100644
index 000000000..e415390c0
--- /dev/null
+++ b/Tests/CompileDefinitions/add_definitions_command_with_target_prop/CMakeLists.txt
@@ -0,0 +1,14 @@
+
+project(add_definitions_command_with_target_prop)
+
+add_definitions(-DCMAKE_IS_FUN -DCMAKE_IS=Fun)
+
+add_executable(add_definitions_command_with_target_prop_executable ../compiletest.cpp)
+
+set_target_properties(add_definitions_command_with_target_prop_executable PROPERTIES COMPILE_DEFINITIONS CMAKE_IS_="Fun")
+
+set_property(TARGET add_definitions_command_with_target_prop_executable APPEND PROPERTY COMPILE_DEFINITIONS CMAKE_IS_REALLY="Very Fun")
+
+add_definitions(-DCMAKE_IS_FUN)
+
+set_property(TARGET add_definitions_command_with_target_prop_executable APPEND PROPERTY COMPILE_DEFINITIONS CMAKE_IS=Fun CMAKE_IS_="Fun")
diff --git a/Tests/CompileDefinitions/compiletest.cpp b/Tests/CompileDefinitions/compiletest.cpp
new file mode 100644
index 000000000..f18e59e67
--- /dev/null
+++ b/Tests/CompileDefinitions/compiletest.cpp
@@ -0,0 +1,51 @@
+
+#ifndef CMAKE_IS_FUN
+#error Expect CMAKE_IS_FUN definition
+#endif
+
+#if CMAKE_IS != Fun
+#error Expect CMAKE_IS=Fun definition
+#endif
+
+
+template<bool test>
+struct CMakeStaticAssert;
+
+template<>
+struct CMakeStaticAssert<true> {};
+
+static const char fun_string[] = CMAKE_IS_;
+#ifndef NO_SPACES_IN_DEFINE_VALUES
+static const char very_fun_string[] = CMAKE_IS_REALLY;
+#endif
+
+enum {
+ StringLiteralTest1 = sizeof(CMakeStaticAssert<sizeof(CMAKE_IS_) == sizeof("Fun")>)
+#ifndef NO_SPACES_IN_DEFINE_VALUES
+ ,
+ StringLiteralTest2 = sizeof(CMakeStaticAssert<sizeof(CMAKE_IS_REALLY) == sizeof("Very Fun")>)
+#endif
+};
+
+#ifdef TEST_GENERATOR_EXPRESSIONS
+#ifndef CMAKE_IS_DECLARATIVE
+#error Expect declarative definition
+#endif
+#ifdef GE_NOT_DEFINED
+#error Expect not defined generator expression
+#endif
+
+#ifndef ARGUMENT
+#error Expected define expanded from list
+#endif
+#ifndef LIST
+#error Expected define expanded from list
+#endif
+
+// TEST_GENERATOR_EXPRESSIONS
+#endif
+
+int main(int argc, char **argv)
+{
+ return 0;
+}
diff --git a/Tests/CompileDefinitions/target_prop/CMakeLists.txt b/Tests/CompileDefinitions/target_prop/CMakeLists.txt
new file mode 100644
index 000000000..abdf257ec
--- /dev/null
+++ b/Tests/CompileDefinitions/target_prop/CMakeLists.txt
@@ -0,0 +1,16 @@
+
+project(target_prop)
+
+add_executable(target_prop_executable ../compiletest.cpp)
+
+set_target_properties(target_prop_executable PROPERTIES COMPILE_DEFINITIONS CMAKE_IS_FUN)
+
+set_property(TARGET target_prop_executable APPEND PROPERTY COMPILE_DEFINITIONS CMAKE_IS_REALLY="Very Fun" CMAKE_IS=Fun)
+set_property(TARGET target_prop_executable APPEND PROPERTY COMPILE_DEFINITIONS CMAKE_IS_FUN CMAKE_IS_="Fun")
+
+set_property(TARGET target_prop_executable APPEND PROPERTY COMPILE_DEFINITIONS
+ TEST_GENERATOR_EXPRESSIONS
+ "$<1:CMAKE_IS_DECLARATIVE>"
+ "$<0:GE_NOT_DEFINED>"
+ "$<1:ARGUMENT;LIST>"
+)
diff --git a/Tests/Complex/CMakeLists.txt b/Tests/Complex/CMakeLists.txt
index ec3ad3985..048f966f6 100644
--- a/Tests/Complex/CMakeLists.txt
+++ b/Tests/Complex/CMakeLists.txt
@@ -1,219 +1,219 @@
#
# A more complex test case
#
-SET(CMAKE_BACKWARDS_COMPATIBILITY 1.4)
-PROJECT (Complex)
+set(CMAKE_BACKWARDS_COMPATIBILITY 1.4)
+project (Complex)
# Try setting a new policy. The IF test is for coverage.
-IF(POLICY CMP0003)
- CMAKE_POLICY(SET CMP0003 NEW)
+if(POLICY CMP0003)
+ cmake_policy(SET CMP0003 NEW)
- CMAKE_POLICY(GET CMP0003 P3)
- IF(NOT "${P3}" STREQUAL "NEW")
- MESSAGE(FATAL_ERROR "CMAKE_POLICY(GET) did not report NEW!")
- ENDIF(NOT "${P3}" STREQUAL "NEW")
-ENDIF(POLICY CMP0003)
+ cmake_policy(GET CMP0003 P3)
+ if(NOT "${P3}" STREQUAL "NEW")
+ message(FATAL_ERROR "cmake_policy(GET) did not report NEW!")
+ endif()
+endif()
# Test building without per-rule echo lines in Makefiles.
-SET_PROPERTY(GLOBAL PROPERTY RULE_MESSAGES OFF)
+set_property(GLOBAL PROPERTY RULE_MESSAGES OFF)
-SET(CPACK_SOURCE_IGNORE_FILES "~$;\\.cvsignore$;^C:/hoffman/My Builds/testcase.*/CVS/;^C:/hoffman/My Builds/testcase.*/\\.svn/;^C:/hoffman/My Builds/testcase.*/sweigart/;^C:/hoffman/My Builds/testcase/www/eospaper/solution/eos2001/;^C:/hoffman/My Builds/testcase/www/eospaper/solution/opal_tables_new/;^C:/hoffman/My Builds/testcase/COPYING$;^C:/hoffman/My Builds/testcase/INSTALL$;^C:/hoffman/My Builds/testcase/Makefile$;^C:/hoffman/My Builds/testcase/Makefile\\.in$;^C:/hoffman/My Builds/testcase/.*\\.lo$;^C:/hoffman/My Builds/testcase/.*\\.la$;^C:/hoffman/My Builds/testcase/mkinstalldirs$;^C:/hoffman/My Builds/testcase/missing$;^C:/hoffman/My Builds/testcase/ltmain\\.sh$;^C:/hoffman/My Builds/testcase/libtool$;^C:/hoffman/My Builds/testcase/install-sh$;^C:/hoffman/My Builds/testcase/configure$;^C:/hoffman/My Builds/testcase/config\\.sub$;^C:/hoffman/My Builds/testcase/config\\.status$;^C:/hoffman/My Builds/testcase/config\\.log$;^C:/hoffman/My Builds/testcase/config\\.guess$;^C:/hoffman/My Builds/testcase/autom4te\\.cache$;^C:/hoffman/My Builds/testcase/aclocal\\.m4$;^C:/hoffman/My Builds/testcase/depcomp$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.075\\.model_cassisi_eos1_10$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.075\\.model_cassisi_eos1_10_corr$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.1\\.model_cassisi_eos1$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.1\\.model_cassisi_scvh$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.1\\.modelc$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.3\\.modelc$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/1\\.0\\.modelc$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/1\\.0\\.rgbtip\\.modelc$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/1\\.0\\.zahb\\.modelc$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.1\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/1\\.0\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.3\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.085\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/.*\\.ps$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange\\.mem$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange\\.log$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange\\.dvi$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange\\.tex\\.bak$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/head\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/body\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/prior-dvi\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j10\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j12\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j16\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j20\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j22\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j26\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j30\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j32\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j36\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/k10\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/k12\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/k20\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/k22\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/k30\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/k32\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/1_exchange_dgamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/1_exchange_dlnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/2_exchange_dgamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/2_exchange_dlnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/linear_exchange_dgamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/linear_exchange_dlnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/noexchange_dgamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/noexchange_dlnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/nr_exchange_dgamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/nr_exchange_dlnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/series_exchange_dgamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/series_exchange_dlnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_JNR_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_Jseries_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_KNR_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_Kseries_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check34_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check35_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check36_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check43_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check44_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check45_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check46_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check47_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check48_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/tc_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/.*\\.pyc$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/context\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/make\\.out.*$;^C:/hoffman/My Builds/testcase/www/Makefile$;^C:/hoffman/My Builds/testcase/www/Makefile\\.in$;^C:/hoffman/My Builds/testcase/src/.*\\.flc$;^C:/hoffman/My Builds/testcase/src/Makefile$;^C:/hoffman/My Builds/testcase/src/Makefile\\.in$;^C:/hoffman/My Builds/testcase/src/\\.deps$;^C:/hoffman/My Builds/testcase/src/\\.libs$;^C:/hoffman/My Builds/testcase/src/.*\\.la$;^C:/hoffman/My Builds/testcase/src/.*\\.lo$;^C:/hoffman/My Builds/testcase/src/make\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/statef.*\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/0\\.1\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/0\\.1\\.model_13$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/0\\.1\\.model_23$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/0\\.3\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/0\\.3\\.model_13$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/0\\.3\\.model_23$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/1\\.0\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/1\\.0\\.model_13$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/1\\.0\\.model_15$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/1\\.0\\.model_23$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/1\\.0\\.model_rel$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/hot_post_agb\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/rgb_tip\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/rgbtip\\.1\\.0\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/rgbtip\\.1\\.0\\.model_13$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/rgbtip\\.1\\.0\\.model_23$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/start_shellflash\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/white_dwarf\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/zahb\\.1\\.0\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/zahb\\.1\\.0\\.model_13$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/zahb\\.1\\.0\\.model_23$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/zahb\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dh/dgamma1$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dh/dlnp$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dh/statef_compare\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fermi_dirac_approx/15gamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fermi_dirac_approx/15lnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fermi_dirac_approx/23gamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fermi_dirac_approx/23lnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/thermodynamic_consistency/.*\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/thermodynamic_consistency/.*\\.results$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/pteh/dgamma1$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/pteh/dlnp$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/pteh/statef_compare\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/newversion_grid/.*\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/newversion_grid/.*\\.err$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/.*\\.ps$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/.*\\.pyc$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_fit\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_fit\\.dvi$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_fit\\.log$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/body\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/head\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/prior-dvi\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/3order_data\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/5order_data\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/8order_data\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check8_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check1_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check3_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check5_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/effo_check3_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/effoo_check3_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fda15gamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fda15lnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fda23gamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fda23lnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/tc_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/make\\.out.*$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/thermodynamic_consistency/statef_compare\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/thermodynamic_consistency/tc\\.results$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/opal_solar/opal_compare_model\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/opal_solar/opal_compare_solar\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/opal_solar/opal_solar\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/opal_solar/opal_solar_1995\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/opal_solar/statef_opal_model\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/opal_solar/statef_opal_model_1995\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/purehe_newversion_grid/.*\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/purehe_newversion_grid/.*\\.err$;^C:/hoffman/My Builds/testcase/include/Makefile\\.in$;^C:/hoffman/My Builds/testcase/include/Makefile$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/model-loci/0\\.1\\.model_pteh$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/model-loci/1\\.0\\.model_eos1a-eos1$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/model-loci/1\\.0\\.model_pteh$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/model-loci/statef_model_0\\.1\\.model_pteh\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/model-loci/statef_model_1\\.0\\.model_eos1a-eos1\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/model-loci/statef_model_1\\.0\\.model_pteh\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/context/contour\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/context/eos_grid\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/context/statef_grid\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/thermodynamic_consistency/fort\\.91$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/thermodynamic_consistency/statef_compare\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/nocoulomb/dgamma1$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/nocoulomb/dlnp$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/nocoulomb/statef_compare\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/context$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/oldversion_grid$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/2005Ap&SS\\.298\\.\\.135S\\.pdf$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/2007Ap&SS\\.307\\.\\.263C\\.pdf$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/astro-ph\\.9909168_eprint_submitted_to_High_Press\\.Res\\.16,331\\.pdf$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/.*ps.*$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/.*\\.pyc$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/convergence\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/convergence\\.dvi$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/convergence\\.log$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/body\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/head\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/prior-dvi\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/statef_grid-newversion$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/context\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/pureh_context\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/purehe_context\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/old$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/make\\.out.*$;^C:/hoffman/My Builds/testcase/utils/.*\\.flc$;^C:/hoffman/My Builds/testcase/utils/Makefile$;^C:/hoffman/My Builds/testcase/utils/Makefile\\.in$;^C:/hoffman/My Builds/testcase/utils/\\.deps$;^C:/hoffman/My Builds/testcase/utils/\\.libs$;^C:/hoffman/My Builds/testcase/utils/.*\\.la$;^C:/hoffman/My Builds/testcase/utils/.*\\.lo$;^C:/hoffman/My Builds/testcase/utils/free_eos_test$;^C:/hoffman/My Builds/testcase/utils/test_rosenbrock$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check/eff_check1\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check/eff_check3\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check/eff_check5\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check/eff_check8\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check/eff_checknr\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check/effo_check3\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check/effoo_check3\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence_20070613$;^C:/hoffman/My Builds/testcase/www/eospaper/text$;^C:/hoffman/My Builds/testcase/www/eospaper/cassisi_book_fig$;^C:/hoffman/My Builds/testcase/www/eospaper/1\\.1\\.0$;^C:/hoffman/My Builds/testcase/www/eospaper/2\\.0\\.0$;^C:/hoffman/My Builds/testcase/www/eospaper/1\\.2\\.0$;^C:/hoffman/My Builds/testcase/www/eospaper/1\\.3\\.0$;^C:/hoffman/My Builds/testcase/www/eospaper/1\\.4\\.0$;^C:/hoffman/My Builds/testcase/www/eospaper/1\\.5\\.0$;^C:/hoffman/My Builds/testcase/www/eospaper/1\\.6\\.0$;^C:/hoffman/My Builds/testcase/www/eospaper/figures$;^C:/hoffman/My Builds/testcase/www/eospaper/old$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/.*\\.ps.*$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/coulomb\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/coulomb\\.dvi$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/coulomb\\.log$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/.*\\.pyc$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/body\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/head\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/prior-dvi\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/context\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dh_dgamma1_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dh_dlnp_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dhtau_dgamma1_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dhtau_dlnp_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/nocoulomb_dgamma1_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/nocoulomb_dlnp_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/pteh_dgamma1_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/pteh_dlnp_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/make\\.out.*$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_JNR\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_Jseries\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_KNR\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_Kseries\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_check34\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_check35\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_check36\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_check44\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_check45\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_check46\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/statef_compare_1_exchange\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/statef_compare_2_exchange\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/statef_compare_linear_exchange\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/statef_compare_noexchange\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/statef_compare_nr_exchange\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/statef_compare_series_exchange\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/1_exchange_dgamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/noexchange_dlnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/nr_exchange_dgamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/series_exchange_dlnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/series_exchange_dgamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/linear_exchange_dlnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/2_exchange_dgamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/nr_exchange_dlnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/linear_exchange_dgamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/noexchange_dgamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/1_exchange_dlnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/2_exchange_dlnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/pureh_newversion_grid/.*\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/pureh_newversion_grid/.*\\.err$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dhtau/dgamma1$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dhtau/dlnp$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dhtau/statef_compare\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_0\\.1\\.model\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_0\\.3\\.model\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_1\\.0\\.model\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_1\\.0\\.model_linear\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_1\\.0\\.model_noexchange\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_1\\.0\\.model_nr\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_1\\.0\\.rgbtip\\.model\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_1\\.0\\.zahb\\.model\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/1\\.0\\.zahb\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/1\\.0\\.rgbtip\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/1\\.0\\.model_linear$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/1\\.0\\.model_noexchange$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/1\\.0\\.model_nr$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/0\\.1\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/1\\.0\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/0\\.3\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/context/contour\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/context/eos_grid\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/context/statef_grid\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/gong/delta\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/gong/m0085eos1gong\\.ascii$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/gong/m0085eos2gong\\.ascii$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/coulomb_adjust/coulomb_adjust\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/.*\\.ps$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/.*\\.pyc$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/head\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/body\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/prior-dvi\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/solution\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/solution\\.log$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/solution\\.dvi$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/rtc_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/tc_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/make\\.out.*$")
+set(CPACK_SOURCE_IGNORE_FILES "~$;\\.cvsignore$;^C:/hoffman/My Builds/testcase.*/CVS/;^C:/hoffman/My Builds/testcase.*/\\.svn/;^C:/hoffman/My Builds/testcase.*/sweigart/;^C:/hoffman/My Builds/testcase/www/eospaper/solution/eos2001/;^C:/hoffman/My Builds/testcase/www/eospaper/solution/opal_tables_new/;^C:/hoffman/My Builds/testcase/COPYING$;^C:/hoffman/My Builds/testcase/INSTALL$;^C:/hoffman/My Builds/testcase/Makefile$;^C:/hoffman/My Builds/testcase/Makefile\\.in$;^C:/hoffman/My Builds/testcase/.*\\.lo$;^C:/hoffman/My Builds/testcase/.*\\.la$;^C:/hoffman/My Builds/testcase/mkinstalldirs$;^C:/hoffman/My Builds/testcase/missing$;^C:/hoffman/My Builds/testcase/ltmain\\.sh$;^C:/hoffman/My Builds/testcase/libtool$;^C:/hoffman/My Builds/testcase/install-sh$;^C:/hoffman/My Builds/testcase/configure$;^C:/hoffman/My Builds/testcase/config\\.sub$;^C:/hoffman/My Builds/testcase/config\\.status$;^C:/hoffman/My Builds/testcase/config\\.log$;^C:/hoffman/My Builds/testcase/config\\.guess$;^C:/hoffman/My Builds/testcase/autom4te\\.cache$;^C:/hoffman/My Builds/testcase/aclocal\\.m4$;^C:/hoffman/My Builds/testcase/depcomp$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.075\\.model_cassisi_eos1_10$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.075\\.model_cassisi_eos1_10_corr$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.1\\.model_cassisi_eos1$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.1\\.model_cassisi_scvh$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.1\\.modelc$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.3\\.modelc$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/1\\.0\\.modelc$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/1\\.0\\.rgbtip\\.modelc$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/1\\.0\\.zahb\\.modelc$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.1\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/1\\.0\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.3\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.085\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/.*\\.ps$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange\\.mem$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange\\.log$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange\\.dvi$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange\\.tex\\.bak$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/head\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/body\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/prior-dvi\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j10\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j12\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j16\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j20\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j22\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j26\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j30\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j32\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j36\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/k10\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/k12\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/k20\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/k22\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/k30\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/k32\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/1_exchange_dgamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/1_exchange_dlnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/2_exchange_dgamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/2_exchange_dlnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/linear_exchange_dgamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/linear_exchange_dlnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/noexchange_dgamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/noexchange_dlnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/nr_exchange_dgamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/nr_exchange_dlnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/series_exchange_dgamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/series_exchange_dlnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_JNR_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_Jseries_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_KNR_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_Kseries_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check34_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check35_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check36_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check43_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check44_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check45_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check46_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check47_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check48_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/tc_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/.*\\.pyc$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/context\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/make\\.out.*$;^C:/hoffman/My Builds/testcase/www/Makefile$;^C:/hoffman/My Builds/testcase/www/Makefile\\.in$;^C:/hoffman/My Builds/testcase/src/.*\\.flc$;^C:/hoffman/My Builds/testcase/src/Makefile$;^C:/hoffman/My Builds/testcase/src/Makefile\\.in$;^C:/hoffman/My Builds/testcase/src/\\.deps$;^C:/hoffman/My Builds/testcase/src/\\.libs$;^C:/hoffman/My Builds/testcase/src/.*\\.la$;^C:/hoffman/My Builds/testcase/src/.*\\.lo$;^C:/hoffman/My Builds/testcase/src/make\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/statef.*\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/0\\.1\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/0\\.1\\.model_13$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/0\\.1\\.model_23$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/0\\.3\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/0\\.3\\.model_13$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/0\\.3\\.model_23$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/1\\.0\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/1\\.0\\.model_13$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/1\\.0\\.model_15$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/1\\.0\\.model_23$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/1\\.0\\.model_rel$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/hot_post_agb\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/rgb_tip\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/rgbtip\\.1\\.0\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/rgbtip\\.1\\.0\\.model_13$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/rgbtip\\.1\\.0\\.model_23$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/start_shellflash\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/white_dwarf\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/zahb\\.1\\.0\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/zahb\\.1\\.0\\.model_13$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/zahb\\.1\\.0\\.model_23$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/zahb\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dh/dgamma1$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dh/dlnp$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dh/statef_compare\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fermi_dirac_approx/15gamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fermi_dirac_approx/15lnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fermi_dirac_approx/23gamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fermi_dirac_approx/23lnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/thermodynamic_consistency/.*\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/thermodynamic_consistency/.*\\.results$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/pteh/dgamma1$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/pteh/dlnp$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/pteh/statef_compare\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/newversion_grid/.*\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/newversion_grid/.*\\.err$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/.*\\.ps$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/.*\\.pyc$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_fit\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_fit\\.dvi$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_fit\\.log$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/body\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/head\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/prior-dvi\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/3order_data\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/5order_data\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/8order_data\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check8_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check1_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check3_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check5_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/effo_check3_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/effoo_check3_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fda15gamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fda15lnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fda23gamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fda23lnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/tc_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/make\\.out.*$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/thermodynamic_consistency/statef_compare\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/thermodynamic_consistency/tc\\.results$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/opal_solar/opal_compare_model\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/opal_solar/opal_compare_solar\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/opal_solar/opal_solar\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/opal_solar/opal_solar_1995\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/opal_solar/statef_opal_model\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/opal_solar/statef_opal_model_1995\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/purehe_newversion_grid/.*\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/purehe_newversion_grid/.*\\.err$;^C:/hoffman/My Builds/testcase/include/Makefile\\.in$;^C:/hoffman/My Builds/testcase/include/Makefile$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/model-loci/0\\.1\\.model_pteh$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/model-loci/1\\.0\\.model_eos1a-eos1$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/model-loci/1\\.0\\.model_pteh$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/model-loci/statef_model_0\\.1\\.model_pteh\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/model-loci/statef_model_1\\.0\\.model_eos1a-eos1\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/model-loci/statef_model_1\\.0\\.model_pteh\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/context/contour\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/context/eos_grid\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/context/statef_grid\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/thermodynamic_consistency/fort\\.91$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/thermodynamic_consistency/statef_compare\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/nocoulomb/dgamma1$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/nocoulomb/dlnp$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/nocoulomb/statef_compare\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/context$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/oldversion_grid$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/2005Ap&SS\\.298\\.\\.135S\\.pdf$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/2007Ap&SS\\.307\\.\\.263C\\.pdf$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/astro-ph\\.9909168_eprint_submitted_to_High_Press\\.Res\\.16,331\\.pdf$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/.*ps.*$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/.*\\.pyc$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/convergence\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/convergence\\.dvi$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/convergence\\.log$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/body\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/head\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/prior-dvi\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/statef_grid-newversion$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/context\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/pureh_context\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/purehe_context\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/old$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/make\\.out.*$;^C:/hoffman/My Builds/testcase/utils/.*\\.flc$;^C:/hoffman/My Builds/testcase/utils/Makefile$;^C:/hoffman/My Builds/testcase/utils/Makefile\\.in$;^C:/hoffman/My Builds/testcase/utils/\\.deps$;^C:/hoffman/My Builds/testcase/utils/\\.libs$;^C:/hoffman/My Builds/testcase/utils/.*\\.la$;^C:/hoffman/My Builds/testcase/utils/.*\\.lo$;^C:/hoffman/My Builds/testcase/utils/free_eos_test$;^C:/hoffman/My Builds/testcase/utils/test_rosenbrock$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check/eff_check1\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check/eff_check3\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check/eff_check5\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check/eff_check8\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check/eff_checknr\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check/effo_check3\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check/effoo_check3\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence_20070613$;^C:/hoffman/My Builds/testcase/www/eospaper/text$;^C:/hoffman/My Builds/testcase/www/eospaper/cassisi_book_fig$;^C:/hoffman/My Builds/testcase/www/eospaper/1\\.1\\.0$;^C:/hoffman/My Builds/testcase/www/eospaper/2\\.0\\.0$;^C:/hoffman/My Builds/testcase/www/eospaper/1\\.2\\.0$;^C:/hoffman/My Builds/testcase/www/eospaper/1\\.3\\.0$;^C:/hoffman/My Builds/testcase/www/eospaper/1\\.4\\.0$;^C:/hoffman/My Builds/testcase/www/eospaper/1\\.5\\.0$;^C:/hoffman/My Builds/testcase/www/eospaper/1\\.6\\.0$;^C:/hoffman/My Builds/testcase/www/eospaper/figures$;^C:/hoffman/My Builds/testcase/www/eospaper/old$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/.*\\.ps.*$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/coulomb\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/coulomb\\.dvi$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/coulomb\\.log$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/.*\\.pyc$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/body\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/head\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/prior-dvi\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/context\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dh_dgamma1_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dh_dlnp_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dhtau_dgamma1_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dhtau_dlnp_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/nocoulomb_dgamma1_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/nocoulomb_dlnp_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/pteh_dgamma1_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/pteh_dlnp_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/make\\.out.*$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_JNR\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_Jseries\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_KNR\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_Kseries\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_check34\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_check35\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_check36\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_check44\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_check45\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_check46\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/statef_compare_1_exchange\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/statef_compare_2_exchange\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/statef_compare_linear_exchange\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/statef_compare_noexchange\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/statef_compare_nr_exchange\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/statef_compare_series_exchange\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/1_exchange_dgamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/noexchange_dlnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/nr_exchange_dgamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/series_exchange_dlnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/series_exchange_dgamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/linear_exchange_dlnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/2_exchange_dgamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/nr_exchange_dlnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/linear_exchange_dgamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/noexchange_dgamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/1_exchange_dlnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/2_exchange_dlnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/pureh_newversion_grid/.*\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/pureh_newversion_grid/.*\\.err$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dhtau/dgamma1$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dhtau/dlnp$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dhtau/statef_compare\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_0\\.1\\.model\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_0\\.3\\.model\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_1\\.0\\.model\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_1\\.0\\.model_linear\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_1\\.0\\.model_noexchange\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_1\\.0\\.model_nr\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_1\\.0\\.rgbtip\\.model\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_1\\.0\\.zahb\\.model\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/1\\.0\\.zahb\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/1\\.0\\.rgbtip\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/1\\.0\\.model_linear$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/1\\.0\\.model_noexchange$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/1\\.0\\.model_nr$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/0\\.1\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/1\\.0\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/0\\.3\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/context/contour\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/context/eos_grid\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/context/statef_grid\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/gong/delta\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/gong/m0085eos1gong\\.ascii$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/gong/m0085eos2gong\\.ascii$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/coulomb_adjust/coulomb_adjust\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/.*\\.ps$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/.*\\.pyc$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/head\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/body\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/prior-dvi\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/solution\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/solution\\.log$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/solution\\.dvi$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/rtc_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/tc_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/make\\.out.*$")
#
# Define a macro
#
-MACRO(ASSERT value msg)
- IF (NOT ${value})
- MESSAGE ("Assertion failure:" ${msg} )
- ENDIF (NOT ${value})
-ENDMACRO(ASSERT)
-
+macro(ASSERT value msg)
+ if (NOT ${value})
+ message ("Assertion failure:" ${msg} )
+ endif ()
+endmacro()
+
# invoke the macro
ASSERT(Complex_BINARY_DIR "The PROJECT command is broken")
#
# Define a var args macro, it must take two or four args
#
-MACRO(TEST_ARGC value1 value2)
- ADD_DEFINITIONS(${value1} ${value2})
- IF (${ARGC} MATCHES 4)
- ADD_DEFINITIONS(${ARGV2} ${ARGV3})
- ENDIF (${ARGC} MATCHES 4)
-ENDMACRO(TEST_ARGC)
-
+macro(TEST_ARGC value1 value2)
+ add_definitions(${value1} ${value2})
+ if (${ARGC} MATCHES 4)
+ add_definitions(${ARGV2} ${ARGV3})
+ endif ()
+endmacro()
+
# invoke the macro
TEST_ARGC(-DCMAKE_ARGV1 -DCMAKE_ARGV2 -DCMAKE_ARGV3 -DCMAKE_ARGV4)
-MACRO(TEST_VAR_ARG fa)
- IF("${ARGV}" MATCHES "^1;2;3$")
- MESSAGE(STATUS "ARGV works")
- ELSE("${ARGV}" MATCHES "^1;2;3$")
- MESSAGE(FATAL_ERROR "ARGV does not work; got \"${ARGV}\" instead of \"1;2;3\"")
- ENDIF("${ARGV}" MATCHES "^1;2;3$")
- IF("${ARGN}" MATCHES "^2;3$")
- MESSAGE(STATUS "ARGN works")
- ELSE("${ARGN}" MATCHES "^2;3$")
- MESSAGE(FATAL_ERROR "ARGV does not work; got \"${ARGN}\" instead of \"2;3\"")
- ENDIF("${ARGN}" MATCHES "^2;3$")
-ENDMACRO(TEST_VAR_ARG)
+macro(TEST_VAR_ARG fa)
+ if("${ARGV}" MATCHES "^1;2;3$")
+ message(STATUS "ARGV works")
+ else()
+ message(FATAL_ERROR "ARGV does not work; got \"${ARGV}\" instead of \"1;2;3\"")
+ endif()
+ if("${ARGN}" MATCHES "^2;3$")
+ message(STATUS "ARGN works")
+ else()
+ message(FATAL_ERROR "ARGV does not work; got \"${ARGN}\" instead of \"2;3\"")
+ endif()
+endmacro()
TEST_VAR_ARG(1 2 3)
# Floating-point comparison test.
-IF(2.4 LESS 2.4)
- MESSAGE(FATAL_ERROR "Failed: 2.4 LESS 2.4")
-ENDIF(2.4 LESS 2.4)
-IF(2.4 GREATER 2.4)
- MESSAGE(FATAL_ERROR "Failed: 2.4 GREATER 2.4")
-ENDIF(2.4 GREATER 2.4)
-IF(NOT 2.4 EQUAL 2.4)
- MESSAGE(FATAL_ERROR "Failed: NOT 2.4 EQUAL 2.4")
-ENDIF(NOT 2.4 EQUAL 2.4)
-
-IF(CMAKE_SYSTEM MATCHES "OSF1-V.*")
- IF(NOT CMAKE_COMPILER_IS_GNUCXX)
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -timplicit_local -no_implicit_include ")
- ENDIF(NOT CMAKE_COMPILER_IS_GNUCXX)
-ENDIF(CMAKE_SYSTEM MATCHES "OSF1-V.*")
-
-
-ADD_DEFINITIONS(-DCMAKE_IS_FUN)
-ADD_DEFINITIONS(-DCMAKE_IS_REALLY_FUN)
-SET_PROPERTY(DIRECTORY
+if(2.4 LESS 2.4)
+ message(FATAL_ERROR "Failed: 2.4 LESS 2.4")
+endif()
+if(2.4 GREATER 2.4)
+ message(FATAL_ERROR "Failed: 2.4 GREATER 2.4")
+endif()
+if(NOT 2.4 EQUAL 2.4)
+ message(FATAL_ERROR "Failed: NOT 2.4 EQUAL 2.4")
+endif()
+
+if(CMAKE_SYSTEM MATCHES "OSF1-V.*")
+ if(NOT CMAKE_COMPILER_IS_GNUCXX)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -timplicit_local -no_implicit_include ")
+ endif()
+endif()
+
+
+add_definitions(-DCMAKE_IS_FUN)
+add_definitions(-DCMAKE_IS_REALLY_FUN)
+set_property(DIRECTORY
PROPERTY COMPILE_DEFINITIONS_RELEASE
CMAKE_IS_FUN_IN_RELEASE_MODE
)
-SET(TEST_SEP "a b c")
-SEPARATE_ARGUMENTS(TEST_SEP)
+set(TEST_SEP "a b c")
+separate_arguments(TEST_SEP)
#
# Include vars from a file and from a cache
#
-IF (EXISTS ${Complex_SOURCE_DIR}/VarTests.cmake)
- INCLUDE(${Complex_SOURCE_DIR}/VarTests.cmake)
-ENDIF (EXISTS ${Complex_SOURCE_DIR}/VarTests.cmake)
-INCLUDE(fileshouldnotbehere OPTIONAL)
-LOAD_CACHE(${Complex_SOURCE_DIR}/Cache
+if (EXISTS ${Complex_SOURCE_DIR}/VarTests.cmake)
+ include(${Complex_SOURCE_DIR}/VarTests.cmake)
+endif ()
+include(fileshouldnotbehere OPTIONAL)
+load_cache(${Complex_SOURCE_DIR}/Cache
EXCLUDE
CACHE_TEST_VAR_EXCLUDED
INCLUDE_INTERNALS
CACHE_TEST_VAR_INTERNAL)
-LOAD_CACHE(${Complex_SOURCE_DIR}/Cache READ_WITH_PREFIX foo CACHE_TEST_VAR2)
-IF(${fooCACHE_TEST_VAR2} MATCHES bar)
- MESSAGE("Load cache worked: ${fooCACHE_TEST_VAR2}")
-ELSE(${fooCACHE_TEST_VAR2} MATCHES bar)
- MESSAGE(FATAL_ERROR "Load cache with prefix failed: ${fooCACHE_TEST_VAR2}")
-ENDIF(${fooCACHE_TEST_VAR2} MATCHES bar)
+load_cache(${Complex_SOURCE_DIR}/Cache READ_WITH_PREFIX foo CACHE_TEST_VAR2)
+if(${fooCACHE_TEST_VAR2} MATCHES bar)
+ message("Load cache worked: ${fooCACHE_TEST_VAR2}")
+else()
+ message(FATAL_ERROR "Load cache with prefix failed: ${fooCACHE_TEST_VAR2}")
+endif()
#
-# Specify include and lib dirs
+# Specify include and lib dirs
# (BEFORE is for coverage)
#
-INCLUDE_DIRECTORIES(
+include_directories(
Library
)
-INCLUDE_DIRECTORIES(BEFORE
+include_directories(BEFORE
${Complex_BINARY_DIR}
)
-INCLUDE_DIRECTORIES(SYSTEM Library/SystemDir)
+include_directories(SYSTEM Library/SystemDir)
-INCLUDE_REGULAR_EXPRESSION("^(cmTest|file|sharedFile|test).*$" "^cmMissing")
+include_regular_expression("^(cmTest|file|sharedFile|test).*$" "^cmMissing")
-LINK_DIRECTORIES(
+link_directories(
${Complex_BINARY_DIR}/Library
)
#
# check for SET CACHE FORCE
#
-SET(FORCE_TEST 1 CACHE STRING "a test")
-SET(FORCE_TEST 0 CACHE STRING "a test" FORCE)
+set(FORCE_TEST 1 CACHE STRING "a test")
+set(FORCE_TEST 0 CACHE STRING "a test" FORCE)
#
# Lib and exe path
#
-SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${Complex_BINARY_DIR}/lib/static")
-SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${Complex_BINARY_DIR}/lib")
-SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${Complex_BINARY_DIR}/bin")
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${Complex_BINARY_DIR}/lib/static")
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${Complex_BINARY_DIR}/lib")
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${Complex_BINARY_DIR}/bin")
-MESSAGE (Test " " escape " " semi-colon " " \; \;)
+message (Test " " escape " " semi-colon " " \; \;)
#
# Exec program (TODO: test a result)
# Increase coverage.
#
-MESSAGE("\nIgnore this message")
-OPTION(NO_EXEC_PROGRAM "Do not test EXEC_PROGRAM" 0)
-IF (NOT NO_EXEC_PROGRAM)
- EXEC_PROGRAM(${CMAKE_COMMAND} ARGS -E echo NO_EXEC_PROGRAM "${Complex_BINARY_DIR}")
-ELSE (NOT NO_EXEC_PROGRAM)
- MESSAGE("Set this option ON")
-ENDIF (NOT NO_EXEC_PROGRAM)
+message("\nIgnore this message")
+option(NO_EXEC_PROGRAM "Do not test EXEC_PROGRAM" 0)
+if (NOT NO_EXEC_PROGRAM)
+ exec_program(${CMAKE_COMMAND} ARGS -E echo NO_EXEC_PROGRAM "${Complex_BINARY_DIR}")
+else ()
+ message("Set this option ON")
+endif ()
-MARK_AS_ADVANCED(NO_EXEC_PROGRAM)
-MARK_AS_ADVANCED(CLEAR NO_EXEC_PROGRAM)
+mark_as_advanced(NO_EXEC_PROGRAM)
+mark_as_advanced(CLEAR NO_EXEC_PROGRAM)
# Execute a process. Add coverage for this command.
-EXECUTE_PROCESS(
+execute_process(
COMMAND ${CMAKE_COMMAND} -E echo "ABCDEFG"
OUTPUT_VARIABLE TEST_OUT
)
-IF("${TEST_OUT}" MATCHES "^ABCDEFG\n$")
-ELSE("${TEST_OUT}" MATCHES "^ABCDEFG\n$")
- MESSAGE(SEND_ERROR "EXECUTE_PROCESS output test failed: [${TEST_OUT}]")
-ENDIF("${TEST_OUT}" MATCHES "^ABCDEFG\n$")
+if("${TEST_OUT}" MATCHES "^ABCDEFG\n$")
+else()
+ message(SEND_ERROR "EXECUTE_PROCESS output test failed: [${TEST_OUT}]")
+endif()
# This test has some problems on UNIX systems. Disabling for now.
#
-# EXECUTE_PROCESS(
+# execute_process(
# COMMAND ${CMAKE_COMMAND} -E echo "ABCDEFG"
# COMMAND /process/does/not/exist
# OUTPUT_QUIET
# ERROR_QUIET
# RESULT_VARIABLE RESULT
# )
-# IF("${RESULT}" MATCHES "^0$")
-# MESSAGE(SEND_ERROR
+# if("${RESULT}" MATCHES "^0$")
+# message(SEND_ERROR
# "EXECUTE_PROCESS result test failed with RESULT=[${RESULT}]")
-# ELSE("${RESULT}" MATCHES "^0$")
-# MESSAGE(STATUS "EXECUTE_PROCESS result test passed with RESULT=[${RESULT}]")
-# ENDIF("${RESULT}" MATCHES "^0$")
+# else()
+# message(STATUS "EXECUTE_PROCESS result test passed with RESULT=[${RESULT}]")
+# endif()
#
# Create directory.
# The 'complex' executable will then test if this dir exists,
# sadly it won't be able to remove it.
#
-MAKE_DIRECTORY("${Complex_BINARY_DIR}/make_dir")
+make_directory("${Complex_BINARY_DIR}/make_dir")
#
# Test FIND_LIBARY
# Create a dummy empty lib
#
-CONFIGURE_FILE(
+configure_file(
${Complex_SOURCE_DIR}/Library/dummy
${Complex_BINARY_DIR}/Library/dummylib.lib
COPYONLY IMMEDIATE)
-FOREACH (ext ${CMAKE_SHLIB_SUFFIX};.so;.a;.sl
+foreach (ext ${CMAKE_SHLIB_SUFFIX};.so;.a;.sl
${CMAKE_SHARED_LIBRARY_SUFFIX}.2
${CMAKE_STATIC_LIBRARY_SUFFIX}.2)
- CONFIGURE_FILE(
+ configure_file(
${Complex_SOURCE_DIR}/Library/dummy
${Complex_BINARY_DIR}/Library/libdummylib${ext}
COPYONLY IMMEDIATE)
-ENDFOREACH (ext)
+endforeach ()
-FIND_LIBRARY(FIND_DUMMY_LIB
+find_library(FIND_DUMMY_LIB
dummylib
PATHS
${Complex_BINARY_DIR}/Library DOC "find dummy lib")
-FIND_LIBRARY(FIND_DUMMY_LIB
+find_library(FIND_DUMMY_LIB
NAMES dummylib dummylib2
PATHS
${Complex_BINARY_DIR}/Library DOC "find dummy lib")
@@ -221,106 +221,106 @@ FIND_LIBRARY(FIND_DUMMY_LIB
# This doesn't work for platforms that have a shared library and an import
# library, like Windows with .dll and .lib. Limit is to ".so" now because it's
# known to work there.
-IF(CMAKE_SHARED_LIBRARY_SUFFIX STREQUAL ".so")
- FIND_LIBRARY(FIND_DUMMY_SHLIB_VERSIONED
+if(CMAKE_SHARED_LIBRARY_SUFFIX STREQUAL ".so")
+ find_library(FIND_DUMMY_SHLIB_VERSIONED
NAMES libdummylib${CMAKE_SHARED_LIBRARY_SUFFIX}.2
PATHS ${Complex_BINARY_DIR}/Library
DOC "find versioned dummy shared lib"
NO_DEFAULT_PATH)
- IF(NOT FIND_DUMMY_SHLIB_VERSIONED MATCHES "/libdummylib${CMAKE_SHARED_LIBRARY_SUFFIX}.2")
- MESSAGE(SEND_ERROR "FIND_DUMMY_SHLIB_VERSIONED is not set correctly: "
+ if(NOT FIND_DUMMY_SHLIB_VERSIONED MATCHES "/libdummylib${CMAKE_SHARED_LIBRARY_SUFFIX}.2")
+ message(SEND_ERROR "FIND_DUMMY_SHLIB_VERSIONED is not set correctly: "
"${FIND_DUMMY_SHLIB_VERSIONED}")
- ENDIF()
-ENDIF()
+ endif()
+endif()
# Static library, should work everywhere
-FIND_LIBRARY(FIND_DUMMY_STLIB_VERSIONED
+find_library(FIND_DUMMY_STLIB_VERSIONED
NAMES libdummylib${CMAKE_STATIC_LIBRARY_SUFFIX}.2
PATHS ${Complex_BINARY_DIR}/Library
DOC "find versioned dummy static lib"
NO_DEFAULT_PATH)
-IF(NOT FIND_DUMMY_STLIB_VERSIONED MATCHES "/libdummylib${CMAKE_STATIC_LIBRARY_SUFFIX}.2")
- MESSAGE(SEND_ERROR "FIND_DUMMY_STLIB_VERSIONED is not set correctly: "
+if(NOT FIND_DUMMY_STLIB_VERSIONED MATCHES "/libdummylib${CMAKE_STATIC_LIBRARY_SUFFIX}.2")
+ message(SEND_ERROR "FIND_DUMMY_STLIB_VERSIONED is not set correctly: "
"${FIND_DUMMY_STLIB_VERSIONED}")
-ENDIF()
+endif()
#
-# Test SET_SOURCE_FILES_PROPERTIES
+# Test SET_SOURCE_FILES_PROPERTIES
#
-SET_SOURCE_FILES_PROPERTIES(nonexisting_file2
- GENERATED
- ABSTRACT
- WRAP_EXCLUDE
+set_source_files_properties(nonexisting_file2
+ GENERATED
+ ABSTRACT
+ WRAP_EXCLUDE
COMPILE_FLAGS "-foo -bar")
-GET_SOURCE_FILE_PROPERTY(FILE_HAS_ABSTRACT nonexisting_file2 ABSTRACT)
-GET_SOURCE_FILE_PROPERTY(FILE_HAS_WRAP_EXCLUDE nonexisting_file2 WRAP_EXCLUDE)
-GET_SOURCE_FILE_PROPERTY(FILE_COMPILE_FLAGS nonexisting_file2 COMPILE_FLAGS)
+get_source_file_property(FILE_HAS_ABSTRACT nonexisting_file2 ABSTRACT)
+get_source_file_property(FILE_HAS_WRAP_EXCLUDE nonexisting_file2 WRAP_EXCLUDE)
+get_source_file_property(FILE_COMPILE_FLAGS nonexisting_file2 COMPILE_FLAGS)
-SET_SOURCE_FILES_PROPERTIES(nonexisting_file3 PROPERTIES
+set_source_files_properties(nonexisting_file3 PROPERTIES
GENERATED 1
ABSTRACT 1
WRAP_EXCLUDE 1
COMPILE_FLAGS "-foo -bar")
-GET_SOURCE_FILE_PROPERTY(FILE_HAS_ABSTRACT nonexisting_file3 ABSTRACT)
-GET_SOURCE_FILE_PROPERTY(FILE_HAS_WRAP_EXCLUDE nonexisting_file3 WRAP_EXCLUDE)
-GET_SOURCE_FILE_PROPERTY(FILE_COMPILE_FLAGS nonexisting_file3 COMPILE_FLAGS)
+get_source_file_property(FILE_HAS_ABSTRACT nonexisting_file3 ABSTRACT)
+get_source_file_property(FILE_HAS_WRAP_EXCLUDE nonexisting_file3 WRAP_EXCLUDE)
+get_source_file_property(FILE_COMPILE_FLAGS nonexisting_file3 COMPILE_FLAGS)
#
# Test registry (win32)
# Create a file, put its path in a registry key, try to find the file in that
# path using that registry key, then remove the file and the key
#
-IF (WIN32)
- IF (NOT UNIX)
- SET(dir "${Complex_BINARY_DIR}/registry_dir")
- SET(file "registry_test_dummy")
- SET(hkey "HKEY_CURRENT_USER\\Software\\Kitware\\CMake\\Tests\\Complex;registry_test")
- CONFIGURE_FILE(
+if (WIN32)
+ if (NOT UNIX)
+ set(dir "${Complex_BINARY_DIR}/registry_dir")
+ set(file "registry_test_dummy")
+ set(hkey "HKEY_CURRENT_USER\\Software\\Kitware\\CMake\\Tests\\Complex;registry_test")
+ configure_file(
${Complex_SOURCE_DIR}/Library/dummy
"${dir}/${file}"
COPYONLY IMMEDIATE)
- EXEC_PROGRAM(${CMAKE_COMMAND} ARGS "-E write_regv \"${hkey}\" \"${dir}\"")
- FIND_PATH(REGISTRY_TEST_PATH
+ exec_program(${CMAKE_COMMAND} ARGS "-E write_regv \"${hkey}\" \"${dir}\"")
+ find_path(REGISTRY_TEST_PATH
${file}
"[${hkey}]" DOC "Registry_Test_Path")
- EXEC_PROGRAM(${CMAKE_COMMAND} ARGS "-E delete_regv \"${hkey}\"")
- EXEC_PROGRAM(${CMAKE_COMMAND} ARGS "-E remove \"${dir}/${file}\"")
- ENDIF (NOT UNIX)
-ENDIF (WIN32)
+ exec_program(${CMAKE_COMMAND} ARGS "-E delete_regv \"${hkey}\"")
+ exec_program(${CMAKE_COMMAND} ARGS "-E remove \"${dir}/${file}\"")
+ endif ()
+endif ()
#
# Test a set and a remove
#
-SET(REMOVE_STRING a b c d e f)
-SET(removeVar1 c e)
-REMOVE(REMOVE_STRING ${removeVar1} f)
+set(REMOVE_STRING a b c d e f)
+set(removeVar1 c e)
+remove(REMOVE_STRING ${removeVar1} f)
#
# Test an IF inside a FOREACH.
#
-FOREACH(x "a")
- IF(${x} MATCHES "a")
+foreach(x "a")
+ if(${x} MATCHES "a")
# Should always execute.
- SET(IF_INSIDE_FOREACH_THEN_EXECUTED 1)
- ELSE(${x} MATCHES "a")
+ set(IF_INSIDE_FOREACH_THEN_EXECUTED 1)
+ else()
# Should never execute.
- SET(IF_INSIDE_FOREACH_ELSE_EXECUTED 1)
- ENDIF(${x} MATCHES "a")
-ENDFOREACH(x)
+ set(IF_INSIDE_FOREACH_ELSE_EXECUTED 1)
+ endif()
+endforeach()
# test WHILE command
-SET (while_var 1)
-WHILE (while_var LESS 1000)
- SET(while_var ${while_var}0)
-ENDWHILE(while_var LESS 1000)
+set (while_var 1)
+while (while_var LESS 1000)
+ set(while_var ${while_var}0)
+endwhile()
-SET(SHOULD_BE_ZERO )
-SET(SHOULD_BE_ONE 1)
+set(SHOULD_BE_ZERO )
+set(SHOULD_BE_ONE 1)
-# test elseif functionality, the mess below tries to catch problem
+# test elseif functionality, the mess below tries to catch problem
# of clauses being executed early or late etc
set (RESULT 3)
if (RESULT EQUAL 1)
@@ -328,7 +328,7 @@ if (RESULT EQUAL 1)
set (ELSEIF_RESULT 1)
elseif (RESULT EQUAL 3)
set (ELSEIF_RESULT 1)
- endif (RESULT EQUAL 2)
+ endif ()
elseif (RESULT EQUAL 2)
set (ELSEIF_RESULT 1)
elseif (RESULT EQUAL 3)
@@ -337,25 +337,25 @@ elseif (RESULT EQUAL 3)
elseif (RESULT EQUAL 3)
if (NOT ELSEIF_RESULT EQUAL 1)
set (ELSEIF_RESULT 2)
- endif (NOT ELSEIF_RESULT EQUAL 1)
- endif (RESULT EQUAL 2)
+ endif ()
+ endif ()
elseif (RESULT EQUAL 4)
if (RESULT EQUAL 2)
set (ELSEIF_RESULT 1)
elseif (RESULT EQUAL 3)
set (ELSEIF_RESULT 1)
- endif (RESULT EQUAL 2)
-else (RESULT EQUAL 1)
+ endif ()
+else ()
if (RESULT EQUAL 2)
set (ELSEIF_RESULT 1)
elseif (RESULT EQUAL 3)
set (ELSEIF_RESULT 1)
- endif (RESULT EQUAL 2)
-endif (RESULT EQUAL 1)
+ endif ()
+endif ()
if (NOT ELSEIF_RESULT EQUAL 2)
set (ELSEIF_RESULT 0)
-endif (NOT ELSEIF_RESULT EQUAL 2)
+endif ()
# test handling of parenthetical groups in conditionals
if (2 GREATER 1 AND (4 LESS 3 OR 5 LESS 6) AND NOT (7 GREATER 8))
@@ -364,43 +364,43 @@ endif()
#
-# Configure file
+# Configure file
# (plug vars to #define so that they can be tested)
#
-CONFIGURE_FILE(
+configure_file(
${Complex_SOURCE_DIR}/cmTestConfigure.h.in
${Complex_BINARY_DIR}/cmTestConfigure.h)
-SET(STRING_WITH_QUOTES "\"hello world\"")
+set(STRING_WITH_QUOTES "\"hello world\"")
# test CONFIGURE_FILE with ESCAPE_QUOTES on
-CONFIGURE_FILE(
+configure_file(
${Complex_SOURCE_DIR}/cmTestConfigureEscape.h.in
${Complex_BINARY_DIR}/cmTestConfigureEscape.h ESCAPE_QUOTES)
# Test regular expression commands.
-STRING(REGEX MATCH "b" RESULT "abc")
-IF(NOT RESULT)
- MESSAGE(SEND_ERROR "STRING(REGEX MATCH ... ) test failed.")
-ENDIF(NOT RESULT)
-STRING(REGEX MATCHALL "b" RESULT "abcb")
-IF(NOT RESULT)
- MESSAGE(SEND_ERROR "STRING(REGEX MATCHALL ... ) test failed.")
-ENDIF(NOT RESULT)
-STRING(REGEX REPLACE ".([bd])." "[\\1]" RESULT "a(b)c(d)e")
-IF("x${RESULT}" MATCHES "^xa\\[b\\]c\\[d\\]e$")
- SET(STRING_REGEX_PASSED 1)
-ENDIF("x${RESULT}" MATCHES "^xa\\[b\\]c\\[d\\]e$")
-IF(NOT STRING_REGEX_PASSED)
- MESSAGE(SEND_ERROR
- "STRING(REGEX REPLACE ... ) test failed (\"${RESULT}\" v. \"a[b]c[d]e\")")
-ENDIF(NOT STRING_REGEX_PASSED)
+string(REGEX MATCH "b" RESULT "abc")
+if(NOT RESULT)
+ message(SEND_ERROR "string(REGEX MATCH ... ) test failed.")
+endif()
+string(REGEX MATCHALL "b" RESULT "abcb")
+if(NOT RESULT)
+ message(SEND_ERROR "string(REGEX MATCHALL ... ) test failed.")
+endif()
+string(REGEX REPLACE ".([bd])." "[\\1]" RESULT "a(b)c(d)e")
+if("x${RESULT}" MATCHES "^xa\\[b\\]c\\[d\\]e$")
+ set(STRING_REGEX_PASSED 1)
+endif()
+if(NOT STRING_REGEX_PASSED)
+ message(SEND_ERROR
+ "string(REGEX REPLACE ... ) test failed (\"${RESULT}\" v. \"a[b]c[d]e\")")
+endif()
#
# Create the libs and the main exe
#
-ADD_SUBDIRECTORY(Library)
-ADD_SUBDIRECTORY(Executable)
-SUBDIR_DEPENDS(Executable Library)
-EXPORT_LIBRARY_DEPENDENCIES(${Complex_BINARY_DIR}/ComplexLibraryDepends.cmake)
-INCLUDE(${Complex_BINARY_DIR}/ComplexLibraryDepends.cmake OPTIONAL)
+add_subdirectory(Library)
+add_subdirectory(Executable)
+subdir_depends(Executable Library)
+export_library_dependencies(${Complex_BINARY_DIR}/ComplexLibraryDepends.cmake)
+include(${Complex_BINARY_DIR}/ComplexLibraryDepends.cmake OPTIONAL)
diff --git a/Tests/Complex/Executable/CMakeLists.txt b/Tests/Complex/Executable/CMakeLists.txt
index 345836257..432dbf890 100644
--- a/Tests/Complex/Executable/CMakeLists.txt
+++ b/Tests/Complex/Executable/CMakeLists.txt
@@ -1,116 +1,116 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 1.3)
+cmake_minimum_required(VERSION 1.3)
#
-# Create exe.
+# Create exe.
#
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DTEST_CXX_FLAGS")
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DTEST_C_FLAGS")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DTEST_CXX_FLAGS")
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DTEST_C_FLAGS")
# Create an imported target for if(TARGET) test below.
-ADD_LIBRARY(ExeImportedTarget UNKNOWN IMPORTED)
+add_library(ExeImportedTarget UNKNOWN IMPORTED)
# Test if(TARGET) command.
-IF(NOT TARGET CMakeTestLibrary)
- MESSAGE(FATAL_ERROR "IF(NOT TARGET CMakeTestLibrary) returned true!")
-ENDIF(NOT TARGET CMakeTestLibrary)
-IF(NOT TARGET ExeImportedTarget)
- MESSAGE(FATAL_ERROR "IF(NOT TARGET ExeImportedTarget) returned true!")
-ENDIF(NOT TARGET ExeImportedTarget)
-IF(TARGET LibImportedTarget)
- MESSAGE(FATAL_ERROR "IF(TARGET LibImportedTarget) returned true!")
-ENDIF(TARGET LibImportedTarget)
-IF(TARGET NotATarget)
- MESSAGE(FATAL_ERROR "IF(TARGET NotATarget) returned true!")
-ENDIF(TARGET NotATarget)
-
- # Use LINK_LIBRARIES instead of TARGET_LINK_LIBRARIES to
-SET(COMPLEX_LIBS CMakeTestLibrary;CMakeTestLibraryShared;CMakeTestCLibraryShared)
-LINK_LIBRARIES(${COMPLEX_LIBS})
+if(NOT TARGET CMakeTestLibrary)
+ message(FATAL_ERROR "if(NOT TARGET CMakeTestLibrary) returned true!")
+endif()
+if(NOT TARGET ExeImportedTarget)
+ message(FATAL_ERROR "if(NOT TARGET ExeImportedTarget) returned true!")
+endif()
+if(TARGET LibImportedTarget)
+ message(FATAL_ERROR "if(TARGET LibImportedTarget) returned true!")
+endif()
+if(TARGET NotATarget)
+ message(FATAL_ERROR "if(TARGET NotATarget) returned true!")
+endif()
+
+ # Use LINK_LIBRARIES instead of TARGET_LINK_LIBRARIES to
+set(COMPLEX_LIBS CMakeTestLibrary;CMakeTestLibraryShared;CMakeTestCLibraryShared)
+link_libraries(${COMPLEX_LIBS})
# Test forcing a .cxx file to not build.
-SET_SOURCE_FILES_PROPERTIES(complex_nobuild.cxx PROPERTIES
+set_source_files_properties(complex_nobuild.cxx PROPERTIES
HEADER_FILE_ONLY 1)
# Test forcing a .c file to not build.
# This makes sure a mixed language library is created
# with header file only sources
-SET_SOURCE_FILES_PROPERTIES(complex_nobuild.c PROPERTIES
+set_source_files_properties(complex_nobuild.c PROPERTIES
HEADER_FILE_ONLY 1)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
-ADD_EXECUTABLE(A A.cxx A.hh A.h A.txt)
-ADD_CUSTOM_COMMAND(OUTPUT Aout.h COMMAND A > Aout.h VERBATIM)
-ADD_EXECUTABLE(complex complex testcflags.c Aout.h)
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+add_executable(A A.cxx A.hh A.h A.txt)
+add_custom_command(OUTPUT Aout.h COMMAND A > Aout.h VERBATIM)
+add_executable(complex complex testcflags.c Aout.h)
# Sub1/NameConflictTest.c Sub2/NameConflictTest.c)
-ADD_EXECUTABLE(complex.file complex.file.cxx complex_nobuild.cxx
+add_executable(complex.file complex.file.cxx complex_nobuild.cxx
complex_nobuild.c)
-IF (UNIX)
- TARGET_LINK_LIBRARIES(complex ${CMAKE_DL_LIBS})
-ELSE(UNIX)
- IF (NOT BORLAND)
- IF(NOT MINGW)
- TARGET_LINK_LIBRARIES(complex rpcrt4.lib)
- ENDIF(NOT MINGW)
- ENDIF(NOT BORLAND)
-ENDIF (UNIX)
+if (UNIX)
+ target_link_libraries(complex ${CMAKE_DL_LIBS})
+else()
+ if (NOT BORLAND)
+ if(NOT MINGW)
+ target_link_libraries(complex rpcrt4.lib)
+ endif()
+ endif()
+endif ()
# Test linking to static lib when a shared lib has the same name.
-IF(CMAKE_EXE_LINK_STATIC_CXX_FLAGS)
- ADD_DEFINITIONS(-DCOMPLEX_TEST_LINK_STATIC)
- TARGET_LINK_LIBRARIES(complex CMakeTestLinkStatic)
-ENDIF(CMAKE_EXE_LINK_STATIC_CXX_FLAGS)
+if(CMAKE_EXE_LINK_STATIC_CXX_FLAGS)
+ add_definitions(-DCOMPLEX_TEST_LINK_STATIC)
+ target_link_libraries(complex CMakeTestLinkStatic)
+endif()
# can we get the path to a source file
-GET_SOURCE_FILE_PROPERTY(A_LOCATION A.cxx LOCATION)
-IF ("${A_LOCATION}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}/A.cxx")
- ADD_DEFINITIONS(-DCMAKE_FOUND_ACXX)
-ENDIF ("${A_LOCATION}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}/A.cxx")
+get_source_file_property(A_LOCATION A.cxx LOCATION)
+if ("${A_LOCATION}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}/A.cxx")
+ add_definitions(-DCMAKE_FOUND_ACXX)
+endif ()
# get the directory parent
-GET_DIRECTORY_PROPERTY(P_VALUE PARENT_DIRECTORY)
-IF ("${P_VALUE}" STREQUAL "${CMAKE_SOURCE_DIR}")
- ADD_DEFINITIONS(-DCMAKE_FOUND_PARENT)
-ENDIF ("${P_VALUE}" STREQUAL "${CMAKE_SOURCE_DIR}")
+get_directory_property(P_VALUE PARENT_DIRECTORY)
+if ("${P_VALUE}" STREQUAL "${CMAKE_SOURCE_DIR}")
+ add_definitions(-DCMAKE_FOUND_PARENT)
+endif ()
# get the stack of listfiles
-INCLUDE(Included.cmake)
-IF ("${LF_VALUE}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt;${CMAKE_CURRENT_SOURCE_DIR}/Included.cmake")
- ADD_DEFINITIONS(-DCMAKE_FOUND_LISTFILE_STACK)
-ENDIF ("${LF_VALUE}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt;${CMAKE_CURRENT_SOURCE_DIR}/Included.cmake")
+include(Included.cmake)
+if ("${LF_VALUE}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt;${CMAKE_CURRENT_SOURCE_DIR}/Included.cmake")
+ add_definitions(-DCMAKE_FOUND_LISTFILE_STACK)
+endif ()
# Test add/remove definitions.
-ADD_DEFINITIONS(
+add_definitions(
-DCOMPLEX_DEFINED_PRE
-DCOMPLEX_DEFINED
-DCOMPLEX_DEFINED_POST
-DCOMPLEX_DEFINED
)
-REMOVE_DEFINITIONS(-DCOMPLEX_DEFINED)
+remove_definitions(-DCOMPLEX_DEFINED)
# Test pre-build/pre-link/post-build rules for an executable.
-ADD_CUSTOM_COMMAND(TARGET complex PRE_BUILD
+add_custom_command(TARGET complex PRE_BUILD
COMMAND ${CREATE_FILE_EXE}
ARGS "${Complex_BINARY_DIR}/Executable/prebuild.txt")
-ADD_CUSTOM_COMMAND(TARGET complex PRE_BUILD
+add_custom_command(TARGET complex PRE_BUILD
COMMAND ${CREATE_FILE_EXE}
ARGS "${Complex_BINARY_DIR}/Executable/prelink.txt")
-ADD_CUSTOM_COMMAND(TARGET complex POST_BUILD
+add_custom_command(TARGET complex POST_BUILD
COMMAND ${CREATE_FILE_EXE}
ARGS "${Complex_BINARY_DIR}/Executable/postbuild.txt")
-ADD_CUSTOM_COMMAND(TARGET complex POST_BUILD
+add_custom_command(TARGET complex POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy
"${Complex_BINARY_DIR}/Executable/postbuild.txt"
"${Complex_BINARY_DIR}/Executable/postbuild2.txt")
-SET_SOURCE_FILES_PROPERTIES(complex
+set_source_files_properties(complex
COMPILE_FLAGS
"-DFILE_HAS_EXTRA_COMPILE_FLAGS"
#" -DFILE_DEFINE_STRING=\\\"hello\\\""
OBJECT_DEPENDS ${Complex_BINARY_DIR}/cmTestGeneratedHeader.h
)
-SET_TARGET_PROPERTIES(complex PROPERTIES COMPILE_FLAGS "-DCOMPLEX_TARGET_FLAG")
-ADD_CUSTOM_COMMAND(
+set_target_properties(complex PROPERTIES COMPILE_FLAGS "-DCOMPLEX_TARGET_FLAG")
+add_custom_command(
TARGET complex
SOURCE ${Complex_SOURCE_DIR}/cmTestGeneratedHeader.h.in
COMMAND ${CMAKE_COMMAND}
@@ -121,18 +121,18 @@ ADD_CUSTOM_COMMAND(
)
# Test creating an executable that is not built by default.
-ADD_EXECUTABLE(notInAllExe EXCLUDE_FROM_ALL notInAllExe.cxx)
-TARGET_LINK_LIBRARIES(notInAllExe notInAllLib)
+add_executable(notInAllExe EXCLUDE_FROM_ALL notInAllExe.cxx)
+target_link_libraries(notInAllExe notInAllLib)
# Test user-value flag mapping for the VS IDE.
-IF(MSVC)
- SET_TARGET_PROPERTIES(notInAllExe PROPERTIES
+if(MSVC)
+ set_target_properties(notInAllExe PROPERTIES
LINK_FLAGS "/NODEFAULTLIB:LIBC;LIBCMT;MSVCRT")
-ENDIF(MSVC)
+endif()
# Test creating a custom target that builds not-in-all targets.
-ADD_CUSTOM_TARGET(notInAllCustom)
-ADD_DEPENDENCIES(notInAllCustom notInAllExe)
+add_custom_target(notInAllCustom)
+add_dependencies(notInAllCustom notInAllExe)
#
# Output the files required by 'complex' to a file.
@@ -141,30 +141,30 @@ ADD_DEPENDENCIES(notInAllCustom notInAllExe)
# has no side-effects on the current Makefile (duplicated source file
# due to source list expansion done twice).
#
-ADD_SUBDIRECTORY(Temp)
+add_subdirectory(Temp)
-IF(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_INCLUDE_SYSTEM_FLAG_CXX)
- ADD_EXECUTABLE(testSystemDir testSystemDir.cxx)
- SET_TARGET_PROPERTIES(testSystemDir PROPERTIES COMPILE_FLAGS "-Werror")
-ENDIF(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_INCLUDE_SYSTEM_FLAG_CXX)
+if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_INCLUDE_SYSTEM_FLAG_CXX)
+ add_executable(testSystemDir testSystemDir.cxx)
+ set_target_properties(testSystemDir PROPERTIES COMPILE_FLAGS "-Werror")
+endif()
#
# Extra coverage.Not used.
#
-INSTALL_TARGETS(/tmp complex)
-INSTALL_PROGRAMS(/tmp complex)
+install_targets(/tmp complex)
+install_programs(/tmp complex)
-CONFIGURE_FILE(
+configure_file(
${Complex_SOURCE_DIR}/Executable/cmVersion.h.in
${Complex_BINARY_DIR}/cmVersion.h)
-SOURCE_GROUP(A_GROUP ".cxx")
-SOURCE_GROUP(B_GROUP REGULAR_EXPRESSION "cxx")
-SOURCE_GROUP(C_GROUP FILES complex.cxx)
+source_group(A_GROUP ".cxx")
+source_group(B_GROUP REGULAR_EXPRESSION "cxx")
+source_group(C_GROUP FILES complex.cxx)
-FILE(WRITE ${Complex_BINARY_DIR}/A/libA.a "test")
-FILE(WRITE ${Complex_BINARY_DIR}/A/libC.a "test")
-FILE(WRITE ${Complex_BINARY_DIR}/B/libB.a "test")
-FILE(WRITE ${Complex_BINARY_DIR}/B/libA.a "test")
-FILE(WRITE ${Complex_BINARY_DIR}/C/libC.a "test")
-FILE(WRITE ${Complex_BINARY_DIR}/C/libB.a "test")
+file(WRITE ${Complex_BINARY_DIR}/A/libA.a "test")
+file(WRITE ${Complex_BINARY_DIR}/A/libC.a "test")
+file(WRITE ${Complex_BINARY_DIR}/B/libB.a "test")
+file(WRITE ${Complex_BINARY_DIR}/B/libA.a "test")
+file(WRITE ${Complex_BINARY_DIR}/C/libC.a "test")
+file(WRITE ${Complex_BINARY_DIR}/C/libB.a "test")
diff --git a/Tests/Complex/Executable/Included.cmake b/Tests/Complex/Executable/Included.cmake
index 2d1ea3e8c..520a68be1 100644
--- a/Tests/Complex/Executable/Included.cmake
+++ b/Tests/Complex/Executable/Included.cmake
@@ -1,2 +1,2 @@
-GET_DIRECTORY_PROPERTY(LF_VALUE LISTFILE_STACK)
+get_directory_property(LF_VALUE LISTFILE_STACK)
diff --git a/Tests/Complex/Executable/Temp/CMakeLists.txt b/Tests/Complex/Executable/Temp/CMakeLists.txt
index f00955029..041fcff20 100644
--- a/Tests/Complex/Executable/Temp/CMakeLists.txt
+++ b/Tests/Complex/Executable/Temp/CMakeLists.txt
@@ -3,6 +3,6 @@
# The 'complex' executable will then test if this file exists and remove it.
# The contents of this file is not tested (absolute paths).
#
-OUTPUT_REQUIRED_FILES(
- ${Complex_SOURCE_DIR}/Executable/complex.cxx
- ${Complex_BINARY_DIR}/Executable/Temp/complex-required.txt)
+output_required_files(
+ ${Complex_SOURCE_DIR}/Executable/complex.cxx
+ ${Complex_BINARY_DIR}/Executable/Temp/complex-required.txt)
diff --git a/Tests/Complex/Executable/complex.cxx b/Tests/Complex/Executable/complex.cxx
index 1901d9914..27d70adc8 100644
--- a/Tests/Complex/Executable/complex.cxx
+++ b/Tests/Complex/Executable/complex.cxx
@@ -33,7 +33,7 @@ int cm_failed = 0;
void cmFailed(const char* Message, const char* m2= "", const char* m3 = "")
{
- std::cout << "FAILED: " << Message << m2 << m3 << "\n";
+ std::cout << "FAILED: " << Message << m2 << m3 << "\n";
cm_failed++;
}
@@ -41,7 +41,7 @@ void cmFailed(const char* Message, const char* m2= "", const char* m3 = "")
void cmPassed(const char* Message, const char* m2="")
{
- std::cout << "Passed: " << Message << m2 << "\n";
+ std::cout << "Passed: " << Message << m2 << "\n";
cm_passed++;
}
@@ -67,7 +67,7 @@ void cmPassed(const char* Message, const char* m2="")
// ======================================================================
-void TestAndRemoveFile(const char* filename)
+void TestAndRemoveFile(const char* filename)
{
struct stat st;
if(stat(filename, &st) < 0)
@@ -89,7 +89,7 @@ void TestAndRemoveFile(const char* filename)
// ======================================================================
-void TestDir(const char* filename)
+void TestDir(const char* filename)
{
struct stat st;
if(stat(filename, &st) < 0 || !S_ISDIR(st.st_mode))
@@ -113,7 +113,7 @@ void ForceStringUse()
std::string cachetest = CACHE_TEST_VAR_INTERNAL;
v.push_back(cachetest);
v2 = v;
- std::string x(5,'x');
+ std::string x(5,'x');
char buff[5];
x.copy(buff, 1, 0);
x[0] = 'a';
@@ -165,7 +165,7 @@ int main()
#else
cmPassed("COMPILE_FLAGS did work with SET_TARGET_PROPERTIES");
#endif
-
+
#ifdef ELSEIF_RESULT
cmPassed("ELSEIF did work");
#else
@@ -228,8 +228,8 @@ int main()
#else
cmPassed("CMAKE_IS_FUN is defined.");
#endif
-
-#if defined(CMAKE_ARGV1) && defined(CMAKE_ARGV2) && defined(CMAKE_ARGV3) && defined(CMAKE_ARGV4)
+
+#if defined(CMAKE_ARGV1) && defined(CMAKE_ARGV2) && defined(CMAKE_ARGV3) && defined(CMAKE_ARGV4)
cmPassed("Variable args for MACROs are working.");
#else
cmFailed("Variable args for MACROs are failing.");
@@ -250,7 +250,7 @@ int main()
#else
cmPassed("CMake found the parent directory properly");
#endif
-
+
// ----------------------------------------------------------------------
// Test GET_DIRECTORY_PROPERTY for listfiles
#ifndef CMAKE_FOUND_LISTFILE_STACK
@@ -258,7 +258,7 @@ int main()
#else
cmPassed("CMake found the listfile stack properly");
#endif
-
+
// ----------------------------------------------------------------------
// Test SET, VARIABLE_REQUIRES
@@ -267,38 +267,38 @@ int main()
#else
cmPassed("SHOULD_NOT_BE_DEFINED is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED is defined.");
#endif
-
+
#ifndef ONE_VAR
cmFailed("cmakedefine is broken, ONE_VAR is not defined.");
#else
cmPassed("ONE_VAR is defined.");
#endif
-
+
#ifndef ONE_VAR_IS_DEFINED
cmFailed("cmakedefine, SET or VARIABLE_REQUIRES is broken, "
"ONE_VAR_IS_DEFINED is not defined.");
#else
cmPassed("ONE_VAR_IS_DEFINED is defined.");
#endif
-
+
#ifdef ZERO_VAR
cmFailed("cmakedefine is broken, ZERO_VAR is defined.");
#else
cmPassed("ZERO_VAR is not defined.");
#endif
-
+
#ifndef STRING_VAR
cmFailed("the CONFIGURE_FILE command is broken, STRING_VAR is not defined.");
#else
if(strcmp(STRING_VAR, "CMake is great") != 0)
{
- cmFailed("the SET or CONFIGURE_FILE command is broken. STRING_VAR == ",
+ cmFailed("the SET or CONFIGURE_FILE command is broken. STRING_VAR == ",
STRING_VAR);
}
else
@@ -315,145 +315,145 @@ int main()
#else
cmPassed("SHOULD_NOT_BE_DEFINED_NOT is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_NOT
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_NOT is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_NOT is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_NOT2
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_NOT2 is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_NOT2 is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_NOT2
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_NOT2 is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_NOT2 is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_AND
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_AND is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_AND is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_AND
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_AND is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_AND is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_AND2
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_AND2 is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_AND2 is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_AND2
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_AND2 is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_AND2 is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_OR
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_OR is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_OR is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_OR
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_OR is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_OR is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_OR2
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_OR2 is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_OR2 is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_OR2
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_OR2 is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_OR2 is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_MATCHES
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_MATCHES is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_MATCHES is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_MATCHES
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_MATCHES is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_MATCHES is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_MATCHES2
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_MATCHES2 is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_MATCHES2 is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_MATCHES2
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_MATCHES2 is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_MATCHES2 is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_COMMAND
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_COMMAND is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_COMMAND is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_COMMAND
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_COMMAND is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_COMMAND is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_COMMAND2
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_COMMAND2 is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_COMMAND2 is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_COMMAND2
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_COMMAND2 is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_COMMAND2 is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_EXISTS
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_EXISTS is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_EXISTS is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_EXISTS
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_EXISTS is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_EXISTS is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_EXISTS2
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_EXISTS2 is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_EXISTS2 is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_EXISTS2
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_EXISTS2 is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_EXISTS2 is defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_IS_DIRECTORY
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_IS_DIRECTORY is not defined.\n");
#else
@@ -471,31 +471,31 @@ int main()
#else
cmPassed("SHOULD_NOT_BE_DEFINED_LESS is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_LESS
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_LESS is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_LESS is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_LESS2
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_LESS2 is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_LESS2 is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_LESS2
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_LESS2 is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_LESS2 is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_GREATER
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_GREATER is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_GREATER is not defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_EQUAL
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_EQUAL is defined.");
#else
@@ -513,67 +513,67 @@ int main()
#else
cmPassed("SHOULD_BE_DEFINED_GREATER is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_GREATER2
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_GREATER2 is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_GREATER2 is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_GREATER2
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_GREATER2 is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_GREATER2 is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_STRLESS
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_STRLESS is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_STRLESS is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_STRLESS
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_STRLESS is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_STRLESS is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_STRLESS2
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_STRLESS2 is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_STRLESS2 is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_STRLESS2
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_STRLESS2 is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_STRLESS2 is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_STRGREATER
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_STRGREATER is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_STRGREATER is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_STRGREATER
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_STRGREATER is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_STRGREATER is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_STRGREATER2
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_STRGREATER2 is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_STRGREATER2 is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_STRGREATER2
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_STRGREATER2 is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_STRGREATER2 is defined.");
#endif
-
+
// ----------------------------------------------------------------------
// Test FOREACH
@@ -624,7 +624,7 @@ int main()
// ----------------------------------------------------------------------
// Test WHILE
-
+
if(WHILE_VALUE != 1000)
{
cmFailed("WHILE command is not working");
@@ -814,7 +814,7 @@ int main()
// only created during a build.
TestAndRemoveFile(BINARY_DIR "/Library/custom_target1.txt");
-
+
// ----------------------------------------------------------------------
// A directory has been created.
@@ -890,7 +890,7 @@ int main()
#else
if(strcmp(FILE_COMPILE_FLAGS, "-foo -bar") != 0)
{
- cmFailed("the SET_SOURCE_FILES_PROPERTIES or CONFIGURE_FILE command is broken. FILE_COMPILE_FLAGS == ",
+ cmFailed("the SET_SOURCE_FILES_PROPERTIES or CONFIGURE_FILE command is broken. FILE_COMPILE_FLAGS == ",
FILE_COMPILE_FLAGS);
}
else
@@ -908,7 +908,7 @@ int main()
std::cout << "REGISTRY_TEST_PATH == " << REGISTRY_TEST_PATH << "\n";
if(stricmp(REGISTRY_TEST_PATH, BINARY_DIR "/registry_dir") != 0)
{
- cmFailed("the 'read registry value' function or CONFIGURE_FILE command is broken. REGISTRY_TEST_PATH == ",
+ cmFailed("the 'read registry value' function or CONFIGURE_FILE command is broken. REGISTRY_TEST_PATH == ",
REGISTRY_TEST_PATH, " is not " BINARY_DIR "/registry_dir");
}
else
@@ -937,7 +937,7 @@ int main()
{
cmFailed("REMOVE is not working");
}
-
+
// ----------------------------------------------------------------------
// Test SEPARATE_ARGUMENTS
if(strcmp("a;b;c", TEST_SEP) == 0)
@@ -948,7 +948,7 @@ int main()
{
cmFailed("SEPARATE_ARGUMENTS is not working");
}
-
+
// ----------------------------------------------------------------------
// Test Escape Quotes
if(strcmp("\"hello world\"", STRING_WITH_QUOTES) == 0)
@@ -959,8 +959,8 @@ int main()
{
cmFailed("ESCAPE_QUOTES is not working");
}
-
-
+
+
// ----------------------------------------------------------------------
// Test if IF command inside a FOREACH works.
#if defined(IF_INSIDE_FOREACH_THEN_EXECUTED) && !defined(IF_INSIDE_FOREACH_ELSE_EXECUTED)
@@ -981,7 +981,7 @@ int main()
else
{
cmFailed("cmakedefine01 is not working for 0");
- }
+ }
if(SHOULD_BE_ONE == 1)
{
cmPassed("cmakedefine01 is working for 1");
@@ -989,7 +989,7 @@ int main()
else
{
cmFailed("cmakedefine01 is not working for 1");
- }
+ }
#ifdef FORCE_TEST
cmFailed("CMake SET CACHE FORCE");
#else
diff --git a/Tests/Complex/Executable/testcflags.c b/Tests/Complex/Executable/testcflags.c
index f4d584844..6c2dd5db3 100644
--- a/Tests/Complex/Executable/testcflags.c
+++ b/Tests/Complex/Executable/testcflags.c
@@ -18,7 +18,7 @@ int TestCFlags(char* m)
return 0;
#endif
/* TEST_C_FLAGS should be defined in a c file */
-#ifndef TEST_C_FLAGS
+#ifndef TEST_C_FLAGS
strcpy(m, "CMake CMAKE_C_FLAGS (TEST_C_FLAGS) not found in c file.");
return 0;
#endif
diff --git a/Tests/Complex/Library/CMakeLists.txt b/Tests/Complex/Library/CMakeLists.txt
index c8efc3022..5c430523e 100644
--- a/Tests/Complex/Library/CMakeLists.txt
+++ b/Tests/Complex/Library/CMakeLists.txt
@@ -1,90 +1,90 @@
-REMOVE_DEFINITIONS(-DCMAKE_IS_REALLY_FUN)
+remove_definitions(-DCMAKE_IS_REALLY_FUN)
#
# Small utility used to create file
# UTILITY_SOURCE is used for coverage and for getting the exact name
# of the executable.
#
-UTILITY_SOURCE(CREATE_FILE_EXE create_file "." create_file.cxx)
-ADD_EXECUTABLE(create_file create_file.cxx)
-SET_TARGET_PROPERTIES(create_file PROPERTIES RUNTIME_OUTPUT_DIRECTORY ".")
+utility_source(CREATE_FILE_EXE create_file "." create_file.cxx)
+add_executable(create_file create_file.cxx)
+set_target_properties(create_file PROPERTIES RUNTIME_OUTPUT_DIRECTORY ".")
#
# Create static library
# SOURCE_FILES_REMOVE is used for Coverage. empty.h is included for coverage
#
-AUX_SOURCE_DIRECTORY(ExtraSources LibrarySources)
-SET(LibrarySources ${LibrarySources}
- file2
- empty
- create_file.cxx
- GENERATED
+aux_source_directory(ExtraSources LibrarySources)
+set(LibrarySources ${LibrarySources}
+ file2
+ empty
+ create_file.cxx
+ GENERATED
nonexisting_file)
-REMOVE(LibrarySources create_file.cxx GENERATED nonexisting_file)
-ADD_LIBRARY(CMakeTestLibrary ${LibrarySources})
+remove(LibrarySources create_file.cxx GENERATED nonexisting_file)
+add_library(CMakeTestLibrary ${LibrarySources})
-IF(WIN32)
- IF(NOT CYGWIN)
- IF(NOT BORLAND)
- IF(NOT MINGW)
- TARGET_LINK_LIBRARIES(CMakeTestLibrary
- debug
+if(WIN32)
+ if(NOT CYGWIN)
+ if(NOT BORLAND)
+ if(NOT MINGW)
+ target_link_libraries(CMakeTestLibrary
+ debug
user32.lib)
- TARGET_LINK_LIBRARIES(CMakeTestLibrary
- optimized
+ target_link_libraries(CMakeTestLibrary
+ optimized
kernel32.lib)
- ENDIF(NOT MINGW)
- ENDIF(NOT BORLAND)
- ENDIF(NOT CYGWIN)
-ENDIF(WIN32)
+ endif()
+ endif()
+ endif()
+endif()
#
# Create shared library
#
-SET(SharedLibrarySources sharedFile)
-ADD_LIBRARY(CMakeTestLibraryShared SHARED ${SharedLibrarySources})
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DTEST_C_FLAGS")
-ADD_LIBRARY(CMakeTestCLibraryShared SHARED testConly.c)
-DEFINE_PROPERTY(
+set(SharedLibrarySources sharedFile)
+add_library(CMakeTestLibraryShared SHARED ${SharedLibrarySources})
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DTEST_C_FLAGS")
+add_library(CMakeTestCLibraryShared SHARED testConly.c)
+define_property(
TARGET PROPERTY FOO
BRIEF_DOCS "a test property"
FULL_DOCS "A simple etst proerty that means nothign and is used for nothing"
)
-SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES FOO BAR)
-IF(NOT BEOS AND NOT WIN32) # No libm on BeOS.
- SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES LINK_FLAGS "-lm")
-ENDIF(NOT BEOS AND NOT WIN32)
-GET_TARGET_PROPERTY(FOO_BAR_VAR CMakeTestCLibraryShared FOO)
-IF(${FOO_BAR_VAR} MATCHES "BAR")
-ELSE(${FOO_BAR_VAR} MATCHES "BAR")
- MESSAGE(SEND_ERROR "SET_TARGET_PROPERTIES or GET_TARGET_PROPERTY failed, FOO_BAR_VAR should be BAR, but is ${FOO_BAR_VAR}")
-ENDIF(${FOO_BAR_VAR} MATCHES "BAR")
+set_target_properties(CMakeTestCLibraryShared PROPERTIES FOO BAR)
+if(NOT BEOS AND NOT WIN32) # No libm on BeOS.
+ set_target_properties(CMakeTestCLibraryShared PROPERTIES LINK_FLAGS "-lm")
+endif()
+get_target_property(FOO_BAR_VAR CMakeTestCLibraryShared FOO)
+if(${FOO_BAR_VAR} MATCHES "BAR")
+else()
+ message(SEND_ERROR "SET_TARGET_PROPERTIES or GET_TARGET_PROPERTY failed, FOO_BAR_VAR should be BAR, but is ${FOO_BAR_VAR}")
+endif()
# Create static and shared lib of same name.
-IF(CMAKE_EXE_LINK_STATIC_CXX_FLAGS)
- ADD_LIBRARY(CMakeTestLinkStatic STATIC TestLink.c)
- ADD_LIBRARY(CMakeTestLinkShared SHARED TestLink.c)
- SET_TARGET_PROPERTIES(CMakeTestLinkStatic CMakeTestLinkShared
+if(CMAKE_EXE_LINK_STATIC_CXX_FLAGS)
+ add_library(CMakeTestLinkStatic STATIC TestLink.c)
+ add_library(CMakeTestLinkShared SHARED TestLink.c)
+ set_target_properties(CMakeTestLinkStatic CMakeTestLinkShared
PROPERTIES OUTPUT_NAME CMakeTestLink)
-ENDIF(CMAKE_EXE_LINK_STATIC_CXX_FLAGS)
+endif()
#
# Attach pre-build/pre-link/post-build custom-commands to the lib.
# Each runs ${CREATE_FILE_EXE} which will create a file.
# The 'complex' executable will then test if this file exists and remove it.
#
-ADD_DEPENDENCIES(CMakeTestLibraryShared create_file)
-MESSAGE("complex bin dir is ${Complex_BINARY_DIR}")
-ADD_CUSTOM_COMMAND(TARGET CMakeTestLibraryShared PRE_BUILD
+add_dependencies(CMakeTestLibraryShared create_file)
+message("complex bin dir is ${Complex_BINARY_DIR}")
+add_custom_command(TARGET CMakeTestLibraryShared PRE_BUILD
COMMAND ${CREATE_FILE_EXE}
ARGS "${Complex_BINARY_DIR}/Library/prebuild.txt")
-ADD_CUSTOM_COMMAND(TARGET CMakeTestLibraryShared PRE_BUILD
+add_custom_command(TARGET CMakeTestLibraryShared PRE_BUILD
COMMAND ${CREATE_FILE_EXE}
ARGS "${Complex_BINARY_DIR}/Library/prelink.txt")
-ADD_CUSTOM_COMMAND(TARGET CMakeTestLibraryShared POST_BUILD
+add_custom_command(TARGET CMakeTestLibraryShared POST_BUILD
COMMAND ${CREATE_FILE_EXE}
ARGS "${Complex_BINARY_DIR}/Library/postbuild.txt")
-ADD_CUSTOM_COMMAND(TARGET CMakeTestLibraryShared POST_BUILD
+add_custom_command(TARGET CMakeTestLibraryShared POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy
"${Complex_BINARY_DIR}/Library/postbuild.txt"
@@ -95,46 +95,46 @@ ADD_CUSTOM_COMMAND(TARGET CMakeTestLibraryShared POST_BUILD
# It runs ${CREATE_FILE_EXE} which will create a file.
# The 'complex' executable will then test if this file exists and remove it.
#
-ADD_CUSTOM_TARGET(custom_target1
+add_custom_target(custom_target1
ALL
- ${CREATE_FILE_EXE}
+ ${CREATE_FILE_EXE}
"${Complex_BINARY_DIR}/Library/custom_target1.txt")
-ADD_DEPENDENCIES(custom_target1 create_file)
+add_dependencies(custom_target1 create_file)
#
# Extra coverage
#
-SET_SOURCE_FILES_PROPERTIES(file2 PROPERTIES ABSTRACT 1)
+set_source_files_properties(file2 PROPERTIES ABSTRACT 1)
-INSTALL_FILES(/tmp .h ${Complex_BINARY_DIR}/cmTestConfigure.h)
-INSTALL_FILES(/tmp .cxx ${Complex_BINARY_DIR}/cmTestConfigure.h)
+install_files(/tmp .h ${Complex_BINARY_DIR}/cmTestConfigure.h)
+install_files(/tmp .cxx ${Complex_BINARY_DIR}/cmTestConfigure.h)
# Test creating a library that is not built by default.
-ADD_LIBRARY(notInAllLib EXCLUDE_FROM_ALL notInAllLib.cxx)
+add_library(notInAllLib EXCLUDE_FROM_ALL notInAllLib.cxx)
# Create an imported target for if(TARGET) test in Executable dir.
# That test should not see this target.
-ADD_LIBRARY(LibImportedTarget UNKNOWN IMPORTED)
+add_library(LibImportedTarget UNKNOWN IMPORTED)
# Test generation of preprocessed sources.
-IF("${CMAKE_GENERATOR}" MATCHES "Makefile" AND CMAKE_MAKE_PROGRAM)
- IF(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE)
+if("${CMAKE_GENERATOR}" MATCHES "Makefile" AND CMAKE_MAKE_PROGRAM)
+ if(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE)
# Skip running this part of the test on certain platforms
# until they are fixed.
- SET(MAYBE_ALL ALL)
- LIST(LENGTH CMAKE_OSX_ARCHITECTURES ARCH_COUNT)
- IF(ARCH_COUNT GREATER 1)
+ set(MAYBE_ALL ALL)
+ list(LENGTH CMAKE_OSX_ARCHITECTURES ARCH_COUNT)
+ if(ARCH_COUNT GREATER 1)
# OSX does not support preprocessing more than one architecture.
- SET(MAYBE_ALL)
- ENDIF(ARCH_COUNT GREATER 1)
+ set(MAYBE_ALL)
+ endif()
# Custom target to try preprocessing invocation.
- ADD_CUSTOM_TARGET(test_preprocess ${MAYBE_ALL}
+ add_custom_target(test_preprocess ${MAYBE_ALL}
COMMAND ${CMAKE_COMMAND} -E remove CMakeFiles/create_file.dir/create_file.i
COMMAND ${CMAKE_MAKE_PROGRAM} create_file.i
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/test_preprocess.cmake
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
- ENDIF(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE)
-ENDIF("${CMAKE_GENERATOR}" MATCHES "Makefile" AND CMAKE_MAKE_PROGRAM)
+ endif()
+endif()
diff --git a/Tests/Complex/Library/create_file.cxx b/Tests/Complex/Library/create_file.cxx
index d41551980..050ed0bac 100644
--- a/Tests/Complex/Library/create_file.cxx
+++ b/Tests/Complex/Library/create_file.cxx
@@ -8,7 +8,7 @@ int main (int argc, char *argv[])
fprintf(stderr, "Missing name of file to create.\n");
return EXIT_FAILURE;
}
-
+
FILE *stream = fopen(argv[1], "w");
if(stream == NULL)
{
@@ -23,6 +23,6 @@ int main (int argc, char *argv[])
}
fprintf(stdout, ">> Creating %s!\n", argv[1]);
-
+
return EXIT_SUCCESS;
}
diff --git a/Tests/Complex/Library/testConly.c b/Tests/Complex/Library/testConly.c
index 2d83f778e..a7d20b0b5 100644
--- a/Tests/Complex/Library/testConly.c
+++ b/Tests/Complex/Library/testConly.c
@@ -7,7 +7,7 @@ int CsharedFunction()
printf("TEST_C_FLAGS failed\n");
return 0;
#else
- printf("Passed: TEST_C_FLAGS passed\n");
-#endif
+ printf("Passed: TEST_C_FLAGS passed\n");
+#endif
return 1;
}
diff --git a/Tests/Complex/Library/testConly.h b/Tests/Complex/Library/testConly.h
index f1470a8d7..ba8458923 100644
--- a/Tests/Complex/Library/testConly.h
+++ b/Tests/Complex/Library/testConly.h
@@ -10,4 +10,4 @@
#endif
CMakeTest_EXPORT int CsharedFunction();
-
+
diff --git a/Tests/Complex/Library/test_preprocess.cmake b/Tests/Complex/Library/test_preprocess.cmake
index d2d9fc652..4c8ec2174 100644
--- a/Tests/Complex/Library/test_preprocess.cmake
+++ b/Tests/Complex/Library/test_preprocess.cmake
@@ -1,7 +1,7 @@
-SET(TEST_FILE CMakeFiles/create_file.dir/create_file.i)
-FILE(READ ${TEST_FILE} CONTENTS)
-IF("${CONTENTS}" MATCHES "Unable to close")
- MESSAGE(STATUS "${TEST_FILE} created successfully!")
-ELSE("${CONTENTS}" MATCHES "Unable to close")
- MESSAGE(FATAL_ERROR "${TEST_FILE} creation failed!")
-ENDIF("${CONTENTS}" MATCHES "Unable to close")
+set(TEST_FILE CMakeFiles/create_file.dir/create_file.i)
+file(READ ${TEST_FILE} CONTENTS)
+if("${CONTENTS}" MATCHES "Unable to close")
+ message(STATUS "${TEST_FILE} created successfully!")
+else()
+ message(FATAL_ERROR "${TEST_FILE} creation failed!")
+endif()
diff --git a/Tests/Complex/VarTests.cmake b/Tests/Complex/VarTests.cmake
index c146d1be0..52ec1fc8e 100644
--- a/Tests/Complex/VarTests.cmake
+++ b/Tests/Complex/VarTests.cmake
@@ -1,198 +1,198 @@
#
# Test SET
#
-SET (ZERO_VAR 0)
-SET (ZERO_VAR2 0)
+set (ZERO_VAR 0)
+set (ZERO_VAR2 0)
-IF(ZERO_VAR)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED)
-ELSE(ZERO_VAR)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED)
-ENDIF(ZERO_VAR)
+if(ZERO_VAR)
+ add_definitions(-DSHOULD_NOT_BE_DEFINED)
+else()
+ add_definitions(-DSHOULD_BE_DEFINED)
+endif()
-SET(ONE_VAR 1)
-SET(ONE_VAR2 1)
-SET(STRING_VAR "CMake is great" CACHE STRING "test a cache variable")
+set(ONE_VAR 1)
+set(ONE_VAR2 1)
+set(STRING_VAR "CMake is great" CACHE STRING "test a cache variable")
#
# Test VARIABLE_REQUIRES
#
-VARIABLE_REQUIRES(ONE_VAR
+variable_requires(ONE_VAR
ONE_VAR_IS_DEFINED ONE_VAR)
#
# Test various IF/ELSE combinations
#
-IF(NOT ZERO_VAR)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_NOT)
-ELSE(NOT ZERO_VAR)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_NOT)
-ENDIF(NOT ZERO_VAR)
-
-IF(NOT ONE_VAR)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_NOT2)
-ELSE(NOT ONE_VAR)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_NOT2)
-ENDIF(NOT ONE_VAR)
-
-IF(ONE_VAR AND ONE_VAR2)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_AND)
-ELSE(ONE_VAR AND ONE_VAR2)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_AND)
-ENDIF(ONE_VAR AND ONE_VAR2)
-
-IF(ONE_VAR AND ZERO_VAR)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_AND2)
-ELSE(ONE_VAR AND ZERO_VAR)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_AND2)
-ENDIF(ONE_VAR AND ZERO_VAR)
-
-IF(ZERO_VAR OR ONE_VAR2)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_OR)
-ELSE(ZERO_VAR OR ONE_VAR2)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_OR)
-ENDIF(ZERO_VAR OR ONE_VAR2)
-
-IF(ZERO_VAR OR ZERO_VAR2)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_OR2)
-ELSE(ZERO_VAR OR ZERO_VAR2)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_OR2)
-ENDIF(ZERO_VAR OR ZERO_VAR2)
-
-IF(STRING_VAR MATCHES "^CMake")
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_MATCHES)
-ELSE(STRING_VAR MATCHES "^CMake")
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_MATCHES)
-ENDIF(STRING_VAR MATCHES "^CMake")
-
-IF(STRING_VAR MATCHES "^foo")
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_MATCHES2)
-ELSE(STRING_VAR MATCHES "^foo")
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_MATCHES2)
-ENDIF(STRING_VAR MATCHES "^foo")
-
-IF(COMMAND "IF")
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_COMMAND)
-ELSE(COMMAND "IF")
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_COMMAND)
-ENDIF(COMMAND "IF")
-
-IF(COMMAND "ROQUEFORT")
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_COMMAND2)
-ELSE(COMMAND "ROQUEFORT")
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_COMMAND2)
-ENDIF(COMMAND "ROQUEFORT")
-
-IF (EXISTS ${Complex_SOURCE_DIR}/VarTests.cmake)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_EXISTS)
-ELSE(EXISTS ${Complex_SOURCE_DIR}/VarTests.cmake)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_EXISTS)
-ENDIF (EXISTS ${Complex_SOURCE_DIR}/VarTests.cmake)
-
-IF (EXISTS ${Complex_SOURCE_DIR}/roquefort.txt)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_EXISTS2)
-ELSE(EXISTS ${Complex_SOURCE_DIR}/roquefort.txt)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_EXISTS2)
-ENDIF (EXISTS ${Complex_SOURCE_DIR}/roquefort.txt)
-
-IF (IS_DIRECTORY ${Complex_SOURCE_DIR})
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_IS_DIRECTORY)
-ENDIF (IS_DIRECTORY ${Complex_SOURCE_DIR})
-
-IF (NOT IS_DIRECTORY ${Complex_SOURCE_DIR}/VarTests.cmake)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_IS_DIRECTORY2)
-ENDIF (NOT IS_DIRECTORY ${Complex_SOURCE_DIR}/VarTests.cmake)
-
-SET (SNUM1_VAR "1")
-SET (SNUM2_VAR "2")
-SET (SNUM3_VAR "1")
-
-
-IF (SNUM1_VAR LESS SNUM2_VAR)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_LESS)
-ELSE (SNUM1_VAR LESS SNUM2_VAR)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_LESS)
-ENDIF (SNUM1_VAR LESS SNUM2_VAR)
-
-IF (SNUM2_VAR LESS SNUM1_VAR)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_LESS2)
-ELSE (SNUM2_VAR LESS SNUM1_VAR)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_LESS2)
-ENDIF (SNUM2_VAR LESS SNUM1_VAR)
-
-IF (SNUM2_VAR GREATER SNUM1_VAR)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_GREATER)
-ELSE (SNUM2_VAR GREATER SNUM1_VAR)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_GREATER)
-ENDIF (SNUM2_VAR GREATER SNUM1_VAR)
-
-IF (SNUM2_VAR EQUAL SNUM1_VAR)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_EQUAL)
-ELSE (SNUM2_VAR EQUAL SNUM1_VAR)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_EQUAL)
-ENDIF (SNUM2_VAR EQUAL SNUM1_VAR)
-
-IF (SNUM3_VAR EQUAL SNUM1_VAR)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_EQUAL)
-ELSE (SNUM3_VAR EQUAL SNUM1_VAR)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_EQUAL)
-ENDIF (SNUM3_VAR EQUAL SNUM1_VAR)
-
-IF (SNUM1_VAR GREATER SNUM2_VAR)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_GREATER2)
-ELSE (SNUM1_VAR GREATER SNUM2_VAR)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_GREATER2)
-ENDIF (SNUM1_VAR GREATER SNUM2_VAR)
-
-SET (SSTR1_VAR "abc")
-SET (SSTR2_VAR "bcd")
-
-IF (SSTR1_VAR STRLESS SSTR2_VAR)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_STRLESS)
-ELSE (SSTR1_VAR STRLESS SSTR2_VAR)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_STRLESS)
-ENDIF (SSTR1_VAR STRLESS SSTR2_VAR)
-
-IF (SSTR2_VAR STRLESS SSTR1_VAR)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_STRLESS2)
-ELSE (SSTR2_VAR STRLESS SSTR1_VAR)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_STRLESS2)
-ENDIF (SSTR2_VAR STRLESS SSTR1_VAR)
-
-IF (SSTR2_VAR STRGREATER SSTR1_VAR)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_STRGREATER)
-ELSE (SSTR2_VAR STRGREATER SSTR1_VAR)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_STRGREATER)
-ENDIF (SSTR2_VAR STRGREATER SSTR1_VAR)
-
-IF (SSTR1_VAR STRGREATER SSTR2_VAR)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_STRGREATER2)
-ELSE (SSTR1_VAR STRGREATER SSTR2_VAR)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_STRGREATER2)
-ENDIF (SSTR1_VAR STRGREATER SSTR2_VAR)
+if(NOT ZERO_VAR)
+ add_definitions(-DSHOULD_BE_DEFINED_NOT)
+else()
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_NOT)
+endif()
+
+if(NOT ONE_VAR)
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_NOT2)
+else()
+ add_definitions(-DSHOULD_BE_DEFINED_NOT2)
+endif()
+
+if(ONE_VAR AND ONE_VAR2)
+ add_definitions(-DSHOULD_BE_DEFINED_AND)
+else()
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_AND)
+endif()
+
+if(ONE_VAR AND ZERO_VAR)
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_AND2)
+else()
+ add_definitions(-DSHOULD_BE_DEFINED_AND2)
+endif()
+
+if(ZERO_VAR OR ONE_VAR2)
+ add_definitions(-DSHOULD_BE_DEFINED_OR)
+else()
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_OR)
+endif()
+
+if(ZERO_VAR OR ZERO_VAR2)
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_OR2)
+else()
+ add_definitions(-DSHOULD_BE_DEFINED_OR2)
+endif()
+
+if(STRING_VAR MATCHES "^CMake")
+ add_definitions(-DSHOULD_BE_DEFINED_MATCHES)
+else()
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_MATCHES)
+endif()
+
+if(STRING_VAR MATCHES "^foo")
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_MATCHES2)
+else()
+ add_definitions(-DSHOULD_BE_DEFINED_MATCHES2)
+endif()
+
+if(COMMAND "IF")
+ add_definitions(-DSHOULD_BE_DEFINED_COMMAND)
+else()
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_COMMAND)
+endif()
+
+if(COMMAND "ROQUEFORT")
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_COMMAND2)
+else()
+ add_definitions(-DSHOULD_BE_DEFINED_COMMAND2)
+endif()
+
+if (EXISTS ${Complex_SOURCE_DIR}/VarTests.cmake)
+ add_definitions(-DSHOULD_BE_DEFINED_EXISTS)
+else()
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_EXISTS)
+endif ()
+
+if (EXISTS ${Complex_SOURCE_DIR}/roquefort.txt)
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_EXISTS2)
+else()
+ add_definitions(-DSHOULD_BE_DEFINED_EXISTS2)
+endif ()
+
+if (IS_DIRECTORY ${Complex_SOURCE_DIR})
+ add_definitions(-DSHOULD_BE_DEFINED_IS_DIRECTORY)
+endif ()
+
+if (NOT IS_DIRECTORY ${Complex_SOURCE_DIR}/VarTests.cmake)
+ add_definitions(-DSHOULD_BE_DEFINED_IS_DIRECTORY2)
+endif ()
+
+set (SNUM1_VAR "1")
+set (SNUM2_VAR "2")
+set (SNUM3_VAR "1")
+
+
+if (SNUM1_VAR LESS SNUM2_VAR)
+ add_definitions(-DSHOULD_BE_DEFINED_LESS)
+else ()
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_LESS)
+endif ()
+
+if (SNUM2_VAR LESS SNUM1_VAR)
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_LESS2)
+else ()
+ add_definitions(-DSHOULD_BE_DEFINED_LESS2)
+endif ()
+
+if (SNUM2_VAR GREATER SNUM1_VAR)
+ add_definitions(-DSHOULD_BE_DEFINED_GREATER)
+else ()
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_GREATER)
+endif ()
+
+if (SNUM2_VAR EQUAL SNUM1_VAR)
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_EQUAL)
+else ()
+ add_definitions(-DSHOULD_BE_DEFINED_EQUAL)
+endif ()
+
+if (SNUM3_VAR EQUAL SNUM1_VAR)
+ add_definitions(-DSHOULD_BE_DEFINED_EQUAL)
+else ()
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_EQUAL)
+endif ()
+
+if (SNUM1_VAR GREATER SNUM2_VAR)
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_GREATER2)
+else ()
+ add_definitions(-DSHOULD_BE_DEFINED_GREATER2)
+endif ()
+
+set (SSTR1_VAR "abc")
+set (SSTR2_VAR "bcd")
+
+if (SSTR1_VAR STRLESS SSTR2_VAR)
+ add_definitions(-DSHOULD_BE_DEFINED_STRLESS)
+else ()
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_STRLESS)
+endif ()
+
+if (SSTR2_VAR STRLESS SSTR1_VAR)
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_STRLESS2)
+else ()
+ add_definitions(-DSHOULD_BE_DEFINED_STRLESS2)
+endif ()
+
+if (SSTR2_VAR STRGREATER SSTR1_VAR)
+ add_definitions(-DSHOULD_BE_DEFINED_STRGREATER)
+else ()
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_STRGREATER)
+endif ()
+
+if (SSTR1_VAR STRGREATER SSTR2_VAR)
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_STRGREATER2)
+else ()
+ add_definitions(-DSHOULD_BE_DEFINED_STRGREATER2)
+endif ()
#
# Test FOREACH
#
-FOREACH (INDEX 1 2)
- SET(FOREACH_VAR${INDEX} "VALUE${INDEX}")
-ENDFOREACH(INDEX)
+foreach (INDEX 1 2)
+ set(FOREACH_VAR${INDEX} "VALUE${INDEX}")
+endforeach()
-SET(FOREACH_CONCAT "")
-FOREACH (INDEX a;b;c;d;e;f;g)
- SET(FOREACH_CONCAT "${FOREACH_CONCAT}${INDEX}")
-ENDFOREACH(INDEX)
+set(FOREACH_CONCAT "")
+foreach (INDEX a;b;c;d;e;f;g)
+ set(FOREACH_CONCAT "${FOREACH_CONCAT}${INDEX}")
+endforeach()
#
# Test FIND_FILE, FIND_PATH and various GET_FILENAME_COMPONENT combinations
#
-FIND_FILE(FILENAME_VAR "VarTests.cmake" ${Complex_SOURCE_DIR})
+find_file(FILENAME_VAR "VarTests.cmake" ${Complex_SOURCE_DIR})
-GET_FILENAME_COMPONENT(FILENAME_VAR_PATH ${FILENAME_VAR} PATH)
-GET_FILENAME_COMPONENT(FILENAME_VAR_PATH_NAME ${FILENAME_VAR_PATH} NAME)
-GET_FILENAME_COMPONENT(FILENAME_VAR_NAME ${FILENAME_VAR} NAME)
-GET_FILENAME_COMPONENT(FILENAME_VAR_EXT ${FILENAME_VAR} EXT)
-GET_FILENAME_COMPONENT(FILENAME_VAR_NAME_WE ${FILENAME_VAR} NAME_WE CACHE)
+get_filename_component(FILENAME_VAR_PATH ${FILENAME_VAR} PATH)
+get_filename_component(FILENAME_VAR_PATH_NAME ${FILENAME_VAR_PATH} NAME)
+get_filename_component(FILENAME_VAR_NAME ${FILENAME_VAR} NAME)
+get_filename_component(FILENAME_VAR_EXT ${FILENAME_VAR} EXT)
+get_filename_component(FILENAME_VAR_NAME_WE ${FILENAME_VAR} NAME_WE CACHE)
-FIND_PATH(PATH_VAR "cmTestConfigure.h.in" ${Complex_SOURCE_DIR})
-GET_FILENAME_COMPONENT(PATH_VAR_NAME ${PATH_VAR} NAME)
+find_path(PATH_VAR "cmTestConfigure.h.in" ${Complex_SOURCE_DIR})
+get_filename_component(PATH_VAR_NAME ${PATH_VAR} NAME)
diff --git a/Tests/ComplexOneConfig/CMakeLists.txt b/Tests/ComplexOneConfig/CMakeLists.txt
index b50501905..b0748fe3d 100644
--- a/Tests/ComplexOneConfig/CMakeLists.txt
+++ b/Tests/ComplexOneConfig/CMakeLists.txt
@@ -1,296 +1,296 @@
#
# A more complex test case
#
-SET(CMAKE_BACKWARDS_COMPATIBILITY 1.4)
-PROJECT (Complex)
+set(CMAKE_BACKWARDS_COMPATIBILITY 1.4)
+project (Complex)
# Try setting a new policy. The IF test is for coverage.
-IF(POLICY CMP0003)
- CMAKE_POLICY(SET CMP0003 NEW)
+if(POLICY CMP0003)
+ cmake_policy(SET CMP0003 NEW)
- CMAKE_POLICY(GET CMP0003 P3)
- IF(NOT "${P3}" STREQUAL "NEW")
- MESSAGE(FATAL_ERROR "CMAKE_POLICY(GET) did not report NEW!")
- ENDIF(NOT "${P3}" STREQUAL "NEW")
-ENDIF(POLICY CMP0003)
+ cmake_policy(GET CMP0003 P3)
+ if(NOT "${P3}" STREQUAL "NEW")
+ message(FATAL_ERROR "cmake_policy(GET) did not report NEW!")
+ endif()
+endif()
# Test building without per-rule echo lines in Makefiles.
-SET_PROPERTY(GLOBAL PROPERTY RULE_MESSAGES OFF)
+set_property(GLOBAL PROPERTY RULE_MESSAGES OFF)
-SET(CPACK_SOURCE_IGNORE_FILES "~$;\\.cvsignore$;^C:/hoffman/My Builds/testcase.*/CVS/;^C:/hoffman/My Builds/testcase.*/\\.svn/;^C:/hoffman/My Builds/testcase.*/sweigart/;^C:/hoffman/My Builds/testcase/www/eospaper/solution/eos2001/;^C:/hoffman/My Builds/testcase/www/eospaper/solution/opal_tables_new/;^C:/hoffman/My Builds/testcase/COPYING$;^C:/hoffman/My Builds/testcase/INSTALL$;^C:/hoffman/My Builds/testcase/Makefile$;^C:/hoffman/My Builds/testcase/Makefile\\.in$;^C:/hoffman/My Builds/testcase/.*\\.lo$;^C:/hoffman/My Builds/testcase/.*\\.la$;^C:/hoffman/My Builds/testcase/mkinstalldirs$;^C:/hoffman/My Builds/testcase/missing$;^C:/hoffman/My Builds/testcase/ltmain\\.sh$;^C:/hoffman/My Builds/testcase/libtool$;^C:/hoffman/My Builds/testcase/install-sh$;^C:/hoffman/My Builds/testcase/configure$;^C:/hoffman/My Builds/testcase/config\\.sub$;^C:/hoffman/My Builds/testcase/config\\.status$;^C:/hoffman/My Builds/testcase/config\\.log$;^C:/hoffman/My Builds/testcase/config\\.guess$;^C:/hoffman/My Builds/testcase/autom4te\\.cache$;^C:/hoffman/My Builds/testcase/aclocal\\.m4$;^C:/hoffman/My Builds/testcase/depcomp$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.075\\.model_cassisi_eos1_10$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.075\\.model_cassisi_eos1_10_corr$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.1\\.model_cassisi_eos1$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.1\\.model_cassisi_scvh$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.1\\.modelc$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.3\\.modelc$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/1\\.0\\.modelc$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/1\\.0\\.rgbtip\\.modelc$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/1\\.0\\.zahb\\.modelc$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.1\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/1\\.0\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.3\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.085\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/.*\\.ps$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange\\.mem$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange\\.log$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange\\.dvi$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange\\.tex\\.bak$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/head\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/body\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/prior-dvi\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j10\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j12\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j16\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j20\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j22\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j26\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j30\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j32\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j36\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/k10\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/k12\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/k20\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/k22\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/k30\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/k32\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/1_exchange_dgamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/1_exchange_dlnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/2_exchange_dgamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/2_exchange_dlnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/linear_exchange_dgamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/linear_exchange_dlnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/noexchange_dgamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/noexchange_dlnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/nr_exchange_dgamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/nr_exchange_dlnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/series_exchange_dgamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/series_exchange_dlnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_JNR_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_Jseries_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_KNR_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_Kseries_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check34_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check35_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check36_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check43_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check44_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check45_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check46_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check47_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check48_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/tc_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/.*\\.pyc$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/context\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/make\\.out.*$;^C:/hoffman/My Builds/testcase/www/Makefile$;^C:/hoffman/My Builds/testcase/www/Makefile\\.in$;^C:/hoffman/My Builds/testcase/src/.*\\.flc$;^C:/hoffman/My Builds/testcase/src/Makefile$;^C:/hoffman/My Builds/testcase/src/Makefile\\.in$;^C:/hoffman/My Builds/testcase/src/\\.deps$;^C:/hoffman/My Builds/testcase/src/\\.libs$;^C:/hoffman/My Builds/testcase/src/.*\\.la$;^C:/hoffman/My Builds/testcase/src/.*\\.lo$;^C:/hoffman/My Builds/testcase/src/make\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/statef.*\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/0\\.1\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/0\\.1\\.model_13$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/0\\.1\\.model_23$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/0\\.3\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/0\\.3\\.model_13$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/0\\.3\\.model_23$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/1\\.0\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/1\\.0\\.model_13$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/1\\.0\\.model_15$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/1\\.0\\.model_23$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/1\\.0\\.model_rel$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/hot_post_agb\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/rgb_tip\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/rgbtip\\.1\\.0\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/rgbtip\\.1\\.0\\.model_13$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/rgbtip\\.1\\.0\\.model_23$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/start_shellflash\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/white_dwarf\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/zahb\\.1\\.0\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/zahb\\.1\\.0\\.model_13$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/zahb\\.1\\.0\\.model_23$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/zahb\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dh/dgamma1$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dh/dlnp$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dh/statef_compare\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fermi_dirac_approx/15gamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fermi_dirac_approx/15lnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fermi_dirac_approx/23gamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fermi_dirac_approx/23lnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/thermodynamic_consistency/.*\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/thermodynamic_consistency/.*\\.results$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/pteh/dgamma1$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/pteh/dlnp$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/pteh/statef_compare\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/newversion_grid/.*\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/newversion_grid/.*\\.err$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/.*\\.ps$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/.*\\.pyc$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_fit\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_fit\\.dvi$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_fit\\.log$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/body\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/head\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/prior-dvi\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/3order_data\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/5order_data\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/8order_data\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check8_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check1_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check3_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check5_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/effo_check3_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/effoo_check3_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fda15gamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fda15lnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fda23gamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fda23lnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/tc_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/make\\.out.*$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/thermodynamic_consistency/statef_compare\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/thermodynamic_consistency/tc\\.results$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/opal_solar/opal_compare_model\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/opal_solar/opal_compare_solar\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/opal_solar/opal_solar\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/opal_solar/opal_solar_1995\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/opal_solar/statef_opal_model\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/opal_solar/statef_opal_model_1995\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/purehe_newversion_grid/.*\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/purehe_newversion_grid/.*\\.err$;^C:/hoffman/My Builds/testcase/include/Makefile\\.in$;^C:/hoffman/My Builds/testcase/include/Makefile$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/model-loci/0\\.1\\.model_pteh$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/model-loci/1\\.0\\.model_eos1a-eos1$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/model-loci/1\\.0\\.model_pteh$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/model-loci/statef_model_0\\.1\\.model_pteh\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/model-loci/statef_model_1\\.0\\.model_eos1a-eos1\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/model-loci/statef_model_1\\.0\\.model_pteh\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/context/contour\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/context/eos_grid\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/context/statef_grid\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/thermodynamic_consistency/fort\\.91$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/thermodynamic_consistency/statef_compare\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/nocoulomb/dgamma1$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/nocoulomb/dlnp$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/nocoulomb/statef_compare\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/context$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/oldversion_grid$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/2005Ap&SS\\.298\\.\\.135S\\.pdf$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/2007Ap&SS\\.307\\.\\.263C\\.pdf$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/astro-ph\\.9909168_eprint_submitted_to_High_Press\\.Res\\.16,331\\.pdf$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/.*ps.*$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/.*\\.pyc$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/convergence\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/convergence\\.dvi$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/convergence\\.log$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/body\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/head\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/prior-dvi\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/statef_grid-newversion$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/context\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/pureh_context\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/purehe_context\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/old$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/make\\.out.*$;^C:/hoffman/My Builds/testcase/utils/.*\\.flc$;^C:/hoffman/My Builds/testcase/utils/Makefile$;^C:/hoffman/My Builds/testcase/utils/Makefile\\.in$;^C:/hoffman/My Builds/testcase/utils/\\.deps$;^C:/hoffman/My Builds/testcase/utils/\\.libs$;^C:/hoffman/My Builds/testcase/utils/.*\\.la$;^C:/hoffman/My Builds/testcase/utils/.*\\.lo$;^C:/hoffman/My Builds/testcase/utils/free_eos_test$;^C:/hoffman/My Builds/testcase/utils/test_rosenbrock$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check/eff_check1\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check/eff_check3\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check/eff_check5\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check/eff_check8\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check/eff_checknr\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check/effo_check3\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check/effoo_check3\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence_20070613$;^C:/hoffman/My Builds/testcase/www/eospaper/text$;^C:/hoffman/My Builds/testcase/www/eospaper/cassisi_book_fig$;^C:/hoffman/My Builds/testcase/www/eospaper/1\\.1\\.0$;^C:/hoffman/My Builds/testcase/www/eospaper/2\\.0\\.0$;^C:/hoffman/My Builds/testcase/www/eospaper/1\\.2\\.0$;^C:/hoffman/My Builds/testcase/www/eospaper/1\\.3\\.0$;^C:/hoffman/My Builds/testcase/www/eospaper/1\\.4\\.0$;^C:/hoffman/My Builds/testcase/www/eospaper/1\\.5\\.0$;^C:/hoffman/My Builds/testcase/www/eospaper/1\\.6\\.0$;^C:/hoffman/My Builds/testcase/www/eospaper/figures$;^C:/hoffman/My Builds/testcase/www/eospaper/old$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/.*\\.ps.*$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/coulomb\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/coulomb\\.dvi$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/coulomb\\.log$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/.*\\.pyc$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/body\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/head\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/prior-dvi\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/context\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dh_dgamma1_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dh_dlnp_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dhtau_dgamma1_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dhtau_dlnp_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/nocoulomb_dgamma1_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/nocoulomb_dlnp_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/pteh_dgamma1_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/pteh_dlnp_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/make\\.out.*$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_JNR\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_Jseries\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_KNR\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_Kseries\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_check34\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_check35\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_check36\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_check44\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_check45\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_check46\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/statef_compare_1_exchange\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/statef_compare_2_exchange\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/statef_compare_linear_exchange\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/statef_compare_noexchange\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/statef_compare_nr_exchange\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/statef_compare_series_exchange\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/1_exchange_dgamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/noexchange_dlnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/nr_exchange_dgamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/series_exchange_dlnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/series_exchange_dgamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/linear_exchange_dlnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/2_exchange_dgamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/nr_exchange_dlnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/linear_exchange_dgamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/noexchange_dgamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/1_exchange_dlnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/2_exchange_dlnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/pureh_newversion_grid/.*\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/pureh_newversion_grid/.*\\.err$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dhtau/dgamma1$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dhtau/dlnp$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dhtau/statef_compare\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_0\\.1\\.model\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_0\\.3\\.model\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_1\\.0\\.model\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_1\\.0\\.model_linear\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_1\\.0\\.model_noexchange\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_1\\.0\\.model_nr\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_1\\.0\\.rgbtip\\.model\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_1\\.0\\.zahb\\.model\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/1\\.0\\.zahb\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/1\\.0\\.rgbtip\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/1\\.0\\.model_linear$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/1\\.0\\.model_noexchange$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/1\\.0\\.model_nr$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/0\\.1\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/1\\.0\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/0\\.3\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/context/contour\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/context/eos_grid\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/context/statef_grid\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/gong/delta\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/gong/m0085eos1gong\\.ascii$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/gong/m0085eos2gong\\.ascii$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/coulomb_adjust/coulomb_adjust\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/.*\\.ps$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/.*\\.pyc$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/head\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/body\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/prior-dvi\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/solution\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/solution\\.log$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/solution\\.dvi$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/rtc_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/tc_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/make\\.out.*$")
+set(CPACK_SOURCE_IGNORE_FILES "~$;\\.cvsignore$;^C:/hoffman/My Builds/testcase.*/CVS/;^C:/hoffman/My Builds/testcase.*/\\.svn/;^C:/hoffman/My Builds/testcase.*/sweigart/;^C:/hoffman/My Builds/testcase/www/eospaper/solution/eos2001/;^C:/hoffman/My Builds/testcase/www/eospaper/solution/opal_tables_new/;^C:/hoffman/My Builds/testcase/COPYING$;^C:/hoffman/My Builds/testcase/INSTALL$;^C:/hoffman/My Builds/testcase/Makefile$;^C:/hoffman/My Builds/testcase/Makefile\\.in$;^C:/hoffman/My Builds/testcase/.*\\.lo$;^C:/hoffman/My Builds/testcase/.*\\.la$;^C:/hoffman/My Builds/testcase/mkinstalldirs$;^C:/hoffman/My Builds/testcase/missing$;^C:/hoffman/My Builds/testcase/ltmain\\.sh$;^C:/hoffman/My Builds/testcase/libtool$;^C:/hoffman/My Builds/testcase/install-sh$;^C:/hoffman/My Builds/testcase/configure$;^C:/hoffman/My Builds/testcase/config\\.sub$;^C:/hoffman/My Builds/testcase/config\\.status$;^C:/hoffman/My Builds/testcase/config\\.log$;^C:/hoffman/My Builds/testcase/config\\.guess$;^C:/hoffman/My Builds/testcase/autom4te\\.cache$;^C:/hoffman/My Builds/testcase/aclocal\\.m4$;^C:/hoffman/My Builds/testcase/depcomp$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.075\\.model_cassisi_eos1_10$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.075\\.model_cassisi_eos1_10_corr$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.1\\.model_cassisi_eos1$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.1\\.model_cassisi_scvh$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.1\\.modelc$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.3\\.modelc$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/1\\.0\\.modelc$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/1\\.0\\.rgbtip\\.modelc$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/1\\.0\\.zahb\\.modelc$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.1\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/1\\.0\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.3\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/0\\.085\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/.*\\.ps$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange\\.mem$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange\\.log$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange\\.dvi$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange\\.tex\\.bak$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/head\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/body\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/prior-dvi\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j10\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j12\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j16\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j20\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j22\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j26\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j30\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j32\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/j36\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/k10\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/k12\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/k20\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/k22\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/k30\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/k32\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/1_exchange_dgamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/1_exchange_dlnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/2_exchange_dgamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/2_exchange_dlnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/linear_exchange_dgamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/linear_exchange_dlnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/noexchange_dgamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/noexchange_dlnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/nr_exchange_dgamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/nr_exchange_dlnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/series_exchange_dgamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/series_exchange_dlnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_JNR_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_Jseries_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_KNR_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_Kseries_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check34_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check35_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check36_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check43_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check44_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check45_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check46_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check47_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check48_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/tc_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/.*\\.pyc$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/context\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/make\\.out.*$;^C:/hoffman/My Builds/testcase/www/Makefile$;^C:/hoffman/My Builds/testcase/www/Makefile\\.in$;^C:/hoffman/My Builds/testcase/src/.*\\.flc$;^C:/hoffman/My Builds/testcase/src/Makefile$;^C:/hoffman/My Builds/testcase/src/Makefile\\.in$;^C:/hoffman/My Builds/testcase/src/\\.deps$;^C:/hoffman/My Builds/testcase/src/\\.libs$;^C:/hoffman/My Builds/testcase/src/.*\\.la$;^C:/hoffman/My Builds/testcase/src/.*\\.lo$;^C:/hoffman/My Builds/testcase/src/make\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/statef.*\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/0\\.1\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/0\\.1\\.model_13$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/0\\.1\\.model_23$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/0\\.3\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/0\\.3\\.model_13$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/0\\.3\\.model_23$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/1\\.0\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/1\\.0\\.model_13$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/1\\.0\\.model_15$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/1\\.0\\.model_23$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/1\\.0\\.model_rel$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/hot_post_agb\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/rgb_tip\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/rgbtip\\.1\\.0\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/rgbtip\\.1\\.0\\.model_13$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/rgbtip\\.1\\.0\\.model_23$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/start_shellflash\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/white_dwarf\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/zahb\\.1\\.0\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/zahb\\.1\\.0\\.model_13$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/zahb\\.1\\.0\\.model_23$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/model-loci/zahb\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dh/dgamma1$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dh/dlnp$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dh/statef_compare\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fermi_dirac_approx/15gamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fermi_dirac_approx/15lnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fermi_dirac_approx/23gamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fermi_dirac_approx/23lnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/thermodynamic_consistency/.*\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/thermodynamic_consistency/.*\\.results$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/pteh/dgamma1$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/pteh/dlnp$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/pteh/statef_compare\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/newversion_grid/.*\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/newversion_grid/.*\\.err$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/.*\\.ps$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/.*\\.pyc$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_fit\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_fit\\.dvi$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_fit\\.log$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/body\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/head\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/prior-dvi\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/3order_data\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/5order_data\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/8order_data\\.tex$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check8_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check1_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check3_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check5_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/effo_check3_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/effoo_check3_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fda15gamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fda15lnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fda23gamma1\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/fda23lnp\\.yplot$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/tc_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/make\\.out.*$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/thermodynamic_consistency/statef_compare\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/thermodynamic_consistency/tc\\.results$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/opal_solar/opal_compare_model\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/opal_solar/opal_compare_solar\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/opal_solar/opal_solar\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/opal_solar/opal_solar_1995\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/opal_solar/statef_opal_model\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/opal_solar/statef_opal_model_1995\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/purehe_newversion_grid/.*\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/purehe_newversion_grid/.*\\.err$;^C:/hoffman/My Builds/testcase/include/Makefile\\.in$;^C:/hoffman/My Builds/testcase/include/Makefile$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/model-loci/0\\.1\\.model_pteh$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/model-loci/1\\.0\\.model_eos1a-eos1$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/model-loci/1\\.0\\.model_pteh$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/model-loci/statef_model_0\\.1\\.model_pteh\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/model-loci/statef_model_1\\.0\\.model_eos1a-eos1\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/model-loci/statef_model_1\\.0\\.model_pteh\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/context/contour\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/context/eos_grid\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/context/statef_grid\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/thermodynamic_consistency/fort\\.91$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/thermodynamic_consistency/statef_compare\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/nocoulomb/dgamma1$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/nocoulomb/dlnp$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/nocoulomb/statef_compare\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/context$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/oldversion_grid$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/2005Ap&SS\\.298\\.\\.135S\\.pdf$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/2007Ap&SS\\.307\\.\\.263C\\.pdf$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/astro-ph\\.9909168_eprint_submitted_to_High_Press\\.Res\\.16,331\\.pdf$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/.*ps.*$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/.*\\.pyc$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/convergence\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/convergence\\.dvi$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/convergence\\.log$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/body\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/head\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/prior-dvi\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/statef_grid-newversion$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/context\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/pureh_context\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/purehe_context\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/old$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/make\\.out.*$;^C:/hoffman/My Builds/testcase/utils/.*\\.flc$;^C:/hoffman/My Builds/testcase/utils/Makefile$;^C:/hoffman/My Builds/testcase/utils/Makefile\\.in$;^C:/hoffman/My Builds/testcase/utils/\\.deps$;^C:/hoffman/My Builds/testcase/utils/\\.libs$;^C:/hoffman/My Builds/testcase/utils/.*\\.la$;^C:/hoffman/My Builds/testcase/utils/.*\\.lo$;^C:/hoffman/My Builds/testcase/utils/free_eos_test$;^C:/hoffman/My Builds/testcase/utils/test_rosenbrock$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check/eff_check1\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check/eff_check3\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check/eff_check5\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check/eff_check8\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check/eff_checknr\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check/effo_check3\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/eff_check/effoo_check3\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence_20070613$;^C:/hoffman/My Builds/testcase/www/eospaper/text$;^C:/hoffman/My Builds/testcase/www/eospaper/cassisi_book_fig$;^C:/hoffman/My Builds/testcase/www/eospaper/1\\.1\\.0$;^C:/hoffman/My Builds/testcase/www/eospaper/2\\.0\\.0$;^C:/hoffman/My Builds/testcase/www/eospaper/1\\.2\\.0$;^C:/hoffman/My Builds/testcase/www/eospaper/1\\.3\\.0$;^C:/hoffman/My Builds/testcase/www/eospaper/1\\.4\\.0$;^C:/hoffman/My Builds/testcase/www/eospaper/1\\.5\\.0$;^C:/hoffman/My Builds/testcase/www/eospaper/1\\.6\\.0$;^C:/hoffman/My Builds/testcase/www/eospaper/figures$;^C:/hoffman/My Builds/testcase/www/eospaper/old$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/.*\\.ps.*$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/coulomb\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/coulomb\\.dvi$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/coulomb\\.log$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/.*\\.pyc$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/body\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/head\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/prior-dvi\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/context\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dh_dgamma1_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dh_dlnp_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dhtau_dgamma1_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dhtau_dlnp_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/nocoulomb_dgamma1_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/nocoulomb_dlnp_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/pteh_dgamma1_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/pteh_dlnp_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/make\\.out.*$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_JNR\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_Jseries\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_KNR\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_Kseries\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_check34\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_check35\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_check36\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_check44\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_check45\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/exchange_check46\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/statef_compare_1_exchange\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/statef_compare_2_exchange\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/statef_compare_linear_exchange\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/statef_compare_noexchange\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/statef_compare_nr_exchange\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/statef_compare_series_exchange\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/1_exchange_dgamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/noexchange_dlnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/nr_exchange_dgamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/series_exchange_dlnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/series_exchange_dgamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/linear_exchange_dlnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/2_exchange_dgamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/nr_exchange_dlnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/linear_exchange_dgamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/noexchange_dgamma1\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/1_exchange_dlnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/exchange_check/2_exchange_dlnp\\.gnuplot$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/pureh_newversion_grid/.*\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/convergence/pureh_newversion_grid/.*\\.err$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dhtau/dgamma1$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dhtau/dlnp$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/dhtau/statef_compare\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_0\\.1\\.model\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_0\\.3\\.model\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_1\\.0\\.model\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_1\\.0\\.model_linear\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_1\\.0\\.model_noexchange\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_1\\.0\\.model_nr\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_1\\.0\\.rgbtip\\.model\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/statef_model_1\\.0\\.zahb\\.model\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/1\\.0\\.zahb\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/1\\.0\\.rgbtip\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/1\\.0\\.model_linear$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/1\\.0\\.model_noexchange$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/1\\.0\\.model_nr$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/0\\.1\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/1\\.0\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/model-loci/0\\.3\\.model$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/context/contour\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/context/eos_grid\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/exchange/context/statef_grid\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/gong/delta\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/gong/m0085eos1gong\\.ascii$;^C:/hoffman/My Builds/testcase/www/eospaper/eff_fit/rho-T-loci/gong/m0085eos2gong\\.ascii$;^C:/hoffman/My Builds/testcase/www/eospaper/coulomb/coulomb_adjust/coulomb_adjust\\.out$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/.*\\.ps$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/.*\\.pyc$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/head\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/body\\.tmp$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/prior-dvi\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/solution\\.aux$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/solution\\.log$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/solution\\.dvi$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/rtc_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/tc_yplot\\.in$;^C:/hoffman/My Builds/testcase/www/eospaper/solution/make\\.out.*$")
#
# Define a macro
#
-MACRO(ASSERT value msg)
- IF (NOT ${value})
- MESSAGE ("Assertion failure:" ${msg} )
- ENDIF (NOT ${value})
-ENDMACRO(ASSERT)
-
+macro(ASSERT value msg)
+ if (NOT ${value})
+ message ("Assertion failure:" ${msg} )
+ endif ()
+endmacro()
+
# invoke the macro
ASSERT(Complex_BINARY_DIR "The PROJECT command is broken")
#
# Define a var args macro, it must take two or four args
#
-MACRO(TEST_ARGC value1 value2)
- ADD_DEFINITIONS(${value1} ${value2})
- IF (${ARGC} MATCHES 4)
- ADD_DEFINITIONS(${ARGV2} ${ARGV3})
- ENDIF (${ARGC} MATCHES 4)
-ENDMACRO(TEST_ARGC)
-
+macro(TEST_ARGC value1 value2)
+ add_definitions(${value1} ${value2})
+ if (${ARGC} MATCHES 4)
+ add_definitions(${ARGV2} ${ARGV3})
+ endif ()
+endmacro()
+
# invoke the macro
TEST_ARGC(-DCMAKE_ARGV1 -DCMAKE_ARGV2 -DCMAKE_ARGV3 -DCMAKE_ARGV4)
-MACRO(TEST_VAR_ARG fa)
- IF("${ARGV}" MATCHES "^1;2;3$")
- MESSAGE(STATUS "ARGV works")
- ELSE("${ARGV}" MATCHES "^1;2;3$")
- MESSAGE(FATAL_ERROR "ARGV does not work; got \"${ARGV}\" instead of \"1;2;3\"")
- ENDIF("${ARGV}" MATCHES "^1;2;3$")
- IF("${ARGN}" MATCHES "^2;3$")
- MESSAGE(STATUS "ARGN works")
- ELSE("${ARGN}" MATCHES "^2;3$")
- MESSAGE(FATAL_ERROR "ARGV does not work; got \"${ARGN}\" instead of \"2;3\"")
- ENDIF("${ARGN}" MATCHES "^2;3$")
-ENDMACRO(TEST_VAR_ARG)
+macro(TEST_VAR_ARG fa)
+ if("${ARGV}" MATCHES "^1;2;3$")
+ message(STATUS "ARGV works")
+ else()
+ message(FATAL_ERROR "ARGV does not work; got \"${ARGV}\" instead of \"1;2;3\"")
+ endif()
+ if("${ARGN}" MATCHES "^2;3$")
+ message(STATUS "ARGN works")
+ else()
+ message(FATAL_ERROR "ARGV does not work; got \"${ARGN}\" instead of \"2;3\"")
+ endif()
+endmacro()
TEST_VAR_ARG(1 2 3)
# Floating-point comparison test.
-IF(2.4 LESS 2.4)
- MESSAGE(FATAL_ERROR "Failed: 2.4 LESS 2.4")
-ENDIF(2.4 LESS 2.4)
-IF(2.4 GREATER 2.4)
- MESSAGE(FATAL_ERROR "Failed: 2.4 GREATER 2.4")
-ENDIF(2.4 GREATER 2.4)
-IF(NOT 2.4 EQUAL 2.4)
- MESSAGE(FATAL_ERROR "Failed: NOT 2.4 EQUAL 2.4")
-ENDIF(NOT 2.4 EQUAL 2.4)
-
-IF(CMAKE_SYSTEM MATCHES "OSF1-V.*")
- IF(NOT CMAKE_COMPILER_IS_GNUCXX)
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -timplicit_local -no_implicit_include ")
- ENDIF(NOT CMAKE_COMPILER_IS_GNUCXX)
-ENDIF(CMAKE_SYSTEM MATCHES "OSF1-V.*")
-
-
-ADD_DEFINITIONS(-DCMAKE_IS_FUN)
-ADD_DEFINITIONS(-DCMAKE_IS_REALLY_FUN)
-SET_PROPERTY(DIRECTORY
+if(2.4 LESS 2.4)
+ message(FATAL_ERROR "Failed: 2.4 LESS 2.4")
+endif()
+if(2.4 GREATER 2.4)
+ message(FATAL_ERROR "Failed: 2.4 GREATER 2.4")
+endif()
+if(NOT 2.4 EQUAL 2.4)
+ message(FATAL_ERROR "Failed: NOT 2.4 EQUAL 2.4")
+endif()
+
+if(CMAKE_SYSTEM MATCHES "OSF1-V.*")
+ if(NOT CMAKE_COMPILER_IS_GNUCXX)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -timplicit_local -no_implicit_include ")
+ endif()
+endif()
+
+
+add_definitions(-DCMAKE_IS_FUN)
+add_definitions(-DCMAKE_IS_REALLY_FUN)
+set_property(DIRECTORY
PROPERTY COMPILE_DEFINITIONS_RELEASE
CMAKE_IS_FUN_IN_RELEASE_MODE
)
-SET(TEST_SEP "a b c")
-SEPARATE_ARGUMENTS(TEST_SEP)
+set(TEST_SEP "a b c")
+separate_arguments(TEST_SEP)
#
# Include vars from a file and from a cache
#
-IF (EXISTS ${Complex_SOURCE_DIR}/VarTests.cmake)
- INCLUDE(${Complex_SOURCE_DIR}/VarTests.cmake)
-ENDIF (EXISTS ${Complex_SOURCE_DIR}/VarTests.cmake)
-INCLUDE(fileshouldnotbehere OPTIONAL)
-LOAD_CACHE(${Complex_SOURCE_DIR}/Cache
+if (EXISTS ${Complex_SOURCE_DIR}/VarTests.cmake)
+ include(${Complex_SOURCE_DIR}/VarTests.cmake)
+endif ()
+include(fileshouldnotbehere OPTIONAL)
+load_cache(${Complex_SOURCE_DIR}/Cache
EXCLUDE
CACHE_TEST_VAR_EXCLUDED
INCLUDE_INTERNALS
CACHE_TEST_VAR_INTERNAL)
-LOAD_CACHE(${Complex_SOURCE_DIR}/Cache READ_WITH_PREFIX foo CACHE_TEST_VAR2)
-IF(${fooCACHE_TEST_VAR2} MATCHES bar)
- MESSAGE("Load cache worked: ${fooCACHE_TEST_VAR2}")
-ELSE(${fooCACHE_TEST_VAR2} MATCHES bar)
- MESSAGE(FATAL_ERROR "Load cache with prefix failed: ${fooCACHE_TEST_VAR2}")
-ENDIF(${fooCACHE_TEST_VAR2} MATCHES bar)
+load_cache(${Complex_SOURCE_DIR}/Cache READ_WITH_PREFIX foo CACHE_TEST_VAR2)
+if(${fooCACHE_TEST_VAR2} MATCHES bar)
+ message("Load cache worked: ${fooCACHE_TEST_VAR2}")
+else()
+ message(FATAL_ERROR "Load cache with prefix failed: ${fooCACHE_TEST_VAR2}")
+endif()
#
-# Specify include and lib dirs
+# Specify include and lib dirs
# (BEFORE is for coverage)
#
-INCLUDE_DIRECTORIES(
+include_directories(
Library
)
-INCLUDE_DIRECTORIES(BEFORE
+include_directories(BEFORE
${Complex_BINARY_DIR}
)
-INCLUDE_DIRECTORIES(SYSTEM Library/SystemDir)
+include_directories(SYSTEM Library/SystemDir)
-INCLUDE_REGULAR_EXPRESSION("^(cmTest|file|sharedFile|test).*$" "^cmMissing")
+include_regular_expression("^(cmTest|file|sharedFile|test).*$" "^cmMissing")
-LINK_DIRECTORIES(
+link_directories(
${Complex_BINARY_DIR}/Library
)
#
# check for SET CACHE FORCE
#
-SET(FORCE_TEST 1 CACHE STRING "a test")
-SET(FORCE_TEST 0 CACHE STRING "a test" FORCE)
+set(FORCE_TEST 1 CACHE STRING "a test")
+set(FORCE_TEST 0 CACHE STRING "a test" FORCE)
#
# Lib and exe path
#
-SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${Complex_BINARY_DIR}/lib/static")
-SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${Complex_BINARY_DIR}/lib")
-SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${Complex_BINARY_DIR}/bin")
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${Complex_BINARY_DIR}/lib/static")
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${Complex_BINARY_DIR}/lib")
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${Complex_BINARY_DIR}/bin")
-MESSAGE (Test " " escape " " semi-colon " " \; \;)
+message (Test " " escape " " semi-colon " " \; \;)
#
# Exec program (TODO: test a result)
# Increase coverage.
#
-MESSAGE("\nIgnore this message")
-OPTION(NO_EXEC_PROGRAM "Do not test EXEC_PROGRAM" 0)
-IF (NOT NO_EXEC_PROGRAM)
- EXEC_PROGRAM(${CMAKE_COMMAND} ARGS -E echo NO_EXEC_PROGRAM "${Complex_BINARY_DIR}")
-ELSE (NOT NO_EXEC_PROGRAM)
- MESSAGE("Set this option ON")
-ENDIF (NOT NO_EXEC_PROGRAM)
+message("\nIgnore this message")
+option(NO_EXEC_PROGRAM "Do not test EXEC_PROGRAM" 0)
+if (NOT NO_EXEC_PROGRAM)
+ exec_program(${CMAKE_COMMAND} ARGS -E echo NO_EXEC_PROGRAM "${Complex_BINARY_DIR}")
+else ()
+ message("Set this option ON")
+endif ()
-MARK_AS_ADVANCED(NO_EXEC_PROGRAM)
-MARK_AS_ADVANCED(CLEAR NO_EXEC_PROGRAM)
+mark_as_advanced(NO_EXEC_PROGRAM)
+mark_as_advanced(CLEAR NO_EXEC_PROGRAM)
# Execute a process. Add coverage for this command.
-EXECUTE_PROCESS(
+execute_process(
COMMAND ${CMAKE_COMMAND} -E echo "ABCDEFG"
OUTPUT_VARIABLE TEST_OUT
)
-IF("${TEST_OUT}" MATCHES "^ABCDEFG\n$")
-ELSE("${TEST_OUT}" MATCHES "^ABCDEFG\n$")
- MESSAGE(SEND_ERROR "EXECUTE_PROCESS output test failed: [${TEST_OUT}]")
-ENDIF("${TEST_OUT}" MATCHES "^ABCDEFG\n$")
+if("${TEST_OUT}" MATCHES "^ABCDEFG\n$")
+else()
+ message(SEND_ERROR "EXECUTE_PROCESS output test failed: [${TEST_OUT}]")
+endif()
# This test has some problems on UNIX systems. Disabling for now.
#
-# EXECUTE_PROCESS(
+# execute_process(
# COMMAND ${CMAKE_COMMAND} -E echo "ABCDEFG"
# COMMAND /process/does/not/exist
# OUTPUT_QUIET
# ERROR_QUIET
# RESULT_VARIABLE RESULT
# )
-# IF("${RESULT}" MATCHES "^0$")
-# MESSAGE(SEND_ERROR
+# if("${RESULT}" MATCHES "^0$")
+# message(SEND_ERROR
# "EXECUTE_PROCESS result test failed with RESULT=[${RESULT}]")
-# ELSE("${RESULT}" MATCHES "^0$")
-# MESSAGE(STATUS "EXECUTE_PROCESS result test passed with RESULT=[${RESULT}]")
-# ENDIF("${RESULT}" MATCHES "^0$")
+# else()
+# message(STATUS "EXECUTE_PROCESS result test passed with RESULT=[${RESULT}]")
+# endif()
#
# Create directory.
# The 'complex' executable will then test if this dir exists,
# sadly it won't be able to remove it.
#
-MAKE_DIRECTORY("${Complex_BINARY_DIR}/make_dir")
+make_directory("${Complex_BINARY_DIR}/make_dir")
#
# Test FIND_LIBARY
# Create a dummy empty lib
#
-CONFIGURE_FILE(
+configure_file(
${Complex_SOURCE_DIR}/Library/dummy
${Complex_BINARY_DIR}/Library/dummylib.lib
COPYONLY IMMEDIATE)
-FOREACH (ext ${CMAKE_SHLIB_SUFFIX};.so;.a;.sl)
- CONFIGURE_FILE(
+foreach (ext ${CMAKE_SHLIB_SUFFIX};.so;.a;.sl)
+ configure_file(
${Complex_SOURCE_DIR}/Library/dummy
${Complex_BINARY_DIR}/Library/libdummylib${ext}
COPYONLY IMMEDIATE)
-ENDFOREACH (ext)
+endforeach ()
-FIND_LIBRARY(FIND_DUMMY_LIB
+find_library(FIND_DUMMY_LIB
dummylib
PATHS
${Complex_BINARY_DIR}/Library DOC "find dummy lib")
-FIND_LIBRARY(FIND_DUMMY_LIB
+find_library(FIND_DUMMY_LIB
NAMES dummylib dummylib2
PATHS
${Complex_BINARY_DIR}/Library DOC "find dummy lib")
#
-# Test SET_SOURCE_FILES_PROPERTIES
+# Test SET_SOURCE_FILES_PROPERTIES
#
-SET_SOURCE_FILES_PROPERTIES(nonexisting_file2
- GENERATED
- ABSTRACT
- WRAP_EXCLUDE
+set_source_files_properties(nonexisting_file2
+ GENERATED
+ ABSTRACT
+ WRAP_EXCLUDE
COMPILE_FLAGS "-foo -bar")
-GET_SOURCE_FILE_PROPERTY(FILE_HAS_ABSTRACT nonexisting_file2 ABSTRACT)
-GET_SOURCE_FILE_PROPERTY(FILE_HAS_WRAP_EXCLUDE nonexisting_file2 WRAP_EXCLUDE)
-GET_SOURCE_FILE_PROPERTY(FILE_COMPILE_FLAGS nonexisting_file2 COMPILE_FLAGS)
+get_source_file_property(FILE_HAS_ABSTRACT nonexisting_file2 ABSTRACT)
+get_source_file_property(FILE_HAS_WRAP_EXCLUDE nonexisting_file2 WRAP_EXCLUDE)
+get_source_file_property(FILE_COMPILE_FLAGS nonexisting_file2 COMPILE_FLAGS)
-SET_SOURCE_FILES_PROPERTIES(nonexisting_file3 PROPERTIES
+set_source_files_properties(nonexisting_file3 PROPERTIES
GENERATED 1
ABSTRACT 1
WRAP_EXCLUDE 1
COMPILE_FLAGS "-foo -bar")
-GET_SOURCE_FILE_PROPERTY(FILE_HAS_ABSTRACT nonexisting_file3 ABSTRACT)
-GET_SOURCE_FILE_PROPERTY(FILE_HAS_WRAP_EXCLUDE nonexisting_file3 WRAP_EXCLUDE)
-GET_SOURCE_FILE_PROPERTY(FILE_COMPILE_FLAGS nonexisting_file3 COMPILE_FLAGS)
+get_source_file_property(FILE_HAS_ABSTRACT nonexisting_file3 ABSTRACT)
+get_source_file_property(FILE_HAS_WRAP_EXCLUDE nonexisting_file3 WRAP_EXCLUDE)
+get_source_file_property(FILE_COMPILE_FLAGS nonexisting_file3 COMPILE_FLAGS)
#
# Test registry (win32)
# Create a file, put its path in a registry key, try to find the file in that
# path using that registry key, then remove the file and the key
#
-IF (WIN32)
- IF (NOT UNIX)
- SET(dir "${Complex_BINARY_DIR}/registry_dir")
- SET(file "registry_test_dummy")
- SET(hkey "HKEY_CURRENT_USER\\Software\\Kitware\\CMake\\Tests\\Complex;registry_test")
- CONFIGURE_FILE(
+if (WIN32)
+ if (NOT UNIX)
+ set(dir "${Complex_BINARY_DIR}/registry_dir")
+ set(file "registry_test_dummy")
+ set(hkey "HKEY_CURRENT_USER\\Software\\Kitware\\CMake\\Tests\\Complex;registry_test")
+ configure_file(
${Complex_SOURCE_DIR}/Library/dummy
"${dir}/${file}"
COPYONLY IMMEDIATE)
- EXEC_PROGRAM(${CMAKE_COMMAND} ARGS "-E write_regv \"${hkey}\" \"${dir}\"")
- FIND_PATH(REGISTRY_TEST_PATH
+ exec_program(${CMAKE_COMMAND} ARGS "-E write_regv \"${hkey}\" \"${dir}\"")
+ find_path(REGISTRY_TEST_PATH
${file}
"[${hkey}]" DOC "Registry_Test_Path")
- EXEC_PROGRAM(${CMAKE_COMMAND} ARGS "-E delete_regv \"${hkey}\"")
- EXEC_PROGRAM(${CMAKE_COMMAND} ARGS "-E remove \"${dir}/${file}\"")
- ENDIF (NOT UNIX)
-ENDIF (WIN32)
+ exec_program(${CMAKE_COMMAND} ARGS "-E delete_regv \"${hkey}\"")
+ exec_program(${CMAKE_COMMAND} ARGS "-E remove \"${dir}/${file}\"")
+ endif ()
+endif ()
#
# Test a set and a remove
#
-SET(REMOVE_STRING a b c d e f)
-SET(removeVar1 c e)
-REMOVE(REMOVE_STRING ${removeVar1} f)
+set(REMOVE_STRING a b c d e f)
+set(removeVar1 c e)
+remove(REMOVE_STRING ${removeVar1} f)
#
# Test an IF inside a FOREACH.
#
-FOREACH(x "a")
- IF(${x} MATCHES "a")
+foreach(x "a")
+ if(${x} MATCHES "a")
# Should always execute.
- SET(IF_INSIDE_FOREACH_THEN_EXECUTED 1)
- ELSE(${x} MATCHES "a")
+ set(IF_INSIDE_FOREACH_THEN_EXECUTED 1)
+ else()
# Should never execute.
- SET(IF_INSIDE_FOREACH_ELSE_EXECUTED 1)
- ENDIF(${x} MATCHES "a")
-ENDFOREACH(x)
+ set(IF_INSIDE_FOREACH_ELSE_EXECUTED 1)
+ endif()
+endforeach()
# test WHILE command
-SET (while_var 1)
-WHILE (while_var LESS 1000)
- SET(while_var ${while_var}0)
-ENDWHILE(while_var LESS 1000)
+set (while_var 1)
+while (while_var LESS 1000)
+ set(while_var ${while_var}0)
+endwhile()
-SET(SHOULD_BE_ZERO )
-SET(SHOULD_BE_ONE 1)
+set(SHOULD_BE_ZERO )
+set(SHOULD_BE_ONE 1)
-# test elseif functionality, the mess below tries to catch problem
+# test elseif functionality, the mess below tries to catch problem
# of clauses being executed early or late etc
set (RESULT 3)
if (RESULT EQUAL 1)
@@ -298,7 +298,7 @@ if (RESULT EQUAL 1)
set (ELSEIF_RESULT 1)
elseif (RESULT EQUAL 3)
set (ELSEIF_RESULT 1)
- endif (RESULT EQUAL 2)
+ endif ()
elseif (RESULT EQUAL 2)
set (ELSEIF_RESULT 1)
elseif (RESULT EQUAL 3)
@@ -307,25 +307,25 @@ elseif (RESULT EQUAL 3)
elseif (RESULT EQUAL 3)
if (NOT ELSEIF_RESULT EQUAL 1)
set (ELSEIF_RESULT 2)
- endif (NOT ELSEIF_RESULT EQUAL 1)
- endif (RESULT EQUAL 2)
+ endif ()
+ endif ()
elseif (RESULT EQUAL 4)
if (RESULT EQUAL 2)
set (ELSEIF_RESULT 1)
elseif (RESULT EQUAL 3)
set (ELSEIF_RESULT 1)
- endif (RESULT EQUAL 2)
-else (RESULT EQUAL 1)
+ endif ()
+else ()
if (RESULT EQUAL 2)
set (ELSEIF_RESULT 1)
elseif (RESULT EQUAL 3)
set (ELSEIF_RESULT 1)
- endif (RESULT EQUAL 2)
-endif (RESULT EQUAL 1)
+ endif ()
+endif ()
if (NOT ELSEIF_RESULT EQUAL 2)
set (ELSEIF_RESULT 0)
-endif (NOT ELSEIF_RESULT EQUAL 2)
+endif ()
# test handling of parenthetical groups in conditionals
if (2 GREATER 1 AND (4 LESS 3 OR 5 LESS 6) AND NOT (7 GREATER 8))
@@ -334,43 +334,43 @@ endif()
#
-# Configure file
+# Configure file
# (plug vars to #define so that they can be tested)
#
-CONFIGURE_FILE(
+configure_file(
${Complex_SOURCE_DIR}/cmTestConfigure.h.in
${Complex_BINARY_DIR}/cmTestConfigure.h)
-SET(STRING_WITH_QUOTES "\"hello world\"")
+set(STRING_WITH_QUOTES "\"hello world\"")
# test CONFIGURE_FILE with ESCAPE_QUOTES on
-CONFIGURE_FILE(
+configure_file(
${Complex_SOURCE_DIR}/cmTestConfigureEscape.h.in
${Complex_BINARY_DIR}/cmTestConfigureEscape.h ESCAPE_QUOTES)
# Test regular expression commands.
-STRING(REGEX MATCH "b" RESULT "abc")
-IF(NOT RESULT)
- MESSAGE(SEND_ERROR "STRING(REGEX MATCH ... ) test failed.")
-ENDIF(NOT RESULT)
-STRING(REGEX MATCHALL "b" RESULT "abcb")
-IF(NOT RESULT)
- MESSAGE(SEND_ERROR "STRING(REGEX MATCHALL ... ) test failed.")
-ENDIF(NOT RESULT)
-STRING(REGEX REPLACE ".([bd])." "[\\1]" RESULT "a(b)c(d)e")
-IF("x${RESULT}" MATCHES "^xa\\[b\\]c\\[d\\]e$")
- SET(STRING_REGEX_PASSED 1)
-ENDIF("x${RESULT}" MATCHES "^xa\\[b\\]c\\[d\\]e$")
-IF(NOT STRING_REGEX_PASSED)
- MESSAGE(SEND_ERROR
- "STRING(REGEX REPLACE ... ) test failed (\"${RESULT}\" v. \"a[b]c[d]e\")")
-ENDIF(NOT STRING_REGEX_PASSED)
+string(REGEX MATCH "b" RESULT "abc")
+if(NOT RESULT)
+ message(SEND_ERROR "string(REGEX MATCH ... ) test failed.")
+endif()
+string(REGEX MATCHALL "b" RESULT "abcb")
+if(NOT RESULT)
+ message(SEND_ERROR "string(REGEX MATCHALL ... ) test failed.")
+endif()
+string(REGEX REPLACE ".([bd])." "[\\1]" RESULT "a(b)c(d)e")
+if("x${RESULT}" MATCHES "^xa\\[b\\]c\\[d\\]e$")
+ set(STRING_REGEX_PASSED 1)
+endif()
+if(NOT STRING_REGEX_PASSED)
+ message(SEND_ERROR
+ "string(REGEX REPLACE ... ) test failed (\"${RESULT}\" v. \"a[b]c[d]e\")")
+endif()
#
# Create the libs and the main exe
#
-ADD_SUBDIRECTORY(Library)
-ADD_SUBDIRECTORY(Executable)
-SUBDIR_DEPENDS(Executable Library)
-EXPORT_LIBRARY_DEPENDENCIES(${Complex_BINARY_DIR}/ComplexLibraryDepends.cmake)
-INCLUDE(${Complex_BINARY_DIR}/ComplexLibraryDepends.cmake OPTIONAL)
+add_subdirectory(Library)
+add_subdirectory(Executable)
+subdir_depends(Executable Library)
+export_library_dependencies(${Complex_BINARY_DIR}/ComplexLibraryDepends.cmake)
+include(${Complex_BINARY_DIR}/ComplexLibraryDepends.cmake OPTIONAL)
diff --git a/Tests/ComplexOneConfig/Executable/CMakeLists.txt b/Tests/ComplexOneConfig/Executable/CMakeLists.txt
index 345836257..432dbf890 100644
--- a/Tests/ComplexOneConfig/Executable/CMakeLists.txt
+++ b/Tests/ComplexOneConfig/Executable/CMakeLists.txt
@@ -1,116 +1,116 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 1.3)
+cmake_minimum_required(VERSION 1.3)
#
-# Create exe.
+# Create exe.
#
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DTEST_CXX_FLAGS")
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DTEST_C_FLAGS")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DTEST_CXX_FLAGS")
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DTEST_C_FLAGS")
# Create an imported target for if(TARGET) test below.
-ADD_LIBRARY(ExeImportedTarget UNKNOWN IMPORTED)
+add_library(ExeImportedTarget UNKNOWN IMPORTED)
# Test if(TARGET) command.
-IF(NOT TARGET CMakeTestLibrary)
- MESSAGE(FATAL_ERROR "IF(NOT TARGET CMakeTestLibrary) returned true!")
-ENDIF(NOT TARGET CMakeTestLibrary)
-IF(NOT TARGET ExeImportedTarget)
- MESSAGE(FATAL_ERROR "IF(NOT TARGET ExeImportedTarget) returned true!")
-ENDIF(NOT TARGET ExeImportedTarget)
-IF(TARGET LibImportedTarget)
- MESSAGE(FATAL_ERROR "IF(TARGET LibImportedTarget) returned true!")
-ENDIF(TARGET LibImportedTarget)
-IF(TARGET NotATarget)
- MESSAGE(FATAL_ERROR "IF(TARGET NotATarget) returned true!")
-ENDIF(TARGET NotATarget)
-
- # Use LINK_LIBRARIES instead of TARGET_LINK_LIBRARIES to
-SET(COMPLEX_LIBS CMakeTestLibrary;CMakeTestLibraryShared;CMakeTestCLibraryShared)
-LINK_LIBRARIES(${COMPLEX_LIBS})
+if(NOT TARGET CMakeTestLibrary)
+ message(FATAL_ERROR "if(NOT TARGET CMakeTestLibrary) returned true!")
+endif()
+if(NOT TARGET ExeImportedTarget)
+ message(FATAL_ERROR "if(NOT TARGET ExeImportedTarget) returned true!")
+endif()
+if(TARGET LibImportedTarget)
+ message(FATAL_ERROR "if(TARGET LibImportedTarget) returned true!")
+endif()
+if(TARGET NotATarget)
+ message(FATAL_ERROR "if(TARGET NotATarget) returned true!")
+endif()
+
+ # Use LINK_LIBRARIES instead of TARGET_LINK_LIBRARIES to
+set(COMPLEX_LIBS CMakeTestLibrary;CMakeTestLibraryShared;CMakeTestCLibraryShared)
+link_libraries(${COMPLEX_LIBS})
# Test forcing a .cxx file to not build.
-SET_SOURCE_FILES_PROPERTIES(complex_nobuild.cxx PROPERTIES
+set_source_files_properties(complex_nobuild.cxx PROPERTIES
HEADER_FILE_ONLY 1)
# Test forcing a .c file to not build.
# This makes sure a mixed language library is created
# with header file only sources
-SET_SOURCE_FILES_PROPERTIES(complex_nobuild.c PROPERTIES
+set_source_files_properties(complex_nobuild.c PROPERTIES
HEADER_FILE_ONLY 1)
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
-ADD_EXECUTABLE(A A.cxx A.hh A.h A.txt)
-ADD_CUSTOM_COMMAND(OUTPUT Aout.h COMMAND A > Aout.h VERBATIM)
-ADD_EXECUTABLE(complex complex testcflags.c Aout.h)
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+add_executable(A A.cxx A.hh A.h A.txt)
+add_custom_command(OUTPUT Aout.h COMMAND A > Aout.h VERBATIM)
+add_executable(complex complex testcflags.c Aout.h)
# Sub1/NameConflictTest.c Sub2/NameConflictTest.c)
-ADD_EXECUTABLE(complex.file complex.file.cxx complex_nobuild.cxx
+add_executable(complex.file complex.file.cxx complex_nobuild.cxx
complex_nobuild.c)
-IF (UNIX)
- TARGET_LINK_LIBRARIES(complex ${CMAKE_DL_LIBS})
-ELSE(UNIX)
- IF (NOT BORLAND)
- IF(NOT MINGW)
- TARGET_LINK_LIBRARIES(complex rpcrt4.lib)
- ENDIF(NOT MINGW)
- ENDIF(NOT BORLAND)
-ENDIF (UNIX)
+if (UNIX)
+ target_link_libraries(complex ${CMAKE_DL_LIBS})
+else()
+ if (NOT BORLAND)
+ if(NOT MINGW)
+ target_link_libraries(complex rpcrt4.lib)
+ endif()
+ endif()
+endif ()
# Test linking to static lib when a shared lib has the same name.
-IF(CMAKE_EXE_LINK_STATIC_CXX_FLAGS)
- ADD_DEFINITIONS(-DCOMPLEX_TEST_LINK_STATIC)
- TARGET_LINK_LIBRARIES(complex CMakeTestLinkStatic)
-ENDIF(CMAKE_EXE_LINK_STATIC_CXX_FLAGS)
+if(CMAKE_EXE_LINK_STATIC_CXX_FLAGS)
+ add_definitions(-DCOMPLEX_TEST_LINK_STATIC)
+ target_link_libraries(complex CMakeTestLinkStatic)
+endif()
# can we get the path to a source file
-GET_SOURCE_FILE_PROPERTY(A_LOCATION A.cxx LOCATION)
-IF ("${A_LOCATION}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}/A.cxx")
- ADD_DEFINITIONS(-DCMAKE_FOUND_ACXX)
-ENDIF ("${A_LOCATION}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}/A.cxx")
+get_source_file_property(A_LOCATION A.cxx LOCATION)
+if ("${A_LOCATION}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}/A.cxx")
+ add_definitions(-DCMAKE_FOUND_ACXX)
+endif ()
# get the directory parent
-GET_DIRECTORY_PROPERTY(P_VALUE PARENT_DIRECTORY)
-IF ("${P_VALUE}" STREQUAL "${CMAKE_SOURCE_DIR}")
- ADD_DEFINITIONS(-DCMAKE_FOUND_PARENT)
-ENDIF ("${P_VALUE}" STREQUAL "${CMAKE_SOURCE_DIR}")
+get_directory_property(P_VALUE PARENT_DIRECTORY)
+if ("${P_VALUE}" STREQUAL "${CMAKE_SOURCE_DIR}")
+ add_definitions(-DCMAKE_FOUND_PARENT)
+endif ()
# get the stack of listfiles
-INCLUDE(Included.cmake)
-IF ("${LF_VALUE}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt;${CMAKE_CURRENT_SOURCE_DIR}/Included.cmake")
- ADD_DEFINITIONS(-DCMAKE_FOUND_LISTFILE_STACK)
-ENDIF ("${LF_VALUE}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt;${CMAKE_CURRENT_SOURCE_DIR}/Included.cmake")
+include(Included.cmake)
+if ("${LF_VALUE}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt;${CMAKE_CURRENT_SOURCE_DIR}/Included.cmake")
+ add_definitions(-DCMAKE_FOUND_LISTFILE_STACK)
+endif ()
# Test add/remove definitions.
-ADD_DEFINITIONS(
+add_definitions(
-DCOMPLEX_DEFINED_PRE
-DCOMPLEX_DEFINED
-DCOMPLEX_DEFINED_POST
-DCOMPLEX_DEFINED
)
-REMOVE_DEFINITIONS(-DCOMPLEX_DEFINED)
+remove_definitions(-DCOMPLEX_DEFINED)
# Test pre-build/pre-link/post-build rules for an executable.
-ADD_CUSTOM_COMMAND(TARGET complex PRE_BUILD
+add_custom_command(TARGET complex PRE_BUILD
COMMAND ${CREATE_FILE_EXE}
ARGS "${Complex_BINARY_DIR}/Executable/prebuild.txt")
-ADD_CUSTOM_COMMAND(TARGET complex PRE_BUILD
+add_custom_command(TARGET complex PRE_BUILD
COMMAND ${CREATE_FILE_EXE}
ARGS "${Complex_BINARY_DIR}/Executable/prelink.txt")
-ADD_CUSTOM_COMMAND(TARGET complex POST_BUILD
+add_custom_command(TARGET complex POST_BUILD
COMMAND ${CREATE_FILE_EXE}
ARGS "${Complex_BINARY_DIR}/Executable/postbuild.txt")
-ADD_CUSTOM_COMMAND(TARGET complex POST_BUILD
+add_custom_command(TARGET complex POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy
"${Complex_BINARY_DIR}/Executable/postbuild.txt"
"${Complex_BINARY_DIR}/Executable/postbuild2.txt")
-SET_SOURCE_FILES_PROPERTIES(complex
+set_source_files_properties(complex
COMPILE_FLAGS
"-DFILE_HAS_EXTRA_COMPILE_FLAGS"
#" -DFILE_DEFINE_STRING=\\\"hello\\\""
OBJECT_DEPENDS ${Complex_BINARY_DIR}/cmTestGeneratedHeader.h
)
-SET_TARGET_PROPERTIES(complex PROPERTIES COMPILE_FLAGS "-DCOMPLEX_TARGET_FLAG")
-ADD_CUSTOM_COMMAND(
+set_target_properties(complex PROPERTIES COMPILE_FLAGS "-DCOMPLEX_TARGET_FLAG")
+add_custom_command(
TARGET complex
SOURCE ${Complex_SOURCE_DIR}/cmTestGeneratedHeader.h.in
COMMAND ${CMAKE_COMMAND}
@@ -121,18 +121,18 @@ ADD_CUSTOM_COMMAND(
)
# Test creating an executable that is not built by default.
-ADD_EXECUTABLE(notInAllExe EXCLUDE_FROM_ALL notInAllExe.cxx)
-TARGET_LINK_LIBRARIES(notInAllExe notInAllLib)
+add_executable(notInAllExe EXCLUDE_FROM_ALL notInAllExe.cxx)
+target_link_libraries(notInAllExe notInAllLib)
# Test user-value flag mapping for the VS IDE.
-IF(MSVC)
- SET_TARGET_PROPERTIES(notInAllExe PROPERTIES
+if(MSVC)
+ set_target_properties(notInAllExe PROPERTIES
LINK_FLAGS "/NODEFAULTLIB:LIBC;LIBCMT;MSVCRT")
-ENDIF(MSVC)
+endif()
# Test creating a custom target that builds not-in-all targets.
-ADD_CUSTOM_TARGET(notInAllCustom)
-ADD_DEPENDENCIES(notInAllCustom notInAllExe)
+add_custom_target(notInAllCustom)
+add_dependencies(notInAllCustom notInAllExe)
#
# Output the files required by 'complex' to a file.
@@ -141,30 +141,30 @@ ADD_DEPENDENCIES(notInAllCustom notInAllExe)
# has no side-effects on the current Makefile (duplicated source file
# due to source list expansion done twice).
#
-ADD_SUBDIRECTORY(Temp)
+add_subdirectory(Temp)
-IF(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_INCLUDE_SYSTEM_FLAG_CXX)
- ADD_EXECUTABLE(testSystemDir testSystemDir.cxx)
- SET_TARGET_PROPERTIES(testSystemDir PROPERTIES COMPILE_FLAGS "-Werror")
-ENDIF(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_INCLUDE_SYSTEM_FLAG_CXX)
+if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_INCLUDE_SYSTEM_FLAG_CXX)
+ add_executable(testSystemDir testSystemDir.cxx)
+ set_target_properties(testSystemDir PROPERTIES COMPILE_FLAGS "-Werror")
+endif()
#
# Extra coverage.Not used.
#
-INSTALL_TARGETS(/tmp complex)
-INSTALL_PROGRAMS(/tmp complex)
+install_targets(/tmp complex)
+install_programs(/tmp complex)
-CONFIGURE_FILE(
+configure_file(
${Complex_SOURCE_DIR}/Executable/cmVersion.h.in
${Complex_BINARY_DIR}/cmVersion.h)
-SOURCE_GROUP(A_GROUP ".cxx")
-SOURCE_GROUP(B_GROUP REGULAR_EXPRESSION "cxx")
-SOURCE_GROUP(C_GROUP FILES complex.cxx)
+source_group(A_GROUP ".cxx")
+source_group(B_GROUP REGULAR_EXPRESSION "cxx")
+source_group(C_GROUP FILES complex.cxx)
-FILE(WRITE ${Complex_BINARY_DIR}/A/libA.a "test")
-FILE(WRITE ${Complex_BINARY_DIR}/A/libC.a "test")
-FILE(WRITE ${Complex_BINARY_DIR}/B/libB.a "test")
-FILE(WRITE ${Complex_BINARY_DIR}/B/libA.a "test")
-FILE(WRITE ${Complex_BINARY_DIR}/C/libC.a "test")
-FILE(WRITE ${Complex_BINARY_DIR}/C/libB.a "test")
+file(WRITE ${Complex_BINARY_DIR}/A/libA.a "test")
+file(WRITE ${Complex_BINARY_DIR}/A/libC.a "test")
+file(WRITE ${Complex_BINARY_DIR}/B/libB.a "test")
+file(WRITE ${Complex_BINARY_DIR}/B/libA.a "test")
+file(WRITE ${Complex_BINARY_DIR}/C/libC.a "test")
+file(WRITE ${Complex_BINARY_DIR}/C/libB.a "test")
diff --git a/Tests/ComplexOneConfig/Executable/Included.cmake b/Tests/ComplexOneConfig/Executable/Included.cmake
index 2d1ea3e8c..520a68be1 100644
--- a/Tests/ComplexOneConfig/Executable/Included.cmake
+++ b/Tests/ComplexOneConfig/Executable/Included.cmake
@@ -1,2 +1,2 @@
-GET_DIRECTORY_PROPERTY(LF_VALUE LISTFILE_STACK)
+get_directory_property(LF_VALUE LISTFILE_STACK)
diff --git a/Tests/ComplexOneConfig/Executable/Temp/CMakeLists.txt b/Tests/ComplexOneConfig/Executable/Temp/CMakeLists.txt
index f00955029..041fcff20 100644
--- a/Tests/ComplexOneConfig/Executable/Temp/CMakeLists.txt
+++ b/Tests/ComplexOneConfig/Executable/Temp/CMakeLists.txt
@@ -3,6 +3,6 @@
# The 'complex' executable will then test if this file exists and remove it.
# The contents of this file is not tested (absolute paths).
#
-OUTPUT_REQUIRED_FILES(
- ${Complex_SOURCE_DIR}/Executable/complex.cxx
- ${Complex_BINARY_DIR}/Executable/Temp/complex-required.txt)
+output_required_files(
+ ${Complex_SOURCE_DIR}/Executable/complex.cxx
+ ${Complex_BINARY_DIR}/Executable/Temp/complex-required.txt)
diff --git a/Tests/ComplexOneConfig/Executable/complex.cxx b/Tests/ComplexOneConfig/Executable/complex.cxx
index 1901d9914..27d70adc8 100644
--- a/Tests/ComplexOneConfig/Executable/complex.cxx
+++ b/Tests/ComplexOneConfig/Executable/complex.cxx
@@ -33,7 +33,7 @@ int cm_failed = 0;
void cmFailed(const char* Message, const char* m2= "", const char* m3 = "")
{
- std::cout << "FAILED: " << Message << m2 << m3 << "\n";
+ std::cout << "FAILED: " << Message << m2 << m3 << "\n";
cm_failed++;
}
@@ -41,7 +41,7 @@ void cmFailed(const char* Message, const char* m2= "", const char* m3 = "")
void cmPassed(const char* Message, const char* m2="")
{
- std::cout << "Passed: " << Message << m2 << "\n";
+ std::cout << "Passed: " << Message << m2 << "\n";
cm_passed++;
}
@@ -67,7 +67,7 @@ void cmPassed(const char* Message, const char* m2="")
// ======================================================================
-void TestAndRemoveFile(const char* filename)
+void TestAndRemoveFile(const char* filename)
{
struct stat st;
if(stat(filename, &st) < 0)
@@ -89,7 +89,7 @@ void TestAndRemoveFile(const char* filename)
// ======================================================================
-void TestDir(const char* filename)
+void TestDir(const char* filename)
{
struct stat st;
if(stat(filename, &st) < 0 || !S_ISDIR(st.st_mode))
@@ -113,7 +113,7 @@ void ForceStringUse()
std::string cachetest = CACHE_TEST_VAR_INTERNAL;
v.push_back(cachetest);
v2 = v;
- std::string x(5,'x');
+ std::string x(5,'x');
char buff[5];
x.copy(buff, 1, 0);
x[0] = 'a';
@@ -165,7 +165,7 @@ int main()
#else
cmPassed("COMPILE_FLAGS did work with SET_TARGET_PROPERTIES");
#endif
-
+
#ifdef ELSEIF_RESULT
cmPassed("ELSEIF did work");
#else
@@ -228,8 +228,8 @@ int main()
#else
cmPassed("CMAKE_IS_FUN is defined.");
#endif
-
-#if defined(CMAKE_ARGV1) && defined(CMAKE_ARGV2) && defined(CMAKE_ARGV3) && defined(CMAKE_ARGV4)
+
+#if defined(CMAKE_ARGV1) && defined(CMAKE_ARGV2) && defined(CMAKE_ARGV3) && defined(CMAKE_ARGV4)
cmPassed("Variable args for MACROs are working.");
#else
cmFailed("Variable args for MACROs are failing.");
@@ -250,7 +250,7 @@ int main()
#else
cmPassed("CMake found the parent directory properly");
#endif
-
+
// ----------------------------------------------------------------------
// Test GET_DIRECTORY_PROPERTY for listfiles
#ifndef CMAKE_FOUND_LISTFILE_STACK
@@ -258,7 +258,7 @@ int main()
#else
cmPassed("CMake found the listfile stack properly");
#endif
-
+
// ----------------------------------------------------------------------
// Test SET, VARIABLE_REQUIRES
@@ -267,38 +267,38 @@ int main()
#else
cmPassed("SHOULD_NOT_BE_DEFINED is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED is defined.");
#endif
-
+
#ifndef ONE_VAR
cmFailed("cmakedefine is broken, ONE_VAR is not defined.");
#else
cmPassed("ONE_VAR is defined.");
#endif
-
+
#ifndef ONE_VAR_IS_DEFINED
cmFailed("cmakedefine, SET or VARIABLE_REQUIRES is broken, "
"ONE_VAR_IS_DEFINED is not defined.");
#else
cmPassed("ONE_VAR_IS_DEFINED is defined.");
#endif
-
+
#ifdef ZERO_VAR
cmFailed("cmakedefine is broken, ZERO_VAR is defined.");
#else
cmPassed("ZERO_VAR is not defined.");
#endif
-
+
#ifndef STRING_VAR
cmFailed("the CONFIGURE_FILE command is broken, STRING_VAR is not defined.");
#else
if(strcmp(STRING_VAR, "CMake is great") != 0)
{
- cmFailed("the SET or CONFIGURE_FILE command is broken. STRING_VAR == ",
+ cmFailed("the SET or CONFIGURE_FILE command is broken. STRING_VAR == ",
STRING_VAR);
}
else
@@ -315,145 +315,145 @@ int main()
#else
cmPassed("SHOULD_NOT_BE_DEFINED_NOT is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_NOT
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_NOT is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_NOT is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_NOT2
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_NOT2 is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_NOT2 is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_NOT2
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_NOT2 is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_NOT2 is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_AND
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_AND is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_AND is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_AND
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_AND is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_AND is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_AND2
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_AND2 is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_AND2 is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_AND2
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_AND2 is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_AND2 is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_OR
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_OR is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_OR is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_OR
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_OR is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_OR is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_OR2
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_OR2 is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_OR2 is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_OR2
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_OR2 is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_OR2 is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_MATCHES
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_MATCHES is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_MATCHES is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_MATCHES
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_MATCHES is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_MATCHES is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_MATCHES2
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_MATCHES2 is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_MATCHES2 is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_MATCHES2
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_MATCHES2 is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_MATCHES2 is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_COMMAND
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_COMMAND is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_COMMAND is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_COMMAND
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_COMMAND is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_COMMAND is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_COMMAND2
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_COMMAND2 is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_COMMAND2 is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_COMMAND2
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_COMMAND2 is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_COMMAND2 is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_EXISTS
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_EXISTS is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_EXISTS is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_EXISTS
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_EXISTS is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_EXISTS is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_EXISTS2
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_EXISTS2 is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_EXISTS2 is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_EXISTS2
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_EXISTS2 is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_EXISTS2 is defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_IS_DIRECTORY
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_IS_DIRECTORY is not defined.\n");
#else
@@ -471,31 +471,31 @@ int main()
#else
cmPassed("SHOULD_NOT_BE_DEFINED_LESS is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_LESS
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_LESS is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_LESS is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_LESS2
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_LESS2 is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_LESS2 is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_LESS2
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_LESS2 is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_LESS2 is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_GREATER
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_GREATER is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_GREATER is not defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_EQUAL
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_EQUAL is defined.");
#else
@@ -513,67 +513,67 @@ int main()
#else
cmPassed("SHOULD_BE_DEFINED_GREATER is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_GREATER2
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_GREATER2 is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_GREATER2 is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_GREATER2
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_GREATER2 is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_GREATER2 is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_STRLESS
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_STRLESS is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_STRLESS is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_STRLESS
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_STRLESS is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_STRLESS is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_STRLESS2
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_STRLESS2 is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_STRLESS2 is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_STRLESS2
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_STRLESS2 is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_STRLESS2 is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_STRGREATER
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_STRGREATER is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_STRGREATER is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_STRGREATER
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_STRGREATER is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_STRGREATER is defined.");
#endif
-
+
#ifdef SHOULD_NOT_BE_DEFINED_STRGREATER2
cmFailed("IF or SET is broken, SHOULD_NOT_BE_DEFINED_STRGREATER2 is defined.");
#else
cmPassed("SHOULD_NOT_BE_DEFINED_STRGREATER2 is not defined.");
#endif
-
+
#ifndef SHOULD_BE_DEFINED_STRGREATER2
cmFailed("IF or SET is broken, SHOULD_BE_DEFINED_STRGREATER2 is not defined.\n");
#else
cmPassed("SHOULD_BE_DEFINED_STRGREATER2 is defined.");
#endif
-
+
// ----------------------------------------------------------------------
// Test FOREACH
@@ -624,7 +624,7 @@ int main()
// ----------------------------------------------------------------------
// Test WHILE
-
+
if(WHILE_VALUE != 1000)
{
cmFailed("WHILE command is not working");
@@ -814,7 +814,7 @@ int main()
// only created during a build.
TestAndRemoveFile(BINARY_DIR "/Library/custom_target1.txt");
-
+
// ----------------------------------------------------------------------
// A directory has been created.
@@ -890,7 +890,7 @@ int main()
#else
if(strcmp(FILE_COMPILE_FLAGS, "-foo -bar") != 0)
{
- cmFailed("the SET_SOURCE_FILES_PROPERTIES or CONFIGURE_FILE command is broken. FILE_COMPILE_FLAGS == ",
+ cmFailed("the SET_SOURCE_FILES_PROPERTIES or CONFIGURE_FILE command is broken. FILE_COMPILE_FLAGS == ",
FILE_COMPILE_FLAGS);
}
else
@@ -908,7 +908,7 @@ int main()
std::cout << "REGISTRY_TEST_PATH == " << REGISTRY_TEST_PATH << "\n";
if(stricmp(REGISTRY_TEST_PATH, BINARY_DIR "/registry_dir") != 0)
{
- cmFailed("the 'read registry value' function or CONFIGURE_FILE command is broken. REGISTRY_TEST_PATH == ",
+ cmFailed("the 'read registry value' function or CONFIGURE_FILE command is broken. REGISTRY_TEST_PATH == ",
REGISTRY_TEST_PATH, " is not " BINARY_DIR "/registry_dir");
}
else
@@ -937,7 +937,7 @@ int main()
{
cmFailed("REMOVE is not working");
}
-
+
// ----------------------------------------------------------------------
// Test SEPARATE_ARGUMENTS
if(strcmp("a;b;c", TEST_SEP) == 0)
@@ -948,7 +948,7 @@ int main()
{
cmFailed("SEPARATE_ARGUMENTS is not working");
}
-
+
// ----------------------------------------------------------------------
// Test Escape Quotes
if(strcmp("\"hello world\"", STRING_WITH_QUOTES) == 0)
@@ -959,8 +959,8 @@ int main()
{
cmFailed("ESCAPE_QUOTES is not working");
}
-
-
+
+
// ----------------------------------------------------------------------
// Test if IF command inside a FOREACH works.
#if defined(IF_INSIDE_FOREACH_THEN_EXECUTED) && !defined(IF_INSIDE_FOREACH_ELSE_EXECUTED)
@@ -981,7 +981,7 @@ int main()
else
{
cmFailed("cmakedefine01 is not working for 0");
- }
+ }
if(SHOULD_BE_ONE == 1)
{
cmPassed("cmakedefine01 is working for 1");
@@ -989,7 +989,7 @@ int main()
else
{
cmFailed("cmakedefine01 is not working for 1");
- }
+ }
#ifdef FORCE_TEST
cmFailed("CMake SET CACHE FORCE");
#else
diff --git a/Tests/ComplexOneConfig/Executable/testcflags.c b/Tests/ComplexOneConfig/Executable/testcflags.c
index f4d584844..6c2dd5db3 100644
--- a/Tests/ComplexOneConfig/Executable/testcflags.c
+++ b/Tests/ComplexOneConfig/Executable/testcflags.c
@@ -18,7 +18,7 @@ int TestCFlags(char* m)
return 0;
#endif
/* TEST_C_FLAGS should be defined in a c file */
-#ifndef TEST_C_FLAGS
+#ifndef TEST_C_FLAGS
strcpy(m, "CMake CMAKE_C_FLAGS (TEST_C_FLAGS) not found in c file.");
return 0;
#endif
diff --git a/Tests/ComplexOneConfig/Library/CMakeLists.txt b/Tests/ComplexOneConfig/Library/CMakeLists.txt
index c8efc3022..5c430523e 100644
--- a/Tests/ComplexOneConfig/Library/CMakeLists.txt
+++ b/Tests/ComplexOneConfig/Library/CMakeLists.txt
@@ -1,90 +1,90 @@
-REMOVE_DEFINITIONS(-DCMAKE_IS_REALLY_FUN)
+remove_definitions(-DCMAKE_IS_REALLY_FUN)
#
# Small utility used to create file
# UTILITY_SOURCE is used for coverage and for getting the exact name
# of the executable.
#
-UTILITY_SOURCE(CREATE_FILE_EXE create_file "." create_file.cxx)
-ADD_EXECUTABLE(create_file create_file.cxx)
-SET_TARGET_PROPERTIES(create_file PROPERTIES RUNTIME_OUTPUT_DIRECTORY ".")
+utility_source(CREATE_FILE_EXE create_file "." create_file.cxx)
+add_executable(create_file create_file.cxx)
+set_target_properties(create_file PROPERTIES RUNTIME_OUTPUT_DIRECTORY ".")
#
# Create static library
# SOURCE_FILES_REMOVE is used for Coverage. empty.h is included for coverage
#
-AUX_SOURCE_DIRECTORY(ExtraSources LibrarySources)
-SET(LibrarySources ${LibrarySources}
- file2
- empty
- create_file.cxx
- GENERATED
+aux_source_directory(ExtraSources LibrarySources)
+set(LibrarySources ${LibrarySources}
+ file2
+ empty
+ create_file.cxx
+ GENERATED
nonexisting_file)
-REMOVE(LibrarySources create_file.cxx GENERATED nonexisting_file)
-ADD_LIBRARY(CMakeTestLibrary ${LibrarySources})
+remove(LibrarySources create_file.cxx GENERATED nonexisting_file)
+add_library(CMakeTestLibrary ${LibrarySources})
-IF(WIN32)
- IF(NOT CYGWIN)
- IF(NOT BORLAND)
- IF(NOT MINGW)
- TARGET_LINK_LIBRARIES(CMakeTestLibrary
- debug
+if(WIN32)
+ if(NOT CYGWIN)
+ if(NOT BORLAND)
+ if(NOT MINGW)
+ target_link_libraries(CMakeTestLibrary
+ debug
user32.lib)
- TARGET_LINK_LIBRARIES(CMakeTestLibrary
- optimized
+ target_link_libraries(CMakeTestLibrary
+ optimized
kernel32.lib)
- ENDIF(NOT MINGW)
- ENDIF(NOT BORLAND)
- ENDIF(NOT CYGWIN)
-ENDIF(WIN32)
+ endif()
+ endif()
+ endif()
+endif()
#
# Create shared library
#
-SET(SharedLibrarySources sharedFile)
-ADD_LIBRARY(CMakeTestLibraryShared SHARED ${SharedLibrarySources})
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DTEST_C_FLAGS")
-ADD_LIBRARY(CMakeTestCLibraryShared SHARED testConly.c)
-DEFINE_PROPERTY(
+set(SharedLibrarySources sharedFile)
+add_library(CMakeTestLibraryShared SHARED ${SharedLibrarySources})
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DTEST_C_FLAGS")
+add_library(CMakeTestCLibraryShared SHARED testConly.c)
+define_property(
TARGET PROPERTY FOO
BRIEF_DOCS "a test property"
FULL_DOCS "A simple etst proerty that means nothign and is used for nothing"
)
-SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES FOO BAR)
-IF(NOT BEOS AND NOT WIN32) # No libm on BeOS.
- SET_TARGET_PROPERTIES(CMakeTestCLibraryShared PROPERTIES LINK_FLAGS "-lm")
-ENDIF(NOT BEOS AND NOT WIN32)
-GET_TARGET_PROPERTY(FOO_BAR_VAR CMakeTestCLibraryShared FOO)
-IF(${FOO_BAR_VAR} MATCHES "BAR")
-ELSE(${FOO_BAR_VAR} MATCHES "BAR")
- MESSAGE(SEND_ERROR "SET_TARGET_PROPERTIES or GET_TARGET_PROPERTY failed, FOO_BAR_VAR should be BAR, but is ${FOO_BAR_VAR}")
-ENDIF(${FOO_BAR_VAR} MATCHES "BAR")
+set_target_properties(CMakeTestCLibraryShared PROPERTIES FOO BAR)
+if(NOT BEOS AND NOT WIN32) # No libm on BeOS.
+ set_target_properties(CMakeTestCLibraryShared PROPERTIES LINK_FLAGS "-lm")
+endif()
+get_target_property(FOO_BAR_VAR CMakeTestCLibraryShared FOO)
+if(${FOO_BAR_VAR} MATCHES "BAR")
+else()
+ message(SEND_ERROR "SET_TARGET_PROPERTIES or GET_TARGET_PROPERTY failed, FOO_BAR_VAR should be BAR, but is ${FOO_BAR_VAR}")
+endif()
# Create static and shared lib of same name.
-IF(CMAKE_EXE_LINK_STATIC_CXX_FLAGS)
- ADD_LIBRARY(CMakeTestLinkStatic STATIC TestLink.c)
- ADD_LIBRARY(CMakeTestLinkShared SHARED TestLink.c)
- SET_TARGET_PROPERTIES(CMakeTestLinkStatic CMakeTestLinkShared
+if(CMAKE_EXE_LINK_STATIC_CXX_FLAGS)
+ add_library(CMakeTestLinkStatic STATIC TestLink.c)
+ add_library(CMakeTestLinkShared SHARED TestLink.c)
+ set_target_properties(CMakeTestLinkStatic CMakeTestLinkShared
PROPERTIES OUTPUT_NAME CMakeTestLink)
-ENDIF(CMAKE_EXE_LINK_STATIC_CXX_FLAGS)
+endif()
#
# Attach pre-build/pre-link/post-build custom-commands to the lib.
# Each runs ${CREATE_FILE_EXE} which will create a file.
# The 'complex' executable will then test if this file exists and remove it.
#
-ADD_DEPENDENCIES(CMakeTestLibraryShared create_file)
-MESSAGE("complex bin dir is ${Complex_BINARY_DIR}")
-ADD_CUSTOM_COMMAND(TARGET CMakeTestLibraryShared PRE_BUILD
+add_dependencies(CMakeTestLibraryShared create_file)
+message("complex bin dir is ${Complex_BINARY_DIR}")
+add_custom_command(TARGET CMakeTestLibraryShared PRE_BUILD
COMMAND ${CREATE_FILE_EXE}
ARGS "${Complex_BINARY_DIR}/Library/prebuild.txt")
-ADD_CUSTOM_COMMAND(TARGET CMakeTestLibraryShared PRE_BUILD
+add_custom_command(TARGET CMakeTestLibraryShared PRE_BUILD
COMMAND ${CREATE_FILE_EXE}
ARGS "${Complex_BINARY_DIR}/Library/prelink.txt")
-ADD_CUSTOM_COMMAND(TARGET CMakeTestLibraryShared POST_BUILD
+add_custom_command(TARGET CMakeTestLibraryShared POST_BUILD
COMMAND ${CREATE_FILE_EXE}
ARGS "${Complex_BINARY_DIR}/Library/postbuild.txt")
-ADD_CUSTOM_COMMAND(TARGET CMakeTestLibraryShared POST_BUILD
+add_custom_command(TARGET CMakeTestLibraryShared POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy
"${Complex_BINARY_DIR}/Library/postbuild.txt"
@@ -95,46 +95,46 @@ ADD_CUSTOM_COMMAND(TARGET CMakeTestLibraryShared POST_BUILD
# It runs ${CREATE_FILE_EXE} which will create a file.
# The 'complex' executable will then test if this file exists and remove it.
#
-ADD_CUSTOM_TARGET(custom_target1
+add_custom_target(custom_target1
ALL
- ${CREATE_FILE_EXE}
+ ${CREATE_FILE_EXE}
"${Complex_BINARY_DIR}/Library/custom_target1.txt")
-ADD_DEPENDENCIES(custom_target1 create_file)
+add_dependencies(custom_target1 create_file)
#
# Extra coverage
#
-SET_SOURCE_FILES_PROPERTIES(file2 PROPERTIES ABSTRACT 1)
+set_source_files_properties(file2 PROPERTIES ABSTRACT 1)
-INSTALL_FILES(/tmp .h ${Complex_BINARY_DIR}/cmTestConfigure.h)
-INSTALL_FILES(/tmp .cxx ${Complex_BINARY_DIR}/cmTestConfigure.h)
+install_files(/tmp .h ${Complex_BINARY_DIR}/cmTestConfigure.h)
+install_files(/tmp .cxx ${Complex_BINARY_DIR}/cmTestConfigure.h)
# Test creating a library that is not built by default.
-ADD_LIBRARY(notInAllLib EXCLUDE_FROM_ALL notInAllLib.cxx)
+add_library(notInAllLib EXCLUDE_FROM_ALL notInAllLib.cxx)
# Create an imported target for if(TARGET) test in Executable dir.
# That test should not see this target.
-ADD_LIBRARY(LibImportedTarget UNKNOWN IMPORTED)
+add_library(LibImportedTarget UNKNOWN IMPORTED)
# Test generation of preprocessed sources.
-IF("${CMAKE_GENERATOR}" MATCHES "Makefile" AND CMAKE_MAKE_PROGRAM)
- IF(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE)
+if("${CMAKE_GENERATOR}" MATCHES "Makefile" AND CMAKE_MAKE_PROGRAM)
+ if(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE)
# Skip running this part of the test on certain platforms
# until they are fixed.
- SET(MAYBE_ALL ALL)
- LIST(LENGTH CMAKE_OSX_ARCHITECTURES ARCH_COUNT)
- IF(ARCH_COUNT GREATER 1)
+ set(MAYBE_ALL ALL)
+ list(LENGTH CMAKE_OSX_ARCHITECTURES ARCH_COUNT)
+ if(ARCH_COUNT GREATER 1)
# OSX does not support preprocessing more than one architecture.
- SET(MAYBE_ALL)
- ENDIF(ARCH_COUNT GREATER 1)
+ set(MAYBE_ALL)
+ endif()
# Custom target to try preprocessing invocation.
- ADD_CUSTOM_TARGET(test_preprocess ${MAYBE_ALL}
+ add_custom_target(test_preprocess ${MAYBE_ALL}
COMMAND ${CMAKE_COMMAND} -E remove CMakeFiles/create_file.dir/create_file.i
COMMAND ${CMAKE_MAKE_PROGRAM} create_file.i
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_SOURCE_DIR}/test_preprocess.cmake
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
)
- ENDIF(CMAKE_CXX_CREATE_PREPROCESSED_SOURCE)
-ENDIF("${CMAKE_GENERATOR}" MATCHES "Makefile" AND CMAKE_MAKE_PROGRAM)
+ endif()
+endif()
diff --git a/Tests/ComplexOneConfig/Library/create_file.cxx b/Tests/ComplexOneConfig/Library/create_file.cxx
index d41551980..050ed0bac 100644
--- a/Tests/ComplexOneConfig/Library/create_file.cxx
+++ b/Tests/ComplexOneConfig/Library/create_file.cxx
@@ -8,7 +8,7 @@ int main (int argc, char *argv[])
fprintf(stderr, "Missing name of file to create.\n");
return EXIT_FAILURE;
}
-
+
FILE *stream = fopen(argv[1], "w");
if(stream == NULL)
{
@@ -23,6 +23,6 @@ int main (int argc, char *argv[])
}
fprintf(stdout, ">> Creating %s!\n", argv[1]);
-
+
return EXIT_SUCCESS;
}
diff --git a/Tests/ComplexOneConfig/Library/testConly.c b/Tests/ComplexOneConfig/Library/testConly.c
index 2d83f778e..a7d20b0b5 100644
--- a/Tests/ComplexOneConfig/Library/testConly.c
+++ b/Tests/ComplexOneConfig/Library/testConly.c
@@ -7,7 +7,7 @@ int CsharedFunction()
printf("TEST_C_FLAGS failed\n");
return 0;
#else
- printf("Passed: TEST_C_FLAGS passed\n");
-#endif
+ printf("Passed: TEST_C_FLAGS passed\n");
+#endif
return 1;
}
diff --git a/Tests/ComplexOneConfig/Library/testConly.h b/Tests/ComplexOneConfig/Library/testConly.h
index f1470a8d7..ba8458923 100644
--- a/Tests/ComplexOneConfig/Library/testConly.h
+++ b/Tests/ComplexOneConfig/Library/testConly.h
@@ -10,4 +10,4 @@
#endif
CMakeTest_EXPORT int CsharedFunction();
-
+
diff --git a/Tests/ComplexOneConfig/Library/test_preprocess.cmake b/Tests/ComplexOneConfig/Library/test_preprocess.cmake
index d2d9fc652..4c8ec2174 100644
--- a/Tests/ComplexOneConfig/Library/test_preprocess.cmake
+++ b/Tests/ComplexOneConfig/Library/test_preprocess.cmake
@@ -1,7 +1,7 @@
-SET(TEST_FILE CMakeFiles/create_file.dir/create_file.i)
-FILE(READ ${TEST_FILE} CONTENTS)
-IF("${CONTENTS}" MATCHES "Unable to close")
- MESSAGE(STATUS "${TEST_FILE} created successfully!")
-ELSE("${CONTENTS}" MATCHES "Unable to close")
- MESSAGE(FATAL_ERROR "${TEST_FILE} creation failed!")
-ENDIF("${CONTENTS}" MATCHES "Unable to close")
+set(TEST_FILE CMakeFiles/create_file.dir/create_file.i)
+file(READ ${TEST_FILE} CONTENTS)
+if("${CONTENTS}" MATCHES "Unable to close")
+ message(STATUS "${TEST_FILE} created successfully!")
+else()
+ message(FATAL_ERROR "${TEST_FILE} creation failed!")
+endif()
diff --git a/Tests/ComplexOneConfig/VarTests.cmake b/Tests/ComplexOneConfig/VarTests.cmake
index c146d1be0..52ec1fc8e 100644
--- a/Tests/ComplexOneConfig/VarTests.cmake
+++ b/Tests/ComplexOneConfig/VarTests.cmake
@@ -1,198 +1,198 @@
#
# Test SET
#
-SET (ZERO_VAR 0)
-SET (ZERO_VAR2 0)
+set (ZERO_VAR 0)
+set (ZERO_VAR2 0)
-IF(ZERO_VAR)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED)
-ELSE(ZERO_VAR)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED)
-ENDIF(ZERO_VAR)
+if(ZERO_VAR)
+ add_definitions(-DSHOULD_NOT_BE_DEFINED)
+else()
+ add_definitions(-DSHOULD_BE_DEFINED)
+endif()
-SET(ONE_VAR 1)
-SET(ONE_VAR2 1)
-SET(STRING_VAR "CMake is great" CACHE STRING "test a cache variable")
+set(ONE_VAR 1)
+set(ONE_VAR2 1)
+set(STRING_VAR "CMake is great" CACHE STRING "test a cache variable")
#
# Test VARIABLE_REQUIRES
#
-VARIABLE_REQUIRES(ONE_VAR
+variable_requires(ONE_VAR
ONE_VAR_IS_DEFINED ONE_VAR)
#
# Test various IF/ELSE combinations
#
-IF(NOT ZERO_VAR)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_NOT)
-ELSE(NOT ZERO_VAR)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_NOT)
-ENDIF(NOT ZERO_VAR)
-
-IF(NOT ONE_VAR)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_NOT2)
-ELSE(NOT ONE_VAR)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_NOT2)
-ENDIF(NOT ONE_VAR)
-
-IF(ONE_VAR AND ONE_VAR2)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_AND)
-ELSE(ONE_VAR AND ONE_VAR2)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_AND)
-ENDIF(ONE_VAR AND ONE_VAR2)
-
-IF(ONE_VAR AND ZERO_VAR)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_AND2)
-ELSE(ONE_VAR AND ZERO_VAR)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_AND2)
-ENDIF(ONE_VAR AND ZERO_VAR)
-
-IF(ZERO_VAR OR ONE_VAR2)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_OR)
-ELSE(ZERO_VAR OR ONE_VAR2)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_OR)
-ENDIF(ZERO_VAR OR ONE_VAR2)
-
-IF(ZERO_VAR OR ZERO_VAR2)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_OR2)
-ELSE(ZERO_VAR OR ZERO_VAR2)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_OR2)
-ENDIF(ZERO_VAR OR ZERO_VAR2)
-
-IF(STRING_VAR MATCHES "^CMake")
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_MATCHES)
-ELSE(STRING_VAR MATCHES "^CMake")
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_MATCHES)
-ENDIF(STRING_VAR MATCHES "^CMake")
-
-IF(STRING_VAR MATCHES "^foo")
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_MATCHES2)
-ELSE(STRING_VAR MATCHES "^foo")
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_MATCHES2)
-ENDIF(STRING_VAR MATCHES "^foo")
-
-IF(COMMAND "IF")
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_COMMAND)
-ELSE(COMMAND "IF")
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_COMMAND)
-ENDIF(COMMAND "IF")
-
-IF(COMMAND "ROQUEFORT")
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_COMMAND2)
-ELSE(COMMAND "ROQUEFORT")
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_COMMAND2)
-ENDIF(COMMAND "ROQUEFORT")
-
-IF (EXISTS ${Complex_SOURCE_DIR}/VarTests.cmake)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_EXISTS)
-ELSE(EXISTS ${Complex_SOURCE_DIR}/VarTests.cmake)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_EXISTS)
-ENDIF (EXISTS ${Complex_SOURCE_DIR}/VarTests.cmake)
-
-IF (EXISTS ${Complex_SOURCE_DIR}/roquefort.txt)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_EXISTS2)
-ELSE(EXISTS ${Complex_SOURCE_DIR}/roquefort.txt)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_EXISTS2)
-ENDIF (EXISTS ${Complex_SOURCE_DIR}/roquefort.txt)
-
-IF (IS_DIRECTORY ${Complex_SOURCE_DIR})
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_IS_DIRECTORY)
-ENDIF (IS_DIRECTORY ${Complex_SOURCE_DIR})
-
-IF (NOT IS_DIRECTORY ${Complex_SOURCE_DIR}/VarTests.cmake)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_IS_DIRECTORY2)
-ENDIF (NOT IS_DIRECTORY ${Complex_SOURCE_DIR}/VarTests.cmake)
-
-SET (SNUM1_VAR "1")
-SET (SNUM2_VAR "2")
-SET (SNUM3_VAR "1")
-
-
-IF (SNUM1_VAR LESS SNUM2_VAR)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_LESS)
-ELSE (SNUM1_VAR LESS SNUM2_VAR)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_LESS)
-ENDIF (SNUM1_VAR LESS SNUM2_VAR)
-
-IF (SNUM2_VAR LESS SNUM1_VAR)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_LESS2)
-ELSE (SNUM2_VAR LESS SNUM1_VAR)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_LESS2)
-ENDIF (SNUM2_VAR LESS SNUM1_VAR)
-
-IF (SNUM2_VAR GREATER SNUM1_VAR)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_GREATER)
-ELSE (SNUM2_VAR GREATER SNUM1_VAR)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_GREATER)
-ENDIF (SNUM2_VAR GREATER SNUM1_VAR)
-
-IF (SNUM2_VAR EQUAL SNUM1_VAR)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_EQUAL)
-ELSE (SNUM2_VAR EQUAL SNUM1_VAR)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_EQUAL)
-ENDIF (SNUM2_VAR EQUAL SNUM1_VAR)
-
-IF (SNUM3_VAR EQUAL SNUM1_VAR)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_EQUAL)
-ELSE (SNUM3_VAR EQUAL SNUM1_VAR)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_EQUAL)
-ENDIF (SNUM3_VAR EQUAL SNUM1_VAR)
-
-IF (SNUM1_VAR GREATER SNUM2_VAR)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_GREATER2)
-ELSE (SNUM1_VAR GREATER SNUM2_VAR)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_GREATER2)
-ENDIF (SNUM1_VAR GREATER SNUM2_VAR)
-
-SET (SSTR1_VAR "abc")
-SET (SSTR2_VAR "bcd")
-
-IF (SSTR1_VAR STRLESS SSTR2_VAR)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_STRLESS)
-ELSE (SSTR1_VAR STRLESS SSTR2_VAR)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_STRLESS)
-ENDIF (SSTR1_VAR STRLESS SSTR2_VAR)
-
-IF (SSTR2_VAR STRLESS SSTR1_VAR)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_STRLESS2)
-ELSE (SSTR2_VAR STRLESS SSTR1_VAR)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_STRLESS2)
-ENDIF (SSTR2_VAR STRLESS SSTR1_VAR)
-
-IF (SSTR2_VAR STRGREATER SSTR1_VAR)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_STRGREATER)
-ELSE (SSTR2_VAR STRGREATER SSTR1_VAR)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_STRGREATER)
-ENDIF (SSTR2_VAR STRGREATER SSTR1_VAR)
-
-IF (SSTR1_VAR STRGREATER SSTR2_VAR)
- ADD_DEFINITIONS(-DSHOULD_NOT_BE_DEFINED_STRGREATER2)
-ELSE (SSTR1_VAR STRGREATER SSTR2_VAR)
- ADD_DEFINITIONS(-DSHOULD_BE_DEFINED_STRGREATER2)
-ENDIF (SSTR1_VAR STRGREATER SSTR2_VAR)
+if(NOT ZERO_VAR)
+ add_definitions(-DSHOULD_BE_DEFINED_NOT)
+else()
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_NOT)
+endif()
+
+if(NOT ONE_VAR)
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_NOT2)
+else()
+ add_definitions(-DSHOULD_BE_DEFINED_NOT2)
+endif()
+
+if(ONE_VAR AND ONE_VAR2)
+ add_definitions(-DSHOULD_BE_DEFINED_AND)
+else()
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_AND)
+endif()
+
+if(ONE_VAR AND ZERO_VAR)
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_AND2)
+else()
+ add_definitions(-DSHOULD_BE_DEFINED_AND2)
+endif()
+
+if(ZERO_VAR OR ONE_VAR2)
+ add_definitions(-DSHOULD_BE_DEFINED_OR)
+else()
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_OR)
+endif()
+
+if(ZERO_VAR OR ZERO_VAR2)
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_OR2)
+else()
+ add_definitions(-DSHOULD_BE_DEFINED_OR2)
+endif()
+
+if(STRING_VAR MATCHES "^CMake")
+ add_definitions(-DSHOULD_BE_DEFINED_MATCHES)
+else()
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_MATCHES)
+endif()
+
+if(STRING_VAR MATCHES "^foo")
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_MATCHES2)
+else()
+ add_definitions(-DSHOULD_BE_DEFINED_MATCHES2)
+endif()
+
+if(COMMAND "IF")
+ add_definitions(-DSHOULD_BE_DEFINED_COMMAND)
+else()
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_COMMAND)
+endif()
+
+if(COMMAND "ROQUEFORT")
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_COMMAND2)
+else()
+ add_definitions(-DSHOULD_BE_DEFINED_COMMAND2)
+endif()
+
+if (EXISTS ${Complex_SOURCE_DIR}/VarTests.cmake)
+ add_definitions(-DSHOULD_BE_DEFINED_EXISTS)
+else()
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_EXISTS)
+endif ()
+
+if (EXISTS ${Complex_SOURCE_DIR}/roquefort.txt)
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_EXISTS2)
+else()
+ add_definitions(-DSHOULD_BE_DEFINED_EXISTS2)
+endif ()
+
+if (IS_DIRECTORY ${Complex_SOURCE_DIR})
+ add_definitions(-DSHOULD_BE_DEFINED_IS_DIRECTORY)
+endif ()
+
+if (NOT IS_DIRECTORY ${Complex_SOURCE_DIR}/VarTests.cmake)
+ add_definitions(-DSHOULD_BE_DEFINED_IS_DIRECTORY2)
+endif ()
+
+set (SNUM1_VAR "1")
+set (SNUM2_VAR "2")
+set (SNUM3_VAR "1")
+
+
+if (SNUM1_VAR LESS SNUM2_VAR)
+ add_definitions(-DSHOULD_BE_DEFINED_LESS)
+else ()
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_LESS)
+endif ()
+
+if (SNUM2_VAR LESS SNUM1_VAR)
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_LESS2)
+else ()
+ add_definitions(-DSHOULD_BE_DEFINED_LESS2)
+endif ()
+
+if (SNUM2_VAR GREATER SNUM1_VAR)
+ add_definitions(-DSHOULD_BE_DEFINED_GREATER)
+else ()
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_GREATER)
+endif ()
+
+if (SNUM2_VAR EQUAL SNUM1_VAR)
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_EQUAL)
+else ()
+ add_definitions(-DSHOULD_BE_DEFINED_EQUAL)
+endif ()
+
+if (SNUM3_VAR EQUAL SNUM1_VAR)
+ add_definitions(-DSHOULD_BE_DEFINED_EQUAL)
+else ()
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_EQUAL)
+endif ()
+
+if (SNUM1_VAR GREATER SNUM2_VAR)
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_GREATER2)
+else ()
+ add_definitions(-DSHOULD_BE_DEFINED_GREATER2)
+endif ()
+
+set (SSTR1_VAR "abc")
+set (SSTR2_VAR "bcd")
+
+if (SSTR1_VAR STRLESS SSTR2_VAR)
+ add_definitions(-DSHOULD_BE_DEFINED_STRLESS)
+else ()
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_STRLESS)
+endif ()
+
+if (SSTR2_VAR STRLESS SSTR1_VAR)
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_STRLESS2)
+else ()
+ add_definitions(-DSHOULD_BE_DEFINED_STRLESS2)
+endif ()
+
+if (SSTR2_VAR STRGREATER SSTR1_VAR)
+ add_definitions(-DSHOULD_BE_DEFINED_STRGREATER)
+else ()
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_STRGREATER)
+endif ()
+
+if (SSTR1_VAR STRGREATER SSTR2_VAR)
+ add_definitions(-DSHOULD_NOT_BE_DEFINED_STRGREATER2)
+else ()
+ add_definitions(-DSHOULD_BE_DEFINED_STRGREATER2)
+endif ()
#
# Test FOREACH
#
-FOREACH (INDEX 1 2)
- SET(FOREACH_VAR${INDEX} "VALUE${INDEX}")
-ENDFOREACH(INDEX)
+foreach (INDEX 1 2)
+ set(FOREACH_VAR${INDEX} "VALUE${INDEX}")
+endforeach()
-SET(FOREACH_CONCAT "")
-FOREACH (INDEX a;b;c;d;e;f;g)
- SET(FOREACH_CONCAT "${FOREACH_CONCAT}${INDEX}")
-ENDFOREACH(INDEX)
+set(FOREACH_CONCAT "")
+foreach (INDEX a;b;c;d;e;f;g)
+ set(FOREACH_CONCAT "${FOREACH_CONCAT}${INDEX}")
+endforeach()
#
# Test FIND_FILE, FIND_PATH and various GET_FILENAME_COMPONENT combinations
#
-FIND_FILE(FILENAME_VAR "VarTests.cmake" ${Complex_SOURCE_DIR})
+find_file(FILENAME_VAR "VarTests.cmake" ${Complex_SOURCE_DIR})
-GET_FILENAME_COMPONENT(FILENAME_VAR_PATH ${FILENAME_VAR} PATH)
-GET_FILENAME_COMPONENT(FILENAME_VAR_PATH_NAME ${FILENAME_VAR_PATH} NAME)
-GET_FILENAME_COMPONENT(FILENAME_VAR_NAME ${FILENAME_VAR} NAME)
-GET_FILENAME_COMPONENT(FILENAME_VAR_EXT ${FILENAME_VAR} EXT)
-GET_FILENAME_COMPONENT(FILENAME_VAR_NAME_WE ${FILENAME_VAR} NAME_WE CACHE)
+get_filename_component(FILENAME_VAR_PATH ${FILENAME_VAR} PATH)
+get_filename_component(FILENAME_VAR_PATH_NAME ${FILENAME_VAR_PATH} NAME)
+get_filename_component(FILENAME_VAR_NAME ${FILENAME_VAR} NAME)
+get_filename_component(FILENAME_VAR_EXT ${FILENAME_VAR} EXT)
+get_filename_component(FILENAME_VAR_NAME_WE ${FILENAME_VAR} NAME_WE CACHE)
-FIND_PATH(PATH_VAR "cmTestConfigure.h.in" ${Complex_SOURCE_DIR})
-GET_FILENAME_COMPONENT(PATH_VAR_NAME ${PATH_VAR} NAME)
+find_path(PATH_VAR "cmTestConfigure.h.in" ${Complex_SOURCE_DIR})
+get_filename_component(PATH_VAR_NAME ${PATH_VAR} NAME)
diff --git a/Tests/Contracts/Trilinos-10-6/Patch.cmake b/Tests/Contracts/Trilinos-10-6/Patch.cmake
index 76051eb98..6c619ac4f 100644
--- a/Tests/Contracts/Trilinos-10-6/Patch.cmake
+++ b/Tests/Contracts/Trilinos-10-6/Patch.cmake
@@ -14,8 +14,8 @@ set(text "
# options to avoid CMake warnings about unused variables
#
-MESSAGE(\"Trilinos_ALLOW_NO_PACKAGES='\${Trilinos_ALLOW_NO_PACKAGES}'\")
-MESSAGE(\"Trilinos_WARNINGS_AS_ERRORS_FLAGS='\${Trilinos_WARNINGS_AS_ERRORS_FLAGS}'\")
+message(\"Trilinos_ALLOW_NO_PACKAGES='\${Trilinos_ALLOW_NO_PACKAGES}'\")
+message(\"Trilinos_WARNINGS_AS_ERRORS_FLAGS='\${Trilinos_WARNINGS_AS_ERRORS_FLAGS}'\")
")
file(APPEND "${source_dir}/CMakeLists.txt" "${text}")
@@ -31,8 +31,8 @@ set(text "
# Use newer than 10.6.1 CTestConfig settings from the Trilinos project.
# Send the Trilinos dashboards to the new Trilinos CDash server instance.
#
-SET(CTEST_NIGHTLY_START_TIME \"04:00:00 UTC\") # 10 PM MDT or 9 PM MST
-SET(CTEST_DROP_SITE \"testing.sandia.gov\")
+set(CTEST_NIGHTLY_START_TIME \"04:00:00 UTC\") # 10 PM MDT or 9 PM MST
+set(CTEST_DROP_SITE \"testing.sandia.gov\")
")
file(APPEND "${source_dir}/CTestConfig.cmake" "${text}")
diff --git a/Tests/Contracts/vtk542/RunTest.cmake b/Tests/Contracts/vtk542/RunTest.cmake
index 4f48e5cd2..b4bd5b087 100644
--- a/Tests/Contracts/vtk542/RunTest.cmake
+++ b/Tests/Contracts/vtk542/RunTest.cmake
@@ -1 +1 @@
-SET(vtk542_RUN_TEST VTK-build/bin/CommonCxxTests otherArrays)
+set(vtk542_RUN_TEST VTK-build/bin/CommonCxxTests otherArrays)
diff --git a/Tests/CrossCompile/CMakeLists.txt b/Tests/CrossCompile/CMakeLists.txt
index 96a57a051..121cb815e 100644
--- a/Tests/CrossCompile/CMakeLists.txt
+++ b/Tests/CrossCompile/CMakeLists.txt
@@ -1,13 +1,13 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(CrossCompile)
+project(CrossCompile)
-UNSET(run_result CACHE)
+unset(run_result CACHE)
#Simulate the cross compile condition
-SET(CMAKE_CROSSCOMPILING ON)
+set(CMAKE_CROSSCOMPILING ON)
-ADD_EXECUTABLE(CrossCompile main.c)
+add_executable(CrossCompile main.c)
-TRY_RUN(run_result compile_result
- ${CrossCompile_BINARY_DIR}
+try_run(run_result compile_result
+ ${CrossCompile_BINARY_DIR}
${CrossCompile_SOURCE_DIR}/main.c)
diff --git a/Tests/CustComDepend/CMakeLists.txt b/Tests/CustComDepend/CMakeLists.txt
index d5266842d..46276b2ef 100644
--- a/Tests/CustComDepend/CMakeLists.txt
+++ b/Tests/CustComDepend/CMakeLists.txt
@@ -10,5 +10,5 @@ add_custom_command(
${CustComDepend_BINARY_DIR}/bar.c
DEPENDS ${CustComDepend_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/foo
)
-
+
add_library(bar SHARED ${CustComDepend_BINARY_DIR}/bar.c)
diff --git a/Tests/CustComDepend/bar.h b/Tests/CustComDepend/bar.h
index d462c9b5b..d17946428 100644
--- a/Tests/CustComDepend/bar.h
+++ b/Tests/CustComDepend/bar.h
@@ -5,5 +5,5 @@
# define BAR_EXPORT __declspec( dllimport )
# endif
#else
-# define BAR_EXPORT
+# define BAR_EXPORT
#endif
diff --git a/Tests/CustComDepend/foo.cxx b/Tests/CustComDepend/foo.cxx
index 3c204f8a2..19dfcb143 100644
--- a/Tests/CustComDepend/foo.cxx
+++ b/Tests/CustComDepend/foo.cxx
@@ -12,4 +12,4 @@ int main(int ac, char** av)
fclose(fout);
return 0;
}
-
+
diff --git a/Tests/CustomCommand/CMakeLists.txt b/Tests/CustomCommand/CMakeLists.txt
index b7c9ea268..d3ced3ff9 100644
--- a/Tests/CustomCommand/CMakeLists.txt
+++ b/Tests/CustomCommand/CMakeLists.txt
@@ -2,22 +2,22 @@
# Wrapping
#
cmake_minimum_required (VERSION 2.6)
-PROJECT (CustomCommand)
+project (CustomCommand)
-ADD_SUBDIRECTORY(GeneratedHeader)
+add_subdirectory(GeneratedHeader)
#
# Lib and exe path
#
-IF(NOT DEFINED bin_dir)
- SET(bin_dir "bin")
-ENDIF()
+if(NOT DEFINED bin_dir)
+ set(bin_dir "bin")
+endif()
-SET (LIBRARY_OUTPUT_PATH
+set (LIBRARY_OUTPUT_PATH
${PROJECT_BINARY_DIR}/${bin_dir} CACHE INTERNAL
"Single output directory for building all libraries.")
-SET (EXECUTABLE_OUTPUT_PATH
+set (EXECUTABLE_OUTPUT_PATH
${PROJECT_BINARY_DIR}/${bin_dir} CACHE INTERNAL
"Single output directory for building all executables.")
@@ -27,10 +27,10 @@ SET (EXECUTABLE_OUTPUT_PATH
#
################################################################
# add the executable that will generate the file
-ADD_EXECUTABLE(generator generator.cxx)
+add_executable(generator generator.cxx)
-GET_TARGET_PROPERTY(generator_PATH generator LOCATION)
-MESSAGE("Location ${generator_PATH}")
+get_target_property(generator_PATH generator LOCATION)
+message("Location ${generator_PATH}")
################################################################
#
@@ -38,9 +38,9 @@ MESSAGE("Location ${generator_PATH}")
#
################################################################
# add the executable that will generate the file
-ADD_EXECUTABLE(wrapper wrapper.cxx)
+add_executable(wrapper wrapper.cxx)
-ADD_CUSTOM_COMMAND(
+add_custom_command(
OUTPUT ${PROJECT_BINARY_DIR}/wrapped.c ${PROJECT_BINARY_DIR}/wrapped_help.c
DEPENDS wrapper
MAIN_DEPENDENCY ${PROJECT_SOURCE_DIR}/wrapped.h
@@ -55,19 +55,19 @@ ADD_CUSTOM_COMMAND(
# Test creating files from a custom target
#
################################################################
-ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_BINARY_DIR}//doc1.dvi # test 2 slashes
- DEPENDS ${PROJECT_SOURCE_DIR}/doc1.tex
- COMMAND ${CMAKE_COMMAND}
- ARGS -E copy ${PROJECT_SOURCE_DIR}/doc1.tex
+add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}//doc1.dvi # test 2 slashes
+ DEPENDS ${PROJECT_SOURCE_DIR}/doc1.tex
+ COMMAND ${CMAKE_COMMAND}
+ ARGS -E copy ${PROJECT_SOURCE_DIR}/doc1.tex
${PROJECT_BINARY_DIR}/doc1.dvi
)
-ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_BINARY_DIR}/doc1.h
+add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/doc1.h
COMMAND ${CMAKE_COMMAND} -E echo " Copying doc1.dvi to doc1temp.h."
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/doc1.dvi
${PROJECT_BINARY_DIR}/doc1temp.h
)
-ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_BINARY_DIR}/doc1.h APPEND
+add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/doc1.h APPEND
DEPENDS ${PROJECT_BINARY_DIR}/doc1.dvi
COMMAND ${CMAKE_COMMAND} -E echo " Copying doc1temp.h to doc1.h."
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/doc1temp.h
@@ -77,7 +77,7 @@ ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_BINARY_DIR}/doc1.h APPEND
)
# Add custom command to generate foo.h.
-ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_BINARY_DIR}/foo.h
+add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/foo.h
DEPENDS ${PROJECT_SOURCE_DIR}/foo.h.in
COMMAND ${CMAKE_COMMAND} -E echo " Copying foo.h.in to foo.h."
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/foo.h.in
@@ -85,12 +85,12 @@ ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_BINARY_DIR}/foo.h
)
# Add the location of foo.h to the include path.
-INCLUDE_DIRECTORIES(${PROJECT_BINARY_DIR})
+include_directories(${PROJECT_BINARY_DIR})
# Test generation of a file to the build tree without full path. As
# of CMake 2.6 custom command outputs specified by relative path go in
# the build tree.
-ADD_CUSTOM_COMMAND(
+add_custom_command(
OUTPUT doc1.txt
COMMAND ${CMAKE_COMMAND} -E echo "Example Document Target" > doc1.txt
DEPENDS doc1.tex
@@ -98,7 +98,7 @@ ADD_CUSTOM_COMMAND(
)
# Add a custom target to drive generation of doc1.h.
-ADD_CUSTOM_TARGET(TDocument ALL
+add_custom_target(TDocument ALL
COMMAND ${CMAKE_COMMAND} -E echo " Copying doc1.h to doc2.h."
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/doc1.h
${PROJECT_BINARY_DIR}/doc2.h
@@ -109,13 +109,13 @@ ADD_CUSTOM_TARGET(TDocument ALL
# Setup a pre- and post-build pair that will fail if not run in the
# proper order.
-ADD_CUSTOM_COMMAND(
+add_custom_command(
TARGET TDocument PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E echo " Writing doc1pre.txt."
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/doc1.tex ${PROJECT_BINARY_DIR}/doc1pre.txt
COMMENT "Running TDocument pre-build commands"
)
-ADD_CUSTOM_COMMAND(
+add_custom_command(
TARGET TDocument POST_BUILD
COMMAND ${CMAKE_COMMAND} -E echo " Copying doc1pre.txt to doc2post.txt."
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/doc1pre.txt
@@ -128,16 +128,16 @@ ADD_CUSTOM_COMMAND(
# Test using a multistep generated file
#
################################################################
-ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_BINARY_DIR}/foo.pre
+add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/foo.pre
DEPENDS ${PROJECT_SOURCE_DIR}/foo.in
TDocument # Ensure doc1.h generates before this target
- COMMAND ${CMAKE_COMMAND}
- ARGS -E copy ${PROJECT_SOURCE_DIR}/foo.in
+ COMMAND ${CMAKE_COMMAND}
+ ARGS -E copy ${PROJECT_SOURCE_DIR}/foo.in
${PROJECT_BINARY_DIR}/foo.pre
)
-ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_BINARY_DIR}/foo.c
- DEPENDS ${PROJECT_BINARY_DIR}/foo.pre
+add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/foo.c
+ DEPENDS ${PROJECT_BINARY_DIR}/foo.pre
COMMAND ${CMAKE_COMMAND}
ARGS -E copy ${PROJECT_BINARY_DIR}/foo.pre
${PROJECT_BINARY_DIR}/foo.c
@@ -147,21 +147,21 @@ ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_BINARY_DIR}/foo.c
# file that is not included by any source in this project. This will
# test whether all custom command outputs explicitly listed as sources
# get generated even if they are not needed by an object file.
-ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_BINARY_DIR}/not_included.h
+add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/not_included.h
DEPENDS ${PROJECT_SOURCE_DIR}/foo.h.in
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/foo.h.in
${PROJECT_BINARY_DIR}/not_included.h
)
# Tell the executable where to find not_included.h.
-CONFIGURE_FILE(
+configure_file(
${PROJECT_SOURCE_DIR}/config.h.in
${PROJECT_BINARY_DIR}/config.h
@ONLY IMMEDIATE
)
# add the executable
-ADD_EXECUTABLE(CustomCommand
+add_executable(CustomCommand
${PROJECT_BINARY_DIR}/foo.h
${PROJECT_BINARY_DIR}/foo.c
${PROJECT_BINARY_DIR}/wrapped.c
@@ -174,44 +174,44 @@ ADD_EXECUTABLE(CustomCommand
# Add the rule to create generated.c at build time. This is placed
# here to test adding the generation rule after referencing the
# generated source in a target.
-ADD_CUSTOM_COMMAND(OUTPUT ${PROJECT_BINARY_DIR}/generated.c
+add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/generated.c
DEPENDS generator
COMMAND ${generator_PATH}
ARGS ${PROJECT_BINARY_DIR}/generated.c
)
-TARGET_LINK_LIBRARIES(CustomCommand GeneratedHeader)
+target_link_libraries(CustomCommand GeneratedHeader)
##############################################################################
# Test for using just the target name as executable in the COMMAND
# section. Has to be recognized and replaced by CMake with the output
# actual location of the executable.
-# Additionally the generator is created in an extra subdir after the
-# ADD_CUSTOM_COMMAND() is used.
+# Additionally the generator is created in an extra subdir after the
+# add_custom_command() is used.
#
-# Test the same for ADD_CUSTOM_TARGET()
+# Test the same for add_custom_target()
-ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/generated_extern.cxx
+add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/generated_extern.cxx
COMMAND generator_extern ${CMAKE_CURRENT_BINARY_DIR}/generated_extern.cxx
)
-ADD_EXECUTABLE(CustomCommandUsingTargetTest main.cxx ${CMAKE_CURRENT_BINARY_DIR}/generated_extern.cxx )
+add_executable(CustomCommandUsingTargetTest main.cxx ${CMAKE_CURRENT_BINARY_DIR}/generated_extern.cxx )
-ADD_CUSTOM_TARGET(RunTarget
+add_custom_target(RunTarget
COMMAND generator_extern ${CMAKE_CURRENT_BINARY_DIR}/run_target.cxx
)
-ADD_CUSTOM_COMMAND(TARGET CustomCommandUsingTargetTest POST_BUILD
+add_custom_command(TARGET CustomCommandUsingTargetTest POST_BUILD
COMMAND dummy_generator ${CMAKE_CURRENT_BINARY_DIR}/generated_dummy.cxx)
-ADD_SUBDIRECTORY(GeneratorInExtraDir)
+add_subdirectory(GeneratorInExtraDir)
##############################################################################
# Test shell operators in custom commands.
-ADD_EXECUTABLE(tcat tcat.cxx)
+add_executable(tcat tcat.cxx)
-ADD_CUSTOM_COMMAND(OUTPUT gen_redirect.c
+add_custom_command(OUTPUT gen_redirect.c
DEPENDS tcat gen_redirect_in.c
COMMAND tcat < ${CMAKE_CURRENT_SOURCE_DIR}/gen_redirect_in.c > gen_redirect.c
COMMAND ${CMAKE_COMMAND} -E echo "#endif" >> gen_redirect.c
@@ -220,12 +220,12 @@ ADD_CUSTOM_COMMAND(OUTPUT gen_redirect.c
##############################################################################
# Test non-trivial command line arguments in custom commands.
-SET(EXPECTED_ARGUMENTS)
-SET(CHECK_ARGS)
-IF(NOT MSVC71)
- SET(CHECK_ARGS -DPATH=c:/posix/path)
-ENDIF()
-SET(CHECK_ARGS
+set(EXPECTED_ARGUMENTS)
+set(CHECK_ARGS)
+if(NOT MSVC71)
+ set(CHECK_ARGS -DPATH=c:/posix/path)
+endif()
+set(CHECK_ARGS
${CHECK_ARGS}
c:/posix/path
c:\\windows\\path
@@ -333,11 +333,11 @@ SET(CHECK_ARGS
"one#pound w s"
~ ` ! @ \# $ % ^ & _ - + = : "\;" \" ' , . ? "(" ")" { } []
)
-IF(NOT MINGW)
+if(NOT MINGW)
# * # MinGW programs on windows always expands the wildcard!
# / # MSys make converts a leading slash to the mingw home directory
- LIST(APPEND CHECK_ARGS * /)
-ENDIF(NOT MINGW)
+ list(APPEND CHECK_ARGS * /)
+endif()
# The windows command shell does not support a double quote by itself:
# double\"quote
@@ -352,25 +352,25 @@ ENDIF(NOT MINGW)
# | < > << >> &> 2>&1 1>&2
# to allow custom commands to perform redirection.
-FOREACH(arg ${CHECK_ARGS} "")
- SET(ARG "${arg}")
- STRING(REGEX REPLACE "\\\\" "\\\\\\\\" ARG "${ARG}")
- STRING(REGEX REPLACE "\"" "\\\\\"" ARG "${ARG}")
- SET(EXPECTED_ARGUMENTS
+foreach(arg ${CHECK_ARGS} "")
+ set(ARG "${arg}")
+ string(REGEX REPLACE "\\\\" "\\\\\\\\" ARG "${ARG}")
+ string(REGEX REPLACE "\"" "\\\\\"" ARG "${ARG}")
+ set(EXPECTED_ARGUMENTS
"${EXPECTED_ARGUMENTS} \"${ARG}\",
")
-ENDFOREACH(arg)
-CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/check_command_line.c.in
+endforeach()
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/check_command_line.c.in
${CMAKE_CURRENT_BINARY_DIR}/check_command_line.c
@ONLY IMMEDIATE)
-ADD_EXECUTABLE(check_command_line
+add_executable(check_command_line
${CMAKE_CURRENT_BINARY_DIR}/check_command_line.c)
-SET(output_name "check_command_line")
-SET_PROPERTY(TARGET check_command_line
+set(output_name "check_command_line")
+set_property(TARGET check_command_line
PROPERTY OUTPUT_NAME ${output_name})
-# SET_TARGET_PROPERTIES(check_command_line PROPERTIES
+# set_target_properties(check_command_line PROPERTIES
# COMPILE_FLAGS -DCHECK_COMMAND_LINE_VERBOSE)
-ADD_CUSTOM_COMMAND(
+add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/command_line_check
COMMAND ${CMAKE_COMMAND} -DMARK_FILE=${CMAKE_CURRENT_BINARY_DIR}/check_mark.txt
-P ${CMAKE_CURRENT_SOURCE_DIR}/check_mark.cmake
@@ -379,9 +379,9 @@ ADD_CUSTOM_COMMAND(
VERBATIM
COMMENT "Checking custom command line escapes (single'quote)"
)
-SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_BINARY_DIR}/command_line_check
+set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/command_line_check
PROPERTIES SYMBOLIC 1)
-ADD_CUSTOM_TARGET(do_check_command_line ALL
+add_custom_target(do_check_command_line ALL
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/command_line_check
COMMAND ${CMAKE_COMMAND} -E echo "Checking custom target command escapes"
COMMAND ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/${output_name}
@@ -389,12 +389,12 @@ ADD_CUSTOM_TARGET(do_check_command_line ALL
VERBATIM
COMMENT "Checking custom target command line escapes ($dollar-signs$)"
)
-ADD_DEPENDENCIES(do_check_command_line check_command_line)
+add_dependencies(do_check_command_line check_command_line)
-ADD_CUSTOM_TARGET(pre_check_command_line
+add_custom_target(pre_check_command_line
COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_CURRENT_BINARY_DIR}/check_mark.txt
)
-ADD_DEPENDENCIES(do_check_command_line pre_check_command_line)
+add_dependencies(do_check_command_line pre_check_command_line)
# <SameNameTest>
#
@@ -405,34 +405,34 @@ ADD_DEPENDENCIES(do_check_command_line pre_check_command_line)
# At first, this reproduces a bug reported by a customer. After fixing it,
# having this test here makes sure it stays fixed moving forward.
#
-ADD_CUSTOM_COMMAND(
+add_custom_command(
OUTPUT SameName1.txt
COMMAND ${CMAKE_COMMAND} -E touch SameName1.txt
)
-ADD_CUSTOM_TARGET(SameName ALL
+add_custom_target(SameName ALL
DEPENDS SameName1.txt
)
-ADD_CUSTOM_COMMAND(
+add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/subdir/SameName
COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/subdir
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/subdir/SameName
)
-ADD_CUSTOM_TARGET(DifferentName ALL
+add_custom_target(DifferentName ALL
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/subdir/SameName
)
#
# </SameNameTest>
# Per-config target name and generator expressions.
-ADD_SUBDIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/../PerConfig PerConfig)
-ADD_CUSTOM_COMMAND(
+add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../PerConfig PerConfig)
+add_custom_command(
OUTPUT perconfig.out
COMMAND ${PerConfig_COMMAND}
DEPENDS ${PerConfig_DEPENDS}
VERBATIM
)
-SET_PROPERTY(SOURCE perconfig.out PROPERTY SYMBOLIC 1)
-ADD_CUSTOM_TARGET(perconfig_target ALL
+set_property(SOURCE perconfig.out PROPERTY SYMBOLIC 1)
+add_custom_target(perconfig_target ALL
COMMAND ${CMAKE_COMMAND} -E echo "perconfig=$<TARGET_FILE:perconfig>" "config=$<CONFIGURATION>"
DEPENDS perconfig.out)
diff --git a/Tests/CustomCommand/GeneratedHeader/CMakeLists.txt b/Tests/CustomCommand/GeneratedHeader/CMakeLists.txt
index 2d47d8749..f7308e890 100644
--- a/Tests/CustomCommand/GeneratedHeader/CMakeLists.txt
+++ b/Tests/CustomCommand/GeneratedHeader/CMakeLists.txt
@@ -1,13 +1,13 @@
# Simulate in-source build include-file behavior for out-of-source
# builds.
-SET(CMAKE_INCLUDE_CURRENT_DIR 1)
+set(CMAKE_INCLUDE_CURRENT_DIR 1)
-ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/generated.h
- COMMAND
+add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/generated.h
+ COMMAND
${CMAKE_COMMAND} ARGS -E
- copy ${CMAKE_CURRENT_SOURCE_DIR}/generated.h.in
- ${CMAKE_CURRENT_BINARY_DIR}/generated.h
+ copy ${CMAKE_CURRENT_SOURCE_DIR}/generated.h.in
+ ${CMAKE_CURRENT_BINARY_DIR}/generated.h
)
-ADD_LIBRARY(GeneratedHeader main.cpp ${CMAKE_CURRENT_BINARY_DIR}/generated.h)
-
+add_library(GeneratedHeader main.cpp ${CMAKE_CURRENT_BINARY_DIR}/generated.h)
+
diff --git a/Tests/CustomCommand/GeneratorInExtraDir/CMakeLists.txt b/Tests/CustomCommand/GeneratorInExtraDir/CMakeLists.txt
index 195a47792..04506db3b 100644
--- a/Tests/CustomCommand/GeneratorInExtraDir/CMakeLists.txt
+++ b/Tests/CustomCommand/GeneratorInExtraDir/CMakeLists.txt
@@ -1,8 +1,8 @@
-ADD_DEFINITIONS(-DGENERATOR_EXTERN)
+add_definitions(-DGENERATOR_EXTERN)
# add the executable which will be used for generating files
-ADD_EXECUTABLE(generator_extern ../generator.cxx)
-SET_TARGET_PROPERTIES(generator_extern PROPERTIES OUTPUT_NAME the_external_generator)
+add_executable(generator_extern ../generator.cxx)
+set_target_properties(generator_extern PROPERTIES OUTPUT_NAME the_external_generator)
-# add an executable which will be called from ADD_CUSTOM_COMMAND( ... POST_BUILD)
-ADD_EXECUTABLE(dummy_generator ../generator.cxx)
+# add an executable which will be called from add_custom_command( ... POST_BUILD)
+add_executable(dummy_generator ../generator.cxx)
diff --git a/Tests/CustomCommand/check_mark.cmake b/Tests/CustomCommand/check_mark.cmake
index 8b0551f83..1f47fd0bd 100644
--- a/Tests/CustomCommand/check_mark.cmake
+++ b/Tests/CustomCommand/check_mark.cmake
@@ -1,5 +1,5 @@
-IF(EXISTS "${MARK_FILE}")
- MESSAGE(FATAL_ERROR "Custom command run more than once!")
-ELSE(EXISTS "${MARK_FILE}")
- FILE(WRITE "${MARK_FILE}" "check for running custom command twice\n")
-ENDIF(EXISTS "${MARK_FILE}")
+if(EXISTS "${MARK_FILE}")
+ message(FATAL_ERROR "Custom command run more than once!")
+else()
+ file(WRITE "${MARK_FILE}" "check for running custom command twice\n")
+endif()
diff --git a/Tests/CustomCommand/foo.in b/Tests/CustomCommand/foo.in
index 08c559df4..0c5021caa 100644
--- a/Tests/CustomCommand/foo.in
+++ b/Tests/CustomCommand/foo.in
@@ -22,7 +22,7 @@ int main ()
return -2;
}
}
-
+
return -1;
}
diff --git a/Tests/CustomCommandWorkingDirectory/CMakeLists.txt b/Tests/CustomCommandWorkingDirectory/CMakeLists.txt
index 36d32e4a0..f917cd7f3 100644
--- a/Tests/CustomCommandWorkingDirectory/CMakeLists.txt
+++ b/Tests/CustomCommandWorkingDirectory/CMakeLists.txt
@@ -1,28 +1,28 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(TestWorkingDir)
+project(TestWorkingDir)
-ADD_CUSTOM_COMMAND(
+add_custom_command(
OUTPUT "${TestWorkingDir_BINARY_DIR}/working.c"
COMMAND "${CMAKE_COMMAND}" -E copy ./working.c.in "${TestWorkingDir_BINARY_DIR}/working.c"
WORKING_DIRECTORY "${TestWorkingDir_SOURCE_DIR}"
COMMENT "custom command"
)
-SET_SOURCE_FILES_PROPERTIES(
+set_source_files_properties(
"${TestWorkingDir_BINARY_DIR}/customTarget.c"
"${TestWorkingDir_BINARY_DIR}/customTarget2.c"
PROPERTIES GENERATED 1)
-ADD_EXECUTABLE(working "${TestWorkingDir_BINARY_DIR}/working.c"
+add_executable(working "${TestWorkingDir_BINARY_DIR}/working.c"
"${TestWorkingDir_BINARY_DIR}/customTarget.c")
-ADD_CUSTOM_TARGET(
+add_custom_target(
Custom ALL
COMMAND "${CMAKE_COMMAND}" -E copy_if_different ./customTarget.c "${TestWorkingDir_BINARY_DIR}/customTarget.c"
WORKING_DIRECTORY "${TestWorkingDir_SOURCE_DIR}"
)
-ADD_DEPENDENCIES(working Custom)
+add_dependencies(working Custom)
file(MAKE_DIRECTORY ${TestWorkingDir_BINARY_DIR}/work)
add_custom_command(
diff --git a/Tests/Dependency/1/CMakeLists.txt b/Tests/Dependency/1/CMakeLists.txt
index b50b2e9c5..a8e74e40b 100644
--- a/Tests/Dependency/1/CMakeLists.txt
+++ b/Tests/Dependency/1/CMakeLists.txt
@@ -1,3 +1,3 @@
-ADD_LIBRARY( One OneSrc.c )
+add_library( One OneSrc.c )
# This library has no dependencies
-TARGET_LINK_LIBRARIES( One "" )
+target_link_libraries( One "" )
diff --git a/Tests/Dependency/CMakeLists.txt b/Tests/Dependency/CMakeLists.txt
index 86e128f58..ef4204803 100644
--- a/Tests/Dependency/CMakeLists.txt
+++ b/Tests/Dependency/CMakeLists.txt
@@ -1,5 +1,5 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT( Dependency )
+project( Dependency )
# to test directories with only one character One was changed to 1
# There is one executable that depends on eight libraries. The
@@ -29,25 +29,25 @@ PROJECT( Dependency )
# Although SixB does not depend on Two, there is a dependency listed
# in the corresponding CMakeLists.txt just because of commands used.
-ADD_SUBDIRECTORY(NoDepA)
-ADD_SUBDIRECTORY(NoDepB)
-ADD_SUBDIRECTORY(NoDepC)
-ADD_SUBDIRECTORY(1)
-ADD_SUBDIRECTORY(Two)
-ADD_SUBDIRECTORY(Three)
-ADD_SUBDIRECTORY(Four)
-ADD_SUBDIRECTORY(Five)
-ADD_SUBDIRECTORY(Six)
-ADD_SUBDIRECTORY(Seven)
-ADD_SUBDIRECTORY(Eight)
-ADD_SUBDIRECTORY(Exec)
-ADD_SUBDIRECTORY(Exec2)
-ADD_SUBDIRECTORY(Exec3)
-ADD_SUBDIRECTORY(Exec4)
+add_subdirectory(NoDepA)
+add_subdirectory(NoDepB)
+add_subdirectory(NoDepC)
+add_subdirectory(1)
+add_subdirectory(Two)
+add_subdirectory(Three)
+add_subdirectory(Four)
+add_subdirectory(Five)
+add_subdirectory(Six)
+add_subdirectory(Seven)
+add_subdirectory(Eight)
+add_subdirectory(Exec)
+add_subdirectory(Exec2)
+add_subdirectory(Exec3)
+add_subdirectory(Exec4)
# Specific cases added to test fixes to problems found in real
# projects.
-ADD_SUBDIRECTORY(Case1)
-ADD_SUBDIRECTORY(Case2)
-ADD_SUBDIRECTORY(Case3)
-ADD_SUBDIRECTORY(Case4)
+add_subdirectory(Case1)
+add_subdirectory(Case2)
+add_subdirectory(Case3)
+add_subdirectory(Case4)
diff --git a/Tests/Dependency/Eight/CMakeLists.txt b/Tests/Dependency/Eight/CMakeLists.txt
index 5d8e7564e..db5e2dfb5 100644
--- a/Tests/Dependency/Eight/CMakeLists.txt
+++ b/Tests/Dependency/Eight/CMakeLists.txt
@@ -1,3 +1,3 @@
-ADD_LIBRARY( Eight EightSrc.c )
-TARGET_LINK_LIBRARIES( Eight Seven )
+add_library( Eight EightSrc.c )
+target_link_libraries( Eight Seven )
diff --git a/Tests/Dependency/Exec/CMakeLists.txt b/Tests/Dependency/Exec/CMakeLists.txt
index 97fffe706..a9206857f 100644
--- a/Tests/Dependency/Exec/CMakeLists.txt
+++ b/Tests/Dependency/Exec/CMakeLists.txt
@@ -1,7 +1,7 @@
# This executable directly depends on NoDepB, NoDepC, SixA and SixB. However,
# since NoDepB and NoDepC do not have explicit dependency information,
# and they depend on NoDepA, we have to manually specify that dependency.
-LINK_LIBRARIES( NoDepB NoDepC NoDepA SixB SixA )
+link_libraries( NoDepB NoDepC NoDepA SixB SixA )
-ADD_EXECUTABLE( exec ExecMain.c )
+add_executable( exec ExecMain.c )
diff --git a/Tests/Dependency/Exec2/CMakeLists.txt b/Tests/Dependency/Exec2/CMakeLists.txt
index ee0c74d13..04d6fe810 100644
--- a/Tests/Dependency/Exec2/CMakeLists.txt
+++ b/Tests/Dependency/Exec2/CMakeLists.txt
@@ -2,11 +2,11 @@
# If the dependencies of Five are emitted, and then we attempt to emit the
# dependencies of Seven, then we find that they have already been done. So:
# Original line: Eight Five
-# Add deps of Five: Eight Five Two ... NoDepA
+# Add deps of Five: Eight Five Two ... NoDepA
# Now, we must make sure that Seven gets inserted between Five and Two, and
# not at the end. Unfortunately, if we get it wrong, the test will only
# fail on a platform where the link order makes a difference.
-LINK_LIBRARIES( Eight Five )
+link_libraries( Eight Five )
-ADD_EXECUTABLE( exec2 ExecMain.c )
+add_executable( exec2 ExecMain.c )
diff --git a/Tests/Dependency/Exec3/CMakeLists.txt b/Tests/Dependency/Exec3/CMakeLists.txt
index b33e732a2..605fbc9f1 100644
--- a/Tests/Dependency/Exec3/CMakeLists.txt
+++ b/Tests/Dependency/Exec3/CMakeLists.txt
@@ -1,6 +1,6 @@
# Here, Five already has it's immediate dependency, Two satisfied. We must
# make sure Two gets output anyway, because Eight indirectly depends on it.
-LINK_LIBRARIES( Five Two Eight Five )
+link_libraries( Five Two Eight Five )
-ADD_EXECUTABLE( exec3 ExecMain.c )
+add_executable( exec3 ExecMain.c )
diff --git a/Tests/Dependency/Exec4/CMakeLists.txt b/Tests/Dependency/Exec4/CMakeLists.txt
index 6fcb15383..94c6bf588 100644
--- a/Tests/Dependency/Exec4/CMakeLists.txt
+++ b/Tests/Dependency/Exec4/CMakeLists.txt
@@ -1,6 +1,6 @@
# Even though Five's dependency on Two is explicitly satisfied, Two
# must be emitted again in order to satisfy a cyclic dependency on Three.
-LINK_LIBRARIES( Five Two Five )
+link_libraries( Five Two Five )
-ADD_EXECUTABLE( exec4 ExecMain.c )
+add_executable( exec4 ExecMain.c )
diff --git a/Tests/Dependency/Five/CMakeLists.txt b/Tests/Dependency/Five/CMakeLists.txt
index 27f6a1f5b..19c1c77d3 100644
--- a/Tests/Dependency/Five/CMakeLists.txt
+++ b/Tests/Dependency/Five/CMakeLists.txt
@@ -1,3 +1,3 @@
-ADD_LIBRARY( Five FiveSrc.c )
-TARGET_LINK_LIBRARIES( Five Two )
+add_library( Five FiveSrc.c )
+target_link_libraries( Five Two )
diff --git a/Tests/Dependency/Four/CMakeLists.txt b/Tests/Dependency/Four/CMakeLists.txt
index df0f1624e..71c531fe9 100644
--- a/Tests/Dependency/Four/CMakeLists.txt
+++ b/Tests/Dependency/Four/CMakeLists.txt
@@ -1,6 +1,6 @@
-INCLUDE_DIRECTORIES(${Dependency_BINARY_DIR}/Two)
-ADD_LIBRARY( Four FourSrc.c )
-TARGET_LINK_LIBRARIES( Four One Two NoDepA )
+include_directories(${Dependency_BINARY_DIR}/Two)
+add_library( Four FourSrc.c )
+target_link_libraries( Four One Two NoDepA )
# TwoCustom must build before Four.
-ADD_DEPENDENCIES(Four TwoCustom)
+add_dependencies(Four TwoCustom)
diff --git a/Tests/Dependency/NoDepA/CMakeLists.txt b/Tests/Dependency/NoDepA/CMakeLists.txt
index cedf185fa..543402d9d 100644
--- a/Tests/Dependency/NoDepA/CMakeLists.txt
+++ b/Tests/Dependency/NoDepA/CMakeLists.txt
@@ -1 +1 @@
-ADD_LIBRARY( NoDepA NoDepASrc.c )
+add_library( NoDepA NoDepASrc.c )
diff --git a/Tests/Dependency/NoDepB/CMakeLists.txt b/Tests/Dependency/NoDepB/CMakeLists.txt
index 0d69f6841..1c70f375c 100644
--- a/Tests/Dependency/NoDepB/CMakeLists.txt
+++ b/Tests/Dependency/NoDepB/CMakeLists.txt
@@ -1,3 +1,3 @@
-ADD_LIBRARY( NoDepB NoDepBSrc.c )
+add_library( NoDepB NoDepBSrc.c )
# This library depends on NoDepA, but the
# dependency is not explicitly specified.
diff --git a/Tests/Dependency/NoDepC/CMakeLists.txt b/Tests/Dependency/NoDepC/CMakeLists.txt
index 88b29ba6f..dd41cebb6 100644
--- a/Tests/Dependency/NoDepC/CMakeLists.txt
+++ b/Tests/Dependency/NoDepC/CMakeLists.txt
@@ -1,3 +1,3 @@
-ADD_LIBRARY( NoDepC NoDepCSrc.c )
+add_library( NoDepC NoDepCSrc.c )
# This library depends on NoDepA, but the
# dependency is not explicitly specified.
diff --git a/Tests/Dependency/Seven/CMakeLists.txt b/Tests/Dependency/Seven/CMakeLists.txt
index 51a38d8ed..7fba55cb9 100644
--- a/Tests/Dependency/Seven/CMakeLists.txt
+++ b/Tests/Dependency/Seven/CMakeLists.txt
@@ -1,3 +1,3 @@
-ADD_LIBRARY( Seven SevenSrc.c )
-TARGET_LINK_LIBRARIES( Seven Two )
+add_library( Seven SevenSrc.c )
+target_link_libraries( Seven Two )
diff --git a/Tests/Dependency/Six/CMakeLists.txt b/Tests/Dependency/Six/CMakeLists.txt
index d0abdd695..db12051e2 100644
--- a/Tests/Dependency/Six/CMakeLists.txt
+++ b/Tests/Dependency/Six/CMakeLists.txt
@@ -2,11 +2,11 @@
# use an all-encompassing LINK_LIBRARIES. And sometimes they don't
# specify them in the correct order.
-LINK_LIBRARIES( Two )
-LINK_LIBRARIES( Five )
+link_libraries( Two )
+link_libraries( Five )
-ADD_LIBRARY( SixA SixASrc.c )
+add_library( SixA SixASrc.c )
-ADD_LIBRARY( SixB SixBSrc.c )
-TARGET_LINK_LIBRARIES( SixB Four )
+add_library( SixB SixBSrc.c )
+target_link_libraries( SixB Four )
diff --git a/Tests/Dependency/Three/CMakeLists.txt b/Tests/Dependency/Three/CMakeLists.txt
index 6b20dcb81..3897f0cdd 100644
--- a/Tests/Dependency/Three/CMakeLists.txt
+++ b/Tests/Dependency/Three/CMakeLists.txt
@@ -1,3 +1,3 @@
-ADD_LIBRARY( Three ThreeSrc.c )
-TARGET_LINK_LIBRARIES( Three One Four )
+add_library( Three ThreeSrc.c )
+target_link_libraries( Three One Four )
diff --git a/Tests/Dependency/Two/CMakeLists.txt b/Tests/Dependency/Two/CMakeLists.txt
index 587c848f7..19a070328 100644
--- a/Tests/Dependency/Two/CMakeLists.txt
+++ b/Tests/Dependency/Two/CMakeLists.txt
@@ -1,20 +1,20 @@
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
-ADD_LIBRARY( Two TwoSrc.c )
-TARGET_LINK_LIBRARIES( Two Three )
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+add_library( Two TwoSrc.c )
+target_link_libraries( Two Three )
# Setup a target to cause failure if Two does not depend on it or if
# Two actually links to it. This will test that a utility dependency
# on a library target works properly.
-ADD_CUSTOM_COMMAND(
+add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/two-test.h
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${CMAKE_CURRENT_SOURCE_DIR}/two-test.h.in
${CMAKE_CURRENT_BINARY_DIR}/two-test.h
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/two-test.h.in
)
-ADD_LIBRARY( TwoCustom TwoCustomSrc.c ${CMAKE_CURRENT_BINARY_DIR}/two-test.h)
-SET_TARGET_PROPERTIES(TwoCustom PROPERTIES EXCLUDE_FROM_ALL 1)
-TARGET_LINK_LIBRARIES(TwoCustom Three)
+add_library( TwoCustom TwoCustomSrc.c ${CMAKE_CURRENT_BINARY_DIR}/two-test.h)
+set_target_properties(TwoCustom PROPERTIES EXCLUDE_FROM_ALL 1)
+target_link_libraries(TwoCustom Three)
# Add a utility dependency to make sure it works without linking.
-ADD_DEPENDENCIES(Two TwoCustom)
+add_dependencies(Two TwoCustom)
diff --git a/Tests/DocTest/DocTest.cxx b/Tests/DocTest/DocTest.cxx
index 2263cbd73..a8a62ab6c 100644
--- a/Tests/DocTest/DocTest.cxx
+++ b/Tests/DocTest/DocTest.cxx
@@ -13,7 +13,7 @@ int main ()
fprintf(stderr,"failed to find undefined properties file");
return 1;
}
-
+
char buffer[1024];
while ( fin )
{
@@ -28,6 +28,6 @@ int main ()
}
}
fin.close();
-
+
return result;
}
diff --git a/Tests/EnforceConfig.cmake.in b/Tests/EnforceConfig.cmake.in
index c9028a391..8c0817cd6 100644
--- a/Tests/EnforceConfig.cmake.in
+++ b/Tests/EnforceConfig.cmake.in
@@ -1,26 +1,26 @@
# Choose a configuration with which to drive CTest tests.
-IF(CTEST_CONFIGURATION_TYPE)
- SET(CTestTest_CONFIG "${CTEST_CONFIGURATION_TYPE}")
-ELSE(CTEST_CONFIGURATION_TYPE)
- SET(CTestTest_CONFIG "@CTestTest_CONFIG@")
-ENDIF(CTEST_CONFIGURATION_TYPE)
+if(CTEST_CONFIGURATION_TYPE)
+ set(CTestTest_CONFIG "${CTEST_CONFIGURATION_TYPE}")
+else()
+ set(CTestTest_CONFIG "@CTestTest_CONFIG@")
+endif()
# Choose a configuration that was built if none is given.
-IF(NOT CTEST_CONFIGURATION_TYPE)
- SET(CTEST_CMD "@CMAKE_CTEST_COMMAND@@CMAKE_EXECUTABLE_SUFFIX@")
- GET_FILENAME_COMPONENT(CTEST_DIR "${CTEST_CMD}" PATH)
- GET_FILENAME_COMPONENT(CTEST_EXE "${CTEST_CMD}" NAME)
- FOREACH(cfg Release Debug MinSizeRel RelWithDebInfo)
- IF(NOT CTEST_CONFIGURATION_TYPE)
- IF(EXISTS "${CTEST_DIR}/${cfg}/${CTEST_EXE}")
- SET(CTEST_CONFIGURATION_TYPE ${cfg})
- ENDIF(EXISTS "${CTEST_DIR}/${cfg}/${CTEST_EXE}")
- ENDIF(NOT CTEST_CONFIGURATION_TYPE)
- ENDFOREACH(cfg)
- IF(NOT CTEST_CONFIGURATION_TYPE)
- SET(CTEST_CONFIGURATION_TYPE NoConfig)
- ENDIF(NOT CTEST_CONFIGURATION_TYPE)
- MESSAGE("Guessing configuration ${CTEST_CONFIGURATION_TYPE}")
-ENDIF(NOT CTEST_CONFIGURATION_TYPE)
+if(NOT CTEST_CONFIGURATION_TYPE)
+ set(CTEST_CMD "@CMAKE_CTEST_COMMAND@@CMAKE_EXECUTABLE_SUFFIX@")
+ get_filename_component(CTEST_DIR "${CTEST_CMD}" PATH)
+ get_filename_component(CTEST_EXE "${CTEST_CMD}" NAME)
+ foreach(cfg Release Debug MinSizeRel RelWithDebInfo)
+ if(NOT CTEST_CONFIGURATION_TYPE)
+ if(EXISTS "${CTEST_DIR}/${cfg}/${CTEST_EXE}")
+ set(CTEST_CONFIGURATION_TYPE ${cfg})
+ endif()
+ endif()
+ endforeach()
+ if(NOT CTEST_CONFIGURATION_TYPE)
+ set(CTEST_CONFIGURATION_TYPE NoConfig)
+ endif()
+ message("Guessing configuration ${CTEST_CONFIGURATION_TYPE}")
+endif()
@TEST_HOME_ENV_CODE@
diff --git a/Tests/ExportImport/CMakeLists.txt b/Tests/ExportImport/CMakeLists.txt
index ccfb8940c..d6593e824 100644
--- a/Tests/ExportImport/CMakeLists.txt
+++ b/Tests/ExportImport/CMakeLists.txt
@@ -14,13 +14,13 @@ set_property(
if(CMAKE_CONFIGURATION_TYPES)
set(NESTED_CONFIG_TYPE -C "${CMAKE_CFG_INTDIR}")
-else(CMAKE_CONFIGURATION_TYPES)
+else()
if(CMAKE_BUILD_TYPE)
set(NESTED_CONFIG_TYPE -C "${CMAKE_BUILD_TYPE}")
- else(CMAKE_BUILD_TYPE)
+ else()
set(NESTED_CONFIG_TYPE)
- endif(CMAKE_BUILD_TYPE)
-endif(CMAKE_CONFIGURATION_TYPES)
+ endif()
+endif()
if(MINGW OR MSYS)
# Test CMAKE_GNUtoMS whether we have VS or not.
diff --git a/Tests/ExportImport/Export/CMakeLists.txt b/Tests/ExportImport/Export/CMakeLists.txt
index f06a4659f..e19ab88de 100644
--- a/Tests/ExportImport/Export/CMakeLists.txt
+++ b/Tests/ExportImport/Export/CMakeLists.txt
@@ -56,7 +56,7 @@ add_library(testLib6 STATIC testLib6.cxx testLib6c.c)
set(VS6)
if("${CMAKE_GENERATOR}" MATCHES "Visual Studio 6")
set(VS6 1)
-endif("${CMAKE_GENERATOR}" MATCHES "Visual Studio 6")
+endif()
# Test using the target_link_libraries command to set the
# LINK_INTERFACE_LIBRARIES* properties. We construct two libraries
@@ -87,6 +87,18 @@ target_link_libraries(testLibCycleA testLibCycleB)
target_link_libraries(testLibCycleB testLibCycleA)
set_property(TARGET testLibCycleA PROPERTY LINK_INTERFACE_MULTIPLICITY 3)
+# Test exporting dependent libraries into different exports
+add_library(testLibRequired testLibRequired.c)
+add_library(testLibDepends testLibDepends.c)
+target_link_libraries(testLibDepends testLibRequired)
+
+install(TARGETS testLibRequired EXPORT RequiredExp DESTINATION lib )
+install(EXPORT RequiredExp NAMESPACE Req:: FILE testLibRequiredConfig.cmake DESTINATION lib/cmake/testLibRequired)
+
+install(TARGETS testLibDepends EXPORT DependsExp DESTINATION lib )
+install(EXPORT DependsExp FILE testLibDependsConfig.cmake DESTINATION lib/cmake/testLibDepends)
+
+
# Install and export from install tree.
install(
TARGETS
@@ -129,7 +141,7 @@ install(EXPORT exp NAMESPACE exp_ DESTINATION lib/exp)
# Install testLib5.dll outside the export.
if(WIN32)
install(TARGETS testLib5 RUNTIME DESTINATION bin)
-endif(WIN32)
+endif()
# Export from build tree.
export(TARGETS testExe1 testLib1 testLib2 testLib3
diff --git a/Tests/ExportImport/Export/testLibDepends.c b/Tests/ExportImport/Export/testLibDepends.c
new file mode 100644
index 000000000..2849b336d
--- /dev/null
+++ b/Tests/ExportImport/Export/testLibDepends.c
@@ -0,0 +1,4 @@
+
+extern int testLibRequired(void);
+
+int testLibDepends(void) { return testLibRequired(); }
diff --git a/Tests/ExportImport/Export/testLibRequired.c b/Tests/ExportImport/Export/testLibRequired.c
new file mode 100644
index 000000000..e126d44e7
--- /dev/null
+++ b/Tests/ExportImport/Export/testLibRequired.c
@@ -0,0 +1 @@
+int testLibRequired(void) { return 0; }
diff --git a/Tests/ExportImport/Import/A/CMakeLists.txt b/Tests/ExportImport/Import/A/CMakeLists.txt
index a21e1b0f8..884179225 100644
--- a/Tests/ExportImport/Import/A/CMakeLists.txt
+++ b/Tests/ExportImport/Import/A/CMakeLists.txt
@@ -4,6 +4,10 @@ include(${Import_BINARY_DIR}/../Export/ExportBuildTree.cmake)
# Import targets from the exported install tree.
include(${CMAKE_INSTALL_PREFIX}/lib/exp/exp.cmake)
+# Import two exports, where the Depends one depends on an exported target from the Required one:
+include(${CMAKE_INSTALL_PREFIX}/lib/cmake/testLibRequired/testLibRequiredConfig.cmake)
+include(${CMAKE_INSTALL_PREFIX}/lib/cmake/testLibDepends/testLibDependsConfig.cmake)
+
# Try referencing an executable imported from the install tree.
add_custom_command(
OUTPUT ${Import_BINARY_DIR}/exp_generated.c
@@ -73,7 +77,7 @@ target_link_libraries(imp_mod1b bld_testExe2)
foreach(c DEBUG RELWITHDEBINFO)
set_property(TARGET imp_testExe1 PROPERTY COMPILE_DEFINITIONS_${c} EXE_DBG)
set_property(TARGET imp_testExe1b PROPERTY COMPILE_DEFINITIONS_${c} EXE_DBG)
-endforeach(c)
+endforeach()
#-----------------------------------------------------------------------------
# Create a custom target to generate a header for the libraries below.
diff --git a/Tests/ExportImport/InitialCache.cmake.in b/Tests/ExportImport/InitialCache.cmake.in
index 4893f7020..98d355f8f 100644
--- a/Tests/ExportImport/InitialCache.cmake.in
+++ b/Tests/ExportImport/InitialCache.cmake.in
@@ -1,15 +1,15 @@
-SET(CMAKE_C_COMPILER "@CMAKE_C_COMPILER@" CACHE STRING "C Compiler")
-SET(CMAKE_C_FLAGS "@CMAKE_C_FLAGS@" CACHE STRING "C Flags")
-SET(CMAKE_C_FLAGS_DEBUG "@CMAKE_C_FLAGS_DEBUG@" CACHE STRING "C Flags")
-SET(CMAKE_C_FLAGS_RELEASE "@CMAKE_C_FLAGS_RELEASE@" CACHE STRING "C Flags")
-SET(CMAKE_C_FLAGS_MINSIZEREL "@CMAKE_C_FLAGS_MINSIZEREL@" CACHE STRING "C Flags")
-SET(CMAKE_C_FLAGS_RELWITHDEBINFO "@CMAKE_C_FLAGS_RELWITHDEBINFO@" CACHE STRING "C Flags")
-SET(CMAKE_CXX_COMPILER "@CMAKE_CXX_COMPILER@" CACHE STRING "C++ Compiler")
-SET(CMAKE_CXX_FLAGS "@CMAKE_CXX_FLAGS@" CACHE STRING "C++ Flags")
-SET(CMAKE_CXX_FLAGS_DEBUG "@CMAKE_CXX_FLAGS_DEBUG@" CACHE STRING "C++ Flags")
-SET(CMAKE_CXX_FLAGS_RELEASE "@CMAKE_CXX_FLAGS_RELEASE@" CACHE STRING "C++ Flags")
-SET(CMAKE_CXX_FLAGS_MINSIZEREL "@CMAKE_CXX_FLAGS_MINSIZEREL@" CACHE STRING "C++ Flags")
-SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "@CMAKE_CXX_FLAGS_RELWITHDEBINFO@" CACHE STRING "C++ Flags")
-SET(CMAKE_INSTALL_PREFIX "@ExportImport_BINARY_DIR@/Root" CACHE STRING "Installation Prefix")
-SET(CMAKE_SKIP_RPATH ON CACHE BOOL "No RPATH")
-SET(CMAKE_GNUtoMS "@ExportImport_GNUtoMS@" CACHE BOOL "CMAKE_GNUtoMS")
+set(CMAKE_C_COMPILER "@CMAKE_C_COMPILER@" CACHE STRING "C Compiler")
+set(CMAKE_C_FLAGS "@CMAKE_C_FLAGS@" CACHE STRING "C Flags")
+set(CMAKE_C_FLAGS_DEBUG "@CMAKE_C_FLAGS_DEBUG@" CACHE STRING "C Flags")
+set(CMAKE_C_FLAGS_RELEASE "@CMAKE_C_FLAGS_RELEASE@" CACHE STRING "C Flags")
+set(CMAKE_C_FLAGS_MINSIZEREL "@CMAKE_C_FLAGS_MINSIZEREL@" CACHE STRING "C Flags")
+set(CMAKE_C_FLAGS_RELWITHDEBINFO "@CMAKE_C_FLAGS_RELWITHDEBINFO@" CACHE STRING "C Flags")
+set(CMAKE_CXX_COMPILER "@CMAKE_CXX_COMPILER@" CACHE STRING "C++ Compiler")
+set(CMAKE_CXX_FLAGS "@CMAKE_CXX_FLAGS@" CACHE STRING "C++ Flags")
+set(CMAKE_CXX_FLAGS_DEBUG "@CMAKE_CXX_FLAGS_DEBUG@" CACHE STRING "C++ Flags")
+set(CMAKE_CXX_FLAGS_RELEASE "@CMAKE_CXX_FLAGS_RELEASE@" CACHE STRING "C++ Flags")
+set(CMAKE_CXX_FLAGS_MINSIZEREL "@CMAKE_CXX_FLAGS_MINSIZEREL@" CACHE STRING "C++ Flags")
+set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "@CMAKE_CXX_FLAGS_RELWITHDEBINFO@" CACHE STRING "C++ Flags")
+set(CMAKE_INSTALL_PREFIX "@ExportImport_BINARY_DIR@/Root" CACHE STRING "Installation Prefix")
+set(CMAKE_SKIP_RPATH ON CACHE BOOL "No RPATH")
+set(CMAKE_GNUtoMS "@ExportImport_GNUtoMS@" CACHE BOOL "CMAKE_GNUtoMS")
diff --git a/Tests/ExternalOBJ/CMakeLists.txt b/Tests/ExternalOBJ/CMakeLists.txt
index 683e7997c..458c88bfd 100644
--- a/Tests/ExternalOBJ/CMakeLists.txt
+++ b/Tests/ExternalOBJ/CMakeLists.txt
@@ -1,51 +1,51 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT (ExternalOBJ)
+project (ExternalOBJ)
-IF(APPLE)
+if(APPLE)
# set _CMAKE_OSX_MACHINE to umame -m
- EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE _CMAKE_OSX_MACHINE)
+ exec_program(uname ARGS -m OUTPUT_VARIABLE _CMAKE_OSX_MACHINE)
# check for Power PC and change to ppc
- IF("${_CMAKE_OSX_MACHINE}" MATCHES "Power")
- SET(_CMAKE_OSX_MACHINE ppc)
- ENDIF("${_CMAKE_OSX_MACHINE}" MATCHES "Power")
- SET(CMAKE_OSX_ARCHITECTURES ${_CMAKE_OSX_MACHINE})
-ENDIF(APPLE)
+ if("${_CMAKE_OSX_MACHINE}" MATCHES "Power")
+ set(_CMAKE_OSX_MACHINE ppc)
+ endif()
+ set(CMAKE_OSX_ARCHITECTURES ${_CMAKE_OSX_MACHINE})
+endif()
# Build the external object file.
-TRY_COMPILE(EXTERNAL_OBJECT_BUILT
+try_compile(EXTERNAL_OBJECT_BUILT
${ExternalOBJ_BINARY_DIR}/Object
${ExternalOBJ_SOURCE_DIR}/Object
Object
external
OUTPUT_VARIABLE OUTPUT
)
-IF(EXTERNAL_OBJECT_BUILT)
- MESSAGE(
+if(EXTERNAL_OBJECT_BUILT)
+ message(
"Building external_object.cxx succeeded with the following output:\n"
"[${OUTPUT}]"
)
-ELSE(EXTERNAL_OBJECT_BUILT)
- MESSAGE(FATAL_ERROR
+else()
+ message(FATAL_ERROR
"Building external_object.cxx failed with the following output:\n"
"[${OUTPUT}]"
)
-ENDIF(EXTERNAL_OBJECT_BUILT)
+endif()
# Find the external object file.
-SET(DIR ${ExternalOBJ_BINARY_DIR}/Object)
-FILE(GLOB_RECURSE EXTERNAL_OBJECT
+set(DIR ${ExternalOBJ_BINARY_DIR}/Object)
+file(GLOB_RECURSE EXTERNAL_OBJECT
"${DIR}/external_object*${CMAKE_CXX_OUTPUT_EXTENSION}")
-IF(EXTERNAL_OBJECT)
- LIST (GET EXTERNAL_OBJECT 0 EXTERNAL_OBJECT)
- MESSAGE("Found \"${EXTERNAL_OBJECT}\".")
-ELSE(EXTERNAL_OBJECT)
- MESSAGE(FATAL_ERROR "Could not find external object.")
-ENDIF(EXTERNAL_OBJECT)
+if(EXTERNAL_OBJECT)
+ list (GET EXTERNAL_OBJECT 0 EXTERNAL_OBJECT)
+ message("Found \"${EXTERNAL_OBJECT}\".")
+else()
+ message(FATAL_ERROR "Could not find external object.")
+endif()
# Test creation of external objects by custom commands.
-SET(CUSTOM_OBJECT
+set(CUSTOM_OBJECT
${CMAKE_CURRENT_BINARY_DIR}/custom_object${CMAKE_C_OUTPUT_EXTENSION})
-ADD_CUSTOM_COMMAND(
+add_custom_command(
OUTPUT ${CUSTOM_OBJECT}
COMMAND ${CMAKE_COMMAND} -E copy ${EXTERNAL_OBJECT} ${CUSTOM_OBJECT}
DEPENDS ${EXTERNAL_OBJECT}
@@ -53,11 +53,11 @@ ADD_CUSTOM_COMMAND(
message("${EXTERNAL_OBJECT}")
# Build an executable using the external object file.
-ADD_EXECUTABLE(ExternalOBJ executable.cxx ${CUSTOM_OBJECT})
+add_executable(ExternalOBJ executable.cxx ${CUSTOM_OBJECT})
# A bug showed up in VS2010 where an object file that was
# part of a custom commad output worked, but ones that were
# not didn't work. So, repeat the executable using the object
# directly and not from the output of the copy.
-ADD_EXECUTABLE(ExternalOBJ2 executable.cxx ${EXTERNAL_OBJECT})
+add_executable(ExternalOBJ2 executable.cxx ${EXTERNAL_OBJECT})
-ADD_SUBDIRECTORY(Sub)
+add_subdirectory(Sub)
diff --git a/Tests/ExternalOBJ/Object/CMakeLists.txt b/Tests/ExternalOBJ/Object/CMakeLists.txt
index 6f1d7e3fb..dbfe09ee6 100644
--- a/Tests/ExternalOBJ/Object/CMakeLists.txt
+++ b/Tests/ExternalOBJ/Object/CMakeLists.txt
@@ -1,13 +1,13 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(Object)
-IF(APPLE)
+project(Object)
+if(APPLE)
# set _CMAKE_OSX_MACHINE to umame -m
- EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE _CMAKE_OSX_MACHINE)
+ exec_program(uname ARGS -m OUTPUT_VARIABLE _CMAKE_OSX_MACHINE)
# check for Power PC and change to ppc
- IF("${_CMAKE_OSX_MACHINE}" MATCHES "Power")
- SET(_CMAKE_OSX_MACHINE ppc)
- ENDIF("${_CMAKE_OSX_MACHINE}" MATCHES "Power")
- SET(CMAKE_OSX_ARCHITECTURES ${_CMAKE_OSX_MACHINE})
-ENDIF(APPLE)
+ if("${_CMAKE_OSX_MACHINE}" MATCHES "Power")
+ set(_CMAKE_OSX_MACHINE ppc)
+ endif()
+ set(CMAKE_OSX_ARCHITECTURES ${_CMAKE_OSX_MACHINE})
+endif()
-ADD_EXECUTABLE(external external_object.cxx external_main.cxx)
+add_executable(external external_object.cxx external_main.cxx)
diff --git a/Tests/ExternalProject/CMakeLists.txt b/Tests/ExternalProject/CMakeLists.txt
index 7a7626199..3f8e8273d 100644
--- a/Tests/ExternalProject/CMakeLists.txt
+++ b/Tests/ExternalProject/CMakeLists.txt
@@ -6,6 +6,7 @@ include(ExternalProject)
find_package(CVS)
find_package(Subversion)
find_package(Git)
+find_package(Hg)
option(ExternalProjectTest_USE_FOLDERS "Enable folder grouping in IDEs." ON)
if(ExternalProjectTest_USE_FOLDERS)
@@ -188,7 +189,7 @@ set_property(TARGET ${proj} PROPERTY FOLDER "Local/TGZ")
set(proj TutorialStep1-LocalNoDirTGZ)
ExternalProject_Add(${proj}
URL "${CMAKE_CURRENT_SOURCE_DIR}/Step1NoDir.tgz"
- URL_MD5 0b8182edcecdf40bf1c9d71d7d259f78
+ URL_HASH SHA256=496229e2a5ed620a37c385ad9406004a18026beab8b55dd2c4565d4b7f1d5383
CMAKE_GENERATOR "${CMAKE_GENERATOR}"
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
INSTALL_COMMAND ""
@@ -511,6 +512,76 @@ if(do_git_tests)
set_property(TARGET ${proj} PROPERTY FOLDER "GIT")
endif()
+set(do_hg_tests 0)
+
+if(HG_EXECUTABLE)
+ set(do_hg_tests 1)
+endif()
+
+if(do_hg_tests)
+ set(local_hg_repo "../../LocalRepositories/HG")
+
+ # Unzip/untar the hg repository in our source folder so that other
+ # projects below may use it to test hg args of ExternalProject_Add
+ #
+ set(proj SetupLocalHGRepository)
+ ExternalProject_Add(${proj}
+ SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR}/LocalRepositories/HG
+ URL ${CMAKE_CURRENT_SOURCE_DIR}/hgrepo.tgz
+ BUILD_COMMAND ""
+ CONFIGURE_COMMAND "${HG_EXECUTABLE}" --version
+ INSTALL_COMMAND ""
+ )
+ set_property(TARGET ${proj}
+ PROPERTY FOLDER "SetupRepos/Local/Deeply/Nested/For/Testing")
+
+
+ # hg by commit id:
+ #
+ set(proj TutorialStep1-HG-byhash)
+ ExternalProject_Add(${proj}
+ HG_REPOSITORY "${local_hg_repo}"
+ HG_TAG dd2ce38a6b8a
+ UPDATE_COMMAND ""
+ CMAKE_GENERATOR "${CMAKE_GENERATOR}"
+ CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
+ INSTALL_COMMAND ""
+ DEPENDS "SetupLocalHGRepository"
+ )
+ set_property(TARGET ${proj} PROPERTY FOLDER "HG")
+
+ # hg by explicit branch/tag name:
+ #
+ set(proj TutorialStep1-HG-bytag)
+ ExternalProject_Add(${proj}
+ HG_REPOSITORY "${local_hg_repo}"
+ HG_TAG "default"
+ UPDATE_COMMAND ""
+ CMAKE_GENERATOR "${CMAKE_GENERATOR}"
+ CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
+ INSTALL_COMMAND ""
+ DEPENDS "SetupLocalHGRepository"
+ )
+ set_property(TARGET ${proj} PROPERTY FOLDER "HG")
+
+ # Live hg / tip (no HG_TAG):
+ #
+ # Mercurial 2.1 does not distinguish an empty pull from a failed pull,
+ # so do not run the test with that version.
+ if(NOT "${HG_VERSION_STRING}" STREQUAL "2.1")
+ set(proj TutorialStep1-HG-tip)
+ ExternalProject_Add(${proj}
+ HG_REPOSITORY "${local_hg_repo}"
+ CMAKE_GENERATOR "${CMAKE_GENERATOR}"
+ CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
+ INSTALL_COMMAND ""
+ DEPENDS "SetupLocalHGRepository"
+ LOG_UPDATE 1
+ )
+ set_property(TARGET ${proj} PROPERTY FOLDER "HG")
+ endif()
+endif()
+
# Test the testable built/installed products:
#
@@ -581,5 +652,5 @@ endif()
message(STATUS "can_build_tutorial_step5='${can_build_tutorial_step5}'")
message(STATUS "do_cvs_tests='${do_cvs_tests}'")
message(STATUS "do_svn_tests='${do_svn_tests}'")
-message(STATUS "do_git_tests='${do_git_tests}'")
-message(STATUS "GIT_EXECUTABLE='${GIT_EXECUTABLE}'")
+message(STATUS "do_git_tests='${do_git_tests}' GIT_EXECUTABLE='${GIT_EXECUTABLE}'")
+message(STATUS "do_hg_tests='${do_hg_tests}' HG_EXECUTABLE='${HG_EXECUTABLE}'")
diff --git a/Tests/ExternalProject/TryCheckout.cmake b/Tests/ExternalProject/TryCheckout.cmake
index de069ebe4..6a396c339 100644
--- a/Tests/ExternalProject/TryCheckout.cmake
+++ b/Tests/ExternalProject/TryCheckout.cmake
@@ -25,7 +25,7 @@ function(try_cvs_checkout repository module dir result_var)
message(STATUS "try_cvs_checkout -- done")
endif()
-endfunction(try_cvs_checkout)
+endfunction()
function(try_svn_checkout repository dir result_var)
@@ -51,4 +51,4 @@ function(try_svn_checkout repository dir result_var)
message(STATUS "try_svn_checkout -- done")
endif()
-endfunction(try_svn_checkout)
+endfunction()
diff --git a/Tests/ExternalProject/hgrepo.tgz b/Tests/ExternalProject/hgrepo.tgz
new file mode 100644
index 000000000..0d75ce22f
--- /dev/null
+++ b/Tests/ExternalProject/hgrepo.tgz
Binary files differ
diff --git a/Tests/FindModulesExecuteAll/CMakeLists.txt b/Tests/FindModulesExecuteAll/CMakeLists.txt
index df5162652..21b9d3897 100644
--- a/Tests/FindModulesExecuteAll/CMakeLists.txt
+++ b/Tests/FindModulesExecuteAll/CMakeLists.txt
@@ -23,8 +23,8 @@ foreach(module ${all_modules})
# disabled for now, since too many modules break:
# if(NOT DEFINED ${packageNameUpper}_FOUND)
# message(SEND_ERROR "${packageNameUpper}_FOUND not defined !")
-# endif(NOT DEFINED ${packageNameUpper}_FOUND)
+# endif()
-endforeach(module ${all_modules})
+endforeach()
add_executable(FindModulesExecuteAll main.c)
diff --git a/Tests/FindPackageTest/Baz 1.1/BazConfigVersion.cmake b/Tests/FindPackageTest/Baz 1.1/BazConfigVersion.cmake
index 321fa118e..979bbdf18 100644
--- a/Tests/FindPackageTest/Baz 1.1/BazConfigVersion.cmake
+++ b/Tests/FindPackageTest/Baz 1.1/BazConfigVersion.cmake
@@ -1,8 +1,8 @@
-SET(PACKAGE_VERSION 1.1)
-IF("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 1)
- SET(PACKAGE_VERSION_COMPATIBLE 1)
- IF("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 1)
- SET(PACKAGE_VERSION_EXACT 1)
- ENDIF("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 1)
-ENDIF("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 1)
+set(PACKAGE_VERSION 1.1)
+if("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 1)
+ set(PACKAGE_VERSION_COMPATIBLE 1)
+ if("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 1)
+ set(PACKAGE_VERSION_EXACT 1)
+ endif()
+endif()
diff --git a/Tests/FindPackageTest/Baz 1.2/CMake/BazConfigVersion.cmake b/Tests/FindPackageTest/Baz 1.2/CMake/BazConfigVersion.cmake
index 4576809f5..17caaa728 100644
--- a/Tests/FindPackageTest/Baz 1.2/CMake/BazConfigVersion.cmake
+++ b/Tests/FindPackageTest/Baz 1.2/CMake/BazConfigVersion.cmake
@@ -1,8 +1,8 @@
-SET(PACKAGE_VERSION 1.2)
-IF("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 1)
- SET(PACKAGE_VERSION_COMPATIBLE 1)
- IF("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 2)
- SET(PACKAGE_VERSION_EXACT 1)
- ENDIF("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 2)
-ENDIF("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 1)
+set(PACKAGE_VERSION 1.2)
+if("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 1)
+ set(PACKAGE_VERSION_COMPATIBLE 1)
+ if("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 2)
+ set(PACKAGE_VERSION_EXACT 1)
+ endif()
+endif()
diff --git a/Tests/FindPackageTest/CMakeLists.txt b/Tests/FindPackageTest/CMakeLists.txt
index e85fb4dd2..bca149bea 100644
--- a/Tests/FindPackageTest/CMakeLists.txt
+++ b/Tests/FindPackageTest/CMakeLists.txt
@@ -1,86 +1,86 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(FindPackageTest)
+project(FindPackageTest)
-LIST(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
+list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
# Look for a package which uses FindPackageHandleStandardArgs.cmake with the
# new (as of cmake 2.8.3) syntax. This works only if CMP0017 is set to NEW,
# because otherwise FindPackageHandleStandardArgs.cmake from the current
# directory is included (via CMAKE_MODULE_PATH).
-CMAKE_POLICY(SET CMP0017 NEW)
-FIND_PACKAGE(ZLIB QUIET)
+cmake_policy(SET CMP0017 NEW)
+find_package(ZLIB QUIET)
# Look for a package that has a find module and may be found.
-FIND_PACKAGE(OpenGL QUIET)
+find_package(OpenGL QUIET)
# Look for a package that has no find module and will not be found.
-FIND_PACKAGE(NotAPackage QUIET)
+find_package(NotAPackage QUIET)
# Look for a package that has an advanced find module.
-FIND_PACKAGE(VTK QUIET)
+find_package(VTK QUIET)
-ADD_EXECUTABLE(FindPackageTest FindPackageTest.cxx)
+add_executable(FindPackageTest FindPackageTest.cxx)
# test behaviour of cmFindBase wrt. the CMAKE_PREFIX_PATH variable
# foo.h should be found in ${CMAKE_CURRENT_SOURCE_DIR}/include:
-SET(CMAKE_PREFIX_PATH /blub /blah "${CMAKE_CURRENT_SOURCE_DIR}")
-FIND_PATH(FOO_DIR foo.h)
+set(CMAKE_PREFIX_PATH /blub /blah "${CMAKE_CURRENT_SOURCE_DIR}")
+find_path(FOO_DIR foo.h)
-IF(NOT FOO_DIR)
- MESSAGE(FATAL_ERROR "Did not find foo.h which is in ${CMAKE_CURRENT_SOURCE_DIR}/include
+if(NOT FOO_DIR)
+ message(FATAL_ERROR "Did not find foo.h which is in ${CMAKE_CURRENT_SOURCE_DIR}/include
CMAKE_PREFIX_PATH = ${CMAKE_PREFIX_PATH}")
-ENDIF(NOT FOO_DIR)
+endif()
-FIND_PACKAGE(VersionTestA 1)
-FIND_PACKAGE(VersionTestB 1.2)
-FIND_PACKAGE(VersionTestC 1.2.3)
-FIND_PACKAGE(VersionTestD 1.2.3.4)
+find_package(VersionTestA 1)
+find_package(VersionTestB 1.2)
+find_package(VersionTestC 1.2.3)
+find_package(VersionTestD 1.2.3.4)
-FIND_PACKAGE(LotsOfComponents COMPONENTS AComp OPTIONAL_COMPONENTS BComp CComp)
-IF(NOT LOTSOFCOMPONENTS_FOUND)
- MESSAGE(SEND_ERROR "LotsOfComponents not found !")
-ENDIF()
+find_package(LotsOfComponents COMPONENTS AComp OPTIONAL_COMPONENTS BComp CComp)
+if(NOT LOTSOFCOMPONENTS_FOUND)
+ message(SEND_ERROR "LotsOfComponents not found !")
+endif()
#-----------------------------------------------------------------------------
# Test system package registry if possible.
-SET(CMakeTestSystemPackage "")
-IF(WIN32 AND NOT CYGWIN)
+set(CMakeTestSystemPackage "")
+if(WIN32 AND NOT CYGWIN)
# Try writing a value to the system package registry.
- SET(_data "${FindPackageTest_SOURCE_DIR}/SystemPackage")
- SET(_key "HKLM\\Software\\Kitware\\CMake\\Packages\\CMakeTestSystemPackage")
- SET(_file "${FindPackageTest_BINARY_DIR}/CMakeTestSystemPackage.data")
- FILE(WRITE ${_file} "${_data}\n")
- EXECUTE_PROCESS(
+ set(_data "${FindPackageTest_SOURCE_DIR}/SystemPackage")
+ set(_key "HKLM\\Software\\Kitware\\CMake\\Packages\\CMakeTestSystemPackage")
+ set(_file "${FindPackageTest_BINARY_DIR}/CMakeTestSystemPackage.data")
+ file(WRITE ${_file} "${_data}\n")
+ execute_process(
COMMAND ${CMAKE_COMMAND} -E md5sum ${_file}
OUTPUT_VARIABLE _output ERROR_VARIABLE _error RESULT_VARIABLE _failed
OUTPUT_STRIP_TRAILING_WHITESPACE
)
- STRING(REGEX REPLACE " .*" "" _value "${_output}")
- IF(NOT _failed AND _value)
- EXECUTE_PROCESS(
+ string(REGEX REPLACE " .*" "" _value "${_output}")
+ if(NOT _failed AND _value)
+ execute_process(
COMMAND reg add "${_key}" /v "${_value}" /t REG_SZ /d "${_data}" /f
OUTPUT_VARIABLE _output ERROR_VARIABLE _output RESULT_VARIABLE _failed
)
- ENDIF()
+ endif()
# If the above worked, add the rest of the test and a rule to
# cleanup the value.
- IF(NOT _failed)
- MESSAGE(STATUS "HKLM is writable: enabling CMakeTestSystemPackage")
- SET(CMakeTestSystemPackage_CLEANUP reg delete "${_key}" /v "${_value}" /f)
- SET(CMakeTestSystemPackage CMakeTestSystemPackage)
- ELSE()
- MESSAGE(STATUS "HKLM is readonly: disabling CMakeTestSystemPackage")
- ENDIF()
-ENDIF()
+ if(NOT _failed)
+ message(STATUS "HKLM is writable: enabling CMakeTestSystemPackage")
+ set(CMakeTestSystemPackage_CLEANUP reg delete "${_key}" /v "${_value}" /f)
+ set(CMakeTestSystemPackage CMakeTestSystemPackage)
+ else()
+ message(STATUS "HKLM is readonly: disabling CMakeTestSystemPackage")
+ endif()
+endif()
#-----------------------------------------------------------------------------
-#SET(CMAKE_FIND_DEBUG_MODE 1)
+#set(CMAKE_FIND_DEBUG_MODE 1)
# For purposes of the test wipe out previous find results.
-SET(PACKAGES
+set(PACKAGES
foo Foo Bar Blub TFramework Tframework TApp Tapp Special
VersionedA VersionedB VersionedC VersionedD VersionedE
WrongA WrongB WrongC WrongD
@@ -91,14 +91,14 @@ SET(PACKAGES
SetFoundTRUE SetFoundFALSE
${CMakeTestSystemPackage}
)
-FOREACH(p ${PACKAGES})
- SET(${p}_DIR "" CACHE FILEPATH "Wipe out find results for testing." FORCE)
-ENDFOREACH(p)
+foreach(p ${PACKAGES})
+ set(${p}_DIR "" CACHE FILEPATH "Wipe out find results for testing." FORCE)
+endforeach()
# Enable framework and bundle searching. Make sure bundles are found
# before unix-syle packages.
-SET(CMAKE_FIND_FRAMEWORK LAST)
-SET(CMAKE_FIND_APPBUNDLE FIRST)
+set(CMAKE_FIND_FRAMEWORK LAST)
+set(CMAKE_FIND_APPBUNDLE FIRST)
# Set the wrong answer for a find to make sure it re-finds.
set(VersionedA_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/cmake/zot-4.0)
@@ -108,219 +108,219 @@ set(VersionedA_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/cmake/zot-4.0)
set(CMAKE_IGNORE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib/cmake/zot-3.1)
# Look for packages with new-style signatures.
-FIND_PACKAGE(foo NO_MODULE)
-FIND_PACKAGE(Foo CONFIGS FooConfig.cmake)
-FIND_PACKAGE(Bar)
-SET(CMAKE_DISABLE_FIND_PACKAGE_Blub TRUE)
-FIND_PACKAGE(Blub NO_MODULE)
-FIND_PACKAGE(TFramework CONFIGS TFrameworkConfig.cmake)
-FIND_PACKAGE(Tframework)
-FIND_PACKAGE(TApp)
-FIND_PACKAGE(Tapp CONFIGS tapp-config.cmake)
-FIND_PACKAGE(Special NAMES Suffix SuffixTest PATH_SUFFIXES test)
-FIND_PACKAGE(VersionedA 2 NAMES zot)
-FIND_PACKAGE(VersionedB 3.1 EXACT NAMES zot)
-FIND_PACKAGE(VersionedC 4.0 EXACT NAMES zot)
-FIND_PACKAGE(VersionedD 1.1 EXACT NAMES Baz)
-FIND_PACKAGE(VersionedE 1.2 EXACT NAMES Baz)
+find_package(foo NO_MODULE)
+find_package(Foo CONFIGS FooConfig.cmake)
+find_package(Bar)
+set(CMAKE_DISABLE_FIND_PACKAGE_Blub TRUE)
+find_package(Blub NO_MODULE)
+find_package(TFramework CONFIGS TFrameworkConfig.cmake)
+find_package(Tframework)
+find_package(TApp)
+find_package(Tapp CONFIGS tapp-config.cmake)
+find_package(Special NAMES Suffix SuffixTest PATH_SUFFIXES test)
+find_package(VersionedA 2 NAMES zot)
+find_package(VersionedB 3.1 EXACT NAMES zot)
+find_package(VersionedC 4.0 EXACT NAMES zot)
+find_package(VersionedD 1.1 EXACT NAMES Baz)
+find_package(VersionedE 1.2 EXACT NAMES Baz)
# Test Config files which set Xyz_FOUND themselves:
-FIND_PACKAGE(SetFoundTRUE NO_MODULE)
-FIND_PACKAGE(SetFoundFALSE NO_MODULE)
+find_package(SetFoundTRUE NO_MODULE)
+find_package(SetFoundFALSE NO_MODULE)
# Test wrong initial path when result is present.
-SET(WrongA_DIR "${VersionedD_DIR}")
-FIND_PACKAGE(WrongA 1.2 EXACT NAMES Baz)
+set(WrongA_DIR "${VersionedD_DIR}")
+find_package(WrongA 1.2 EXACT NAMES Baz)
# Test wrong initial cache entry of UNINITIALIZED type when result is present.
-SET(WrongB_DIR "${VersionedD_DIR}" CACHE UNINITIALIZED "Wrong Value" FORCE)
-GET_PROPERTY(type CACHE WrongB_DIR PROPERTY TYPE)
-FIND_PACKAGE(WrongB 1.2 EXACT NAMES Baz)
+set(WrongB_DIR "${VersionedD_DIR}" CACHE UNINITIALIZED "Wrong Value" FORCE)
+get_property(type CACHE WrongB_DIR PROPERTY TYPE)
+find_package(WrongB 1.2 EXACT NAMES Baz)
# Test wrong initial path when result is missing.
-SET(WrongC_DIR "${VersionedD_DIR}")
-FIND_PACKAGE(WrongC 1.3 EXACT QUIET NAMES Baz)
+set(WrongC_DIR "${VersionedD_DIR}")
+find_package(WrongC 1.3 EXACT QUIET NAMES Baz)
# Test wrong initial cache entry of UNINITIALIZED type when result is missing.
-SET(WrongD_DIR "${VersionedD_DIR}" CACHE UNINITIALIZED "Wrong Value" FORCE)
-GET_PROPERTY(type CACHE WrongD_DIR PROPERTY TYPE)
-FIND_PACKAGE(WrongD 1.3 EXACT QUIET NAMES Baz)
+set(WrongD_DIR "${VersionedD_DIR}" CACHE UNINITIALIZED "Wrong Value" FORCE)
+get_property(type CACHE WrongD_DIR PROPERTY TYPE)
+find_package(WrongD 1.3 EXACT QUIET NAMES Baz)
# HINTS should override the system but PATHS should not
-LIST(INSERT CMAKE_SYSTEM_PREFIX_PATH 0 "${CMAKE_CURRENT_SOURCE_DIR}/A")
-FIND_PACKAGE(wibbleA NAMES wibble PATHS B)
-FIND_PACKAGE(wibbleB NAMES wibble HINTS B)
+list(INSERT CMAKE_SYSTEM_PREFIX_PATH 0 "${CMAKE_CURRENT_SOURCE_DIR}/A")
+find_package(wibbleA NAMES wibble PATHS B)
+find_package(wibbleB NAMES wibble HINTS B)
# Look for package with recursive find-modules.
-FIND_PACKAGE(RecursiveA COMPONENTS A)
-FIND_PACKAGE(RecursiveB 2)
-FIND_PACKAGE(RecursiveC 3.1 EXACT)
+find_package(RecursiveA COMPONENTS A)
+find_package(RecursiveB 2)
+find_package(RecursiveC 3.1 EXACT)
# Test architecture-specific search directories.
-SET(CMAKE_LIBRARY_ARCHITECTURE arch)
-FIND_PACKAGE(ArchA NAMES Bar)
-FIND_PACKAGE(ArchB NAMES Foo CONFIGS FooConfig.cmake)
-FIND_PACKAGE(ArchC 3.1 EXACT NAMES zot)
-FIND_PACKAGE(ArchD 4.0 EXACT NAMES zot)
-UNSET(CMAKE_LIBRARY_ARCHITECTURE)
+set(CMAKE_LIBRARY_ARCHITECTURE arch)
+find_package(ArchA NAMES Bar)
+find_package(ArchB NAMES Foo CONFIGS FooConfig.cmake)
+find_package(ArchC 3.1 EXACT NAMES zot)
+find_package(ArchD 4.0 EXACT NAMES zot)
+unset(CMAKE_LIBRARY_ARCHITECTURE)
# Test <Package>_DIR environment variable.
# We erase the main prefix path to ensure the env var is used.
-SET(CMAKE_PREFIX_PATH)
-SET(ENV{EnvA_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/lib/zot-3.1")
-FIND_PACKAGE(EnvA 3.1 EXACT QUIET NAMES zot) # Should Work
-FIND_PACKAGE(EnvB 3.1 EXACT QUIET NAMES zot) # Should Fail
+set(CMAKE_PREFIX_PATH)
+set(ENV{EnvA_DIR} "${CMAKE_CURRENT_SOURCE_DIR}/lib/zot-3.1")
+find_package(EnvA 3.1 EXACT QUIET NAMES zot) # Should Work
+find_package(EnvB 3.1 EXACT QUIET NAMES zot) # Should Fail
# Test system package registry if available.
-IF(CMakeTestSystemPackage)
- FIND_PACKAGE(CMakeTestSystemPackage)
- EXECUTE_PROCESS(COMMAND ${CMakeTestSystemPackage_CLEANUP}
+if(CMakeTestSystemPackage)
+ find_package(CMakeTestSystemPackage)
+ execute_process(COMMAND ${CMakeTestSystemPackage_CLEANUP}
OUTPUT_VARIABLE _output ERROR_VARIABLE _error)
-ENDIF()
+endif()
# Expected locations at which packages should be found.
-SET(foo_EXPECTED "lib/foo-1.2/foo-config.cmake")
-SET(Foo_EXPECTED "lib/foo-1.2/CMake/FooConfig.cmake")
-SET(Bar_EXPECTED "lib/Bar/BarConfig.cmake")
-SET(Blub_MISSING "")
-SET(Special_EXPECTED "lib/suffix/test/SuffixTestConfig.cmake")
-SET(TFramework_EXPECTED
+set(foo_EXPECTED "lib/foo-1.2/foo-config.cmake")
+set(Foo_EXPECTED "lib/foo-1.2/CMake/FooConfig.cmake")
+set(Bar_EXPECTED "lib/Bar/BarConfig.cmake")
+set(Blub_MISSING "")
+set(Special_EXPECTED "lib/suffix/test/SuffixTestConfig.cmake")
+set(TFramework_EXPECTED
"TFramework.framework/Versions/A/Resources/CMake/TFrameworkConfig.cmake")
-SET(Tframework_EXPECTED
+set(Tframework_EXPECTED
"TFramework.framework/Versions/A/Resources/tframework-config.cmake")
-SET(TApp_EXPECTED
+set(TApp_EXPECTED
"TApp.app/Contents/Resources/TAppConfig.cmake")
-SET(Tapp_EXPECTED
+set(Tapp_EXPECTED
"TApp.app/Contents/Resources/cmake/tapp-config.cmake")
-SET(VersionedA_EXPECTED "lib/zot-2.0/zot-config.cmake")
-SET(VersionedB_EXPECTED "lib/zot-3.1/zot-config.cmake")
-SET(VersionedC_EXPECTED "lib/cmake/zot-4.0/zot-config.cmake")
-SET(VersionedD_EXPECTED "Baz 1.1/BazConfig.cmake")
-SET(VersionedE_EXPECTED "Baz 1.2/CMake/BazConfig.cmake")
-SET(WrongA_EXPECTED "${VersionedE_EXPECTED}")
-SET(WrongB_EXPECTED "${VersionedE_EXPECTED}")
-SET(WrongC_MISSING "WrongC_DIR-NOTFOUND")
-SET(WrongD_MISSING "WrongD_DIR-NOTFOUND")
-SET(wibbleA_EXPECTED "A/wibble-config.cmake")
-SET(wibbleB_EXPECTED "B/wibble-config.cmake")
-SET(RecursiveA_EXPECTED "lib/RecursiveA/recursivea-config.cmake")
-SET(RecursiveB_EXPECTED "lib/zot-2.0/zot-config.cmake")
-SET(RecursiveC_EXPECTED "lib/zot-3.1/zot-config.cmake")
-SET(ArchA_EXPECTED "lib/arch/Bar/BarConfig.cmake")
-SET(ArchB_EXPECTED "lib/arch/foo-1.2/CMake/FooConfig.cmake")
-SET(ArchC_EXPECTED "lib/arch/zot-3.1/zot-config.cmake")
-SET(ArchD_EXPECTED "lib/arch/cmake/zot-4.0/zot-config.cmake")
-SET(EnvA_EXPECTED "lib/zot-3.1/zot-config.cmake")
-SET(EnvB_MISSING "EnvB_DIR-NOTFOUND")
-SET(SetFoundTRUE_EXPECTED "cmake/SetFoundTRUEConfig.cmake")
-SET(SetFoundFALSE_MISSING "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
-SET(CMakeTestSystemPackage_EXPECTED "SystemPackage/CMakeTestSystemPackageConfig.cmake")
+set(VersionedA_EXPECTED "lib/zot-2.0/zot-config.cmake")
+set(VersionedB_EXPECTED "lib/zot-3.1/zot-config.cmake")
+set(VersionedC_EXPECTED "lib/cmake/zot-4.0/zot-config.cmake")
+set(VersionedD_EXPECTED "Baz 1.1/BazConfig.cmake")
+set(VersionedE_EXPECTED "Baz 1.2/CMake/BazConfig.cmake")
+set(WrongA_EXPECTED "${VersionedE_EXPECTED}")
+set(WrongB_EXPECTED "${VersionedE_EXPECTED}")
+set(WrongC_MISSING "WrongC_DIR-NOTFOUND")
+set(WrongD_MISSING "WrongD_DIR-NOTFOUND")
+set(wibbleA_EXPECTED "A/wibble-config.cmake")
+set(wibbleB_EXPECTED "B/wibble-config.cmake")
+set(RecursiveA_EXPECTED "lib/RecursiveA/recursivea-config.cmake")
+set(RecursiveB_EXPECTED "lib/zot-2.0/zot-config.cmake")
+set(RecursiveC_EXPECTED "lib/zot-3.1/zot-config.cmake")
+set(ArchA_EXPECTED "lib/arch/Bar/BarConfig.cmake")
+set(ArchB_EXPECTED "lib/arch/foo-1.2/CMake/FooConfig.cmake")
+set(ArchC_EXPECTED "lib/arch/zot-3.1/zot-config.cmake")
+set(ArchD_EXPECTED "lib/arch/cmake/zot-4.0/zot-config.cmake")
+set(EnvA_EXPECTED "lib/zot-3.1/zot-config.cmake")
+set(EnvB_MISSING "EnvB_DIR-NOTFOUND")
+set(SetFoundTRUE_EXPECTED "cmake/SetFoundTRUEConfig.cmake")
+set(SetFoundFALSE_MISSING "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
+set(CMakeTestSystemPackage_EXPECTED "SystemPackage/CMakeTestSystemPackageConfig.cmake")
# Check the results.
-FOREACH(p ${PACKAGES})
- IF(DEFINED ${p}_MISSING)
+foreach(p ${PACKAGES})
+ if(DEFINED ${p}_MISSING)
# Check and report failure.
- IF(NOT "${${p}_DIR}" STREQUAL "${${p}_MISSING}")
- MESSAGE(SEND_ERROR
+ if(NOT "${${p}_DIR}" STREQUAL "${${p}_MISSING}")
+ message(SEND_ERROR
"Package ${p} should have been [${${p}_MISSING}] but "
"was [${${p}_DIR}]")
- ENDIF()
- IF(${p}_FOUND)
- MESSAGE(SEND_ERROR
+ endif()
+ if(${p}_FOUND)
+ message(SEND_ERROR
"Package ${p} should not have been found, but ${p}_FOUND is set to "
"\"${${p}_FOUND}\"")
- ENDIF()
- ELSEIF(${p}_FOUND)
+ endif()
+ elseif(${p}_FOUND)
# Convert to relative path for comparison to expected location.
- FILE(RELATIVE_PATH REL_${p}_CONFIG "${CMAKE_CURRENT_SOURCE_DIR}"
+ file(RELATIVE_PATH REL_${p}_CONFIG "${CMAKE_CURRENT_SOURCE_DIR}"
"${${p}_CONFIG}")
# Debugging output.
- IF(CMAKE_FIND_DEBUG_MODE)
- MESSAGE("Package ${p} found [${REL_${p}_CONFIG}]")
- ENDIF(CMAKE_FIND_DEBUG_MODE)
+ if(CMAKE_FIND_DEBUG_MODE)
+ message("Package ${p} found [${REL_${p}_CONFIG}]")
+ endif()
# Check and report failure.
- IF(NOT "${REL_${p}_CONFIG}" STREQUAL "${${p}_EXPECTED}")
- MESSAGE(SEND_ERROR
+ if(NOT "${REL_${p}_CONFIG}" STREQUAL "${${p}_EXPECTED}")
+ message(SEND_ERROR
"Package ${p} should have been [${${p}_EXPECTED}] but "
"was [${REL_${p}_CONFIG}]")
- ENDIF(NOT "${REL_${p}_CONFIG}" STREQUAL "${${p}_EXPECTED}")
- ELSE()
- MESSAGE(SEND_ERROR "Package ${p} not found!")
- ENDIF()
-ENDFOREACH(p)
+ endif()
+ else()
+ message(SEND_ERROR "Package ${p} not found!")
+ endif()
+endforeach()
# Check that version information was extracted.
-IF(NOT "${VersionedA_VERSION}" STREQUAL "2.0")
- MESSAGE(SEND_ERROR
+if(NOT "${VersionedA_VERSION}" STREQUAL "2.0")
+ message(SEND_ERROR
"Package VersionedA is version [${VersionedA_VERSION}], not [2.0]")
-ENDIF(NOT "${VersionedA_VERSION}" STREQUAL "2.0")
-IF(NOT "${VersionedA_VERSION_MAJOR}" STREQUAL "2")
- MESSAGE(SEND_ERROR
+endif()
+if(NOT "${VersionedA_VERSION_MAJOR}" STREQUAL "2")
+ message(SEND_ERROR
"Package VersionedA is major version [${VersionedA_VERSION_MAJOR}], not [2]")
-ENDIF(NOT "${VersionedA_VERSION_MAJOR}" STREQUAL "2")
-IF(NOT "${VersionedA_VERSION_MINOR}" STREQUAL "0")
- MESSAGE(SEND_ERROR
+endif()
+if(NOT "${VersionedA_VERSION_MINOR}" STREQUAL "0")
+ message(SEND_ERROR
"Package VersionedA is minor version [${VersionedA_VERSION_MINOR}], not [0]")
-ENDIF(NOT "${VersionedA_VERSION_MINOR}" STREQUAL "0")
+endif()
-IF(NOT "${VersionedB_VERSION}" STREQUAL "3.1")
- MESSAGE(SEND_ERROR
+if(NOT "${VersionedB_VERSION}" STREQUAL "3.1")
+ message(SEND_ERROR
"Package VersionedB is version [${VersionedB_VERSION}], not [3.1]")
-ENDIF(NOT "${VersionedB_VERSION}" STREQUAL "3.1")
-IF(NOT "${VersionedB_VERSION_MAJOR}" STREQUAL "3")
- MESSAGE(SEND_ERROR
+endif()
+if(NOT "${VersionedB_VERSION_MAJOR}" STREQUAL "3")
+ message(SEND_ERROR
"Package VersionedB is major version [${VersionedB_VERSION_MAJOR}], not [3]")
-ENDIF(NOT "${VersionedB_VERSION_MAJOR}" STREQUAL "3")
-IF(NOT "${VersionedB_VERSION_MINOR}" STREQUAL "1")
- MESSAGE(SEND_ERROR
+endif()
+if(NOT "${VersionedB_VERSION_MINOR}" STREQUAL "1")
+ message(SEND_ERROR
"Package VersionedB is minor version [${VersionedB_VERSION_MINOR}], not [1]")
-ENDIF(NOT "${VersionedB_VERSION_MINOR}" STREQUAL "1")
+endif()
-IF(NOT "${Special_VERSION}" STREQUAL "1.2")
- MESSAGE(SEND_ERROR
+if(NOT "${Special_VERSION}" STREQUAL "1.2")
+ message(SEND_ERROR
"Package Special is version [${Special_VERSION}], not [1.2]")
-ENDIF(NOT "${Special_VERSION}" STREQUAL "1.2")
-IF(NOT "${Special_VERSION_MAJOR}" STREQUAL "1")
- MESSAGE(SEND_ERROR
+endif()
+if(NOT "${Special_VERSION_MAJOR}" STREQUAL "1")
+ message(SEND_ERROR
"Package Special is major version [${Special_VERSION_MAJOR}], not [1]")
-ENDIF(NOT "${Special_VERSION_MAJOR}" STREQUAL "1")
-IF(NOT "${Special_VERSION_MINOR}" STREQUAL "2")
- MESSAGE(SEND_ERROR
+endif()
+if(NOT "${Special_VERSION_MINOR}" STREQUAL "2")
+ message(SEND_ERROR
"Package Special is minor version [${Special_VERSION_MINOR}], not [2]")
-ENDIF(NOT "${Special_VERSION_MINOR}" STREQUAL "2")
+endif()
# Test version number comparison.
-IF(NOT "1.2.3.4" VERSION_LESS "1.2.3.5")
- MESSAGE(SEND_ERROR "1.2.3.4 VERSION_LESS 1.2.3.5 is not true!")
-ENDIF()
-IF(NOT "1.2" VERSION_LESS "1.10")
- MESSAGE(SEND_ERROR "1.2 VERSION_LESS 1.10 is not true!")
-ENDIF()
-IF(NOT "1.02" VERSION_GREATER "1.1")
- MESSAGE(SEND_ERROR "1.02 VERSION_GREATER 1.1 is not true!")
-ENDIF()
-IF("1.2.3" VERSION_GREATER "1.2.3.4")
- MESSAGE(SEND_ERROR "1.2.3 VERSION_GREATER 1.2.3.4 is not false!")
-ENDIF()
-IF(NOT "1.2" VERSION_EQUAL "1.2.0.0")
- MESSAGE(SEND_ERROR "1.2 VERSION_EQUAL 1.2.0.0 is not true!")
-ENDIF()
+if(NOT "1.2.3.4" VERSION_LESS "1.2.3.5")
+ message(SEND_ERROR "1.2.3.4 VERSION_LESS 1.2.3.5 is not true!")
+endif()
+if(NOT "1.2" VERSION_LESS "1.10")
+ message(SEND_ERROR "1.2 VERSION_LESS 1.10 is not true!")
+endif()
+if(NOT "1.02" VERSION_GREATER "1.1")
+ message(SEND_ERROR "1.02 VERSION_GREATER 1.1 is not true!")
+endif()
+if("1.2.3" VERSION_GREATER "1.2.3.4")
+ message(SEND_ERROR "1.2.3 VERSION_GREATER 1.2.3.4 is not false!")
+endif()
+if(NOT "1.2" VERSION_EQUAL "1.2.0.0")
+ message(SEND_ERROR "1.2 VERSION_EQUAL 1.2.0.0 is not true!")
+endif()
#-----------------------------------------------------------------------------
# Test export(PACKAGE) with find_package.
-MESSAGE(STATUS "Preparing export(PACKAGE) test project")
-TRY_COMPILE(EXPORTER_COMPILED
+message(STATUS "Preparing export(PACKAGE) test project")
+try_compile(EXPORTER_COMPILED
${FindPackageTest_BINARY_DIR}/Exporter
${FindPackageTest_SOURCE_DIR}/Exporter
CMakeTestExportPackage dummy
OUTPUT_VARIABLE output)
-MESSAGE(STATUS "Searching for export(PACKAGE) test project")
-SET(CMakeTestExportPackage_DIR "" CACHE FILEPATH
+message(STATUS "Searching for export(PACKAGE) test project")
+set(CMakeTestExportPackage_DIR "" CACHE FILEPATH
"Wipe out find results for testing." FORCE)
-STRING(REGEX REPLACE "-.*$" "" version ${CMAKE_VERSION})
-FIND_PACKAGE(CMakeTestExportPackage 1.${version} EXACT REQUIRED)
+string(REGEX REPLACE "-.*$" "" version ${CMAKE_VERSION})
+find_package(CMakeTestExportPackage 1.${version} EXACT REQUIRED)
#-----------------------------------------------------------------------------
# Test configure_package_config_file().
diff --git a/Tests/FindPackageTest/Exporter/CMakeTestExportPackageConfigVersion.cmake.in b/Tests/FindPackageTest/Exporter/CMakeTestExportPackageConfigVersion.cmake.in
index ff450a145..42bd84ea8 100644
--- a/Tests/FindPackageTest/Exporter/CMakeTestExportPackageConfigVersion.cmake.in
+++ b/Tests/FindPackageTest/Exporter/CMakeTestExportPackageConfigVersion.cmake.in
@@ -1,6 +1,6 @@
# Test config file.
-SET(PACKAGE_VERSION "1.@CMAKE_VERSION@")
-IF("${PACKAGE_FIND_VERSION}" VERSION_EQUAL "${PACKAGE_VERSION}")
- SET(PACKAGE_VERSION_COMPATIBLE 1)
- SET(PACKAGE_VERSION_EXACT 1)
-ENDIF()
+set(PACKAGE_VERSION "1.@CMAKE_VERSION@")
+if("${PACKAGE_FIND_VERSION}" VERSION_EQUAL "${PACKAGE_VERSION}")
+ set(PACKAGE_VERSION_COMPATIBLE 1)
+ set(PACKAGE_VERSION_EXACT 1)
+endif()
diff --git a/Tests/FindPackageTest/FindRecursiveA.cmake b/Tests/FindPackageTest/FindRecursiveA.cmake
index 3af7e99a3..a6d25dc4b 100644
--- a/Tests/FindPackageTest/FindRecursiveA.cmake
+++ b/Tests/FindPackageTest/FindRecursiveA.cmake
@@ -1 +1 @@
-FIND_PACKAGE(RecursiveA NO_MODULE)
+find_package(RecursiveA NO_MODULE)
diff --git a/Tests/FindPackageTest/FindRecursiveB.cmake b/Tests/FindPackageTest/FindRecursiveB.cmake
index c609ab127..9e28f2ce9 100644
--- a/Tests/FindPackageTest/FindRecursiveB.cmake
+++ b/Tests/FindPackageTest/FindRecursiveB.cmake
@@ -1 +1 @@
-FIND_PACKAGE(RecursiveB NAMES zot)
+find_package(RecursiveB NAMES zot)
diff --git a/Tests/FindPackageTest/FindRecursiveC.cmake b/Tests/FindPackageTest/FindRecursiveC.cmake
index 018cc7302..cd4400ca0 100644
--- a/Tests/FindPackageTest/FindRecursiveC.cmake
+++ b/Tests/FindPackageTest/FindRecursiveC.cmake
@@ -1 +1 @@
-FIND_PACKAGE(RecursiveC NAMES zot)
+find_package(RecursiveC NAMES zot)
diff --git a/Tests/FindPackageTest/FindVersionTestA.cmake b/Tests/FindPackageTest/FindVersionTestA.cmake
index 55c67e257..982859382 100644
--- a/Tests/FindPackageTest/FindVersionTestA.cmake
+++ b/Tests/FindPackageTest/FindVersionTestA.cmake
@@ -1,18 +1,18 @@
-IF(NOT "${VersionTestA_FIND_VERSION}" STREQUAL "1")
- MESSAGE(SEND_ERROR "VersionTestA_FIND_VERSION=${VersionTestA_FIND_VERSION} is not 1")
-ENDIF(NOT "${VersionTestA_FIND_VERSION}" STREQUAL "1")
-IF(NOT "${VersionTestA_FIND_VERSION_MAJOR}" STREQUAL "1")
- MESSAGE(SEND_ERROR "VersionTestA_FIND_VERSION_MAJOR=${VersionTestA_FIND_VERSION_MAJOR} is not 1")
-ENDIF(NOT "${VersionTestA_FIND_VERSION_MAJOR}" STREQUAL "1")
-IF(NOT "${VersionTestA_FIND_VERSION_MINOR}" STREQUAL "0")
- MESSAGE(SEND_ERROR "VersionTestA_FIND_VERSION_MINOR=${VersionTestA_FIND_VERSION_MINOR} is not 0")
-ENDIF(NOT "${VersionTestA_FIND_VERSION_MINOR}" STREQUAL "0")
-IF(NOT "${VersionTestA_FIND_VERSION_PATCH}" STREQUAL "0")
- MESSAGE(SEND_ERROR "VersionTestA_FIND_VERSION_PATCH=${VersionTestA_FIND_VERSION_PATCH} is not 0")
-ENDIF(NOT "${VersionTestA_FIND_VERSION_PATCH}" STREQUAL "0")
-IF(NOT "${VersionTestA_FIND_VERSION_TWEAK}" STREQUAL "0")
- MESSAGE(SEND_ERROR "VersionTestA_FIND_VERSION_TWEAK=${VersionTestA_FIND_VERSION_TWEAK} is not 0")
-ENDIF(NOT "${VersionTestA_FIND_VERSION_TWEAK}" STREQUAL "0")
-IF(NOT "${VersionTestA_FIND_VERSION_COUNT}" STREQUAL "1")
- MESSAGE(SEND_ERROR "VersionTestA_FIND_VERSION_COUNT=${VersionTestA_FIND_VERSION_COUNT} is not 1")
-ENDIF(NOT "${VersionTestA_FIND_VERSION_COUNT}" STREQUAL "1")
+if(NOT "${VersionTestA_FIND_VERSION}" STREQUAL "1")
+ message(SEND_ERROR "VersionTestA_FIND_VERSION=${VersionTestA_FIND_VERSION} is not 1")
+endif()
+if(NOT "${VersionTestA_FIND_VERSION_MAJOR}" STREQUAL "1")
+ message(SEND_ERROR "VersionTestA_FIND_VERSION_MAJOR=${VersionTestA_FIND_VERSION_MAJOR} is not 1")
+endif()
+if(NOT "${VersionTestA_FIND_VERSION_MINOR}" STREQUAL "0")
+ message(SEND_ERROR "VersionTestA_FIND_VERSION_MINOR=${VersionTestA_FIND_VERSION_MINOR} is not 0")
+endif()
+if(NOT "${VersionTestA_FIND_VERSION_PATCH}" STREQUAL "0")
+ message(SEND_ERROR "VersionTestA_FIND_VERSION_PATCH=${VersionTestA_FIND_VERSION_PATCH} is not 0")
+endif()
+if(NOT "${VersionTestA_FIND_VERSION_TWEAK}" STREQUAL "0")
+ message(SEND_ERROR "VersionTestA_FIND_VERSION_TWEAK=${VersionTestA_FIND_VERSION_TWEAK} is not 0")
+endif()
+if(NOT "${VersionTestA_FIND_VERSION_COUNT}" STREQUAL "1")
+ message(SEND_ERROR "VersionTestA_FIND_VERSION_COUNT=${VersionTestA_FIND_VERSION_COUNT} is not 1")
+endif()
diff --git a/Tests/FindPackageTest/FindVersionTestB.cmake b/Tests/FindPackageTest/FindVersionTestB.cmake
index 03173c65a..1ebb82302 100644
--- a/Tests/FindPackageTest/FindVersionTestB.cmake
+++ b/Tests/FindPackageTest/FindVersionTestB.cmake
@@ -1,18 +1,18 @@
-IF(NOT "${VersionTestB_FIND_VERSION}" STREQUAL "1.2")
- MESSAGE(SEND_ERROR "VersionTestB_FIND_VERSION=${VersionTestB_FIND_VERSION} is not 1.2")
-ENDIF(NOT "${VersionTestB_FIND_VERSION}" STREQUAL "1.2")
-IF(NOT "${VersionTestB_FIND_VERSION_MAJOR}" STREQUAL "1")
- MESSAGE(SEND_ERROR "VersionTestB_FIND_VERSION_MAJOR=${VersionTestB_FIND_VERSION_MAJOR} is not 1")
-ENDIF(NOT "${VersionTestB_FIND_VERSION_MAJOR}" STREQUAL "1")
-IF(NOT "${VersionTestB_FIND_VERSION_MINOR}" STREQUAL "2")
- MESSAGE(SEND_ERROR "VersionTestB_FIND_VERSION_MINOR=${VersionTestB_FIND_VERSION_MINOR} is not 2")
-ENDIF(NOT "${VersionTestB_FIND_VERSION_MINOR}" STREQUAL "2")
-IF(NOT "${VersionTestB_FIND_VERSION_PATCH}" STREQUAL "0")
- MESSAGE(SEND_ERROR "VersionTestB_FIND_VERSION_PATCH=${VersionTestB_FIND_VERSION_PATCH} is not 0")
-ENDIF(NOT "${VersionTestB_FIND_VERSION_PATCH}" STREQUAL "0")
-IF(NOT "${VersionTestB_FIND_VERSION_TWEAK}" STREQUAL "0")
- MESSAGE(SEND_ERROR "VersionTestB_FIND_VERSION_TWEAK=${VersionTestB_FIND_VERSION_TWEAK} is not 0")
-ENDIF(NOT "${VersionTestB_FIND_VERSION_TWEAK}" STREQUAL "0")
-IF(NOT "${VersionTestB_FIND_VERSION_COUNT}" STREQUAL "2")
- MESSAGE(SEND_ERROR "VersionTestB_FIND_VERSION_COUNT=${VersionTestB_FIND_VERSION_COUNT} is not 2")
-ENDIF(NOT "${VersionTestB_FIND_VERSION_COUNT}" STREQUAL "2")
+if(NOT "${VersionTestB_FIND_VERSION}" STREQUAL "1.2")
+ message(SEND_ERROR "VersionTestB_FIND_VERSION=${VersionTestB_FIND_VERSION} is not 1.2")
+endif()
+if(NOT "${VersionTestB_FIND_VERSION_MAJOR}" STREQUAL "1")
+ message(SEND_ERROR "VersionTestB_FIND_VERSION_MAJOR=${VersionTestB_FIND_VERSION_MAJOR} is not 1")
+endif()
+if(NOT "${VersionTestB_FIND_VERSION_MINOR}" STREQUAL "2")
+ message(SEND_ERROR "VersionTestB_FIND_VERSION_MINOR=${VersionTestB_FIND_VERSION_MINOR} is not 2")
+endif()
+if(NOT "${VersionTestB_FIND_VERSION_PATCH}" STREQUAL "0")
+ message(SEND_ERROR "VersionTestB_FIND_VERSION_PATCH=${VersionTestB_FIND_VERSION_PATCH} is not 0")
+endif()
+if(NOT "${VersionTestB_FIND_VERSION_TWEAK}" STREQUAL "0")
+ message(SEND_ERROR "VersionTestB_FIND_VERSION_TWEAK=${VersionTestB_FIND_VERSION_TWEAK} is not 0")
+endif()
+if(NOT "${VersionTestB_FIND_VERSION_COUNT}" STREQUAL "2")
+ message(SEND_ERROR "VersionTestB_FIND_VERSION_COUNT=${VersionTestB_FIND_VERSION_COUNT} is not 2")
+endif()
diff --git a/Tests/FindPackageTest/FindVersionTestC.cmake b/Tests/FindPackageTest/FindVersionTestC.cmake
index 1344cbc22..450c2e914 100644
--- a/Tests/FindPackageTest/FindVersionTestC.cmake
+++ b/Tests/FindPackageTest/FindVersionTestC.cmake
@@ -1,18 +1,18 @@
-IF(NOT "${VersionTestC_FIND_VERSION}" STREQUAL "1.2.3")
- MESSAGE(SEND_ERROR "VersionTestC_FIND_VERSION=${VersionTestC_FIND_VERSION} is not 1.2.3")
-ENDIF(NOT "${VersionTestC_FIND_VERSION}" STREQUAL "1.2.3")
-IF(NOT "${VersionTestC_FIND_VERSION_MAJOR}" STREQUAL "1")
- MESSAGE(SEND_ERROR "VersionTestC_FIND_VERSION_MAJOR=${VersionTestC_FIND_VERSION_MAJOR} is not 1")
-ENDIF(NOT "${VersionTestC_FIND_VERSION_MAJOR}" STREQUAL "1")
-IF(NOT "${VersionTestC_FIND_VERSION_MINOR}" STREQUAL "2")
- MESSAGE(SEND_ERROR "VersionTestC_FIND_VERSION_MINOR=${VersionTestC_FIND_VERSION_MINOR} is not 2")
-ENDIF(NOT "${VersionTestC_FIND_VERSION_MINOR}" STREQUAL "2")
-IF(NOT "${VersionTestC_FIND_VERSION_PATCH}" STREQUAL "3")
- MESSAGE(SEND_ERROR "VersionTestC_FIND_VERSION_PATCH=${VersionTestC_FIND_VERSION_PATCH} is not 3")
-ENDIF(NOT "${VersionTestC_FIND_VERSION_PATCH}" STREQUAL "3")
-IF(NOT "${VersionTestC_FIND_VERSION_TWEAK}" STREQUAL "0")
- MESSAGE(SEND_ERROR "VersionTestC_FIND_VERSION_TWEAK=${VersionTestC_FIND_VERSION_TWEAK} is not 0")
-ENDIF(NOT "${VersionTestC_FIND_VERSION_TWEAK}" STREQUAL "0")
-IF(NOT "${VersionTestC_FIND_VERSION_COUNT}" STREQUAL "3")
- MESSAGE(SEND_ERROR "VersionTestC_FIND_VERSION_COUNT=${VersionTestC_FIND_VERSION_COUNT} is not 3")
-ENDIF(NOT "${VersionTestC_FIND_VERSION_COUNT}" STREQUAL "3")
+if(NOT "${VersionTestC_FIND_VERSION}" STREQUAL "1.2.3")
+ message(SEND_ERROR "VersionTestC_FIND_VERSION=${VersionTestC_FIND_VERSION} is not 1.2.3")
+endif()
+if(NOT "${VersionTestC_FIND_VERSION_MAJOR}" STREQUAL "1")
+ message(SEND_ERROR "VersionTestC_FIND_VERSION_MAJOR=${VersionTestC_FIND_VERSION_MAJOR} is not 1")
+endif()
+if(NOT "${VersionTestC_FIND_VERSION_MINOR}" STREQUAL "2")
+ message(SEND_ERROR "VersionTestC_FIND_VERSION_MINOR=${VersionTestC_FIND_VERSION_MINOR} is not 2")
+endif()
+if(NOT "${VersionTestC_FIND_VERSION_PATCH}" STREQUAL "3")
+ message(SEND_ERROR "VersionTestC_FIND_VERSION_PATCH=${VersionTestC_FIND_VERSION_PATCH} is not 3")
+endif()
+if(NOT "${VersionTestC_FIND_VERSION_TWEAK}" STREQUAL "0")
+ message(SEND_ERROR "VersionTestC_FIND_VERSION_TWEAK=${VersionTestC_FIND_VERSION_TWEAK} is not 0")
+endif()
+if(NOT "${VersionTestC_FIND_VERSION_COUNT}" STREQUAL "3")
+ message(SEND_ERROR "VersionTestC_FIND_VERSION_COUNT=${VersionTestC_FIND_VERSION_COUNT} is not 3")
+endif()
diff --git a/Tests/FindPackageTest/FindVersionTestD.cmake b/Tests/FindPackageTest/FindVersionTestD.cmake
index d3e3f509e..9f2db72e4 100644
--- a/Tests/FindPackageTest/FindVersionTestD.cmake
+++ b/Tests/FindPackageTest/FindVersionTestD.cmake
@@ -1,18 +1,18 @@
-IF(NOT "${VersionTestD_FIND_VERSION}" STREQUAL "1.2.3.4")
- MESSAGE(SEND_ERROR "VersionTestD_FIND_VERSION=${VersionTestD_FIND_VERSION} is not 1.2.3.4")
-ENDIF(NOT "${VersionTestD_FIND_VERSION}" STREQUAL "1.2.3.4")
-IF(NOT "${VersionTestD_FIND_VERSION_MAJOR}" STREQUAL "1")
- MESSAGE(SEND_ERROR "VersionTestD_FIND_VERSION_MAJOR=${VersionTestD_FIND_VERSION_MAJOR} is not 1")
-ENDIF(NOT "${VersionTestD_FIND_VERSION_MAJOR}" STREQUAL "1")
-IF(NOT "${VersionTestD_FIND_VERSION_MINOR}" STREQUAL "2")
- MESSAGE(SEND_ERROR "VersionTestD_FIND_VERSION_MINOR=${VersionTestD_FIND_VERSION_MINOR} is not 2")
-ENDIF(NOT "${VersionTestD_FIND_VERSION_MINOR}" STREQUAL "2")
-IF(NOT "${VersionTestD_FIND_VERSION_PATCH}" STREQUAL "3")
- MESSAGE(SEND_ERROR "VersionTestD_FIND_VERSION_PATCH=${VersionTestD_FIND_VERSION_PATCH} is not 3")
-ENDIF(NOT "${VersionTestD_FIND_VERSION_PATCH}" STREQUAL "3")
-IF(NOT "${VersionTestD_FIND_VERSION_TWEAK}" STREQUAL "4")
- MESSAGE(SEND_ERROR "VersionTestD_FIND_VERSION_TWEAK=${VersionTestD_FIND_VERSION_TWEAK} is not 4")
-ENDIF(NOT "${VersionTestD_FIND_VERSION_TWEAK}" STREQUAL "4")
-IF(NOT "${VersionTestD_FIND_VERSION_COUNT}" STREQUAL "4")
- MESSAGE(SEND_ERROR "VersionTestD_FIND_VERSION_COUNT=${VersionTestD_FIND_VERSION_COUNT} is not 4")
-ENDIF(NOT "${VersionTestD_FIND_VERSION_COUNT}" STREQUAL "4")
+if(NOT "${VersionTestD_FIND_VERSION}" STREQUAL "1.2.3.4")
+ message(SEND_ERROR "VersionTestD_FIND_VERSION=${VersionTestD_FIND_VERSION} is not 1.2.3.4")
+endif()
+if(NOT "${VersionTestD_FIND_VERSION_MAJOR}" STREQUAL "1")
+ message(SEND_ERROR "VersionTestD_FIND_VERSION_MAJOR=${VersionTestD_FIND_VERSION_MAJOR} is not 1")
+endif()
+if(NOT "${VersionTestD_FIND_VERSION_MINOR}" STREQUAL "2")
+ message(SEND_ERROR "VersionTestD_FIND_VERSION_MINOR=${VersionTestD_FIND_VERSION_MINOR} is not 2")
+endif()
+if(NOT "${VersionTestD_FIND_VERSION_PATCH}" STREQUAL "3")
+ message(SEND_ERROR "VersionTestD_FIND_VERSION_PATCH=${VersionTestD_FIND_VERSION_PATCH} is not 3")
+endif()
+if(NOT "${VersionTestD_FIND_VERSION_TWEAK}" STREQUAL "4")
+ message(SEND_ERROR "VersionTestD_FIND_VERSION_TWEAK=${VersionTestD_FIND_VERSION_TWEAK} is not 4")
+endif()
+if(NOT "${VersionTestD_FIND_VERSION_COUNT}" STREQUAL "4")
+ message(SEND_ERROR "VersionTestD_FIND_VERSION_COUNT=${VersionTestD_FIND_VERSION_COUNT} is not 4")
+endif()
diff --git a/Tests/FindPackageTest/lib/TApp/TAppConfig.cmake b/Tests/FindPackageTest/lib/TApp/TAppConfig.cmake
index cbf06036e..5ba8d5585 100644
--- a/Tests/FindPackageTest/lib/TApp/TAppConfig.cmake
+++ b/Tests/FindPackageTest/lib/TApp/TAppConfig.cmake
@@ -1,2 +1,2 @@
# Test config file that should not be found.
-MESSAGE("Package TApp found non-bundle first!")
+message("Package TApp found non-bundle first!")
diff --git a/Tests/FindPackageTest/lib/arch/cmake/zot-4.0/zot-config-version.cmake b/Tests/FindPackageTest/lib/arch/cmake/zot-4.0/zot-config-version.cmake
index 2f768e8f5..822b44966 100644
--- a/Tests/FindPackageTest/lib/arch/cmake/zot-4.0/zot-config-version.cmake
+++ b/Tests/FindPackageTest/lib/arch/cmake/zot-4.0/zot-config-version.cmake
@@ -1,7 +1,7 @@
-SET(PACKAGE_VERSION 4.0)
-IF("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 4)
- SET(PACKAGE_VERSION_COMPATIBLE 1)
- IF("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 0)
- SET(PACKAGE_VERSION_EXACT 1)
- ENDIF("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 0)
-ENDIF("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 4)
+set(PACKAGE_VERSION 4.0)
+if("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 4)
+ set(PACKAGE_VERSION_COMPATIBLE 1)
+ if("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 0)
+ set(PACKAGE_VERSION_EXACT 1)
+ endif()
+endif()
diff --git a/Tests/FindPackageTest/lib/arch/zot-3.1/zot-config-version.cmake b/Tests/FindPackageTest/lib/arch/zot-3.1/zot-config-version.cmake
index 13763adf1..31573b90a 100644
--- a/Tests/FindPackageTest/lib/arch/zot-3.1/zot-config-version.cmake
+++ b/Tests/FindPackageTest/lib/arch/zot-3.1/zot-config-version.cmake
@@ -1,7 +1,7 @@
-SET(PACKAGE_VERSION 3.1)
-IF("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 3)
- SET(PACKAGE_VERSION_COMPATIBLE 1)
- IF("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 1)
- SET(PACKAGE_VERSION_EXACT 1)
- ENDIF("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 1)
-ENDIF("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 3)
+set(PACKAGE_VERSION 3.1)
+if("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 3)
+ set(PACKAGE_VERSION_COMPATIBLE 1)
+ if("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 1)
+ set(PACKAGE_VERSION_EXACT 1)
+ endif()
+endif()
diff --git a/Tests/FindPackageTest/lib/cmake/zot-3.1/zot-config-version.cmake b/Tests/FindPackageTest/lib/cmake/zot-3.1/zot-config-version.cmake
index bee2f0eea..e3e17de7c 100644
--- a/Tests/FindPackageTest/lib/cmake/zot-3.1/zot-config-version.cmake
+++ b/Tests/FindPackageTest/lib/cmake/zot-3.1/zot-config-version.cmake
@@ -1,4 +1,4 @@
# Claim to be any version to test that CMAKE_IGNORE_PATH hides us.
-SET(PACKAGE_VERSION 3.1)
-SET(PACKAGE_VERSION_COMPATIBLE 1)
-SET(PACKAGE_VERSION_EXACT 1)
+set(PACKAGE_VERSION 3.1)
+set(PACKAGE_VERSION_COMPATIBLE 1)
+set(PACKAGE_VERSION_EXACT 1)
diff --git a/Tests/FindPackageTest/lib/cmake/zot-4.0/zot-config-version.cmake b/Tests/FindPackageTest/lib/cmake/zot-4.0/zot-config-version.cmake
index 606945f2d..bcefcd746 100644
--- a/Tests/FindPackageTest/lib/cmake/zot-4.0/zot-config-version.cmake
+++ b/Tests/FindPackageTest/lib/cmake/zot-4.0/zot-config-version.cmake
@@ -1,8 +1,8 @@
-SET(PACKAGE_VERSION 4.0)
-IF("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 4)
- SET(PACKAGE_VERSION_COMPATIBLE 1)
- IF("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 0)
- SET(PACKAGE_VERSION_EXACT 1)
- ENDIF("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 0)
-ENDIF("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 4)
+set(PACKAGE_VERSION 4.0)
+if("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 4)
+ set(PACKAGE_VERSION_COMPATIBLE 1)
+ if("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 0)
+ set(PACKAGE_VERSION_EXACT 1)
+ endif()
+endif()
diff --git a/Tests/FindPackageTest/lib/suffix/test/SuffixTestConfigVersion.cmake b/Tests/FindPackageTest/lib/suffix/test/SuffixTestConfigVersion.cmake
index 5c3bddece..b37bc8e22 100644
--- a/Tests/FindPackageTest/lib/suffix/test/SuffixTestConfigVersion.cmake
+++ b/Tests/FindPackageTest/lib/suffix/test/SuffixTestConfigVersion.cmake
@@ -1,7 +1,7 @@
-SET(PACKAGE_VERSION 1.2)
-IF("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 1)
- SET(PACKAGE_VERSION_COMPATIBLE 1)
- IF("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 2)
- SET(PACKAGE_VERSION_EXACT 1)
- ENDIF("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 2)
-ENDIF("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 1)
+set(PACKAGE_VERSION 1.2)
+if("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 1)
+ set(PACKAGE_VERSION_COMPATIBLE 1)
+ if("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 2)
+ set(PACKAGE_VERSION_EXACT 1)
+ endif()
+endif()
diff --git a/Tests/FindPackageTest/lib/zot-2.0/zot-config-version.cmake b/Tests/FindPackageTest/lib/zot-2.0/zot-config-version.cmake
index 10ac53d19..db3a8a40c 100644
--- a/Tests/FindPackageTest/lib/zot-2.0/zot-config-version.cmake
+++ b/Tests/FindPackageTest/lib/zot-2.0/zot-config-version.cmake
@@ -1,5 +1,5 @@
-SET(PACKAGE_VERSION 2.0)
-IF("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 2)
- SET(PACKAGE_VERSION_COMPATIBLE 1)
-ENDIF("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 2)
+set(PACKAGE_VERSION 2.0)
+if("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 2)
+ set(PACKAGE_VERSION_COMPATIBLE 1)
+endif()
diff --git a/Tests/FindPackageTest/lib/zot-3.0/zot-config-version.cmake b/Tests/FindPackageTest/lib/zot-3.0/zot-config-version.cmake
index af57cfa5c..dd9c939c5 100644
--- a/Tests/FindPackageTest/lib/zot-3.0/zot-config-version.cmake
+++ b/Tests/FindPackageTest/lib/zot-3.0/zot-config-version.cmake
@@ -1,5 +1,5 @@
-SET(PACKAGE_VERSION 3.0)
-IF("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 3)
- SET(PACKAGE_VERSION_COMPATIBLE 1)
-ENDIF("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 3)
+set(PACKAGE_VERSION 3.0)
+if("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 3)
+ set(PACKAGE_VERSION_COMPATIBLE 1)
+endif()
diff --git a/Tests/FindPackageTest/lib/zot-3.1/zot-config-version.cmake b/Tests/FindPackageTest/lib/zot-3.1/zot-config-version.cmake
index b54d94ce6..8fa767ea1 100644
--- a/Tests/FindPackageTest/lib/zot-3.1/zot-config-version.cmake
+++ b/Tests/FindPackageTest/lib/zot-3.1/zot-config-version.cmake
@@ -1,8 +1,8 @@
-SET(PACKAGE_VERSION 3.1)
-IF("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 3)
- SET(PACKAGE_VERSION_COMPATIBLE 1)
- IF("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 1)
- SET(PACKAGE_VERSION_EXACT 1)
- ENDIF("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 1)
-ENDIF("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 3)
+set(PACKAGE_VERSION 3.1)
+if("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 3)
+ set(PACKAGE_VERSION_COMPATIBLE 1)
+ if("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 1)
+ set(PACKAGE_VERSION_EXACT 1)
+ endif()
+endif()
diff --git a/Tests/FindPackageTest/lib/zot/zot-config-version.cmake b/Tests/FindPackageTest/lib/zot/zot-config-version.cmake
index 2a6be8640..430f009e1 100644
--- a/Tests/FindPackageTest/lib/zot/zot-config-version.cmake
+++ b/Tests/FindPackageTest/lib/zot/zot-config-version.cmake
@@ -1,10 +1,10 @@
# This version should never, ever be used.
-SET(PACKAGE_VERSION_UNSUITABLE 1)
-SET(PACKAGE_VERSION 3.1)
-IF("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 3)
- SET(PACKAGE_VERSION_COMPATIBLE 1)
- IF("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 1)
- SET(PACKAGE_VERSION_EXACT 1)
- ENDIF("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 1)
-ENDIF("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 3)
+set(PACKAGE_VERSION_UNSUITABLE 1)
+set(PACKAGE_VERSION 3.1)
+if("${PACKAGE_FIND_VERSION_MAJOR}" EQUAL 3)
+ set(PACKAGE_VERSION_COMPATIBLE 1)
+ if("${PACKAGE_FIND_VERSION_MINOR}" EQUAL 1)
+ set(PACKAGE_VERSION_EXACT 1)
+ endif()
+endif()
diff --git a/Tests/FindPackageTest/lib/zot/zot-config.cmake b/Tests/FindPackageTest/lib/zot/zot-config.cmake
index 442b8a4ec..916818360 100644
--- a/Tests/FindPackageTest/lib/zot/zot-config.cmake
+++ b/Tests/FindPackageTest/lib/zot/zot-config.cmake
@@ -1,2 +1,2 @@
# Test config file that is unsuitable.
-MESSAGE(FATAL_ERROR "Unsuitable version of zot was found")
+message(FATAL_ERROR "Unsuitable version of zot was found")
diff --git a/Tests/Fortran/CMakeLists.txt b/Tests/Fortran/CMakeLists.txt
index a995f68dd..6e78f4228 100644
--- a/Tests/Fortran/CMakeLists.txt
+++ b/Tests/Fortran/CMakeLists.txt
@@ -121,7 +121,7 @@ else()
message("Fortran does not match c compiler")
message("Fortran = ${CMAKE_Fortran_COMPILER_ID}")
message("C = ${CMAKE_C_COMPILER_ID}")
- # hack to make g77 work after CL has been enabled
+ # hack to make g77 work after CL has been enabled
# as a languge, cmake needs language specific versions
# of these variables....
if(WIN32 AND "${CMAKE_Fortran_COMPILER_ID}" MATCHES "GNU")
@@ -154,11 +154,11 @@ if(CMAKE_Fortran_COMPILER_SUPPORTS_F90)
add_executable(test_use_in_comment_fixedform
test_use_in_comment_fixedform.f)
set_property(SOURCE test_use_in_comment_fixedform.f PROPERTY Fortran_FORMAT FIXED)
- add_executable(test_use_in_comment_freeform
+ add_executable(test_use_in_comment_freeform
test_use_in_comment_freeform.f90)
set_property(SOURCE test_use_in_comment_freeform.f90 PROPERTY Fortran_FORMAT FREE)
- add_executable(test_in_interface
+ add_executable(test_in_interface
in_interface/main.f90
in_interface/module.f90)
@@ -167,7 +167,7 @@ if(CMAKE_Fortran_COMPILER_SUPPORTS_F90)
add_executable(test_preprocess test_preprocess.F90)
set(TEST_MODULE_DEPENDS 1)
-endif(CMAKE_Fortran_COMPILER_SUPPORTS_F90)
+endif()
if(TEST_MODULE_DEPENDS)
# Build the external project separately using a custom target.
@@ -175,10 +175,10 @@ if(TEST_MODULE_DEPENDS)
if(CMAKE_CONFIGURATION_TYPES)
set(External_CONFIG_TYPE -C "${CMAKE_CFG_INTDIR}")
set(External_BUILD_TYPE)
- else(CMAKE_CONFIGURATION_TYPES)
+ else()
set(External_CONFIG_TYPE)
set(External_BUILD_TYPE -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE})
- endif(CMAKE_CONFIGURATION_TYPES)
+ endif()
set(External_SOURCE_DIR "${testf_SOURCE_DIR}/External")
set(External_BINARY_DIR "${testf_BINARY_DIR}/External")
if("${testf_BINARY_DIR}" MATCHES " ")
@@ -211,10 +211,10 @@ if(TEST_MODULE_DEPENDS)
# Test module output directory if available.
if(CMAKE_Fortran_MODDIR_FLAG)
set(Library_MODDIR "${testf_BINARY_DIR}/Library/modules")
- else(CMAKE_Fortran_MODDIR_FLAG)
+ else()
set(Library_MODDIR "${testf_BINARY_DIR}/Library")
- endif(CMAKE_Fortran_MODDIR_FLAG)
+ endif()
add_subdirectory(Library)
add_subdirectory(Executable)
-endif(TEST_MODULE_DEPENDS)
+endif()
diff --git a/Tests/Fortran/Library/CMakeLists.txt b/Tests/Fortran/Library/CMakeLists.txt
index fe1368a07..17438cafb 100644
--- a/Tests/Fortran/Library/CMakeLists.txt
+++ b/Tests/Fortran/Library/CMakeLists.txt
@@ -1,11 +1,11 @@
-INCLUDE_DIRECTORIES(${Library_MODDIR})
-ADD_LIBRARY(subdir_mods a.f90 b.f90)
-ADD_EXECUTABLE(subdir_exe main.f90)
-TARGET_LINK_LIBRARIES(subdir_exe subdir_mods)
+include_directories(${Library_MODDIR})
+add_library(subdir_mods a.f90 b.f90)
+add_executable(subdir_exe main.f90)
+target_link_libraries(subdir_exe subdir_mods)
# Test module output directory if available.
-IF(CMAKE_Fortran_MODDIR_FLAG)
- SET_TARGET_PROPERTIES(subdir_mods PROPERTIES
+if(CMAKE_Fortran_MODDIR_FLAG)
+ set_target_properties(subdir_mods PROPERTIES
Fortran_MODULE_DIRECTORY modules
)
-ENDIF(CMAKE_Fortran_MODDIR_FLAG)
+endif()
diff --git a/Tests/Fortran/foo.f b/Tests/Fortran/foo.f
index dbbb3a4e9..ece0df44c 100644
--- a/Tests/Fortran/foo.f
+++ b/Tests/Fortran/foo.f
@@ -5,5 +5,5 @@
contains
subroutine sub
end subroutine
-
+
end module test_mod
diff --git a/Tests/Fortran/test_use_in_comment_freeform.f90 b/Tests/Fortran/test_use_in_comment_freeform.f90
index c992a041b..48bcd5a21 100644
--- a/Tests/Fortran/test_use_in_comment_freeform.f90
+++ b/Tests/Fortran/test_use_in_comment_freeform.f90
@@ -1,7 +1,7 @@
PROGRAM foo
-! USE bar
-! use bar
-! Use bar
+! USE bar
+! use bar
+! Use bar
WRITE(*,*) 'Hello, Fortran world.'
END PROGRAM
diff --git a/Tests/Framework/foo.cxx b/Tests/Framework/foo.cxx
index b249ce348..e5c19738c 100644
--- a/Tests/Framework/foo.cxx
+++ b/Tests/Framework/foo.cxx
@@ -1,7 +1,7 @@
#include <stdio.h>
#if defined(_WIN32) && defined(foo_EXPORTS)
# define CM_TEST_LIB_EXPORT __declspec( dllexport )
-#else
+#else
# define CM_TEST_LIB_EXPORT
#endif
CM_TEST_LIB_EXPORT void foo()
diff --git a/Tests/FunctionTest/CMakeLists.txt b/Tests/FunctionTest/CMakeLists.txt
index 5d4f42d4a..d1fada495 100644
--- a/Tests/FunctionTest/CMakeLists.txt
+++ b/Tests/FunctionTest/CMakeLists.txt
@@ -1,66 +1,66 @@
# a simple C only test case
cmake_minimum_required (VERSION 2.6)
-PROJECT (FunctionTest)
+project (FunctionTest)
-FUNCTION(FAILED testname)
- MESSAGE(SEND_ERROR "${testname} failed ${ARGN}")
-ENDFUNCTION(FAILED)
+function(FAILED testname)
+ message(SEND_ERROR "${testname} failed ${ARGN}")
+endfunction()
-FUNCTION(PASS testname)
- MESSAGE("${testname} passed ${ARGN}")
-ENDFUNCTION(PASS)
+function(PASS testname)
+ message("${testname} passed ${ARGN}")
+endfunction()
# test scope
-SET(COUNT 3)
-FUNCTION(scope_test)
- SET(COUNT 4)
-ENDFUNCTION(scope_test)
+set(COUNT 3)
+function(scope_test)
+ set(COUNT 4)
+endfunction()
scope_test()
-IF(COUNT EQUAL "3")
+if(COUNT EQUAL "3")
PASS("scope")
-ELSE(COUNT EQUAL "3")
+else()
FAILED("COUNT Got: ${COUNT}")
-ENDIF(COUNT EQUAL "3")
+endif()
# test ARGC
-FUNCTION(weird_name)
- IF("${ARGC}" EQUAL "3")
+function(weird_name)
+ if("${ARGC}" EQUAL "3")
PASS("ARGC")
- ELSE("${ARGC}" EQUAL "3")
+ else()
FAILED("ARGC" "Got: ${ARGC}")
- ENDIF("${ARGC}" EQUAL "3")
-ENDFUNCTION(weird_name)
+ endif()
+endfunction()
WeIrD_nAmE(a1 a2 a3)
# test ARGN
-FUNCTION(test_argn_function argument)
- IF("${ARGN}" EQUAL "3")
+function(test_argn_function argument)
+ if("${ARGN}" EQUAL "3")
PASS("ARGN")
- ELSE("${ARGN}" EQUAL "3")
+ else()
FAILED("ARGN" "Got: ${ARGN}")
- ENDIF("${ARGN}" EQUAL "3")
-ENDFUNCTION(test_argn_function)
+ endif()
+endfunction()
Test_Argn_Function(ignored 3)
# test argument naming and raise scope
function(track_find_variable cache_variable is_changed)
set("${is_changed}" changed PARENT_SCOPE)
-endfunction(track_find_variable)
+endfunction()
track_find_variable(testvar is_changed)
if ("${is_changed}" STREQUAL changed)
pass("same argument name test")
-else ("${is_changed}" STREQUAL changed)
+else ()
pass("same argument name test")
-endif ("${is_changed}" STREQUAL changed)
+endif ()
include("Util.cmake")
tester()
if (tester_res STREQUAL "${CMAKE_CURRENT_LIST_FILE}")
pass("CMAKE_CURRENT_LIST_FILE test")
-else (tester_res STREQUAL "${CMAKE_CURRENT_LIST_FILE}")
+else ()
pass("CMAKE_CURRENT_LIST_FILE test")
-endif (tester_res STREQUAL "${CMAKE_CURRENT_LIST_FILE}")
+endif ()
@@ -68,109 +68,109 @@ endif (tester_res STREQUAL "${CMAKE_CURRENT_LIST_FILE}")
function (factorial argument result)
if (argument LESS 2)
set (lresult 1)
- else (argument LESS 2)
+ else ()
math (EXPR temp "${argument} - 1")
factorial (${temp} tresult)
math (EXPR lresult "${argument}*${tresult}")
- endif (argument LESS 2)
+ endif ()
set ("${result}" "${lresult}" PARENT_SCOPE)
-endfunction (factorial)
+endfunction ()
factorial (5 fresult)
if (fresult EQUAL 120)
pass("factorial")
-else (fresult EQUAL 120)
+else ()
failed ("factorial, computed ${fresult} instead of 120")
-endif (fresult EQUAL 120)
+endif ()
# case test
-FUNCTION(strange_function m)
- SET("${m}" strange_function PARENT_SCOPE)
-ENDFUNCTION(strange_function m)
+function(strange_function m)
+ set("${m}" strange_function PARENT_SCOPE)
+endfunction()
STRANGE_FUNCTION(var)
set(second_var "second_var")
-IF("${var}" STREQUAL "strange_function" AND "${second_var}" STREQUAL "second_var")
+if("${var}" STREQUAL "strange_function" AND "${second_var}" STREQUAL "second_var")
PASS("Case Test" "(${var} ${second_var})")
-ELSE("${var}" STREQUAL "strange_function" AND "${second_var}" STREQUAL "second_var")
+else()
FAILED("Case test" "(${var} ${second_var})")
-ENDIF("${var}" STREQUAL "strange_function" AND "${second_var}" STREQUAL "second_var")
+endif()
# test backing up command
-FUNCTION(ADD_EXECUTABLE exec)
+function(ADD_EXECUTABLE exec)
_ADD_EXECUTABLE(mini${exec} ${ARGN})
-ENDFUNCTION(ADD_EXECUTABLE)
+endfunction()
# var undef case
-FUNCTION(undef_var m)
- SET("${m}" PARENT_SCOPE)
-ENDFUNCTION(undef_var)
+function(undef_var m)
+ set("${m}" PARENT_SCOPE)
+endfunction()
-SET(FUNCTION_UNDEFINED 1)
+set(FUNCTION_UNDEFINED 1)
undef_var(FUNCTION_UNDEFINED)
-IF(DEFINED FUNCTION_UNDEFINED)
+if(DEFINED FUNCTION_UNDEFINED)
FAILED("Function Undefine Test" "(${FUNCTION_UNDEFINED})")
-ELSE(DEFINED FUNCTION_UNDEFINED)
+else()
PASS("Function Undefine Test" "(${FUNCTION_UNDEFINED})")
-ENDIF(DEFINED FUNCTION_UNDEFINED)
+endif()
# Subdirectory scope raise.
-SET(SUBDIR_UNDEFINED 1)
-ADD_SUBDIRECTORY(SubDirScope)
-IF(DEFINED SUBDIR_UNDEFINED)
+set(SUBDIR_UNDEFINED 1)
+add_subdirectory(SubDirScope)
+if(DEFINED SUBDIR_UNDEFINED)
FAILED("Subdir Undefine Test" "(${SUBDIR_UNDEFINED})")
-ELSE(DEFINED SUBDIR_UNDEFINED)
+else()
PASS("Subdir Undefine Test" "(${SUBDIR_UNDEFINED})")
-ENDIF(DEFINED SUBDIR_UNDEFINED)
-IF(DEFINED SUBDIR_DEFINED)
+endif()
+if(DEFINED SUBDIR_DEFINED)
PASS("Subdir Define Test" "(${SUBDIR_DEFINED})")
-ELSE(DEFINED SUBDIR_DEFINED)
+else()
FAILED("Subdir Define Test" "(${SUBDIR_DEFINED})")
-ENDIF(DEFINED SUBDIR_DEFINED)
+endif()
# Test function-scoped directory.
-FUNCTION(ADD_SUBDIR2 dir)
- ADD_SUBDIRECTORY("${dir}" "${dir}2")
+function(ADD_SUBDIR2 dir)
+ add_subdirectory("${dir}" "${dir}2")
# The parent scope sets in the subdir should be visible here.
- IF(DEFINED SUBDIR_UNDEFINED)
+ if(DEFINED SUBDIR_UNDEFINED)
FAILED("Subdir Function Undefine Test 1" "(${SUBDIR_UNDEFINED})")
- ELSE(DEFINED SUBDIR_UNDEFINED)
+ else()
PASS("Subdir Function Undefine Test 1" "(${SUBDIR_UNDEFINED})")
- ENDIF(DEFINED SUBDIR_UNDEFINED)
- IF(DEFINED SUBDIR_DEFINED)
+ endif()
+ if(DEFINED SUBDIR_DEFINED)
PASS("Subdir Function Define Test 1" "(${SUBDIR_DEFINED})")
- ELSE(DEFINED SUBDIR_DEFINED)
+ else()
FAILED("Subdir Function Define Test 1" "(${SUBDIR_DEFINED})")
- ENDIF(DEFINED SUBDIR_DEFINED)
-ENDFUNCTION(ADD_SUBDIR2)
+ endif()
+endfunction()
# Reset test variables.
-SET(SUBDIR_UNDEFINED 1)
-SET(SUBDIR_DEFINED)
+set(SUBDIR_UNDEFINED 1)
+set(SUBDIR_DEFINED)
# Run test function.
ADD_SUBDIR2(SubDirScope)
# The parent scope sets in the subdir should not be visible here.
-IF(DEFINED SUBDIR_UNDEFINED)
+if(DEFINED SUBDIR_UNDEFINED)
PASS("Subdir Function Undefine Test 2" "(${SUBDIR_UNDEFINED})")
-ELSE(DEFINED SUBDIR_UNDEFINED)
+else()
FAILED("Subdir Function Undefine Test 2" "(${SUBDIR_UNDEFINED})")
-ENDIF(DEFINED SUBDIR_UNDEFINED)
-IF(DEFINED SUBDIR_DEFINED)
+endif()
+if(DEFINED SUBDIR_DEFINED)
FAILED("Subdir Function Define Test 2" "(${SUBDIR_DEFINED})")
-ELSE(DEFINED SUBDIR_DEFINED)
+else()
PASS("Subdir Function Define Test 2" "(${SUBDIR_DEFINED})")
-ENDIF(DEFINED SUBDIR_DEFINED)
+endif()
-ADD_EXECUTABLE(FunctionTest functionTest.c)
+add_executable(FunctionTest functionTest.c)
# Use the PROJECT_LABEL property: in IDEs, the project label should appear
# in the UI rather than the target name. If this were a good test of the
# property rather than just a smoke test, it would verify that the label
# actually appears in the UI of the IDE... Or at least that the text appears
# somewhere in the generated project files.
-SET_PROPERTY(TARGET miniFunctionTest
+set_property(TARGET miniFunctionTest
PROPERTY PROJECT_LABEL "Test de Fonctionnement")
diff --git a/Tests/FunctionTest/SubDirScope/CMakeLists.txt b/Tests/FunctionTest/SubDirScope/CMakeLists.txt
index 4a53d2c0a..c1a3cfb37 100644
--- a/Tests/FunctionTest/SubDirScope/CMakeLists.txt
+++ b/Tests/FunctionTest/SubDirScope/CMakeLists.txt
@@ -1,14 +1,14 @@
-SET(SUBDIR_DEFINED 1 PARENT_SCOPE)
-SET(SUBDIR_UNDEFINED PARENT_SCOPE)
+set(SUBDIR_DEFINED 1 PARENT_SCOPE)
+set(SUBDIR_UNDEFINED PARENT_SCOPE)
# The above sets should not affect the current scope.
-IF(DEFINED SUBDIR_UNDEFINED)
+if(DEFINED SUBDIR_UNDEFINED)
PASS("SubdirScope Undefine Test" "(${SUBDIR_UNDEFINED})")
-ELSE(DEFINED SUBDIR_UNDEFINED)
+else()
FAILED("SubdirScope Undefine Test" "(${SUBDIR_UNDEFINED})")
-ENDIF(DEFINED SUBDIR_UNDEFINED)
-IF(DEFINED SUBDIR_DEFINED)
+endif()
+if(DEFINED SUBDIR_DEFINED)
FAILED("SubdirScope Define Test" "(${SUBDIR_DEFINED})")
-ELSE(DEFINED SUBDIR_DEFINED)
+else()
PASS("SubdirScope Define Test" "(${SUBDIR_DEFINED})")
-ENDIF(DEFINED SUBDIR_DEFINED)
+endif()
diff --git a/Tests/FunctionTest/Util.cmake b/Tests/FunctionTest/Util.cmake
index f0c73b5da..846abd78a 100644
--- a/Tests/FunctionTest/Util.cmake
+++ b/Tests/FunctionTest/Util.cmake
@@ -1,3 +1,3 @@
function(tester)
set (tester_res "${CMAKE_CURRENT_LIST_FILE}" PARENT_SCOPE)
-endfunction(tester)
+endfunction()
diff --git a/Tests/GeneratorExpression/CMakeLists.txt b/Tests/GeneratorExpression/CMakeLists.txt
new file mode 100644
index 000000000..bb3147674
--- /dev/null
+++ b/Tests/GeneratorExpression/CMakeLists.txt
@@ -0,0 +1,80 @@
+cmake_minimum_required (VERSION 2.8.8)
+project(GeneratorExpression NONE)
+
+add_custom_target(check ALL
+ COMMAND ${CMAKE_COMMAND}
+ -Dtest_0=$<0:nothing>
+ -Dtest_0_with_comma=$<0:-Wl,--no-undefined>
+ -Dtest_1=$<1:content>
+ -Dtest_1_with_comma=$<1:-Wl,--no-undefined>
+ -Dconfig=$<CONFIGURATION>
+ -Dtest_and_0=$<AND:0>
+ -Dtest_and_0_0=$<AND:0,0>
+ -Dtest_and_0_1=$<AND:0,1>
+ -Dtest_and_1=$<AND:1>
+ -Dtest_and_1_0=$<AND:1,0>
+ -Dtest_and_1_1=$<AND:1,1>
+ -Dtest_config_0=$<CONFIG:$<CONFIGURATION>x>
+ -Dtest_config_1=$<CONFIG:$<CONFIGURATION>>
+ -Dtest_config_debug=$<CONFIG:Debug>$<CONFIG:DEBUG>$<CONFIG:DeBuG>
+ -Dtest_config_release=$<CONFIG:Release>$<CONFIG:RELEASE>$<CONFIG:ReLeAsE>
+ -Dtest_config_relwithdebinfo=$<CONFIG:RelWithDebInfo>$<CONFIG:RELWITHDEBINFO>$<CONFIG:relwithdebinfo>
+ -Dtest_config_minsizerel=$<CONFIG:MinSizeRel>$<CONFIG:MINSIZEREL>$<CONFIG:minsizerel>
+ -Dtest_not_0=$<NOT:0>
+ -Dtest_not_1=$<NOT:1>
+ -Dtest_or_0=$<OR:0>
+ -Dtest_or_0_0=$<OR:0,0>
+ -Dtest_or_0_1=$<OR:0,1>
+ -Dtest_or_1=$<OR:1>
+ -Dtest_or_1_0=$<OR:1,0>
+ -Dtest_or_1_1=$<OR:1,1>
+ -Dtest_bool_notfound=$<BOOL:NOTFOUND>
+ -Dtest_bool_foo_notfound=$<BOOL:Foo-NOTFOUND>
+ -Dtest_bool_true=$<BOOL:True>
+ -Dtest_bool_false=$<BOOL:False>
+ -Dtest_bool_on=$<BOOL:On>
+ -Dtest_bool_off=$<BOOL:Off>
+ -Dtest_bool_no=$<BOOL:No>
+ -Dtest_bool_n=$<BOOL:N>
+ -Dtest_bool_empty=$<BOOL:>
+ -Dtest_strequal_yes_yes=$<STREQUAL:Yes,Yes>
+ -Dtest_strequal_yes_yes_cs=$<STREQUAL:Yes,yes>
+ -Dtest_strequal_yes_no=$<STREQUAL:Yes,No>
+ -Dtest_strequal_no_yes=$<STREQUAL:No,Yes>
+ -Dtest_strequal_angle_r=$<STREQUAL:$<ANGLE-R>,$<ANGLE-R>>
+ -Dtest_strequal_comma=$<STREQUAL:$<COMMA>,$<COMMA>>
+ -Dtest_strequal_angle_r_comma=$<STREQUAL:$<ANGLE-R>,$<COMMA>>
+ -Dtest_strequal_both_empty=$<STREQUAL:,>
+ -Dtest_strequal_one_empty=$<STREQUAL:something,>
+ -Dtest_angle_r=$<ANGLE-R>
+ -Dtest_comma=$<COMMA>
+ -Dtest_colons_1=$<1::>
+ -Dtest_colons_2=$<1:::>
+ -Dtest_colons_3=$<1:Qt5::Core>
+ -Dtest_colons_4=$<1:C:\\CMake>
+ -Dtest_colons_5=$<1:C:/CMake>
+ -Dtest_incomplete_1=$<
+ -Dtest_incomplete_2=$<something
+ -Dtest_incomplete_3=$<something:
+ -Dtest_incomplete_4=$<something:,
+ -Dtest_incomplete_5=$something:,>
+ -Dtest_incomplete_6=<something:,>
+ -Dtest_incomplete_7=$<something::
+ -Dtest_incomplete_8=$<something:,
+ -Dtest_incomplete_9=$<something:,,
+ -Dtest_incomplete_10=$<something:,:
+ -Dtest_incomplete_11=$<something,,
+ -Dtest_incomplete_12=$<,,
+ -Dtest_incomplete_13=$<some$<1:special>thing
+ -Dtest_incomplete_14=$<$<ANGLE-R>
+ -Dtest_incomplete_15=$<some$<thing
+ -Dtest_incomplete_16=$<BOOL:something
+ -Dtest_incomplete_17=$<1:some$thing>
+ -Dtest_incomplete_18=$<1:some,thing
+ -Dtest_incomplete_19=$<1:some,thing$<ANGLE-R>
+ -Dtest_incomplete_20=$<CONFIGURATION$<ANGLE-R>
+ -Dtest_incomplete_21=$<BOOL:something$<ANGLE-R>
+ -P ${CMAKE_CURRENT_SOURCE_DIR}/check.cmake
+ COMMAND ${CMAKE_COMMAND} -E echo "check done"
+ VERBATIM
+ )
diff --git a/Tests/GeneratorExpression/check.cmake b/Tests/GeneratorExpression/check.cmake
new file mode 100644
index 000000000..8745d57b6
--- /dev/null
+++ b/Tests/GeneratorExpression/check.cmake
@@ -0,0 +1,78 @@
+macro(check var val)
+ if(NOT "${${var}}" STREQUAL "${val}")
+ message(SEND_ERROR "${var} is \"${${var}}\", not \"${val}\"")
+ endif()
+endmacro()
+
+message(STATUS "config=[${config}]")
+check(test_0 "")
+check(test_0_with_comma "")
+check(test_1 "content")
+check(test_1_with_comma "-Wl,--no-undefined")
+check(test_and_0 "0")
+check(test_and_0_0 "0")
+check(test_and_0_1 "0")
+check(test_and_1 "1")
+check(test_and_1_0 "0")
+check(test_and_1_1 "1")
+check(test_config_0 "0")
+check(test_config_1 "1")
+foreach(c debug release relwithdebinfo minsizerel)
+ if(NOT "${test_config_${c}}" MATCHES "^(0+|1+)$")
+ message(SEND_ERROR "test_config_${c} is \"${test_config_${c}}\", not all 0 or all 1")
+ endif()
+endforeach()
+check(test_not_0 "1")
+check(test_not_1 "0")
+check(test_or_0 "0")
+check(test_or_0_0 "0")
+check(test_or_0_1 "1")
+check(test_or_1 "1")
+check(test_or_1_0 "1")
+check(test_or_1_1 "1")
+check(test_bool_notfound "0")
+check(test_bool_foo_notfound "0")
+check(test_bool_true "1")
+check(test_bool_false "0")
+check(test_bool_on "1")
+check(test_bool_off "0")
+check(test_bool_no "0")
+check(test_bool_n "0")
+check(test_bool_empty "0")
+check(test_strequal_yes_yes "1")
+check(test_strequal_yes_yes_cs "0")
+check(test_strequal_yes_no "0")
+check(test_strequal_no_yes "0")
+check(test_strequal_angle_r "1")
+check(test_strequal_comma "1")
+check(test_strequal_angle_r_comma "0")
+check(test_strequal_both_empty "1")
+check(test_strequal_one_empty "0")
+check(test_angle_r ">")
+check(test_comma ",")
+check(test_colons_1 ":")
+check(test_colons_2 "::")
+check(test_colons_3 "Qt5::Core")
+check(test_colons_4 "C:\\\\CMake")
+check(test_colons_5 "C:/CMake")
+check(test_incomplete_1 "$<")
+check(test_incomplete_2 "$<something")
+check(test_incomplete_3 "$<something:")
+check(test_incomplete_4 "$<something:,")
+check(test_incomplete_5 "$something:,>")
+check(test_incomplete_6 "<something:,>")
+check(test_incomplete_7 "$<something::")
+check(test_incomplete_8 "$<something:,")
+check(test_incomplete_9 "$<something:,,")
+check(test_incomplete_10 "$<something:,:")
+check(test_incomplete_11 "$<something,,")
+check(test_incomplete_12 "$<,,")
+check(test_incomplete_13 "$<somespecialthing")
+check(test_incomplete_14 "$<>")
+check(test_incomplete_15 "$<some$<thing")
+check(test_incomplete_16 "$<BOOL:something")
+check(test_incomplete_17 "some$thing")
+check(test_incomplete_18 "$<1:some,thing")
+check(test_incomplete_19 "$<1:some,thing>")
+check(test_incomplete_20 "$<CONFIGURATION>")
+check(test_incomplete_21 "$<BOOL:something>")
diff --git a/Tests/IPO/CMakeLists.txt b/Tests/IPO/CMakeLists.txt
index 595e4f50d..6dabf86bb 100644
--- a/Tests/IPO/CMakeLists.txt
+++ b/Tests/IPO/CMakeLists.txt
@@ -1,7 +1,7 @@
cmake_minimum_required (VERSION 2.8)
project(IPO NONE)
-SET_PROPERTY(DIRECTORY PROPERTY INTERPROCEDURAL_OPTIMIZATION 1)
+set_property(DIRECTORY PROPERTY INTERPROCEDURAL_OPTIMIZATION 1)
add_subdirectory(../COnly COnly)
add_subdirectory(../CxxOnly CxxOnly)
diff --git a/Tests/IncludeDirectories/TargetIncludeDirectories/CMakeLists.txt b/Tests/IncludeDirectories/TargetIncludeDirectories/CMakeLists.txt
index 334b8be62..7cb1b42e0 100644
--- a/Tests/IncludeDirectories/TargetIncludeDirectories/CMakeLists.txt
+++ b/Tests/IncludeDirectories/TargetIncludeDirectories/CMakeLists.txt
@@ -12,13 +12,36 @@ create_header(bar)
create_header(bat)
create_header(foo)
create_header(baz)
+create_header(bang)
+create_header(bing)
+create_header(bung)
+create_header(arguments)
+create_header(list)
+create_header(target)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
include_directories("${CMAKE_CURRENT_BINARY_DIR}/bar")
+include_directories("$<1:${CMAKE_CURRENT_BINARY_DIR}/bang>")
add_executable(TargetIncludeDirectories main.cpp)
+
set_property(TARGET TargetIncludeDirectories APPEND PROPERTY INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}/bat")
set_property(TARGET TargetIncludeDirectories APPEND PROPERTY INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}/foo")
+set_property(TARGET TargetIncludeDirectories APPEND PROPERTY
+ INCLUDE_DIRECTORIES "$<1:${CMAKE_CURRENT_BINARY_DIR}/bing>")
include_directories("${CMAKE_CURRENT_BINARY_DIR}/baz")
+include_directories("$<1:${CMAKE_CURRENT_BINARY_DIR}/bung>")
+include_directories("sing$<1:/ting>")
+
+include_directories("$<1:${CMAKE_CURRENT_BINARY_DIR}/arguments;${CMAKE_CURRENT_BINARY_DIR}/list>")
+
+add_library(somelib::withcolons UNKNOWN IMPORTED)
+set_property(TARGET somelib::withcolons PROPERTY IMPORTED_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/target")
+set_property(TARGET somelib::withcolons PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}/target")
+
+set_property(TARGET TargetIncludeDirectories
+ APPEND PROPERTY INCLUDE_DIRECTORIES
+ "$<TARGET_PROPERTY:somelib::withcolons,INTERFACE_INCLUDE_DIRECTORIES>"
+)
diff --git a/Tests/IncludeDirectories/TargetIncludeDirectories/main.cpp b/Tests/IncludeDirectories/TargetIncludeDirectories/main.cpp
index 8aa35320f..90909d334 100644
--- a/Tests/IncludeDirectories/TargetIncludeDirectories/main.cpp
+++ b/Tests/IncludeDirectories/TargetIncludeDirectories/main.cpp
@@ -3,6 +3,13 @@
#include "bat.h"
#include "foo.h"
#include "baz.h"
+#include "bang.h"
+#include "bing.h"
+#include "bung.h"
+#include "ting.h"
+#include "arguments.h"
+#include "list.h"
+#include "target.h"
int main(int, char**)
{
diff --git a/Tests/IncludeDirectories/TargetIncludeDirectories/sing/ting/ting.h b/Tests/IncludeDirectories/TargetIncludeDirectories/sing/ting/ting.h
new file mode 100644
index 000000000..4fe01dd3e
--- /dev/null
+++ b/Tests/IncludeDirectories/TargetIncludeDirectories/sing/ting/ting.h
@@ -0,0 +1 @@
+//ting.h
diff --git a/Tests/JCTest/CMakeLists.txt b/Tests/JCTest/CMakeLists.txt
index a0f590e57..31dcc3abf 100644
--- a/Tests/JCTest/CMakeLists.txt
+++ b/Tests/JCTest/CMakeLists.txt
@@ -3,7 +3,7 @@ project(TestTime)
enable_testing()
add_executable(TestTime TestTime.cxx)
-foreach(f 1 2 3 4 5 6 7 8 9 10 11 12 12 14 15 16 17 18 19
+foreach(f 1 2 3 4 5 6 7 8 9 10 11 12 12 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29 30)
add_test(TestTime${f} TestTime 50000000)
-endforeach(f)
+endforeach()
diff --git a/Tests/Java/A.java b/Tests/Java/A.java
index e34b7046a..403a7f889 100644
--- a/Tests/Java/A.java
+++ b/Tests/Java/A.java
@@ -1,11 +1,11 @@
class A
{
- public A()
+ public A()
{
}
-
+
public void printName()
- {
+ {
System.out.println("A");
}
}
diff --git a/Tests/Java/HelloWorld.java b/Tests/Java/HelloWorld.java
index 54246ec26..378e37193 100644
--- a/Tests/Java/HelloWorld.java
+++ b/Tests/Java/HelloWorld.java
@@ -1,5 +1,5 @@
class HelloWorld
-{
+{
public static void main(String args[])
{
A a;
diff --git a/Tests/Jump/CMakeLists.txt b/Tests/Jump/CMakeLists.txt
index 4bdafd09b..4c5ad303f 100644
--- a/Tests/Jump/CMakeLists.txt
+++ b/Tests/Jump/CMakeLists.txt
@@ -1,6 +1,6 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(Jump)
+project(Jump)
-SET(CMAKE_IGNORE_DEPENDENCIES_ORDERING 1)
-ADD_SUBDIRECTORY(Executable)
-ADD_SUBDIRECTORY(Library)
+set(CMAKE_IGNORE_DEPENDENCIES_ORDERING 1)
+add_subdirectory(Executable)
+add_subdirectory(Library)
diff --git a/Tests/Jump/Executable/CMakeLists.txt b/Tests/Jump/Executable/CMakeLists.txt
index 7658b7e31..bc6731ff1 100644
--- a/Tests/Jump/Executable/CMakeLists.txt
+++ b/Tests/Jump/Executable/CMakeLists.txt
@@ -1,6 +1,6 @@
-IF(NOT LIBRARY_OUTPUT_PATH)
- LINK_DIRECTORIES(${Jump_BINARY_DIR}/Library/Static
+if(NOT LIBRARY_OUTPUT_PATH)
+ link_directories(${Jump_BINARY_DIR}/Library/Static
${Jump_BINARY_DIR}/Library/Shared)
-ENDIF(NOT LIBRARY_OUTPUT_PATH)
-ADD_EXECUTABLE(jumpExecutable jumpExecutable.cxx)
-TARGET_LINK_LIBRARIES(jumpExecutable jumpStatic jumpShared)
+endif()
+add_executable(jumpExecutable jumpExecutable.cxx)
+target_link_libraries(jumpExecutable jumpStatic jumpShared)
diff --git a/Tests/Jump/Library/CMakeLists.txt b/Tests/Jump/Library/CMakeLists.txt
index 2f78c501c..1d9fed934 100644
--- a/Tests/Jump/Library/CMakeLists.txt
+++ b/Tests/Jump/Library/CMakeLists.txt
@@ -1,2 +1,2 @@
-ADD_SUBDIRECTORY(Static)
-ADD_SUBDIRECTORY(Shared)
+add_subdirectory(Static)
+add_subdirectory(Shared)
diff --git a/Tests/Jump/Library/Shared/CMakeLists.txt b/Tests/Jump/Library/Shared/CMakeLists.txt
index 44405770f..a37299a79 100644
--- a/Tests/Jump/Library/Shared/CMakeLists.txt
+++ b/Tests/Jump/Library/Shared/CMakeLists.txt
@@ -1,26 +1,26 @@
-ADD_LIBRARY(jumpShared SHARED jumpShared.cxx)
+add_library(jumpShared SHARED jumpShared.cxx)
-IF(WIN32 OR CYGWIN)
- SET(SHARED_MUST_BE_IN_EXE_DIR 1)
-ENDIF()
+if(WIN32 OR CYGWIN)
+ set(SHARED_MUST_BE_IN_EXE_DIR 1)
+endif()
-IF(APPLE)
- SET(SHARED_MUST_BE_IN_EXE_DIR 1)
-ENDIF(APPLE)
+if(APPLE)
+ set(SHARED_MUST_BE_IN_EXE_DIR 1)
+endif()
-IF(SHARED_MUST_BE_IN_EXE_DIR)
- SET(LIB_NAME
+if(SHARED_MUST_BE_IN_EXE_DIR)
+ set(LIB_NAME
${CMAKE_SHARED_LIBRARY_PREFIX}jumpShared${CMAKE_SHARED_LIBRARY_SUFFIX})
- SET(EXE_DIR ${Jump_BINARY_DIR}/Executable)
- IF(EXECUTABLE_OUTPUT_PATH)
- SET(EXE_DIR ${EXECUTABLE_OUTPUT_PATH})
- ENDIF(EXECUTABLE_OUTPUT_PATH)
- SET(LIB_DIR ${Jump_BINARY_DIR}/Library/Shared)
- IF(LIBRARY_OUTPUT_PATH)
- SET(LIB_DIR ${LIBRARY_OUTPUT_PATH})
- ENDIF(LIBRARY_OUTPUT_PATH)
- ADD_CUSTOM_COMMAND(TARGET jumpShared
+ set(EXE_DIR ${Jump_BINARY_DIR}/Executable)
+ if(EXECUTABLE_OUTPUT_PATH)
+ set(EXE_DIR ${EXECUTABLE_OUTPUT_PATH})
+ endif()
+ set(LIB_DIR ${Jump_BINARY_DIR}/Library/Shared)
+ if(LIBRARY_OUTPUT_PATH)
+ set(LIB_DIR ${LIBRARY_OUTPUT_PATH})
+ endif()
+ add_custom_command(TARGET jumpShared
POST_BUILD COMMAND ${CMAKE_COMMAND} ARGS -E copy
${LIB_DIR}/${CMAKE_CFG_INTDIR}/${LIB_NAME}
${EXE_DIR}/${CMAKE_CFG_INTDIR}/${LIB_NAME})
-ENDIF(SHARED_MUST_BE_IN_EXE_DIR)
+endif()
diff --git a/Tests/Jump/Library/Static/CMakeLists.txt b/Tests/Jump/Library/Static/CMakeLists.txt
index 23e70c0b1..4ee39545a 100644
--- a/Tests/Jump/Library/Static/CMakeLists.txt
+++ b/Tests/Jump/Library/Static/CMakeLists.txt
@@ -1 +1 @@
-ADD_LIBRARY(jumpStatic STATIC jumpStatic.cxx)
+add_library(jumpStatic STATIC jumpStatic.cxx)
diff --git a/Tests/KDE4StableBranchTest/test_kde4.sh.in b/Tests/KDE4StableBranchTest/test_kde4.sh.in
deleted file mode 100755
index 81badcd79..000000000
--- a/Tests/KDE4StableBranchTest/test_kde4.sh.in
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/bin/sh
-
-# This shell script tests whether cmake is able to build the latest
-# stable KDE4 release, or at least some part of it.
-# It downloads automoc from KDE svn, builds and installs it, then it
-# downloads phonon from KDE svn, builds and installs it, and finally
-# it downloads kdelibs (currently from the 4.3 branch), and builds
-# a (small) part of it, i.e. libkdecore and one unit test depending on it.
-#
-# <neundorf AT kde.org>
-
-CMAKE="@CMAKE_CMAKE_COMMAND@"
-BASEDIR="@TEST_KDE4_BASE_DIR@"
-INSTALLDIR="$BASEDIR/install"
-QMAKE="@QT_QMAKE_EXECUTABLE@"
-
-cd "$BASEDIR" || exit -1
-echo "Removing old install dir " $INSTALLDIR
-
-rm -rf install || exit -1
-rm -rf build-automoc || exit -1
-rm -rf build-phonon || exit -1
-rm -rf build-kdelibs || exit -1
-
-
-
-# build and install automoc
-cd "$BASEDIR" || exit -1
-svn co svn://anonsvn.kde.org/home/kde/tags/kdesupport-for-4.3/kdesupport/automoc || exit -1
-
-mkdir -p build-automoc || exit -1
-
-cd build-automoc || exit -1
-"$CMAKE" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DQT_QMAKE_EXECUTABLE:STRING="$QMAKE" ../automoc || exit -1
-"$CMAKE" --build . || exit -1
-"$CMAKE" -P cmake_install.cmake || exit -1
-
-export CMAKE_PREFIX_PATH="$INSTALLDIR:$CMAKE_PREFIX_PATH"
-
-
-# build and install phonon
-cd "$BASEDIR" || exit -1
-svn co svn://anonsvn.kde.org/home/kde/tags/kdesupport-for-4.3/kdesupport/phonon || exit -1
-
-mkdir -p build-phonon || exit -1
-
-cd build-phonon || exit -1
-"$CMAKE" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DQT_QMAKE_EXECUTABLE:STRING="$QMAKE" -DWITH_GLIB2=FALSE -DWITH_GObject=FALSE -DWITH_GStreamer=FALSE -DWITH_GStreamerPlugins=FALSE -DWITH_OpenGL=FALSE -DWITH_XCB=FALSE -DWITH_Xine=FALSE ../phonon || exit -1
-"$CMAKE" --build . || exit -1
-"$CMAKE" -P cmake_install.cmake || exit -1
-
-
-# finally build kdelibs/kdecore
-cd "$BASEDIR" || exit -1
-
-svn co svn://anonsvn.kde.org/home/kde/branches/KDE/4.3/kdelibs/ || exit -1
-mkdir -p build-kdelibs || exit -1
-cd build-kdelibs || exit -1
-# trick cmake into not searching strigi and not searching sharedmimeinfo
-"$CMAKE" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DQT_QMAKE_EXECUTABLE:STRING="$QMAKE" -DSTRIGI_FOUND=TRUE -DSTRIGI_INCLUDE_DIR=/usr/include -DSTRIGI_STREAMANALYZER_LIBRARY=-lc -DSTRIGI_STREAMS_LIBRARY=-lc -DSTRIGI_STRIGIQTDBUSCLIENT_LIBRARY=-lc -DSTRIGI_NEEDS_SIGNED_CHAR=TRUE -DSTRIGI_NEEDS_CHAR=FALSE -DUPDATE_MIME_DATABASE_EXECUTABLE=/bin/sh ../kdelibs || exit -1
-make -C kdecore/tests kurltest || exit -1
-
diff --git a/Tests/LibName/CMakeLists.txt b/Tests/LibName/CMakeLists.txt
index 07499a14d..3ac125fb9 100644
--- a/Tests/LibName/CMakeLists.txt
+++ b/Tests/LibName/CMakeLists.txt
@@ -1,5 +1,5 @@
project(LibName)
-# this is a test to make sure that relative path
+# this is a test to make sure that relative path
# LIBRARY_OUTPUT_PATH and EXECUTABLE_OUTPUT_PATH work
set(LIBRARY_OUTPUT_PATH lib)
set(EXECUTABLE_OUTPUT_PATH lib)
@@ -11,9 +11,9 @@ target_link_libraries(foo bar)
add_executable(foobar foobar.c)
target_link_libraries(foobar foo)
-IF(UNIX)
+if(UNIX)
target_link_libraries(foobar -L/usr/local/lib)
-ENDIF(UNIX)
+endif()
# check with lib version
diff --git a/Tests/LibName/bar.c b/Tests/LibName/bar.c
index 960718038..f82aa28e8 100644
--- a/Tests/LibName/bar.c
+++ b/Tests/LibName/bar.c
@@ -1,7 +1,7 @@
#ifdef _WIN32
-__declspec(dllexport)
+__declspec(dllexport)
#endif
-
+
extern void foo()
{
}
diff --git a/Tests/LibName/foo.c b/Tests/LibName/foo.c
index a68970405..6d258e0e9 100644
--- a/Tests/LibName/foo.c
+++ b/Tests/LibName/foo.c
@@ -1,9 +1,9 @@
#ifdef _WIN32
-__declspec(dllimport)
+__declspec(dllimport)
#endif
extern void foo();
#ifdef _WIN32
-__declspec(dllexport)
+__declspec(dllexport)
#endif
void bar()
{
diff --git a/Tests/LibName/foobar.c b/Tests/LibName/foobar.c
index 73b4b4156..2f8a3ff08 100644
--- a/Tests/LibName/foobar.c
+++ b/Tests/LibName/foobar.c
@@ -1,5 +1,5 @@
#ifdef _WIN32
-__declspec(dllimport)
+__declspec(dllimport)
#endif
extern void bar();
diff --git a/Tests/LinkLine/CMakeLists.txt b/Tests/LinkLine/CMakeLists.txt
index c8f0ecf63..6154dd469 100644
--- a/Tests/LinkLine/CMakeLists.txt
+++ b/Tests/LinkLine/CMakeLists.txt
@@ -1,12 +1,12 @@
-PROJECT( LinkLine )
+project( LinkLine )
# Makes sure that the library order as specified by the user are
# unchanged by dependency analysis, etc. libOne and libTwo are
# dependent on each other. The link line should be -lOne -lTwo -lOne.
-ADD_LIBRARY( One One.c )
-ADD_LIBRARY( Two Two.c )
+add_library( One One.c )
+add_library( Two Two.c )
-LINK_LIBRARIES( One Two )
-ADD_EXECUTABLE( LinkLine Exec.c )
-LINK_LIBRARIES( One )
+link_libraries( One Two )
+add_executable( LinkLine Exec.c )
+link_libraries( One )
diff --git a/Tests/LinkLineOrder/CMakeLists.txt b/Tests/LinkLineOrder/CMakeLists.txt
index 21a502217..78455e971 100644
--- a/Tests/LinkLineOrder/CMakeLists.txt
+++ b/Tests/LinkLineOrder/CMakeLists.txt
@@ -1,4 +1,4 @@
-PROJECT( LinkLineOrder )
+project( LinkLineOrder )
# This tests ensures that the order of libraries are preserved when
# they don't have dependency information, even if they are deep in the
@@ -9,28 +9,28 @@ PROJECT( LinkLineOrder )
# has no information about these libraries except for the order they
# are specified in One. We must make sure we don't lose that.
-ADD_LIBRARY( NoDepA NoDepA.c )
-ADD_LIBRARY( NoDepB NoDepB.c )
-ADD_LIBRARY( NoDepC NoDepC.c )
-ADD_LIBRARY( NoDepE NoDepE.c )
-ADD_LIBRARY( NoDepF NoDepF.c )
+add_library( NoDepA NoDepA.c )
+add_library( NoDepB NoDepB.c )
+add_library( NoDepC NoDepC.c )
+add_library( NoDepE NoDepE.c )
+add_library( NoDepF NoDepF.c )
-ADD_LIBRARY( One One.c )
-TARGET_LINK_LIBRARIES( One NoDepC NoDepA NoDepB NoDepE NoDepF NoDepE )
+add_library( One One.c )
+target_link_libraries( One NoDepC NoDepA NoDepB NoDepE NoDepF NoDepE )
-ADD_EXECUTABLE( Exec1 Exec1.c )
-TARGET_LINK_LIBRARIES( Exec1 One )
+add_executable( Exec1 Exec1.c )
+target_link_libraries( Exec1 One )
# Similar situation as One, except at a different level of the
# dependency tree. This makes sure that the order is presevered
# everywhere in the graph.
-ADD_LIBRARY( NoDepX NoDepX.c )
-ADD_LIBRARY( NoDepY NoDepY.c )
-ADD_LIBRARY( NoDepZ NoDepZ.c )
+add_library( NoDepX NoDepX.c )
+add_library( NoDepY NoDepY.c )
+add_library( NoDepZ NoDepZ.c )
-ADD_LIBRARY( Two Two.c )
-TARGET_LINK_LIBRARIES( Two One NoDepZ NoDepX NoDepY )
+add_library( Two Two.c )
+target_link_libraries( Two One NoDepZ NoDepX NoDepY )
-ADD_EXECUTABLE( Exec2 Exec2.c )
-TARGET_LINK_LIBRARIES( Exec2 Two )
+add_executable( Exec2 Exec2.c )
+target_link_libraries( Exec2 Two )
diff --git a/Tests/LoadCommand/CMakeCommands/CMakeLists.txt b/Tests/LoadCommand/CMakeCommands/CMakeLists.txt
index 5cdbc59bf..99b1aba82 100644
--- a/Tests/LoadCommand/CMakeCommands/CMakeLists.txt
+++ b/Tests/LoadCommand/CMakeCommands/CMakeLists.txt
@@ -1,14 +1,14 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(CMAKE_LOADED_COMMANDS)
+project(CMAKE_LOADED_COMMANDS)
-IF (MUDSLIDE_TYPE MATCHES MUCHO)
- ADD_DEFINITIONS(-DMUCHO_MUDSLIDE)
-ENDIF (MUDSLIDE_TYPE MATCHES MUCHO)
+if (MUDSLIDE_TYPE MATCHES MUCHO)
+ add_definitions(-DMUCHO_MUDSLIDE)
+endif ()
-INCLUDE_DIRECTORIES(${CMAKE_ROOT}/include ${CMAKE_ROOT}/Source)
+include_directories(${CMAKE_ROOT}/include ${CMAKE_ROOT}/Source)
-ADD_LIBRARY(cmCMAKE_TEST_COMMAND MODULE cmTestCommand.c)
+add_library(cmCMAKE_TEST_COMMAND MODULE cmTestCommand.c)
-IF(WATCOM)
- TARGET_LINK_LIBRARIES(cmCMAKE_TEST_COMMAND clbsdll.lib)
-ENDIF(WATCOM)
+if(WATCOM)
+ target_link_libraries(cmCMAKE_TEST_COMMAND clbsdll.lib)
+endif()
diff --git a/Tests/LoadCommand/CMakeCommands/cmTestCommand.c b/Tests/LoadCommand/CMakeCommands/cmTestCommand.c
index 6b4f48f7b..fc04934dd 100644
--- a/Tests/LoadCommand/CMakeCommands/cmTestCommand.c
+++ b/Tests/LoadCommand/CMakeCommands/cmTestCommand.c
@@ -3,7 +3,7 @@
#include <stdlib.h>
#include <stdio.h>
-typedef struct
+typedef struct
{
char *LibraryName;
int Argc;
@@ -24,8 +24,8 @@ static int CCONV InitialPass(void *inf, void *mf, int argc, char *argv[])
char *ccDep[1];
char *ccOut[1];
cmLoadedCommandInfo *info = (cmLoadedCommandInfo *)inf;
-
- cmVTKWrapTclData *cdata =
+
+ cmVTKWrapTclData *cdata =
(cmVTKWrapTclData *)malloc(sizeof(cmVTKWrapTclData));
cdata->LibraryName = "BOO";
cdata->Argc = argc;
@@ -36,33 +36,33 @@ static int CCONV InitialPass(void *inf, void *mf, int argc, char *argv[])
/* already, if so use that value and don't look for the program */
if(!info->CAPI->IsOn(mf,"TEST_COMMAND_TEST1"))
{
- info->CAPI->AddDefinition(mf, "TEST_DEF", "HOO");
+ info->CAPI->AddDefinition(mf, "TEST_DEF", "HOO");
return 1;
}
-
- info->CAPI->AddDefinition(mf, "TEST_DEF", "HOO");
+
+ info->CAPI->AddDefinition(mf, "TEST_DEF", "HOO");
cdata->LibraryName = "HOO";
- info->CAPI->AddCacheDefinition(mf, "SOME_CACHE_VARIABLE", "ON",
+ info->CAPI->AddCacheDefinition(mf, "SOME_CACHE_VARIABLE", "ON",
"Test cache variable",
CM_CACHE_BOOL);
- info->CAPI->AddCacheDefinition(mf, "SOME_CACHE_VARIABLE1", "",
+ info->CAPI->AddCacheDefinition(mf, "SOME_CACHE_VARIABLE1", "",
"Test cache variable 1",
CM_CACHE_PATH);
- info->CAPI->AddCacheDefinition(mf, "SOME_CACHE_VARIABLE2", "",
+ info->CAPI->AddCacheDefinition(mf, "SOME_CACHE_VARIABLE2", "",
"Test cache variable 2",
CM_CACHE_FILEPATH);
- info->CAPI->AddCacheDefinition(mf, "SOME_CACHE_VARIABLE3", "",
+ info->CAPI->AddCacheDefinition(mf, "SOME_CACHE_VARIABLE3", "",
"Test cache variable 3",
CM_CACHE_STRING);
- info->CAPI->AddCacheDefinition(mf, "SOME_CACHE_VARIABLE4", "",
+ info->CAPI->AddCacheDefinition(mf, "SOME_CACHE_VARIABLE4", "",
"Test cache variable 4",
CM_CACHE_INTERNAL);
- info->CAPI->AddCacheDefinition(mf, "SOME_CACHE_VARIABLE5", "",
+ info->CAPI->AddCacheDefinition(mf, "SOME_CACHE_VARIABLE5", "",
"Test cache variable 5",
CM_CACHE_STATIC);
-
+
file = info->CAPI->ExpandVariablesInString(mf, "${CMAKE_COMMAND}", 0, 0);
str = info->CAPI->GetFilenameWithoutExtension(file);
@@ -140,7 +140,7 @@ static int CCONV InitialPass(void *inf, void *mf, int argc, char *argv[])
1, ccDep,
1, ccOut,
"LoadedCommand");
-
+
ccArgs[2] = argv[1];
ccArgs[3] = argv[2];
@@ -171,22 +171,22 @@ static int CCONV InitialPass(void *inf, void *mf, int argc, char *argv[])
return 0;
}
info->CAPI->ExecuteCommand(mf,"SET",2,args);
-
+
/* make sure we can find the source file */
if (!info->CAPI->GetSource(mf,argv[1]))
{
info->CAPI->SetError(mf, "Source file could not be found!");
- return 0;
+ return 0;
}
return 1;
}
-static void CCONV FinalPass(void *inf, void *mf)
+static void CCONV FinalPass(void *inf, void *mf)
{
cmLoadedCommandInfo *info = (cmLoadedCommandInfo *)inf;
/* get our client data from initial pass */
- cmVTKWrapTclData *cdata =
+ cmVTKWrapTclData *cdata =
(cmVTKWrapTclData *)info->CAPI->GetClientData(info);
if (strcmp(info->CAPI->GetDefinition(mf, "TEST_DEF"),"HOO") ||
strcmp(cdata->LibraryName,"HOO"))
@@ -194,11 +194,11 @@ static void CCONV FinalPass(void *inf, void *mf)
fprintf(stderr,"*** Failed LOADED COMMAND Final Pass\n");
}
}
-static void CCONV Destructor(void *inf)
+static void CCONV Destructor(void *inf)
{
cmLoadedCommandInfo *info = (cmLoadedCommandInfo *)inf;
/* get our client data from initial pass */
- cmVTKWrapTclData *cdata =
+ cmVTKWrapTclData *cdata =
(cmVTKWrapTclData *)info->CAPI->GetClientData(info);
free(cdata);
}
diff --git a/Tests/LoadCommand/CMakeLists.txt b/Tests/LoadCommand/CMakeLists.txt
index 846cbb084..c9337987a 100644
--- a/Tests/LoadCommand/CMakeLists.txt
+++ b/Tests/LoadCommand/CMakeLists.txt
@@ -1,63 +1,63 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(LoadCommand)
+project(LoadCommand)
# set a definition
-SET (TEST_COMMAND_TEST1 1)
+set (TEST_COMMAND_TEST1 1)
-INCLUDE (${CMAKE_ROOT}/Modules/CheckTypeSize.cmake)
+include (${CMAKE_ROOT}/Modules/CheckTypeSize.cmake)
CHECK_TYPE_SIZE(char SIZEOF_CHAR)
CHECK_TYPE_SIZE(short SIZEOF_SHORT)
-INCLUDE (CheckFunctionExists)
+include (CheckFunctionExists)
CHECK_FUNCTION_EXISTS(printf HAVE_PRINTF)
CHECK_FUNCTION_EXISTS(vsblabla HAVE_VSBLABLA)
-CONFIGURE_FILE(${LoadCommand_SOURCE_DIR}/LoadedCommand.h.in
+configure_file(${LoadCommand_SOURCE_DIR}/LoadedCommand.h.in
${LoadCommand_BINARY_DIR}/LoadedCommand.h)
-INCLUDE_DIRECTORIES(${LoadCommand_BINARY_DIR})
+include_directories(${LoadCommand_BINARY_DIR})
# try to compile the command
# make sure it is not already loaded
-IF(COMMAND CMAKE_TEST_COMMAND)
-ELSE(COMMAND CMAKE_TEST_COMMAND)
- TRY_COMPILE(COMPILE_OK
- ${LoadCommand_BINARY_DIR}/CMakeCommands
- ${LoadCommand_SOURCE_DIR}/CMakeCommands
+if(COMMAND CMAKE_TEST_COMMAND)
+else()
+ try_compile(COMPILE_OK
+ ${LoadCommand_BINARY_DIR}/CMakeCommands
+ ${LoadCommand_SOURCE_DIR}/CMakeCommands
CMAKE_LOADED_COMMANDS CMAKE_FLAGS -DMUDSLIDE_TYPE:STRING=MUCHO
OUTPUT_VARIABLE OUTPUT )
# do another TRY_COMPILE to get around make
# problem on hp
- TRY_COMPILE(COMPILE_OK
- ${LoadCommand_BINARY_DIR}/CMakeCommands
- ${LoadCommand_SOURCE_DIR}/CMakeCommands
+ try_compile(COMPILE_OK
+ ${LoadCommand_BINARY_DIR}/CMakeCommands
+ ${LoadCommand_SOURCE_DIR}/CMakeCommands
CMAKE_LOADED_COMMANDS CMAKE_FLAGS -DMUDSLIDE_TYPE:STRING=MUCHO
OUTPUT_VARIABLE OUTPUT )
-ENDIF(COMMAND CMAKE_TEST_COMMAND)
+endif()
-MESSAGE("Output from try compile: ${OUTPUT}")
+message("Output from try compile: ${OUTPUT}")
# if the compile was OK, try loading the command
-IF (COMPILE_OK)
- LOAD_COMMAND(CMAKE_TEST_COMMAND
- ${LoadCommand_BINARY_DIR}/CMakeCommands
+if (COMPILE_OK)
+ load_command(CMAKE_TEST_COMMAND
+ ${LoadCommand_BINARY_DIR}/CMakeCommands
${LoadCommand_BINARY_DIR}/CMakeCommands/Debug
${LoadCommand_BINARY_DIR}/CMakeCommands/Development
)
# if the command loaded, execute the command
- IF (COMMAND CMAKE_TEST_COMMAND)
+ if (COMMAND CMAKE_TEST_COMMAND)
CMAKE_TEST_COMMAND(
"${LoadCommand_SOURCE_DIR}/LoadedCommand.cxx.in"
"${LoadCommand_BINARY_DIR}/LoadedCommand2.cxx.in"
"${LoadCommand_BINARY_DIR}/LoadedCommand3.cxx"
)
- ENDIF (COMMAND CMAKE_TEST_COMMAND)
-ELSE (COMPILE_OK)
- MESSAGE("failed to compile CMAKE_LOADED_COMMANDS")
-ENDIF (COMPILE_OK)
+ endif ()
+else ()
+ message("failed to compile CMAKE_LOADED_COMMANDS")
+endif ()
# TEST_DEF is set by the loaded command cmTestCommand.c
-IF (TEST_DEF AND SOME_CACHE_VARIABLE AND TEST_EXEC)
- ADD_DEFINITIONS(-DCMAKE_IS_FUN)
-ENDIF (TEST_DEF AND SOME_CACHE_VARIABLE AND TEST_EXEC)
+if (TEST_DEF AND SOME_CACHE_VARIABLE AND TEST_EXEC)
+ add_definitions(-DCMAKE_IS_FUN)
+endif ()
diff --git a/Tests/LoadCommandOneConfig/CMakeCommands/CMakeLists.txt b/Tests/LoadCommandOneConfig/CMakeCommands/CMakeLists.txt
index 953d05c99..5ee2ed0f1 100644
--- a/Tests/LoadCommandOneConfig/CMakeCommands/CMakeLists.txt
+++ b/Tests/LoadCommandOneConfig/CMakeCommands/CMakeLists.txt
@@ -1,17 +1,17 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(CMAKE_LOADED_COMMANDS)
+project(CMAKE_LOADED_COMMANDS)
-IF (MUDSLIDE_TYPE MATCHES MUCHO)
- ADD_DEFINITIONS(-DMUCHO_MUDSLIDE)
-ENDIF (MUDSLIDE_TYPE MATCHES MUCHO)
+if (MUDSLIDE_TYPE MATCHES MUCHO)
+ add_definitions(-DMUCHO_MUDSLIDE)
+endif ()
-IF(WATCOM)
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
-ENDIF(WATCOM)
-INCLUDE_DIRECTORIES(${CMAKE_ROOT}/include ${CMAKE_ROOT}/Source)
+if(WATCOM)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
+endif()
+include_directories(${CMAKE_ROOT}/include ${CMAKE_ROOT}/Source)
-ADD_LIBRARY(cmCMAKE_TEST_COMMAND MODULE cmTestCommand.c)
+add_library(cmCMAKE_TEST_COMMAND MODULE cmTestCommand.c)
-IF(WATCOM)
- TARGET_LINK_LIBRARIES(cmCMAKE_TEST_COMMAND clbsdll.lib)
-ENDIF(WATCOM)
+if(WATCOM)
+ target_link_libraries(cmCMAKE_TEST_COMMAND clbsdll.lib)
+endif()
diff --git a/Tests/LoadCommandOneConfig/CMakeCommands/cmTestCommand.c b/Tests/LoadCommandOneConfig/CMakeCommands/cmTestCommand.c
index 6b4f48f7b..fc04934dd 100644
--- a/Tests/LoadCommandOneConfig/CMakeCommands/cmTestCommand.c
+++ b/Tests/LoadCommandOneConfig/CMakeCommands/cmTestCommand.c
@@ -3,7 +3,7 @@
#include <stdlib.h>
#include <stdio.h>
-typedef struct
+typedef struct
{
char *LibraryName;
int Argc;
@@ -24,8 +24,8 @@ static int CCONV InitialPass(void *inf, void *mf, int argc, char *argv[])
char *ccDep[1];
char *ccOut[1];
cmLoadedCommandInfo *info = (cmLoadedCommandInfo *)inf;
-
- cmVTKWrapTclData *cdata =
+
+ cmVTKWrapTclData *cdata =
(cmVTKWrapTclData *)malloc(sizeof(cmVTKWrapTclData));
cdata->LibraryName = "BOO";
cdata->Argc = argc;
@@ -36,33 +36,33 @@ static int CCONV InitialPass(void *inf, void *mf, int argc, char *argv[])
/* already, if so use that value and don't look for the program */
if(!info->CAPI->IsOn(mf,"TEST_COMMAND_TEST1"))
{
- info->CAPI->AddDefinition(mf, "TEST_DEF", "HOO");
+ info->CAPI->AddDefinition(mf, "TEST_DEF", "HOO");
return 1;
}
-
- info->CAPI->AddDefinition(mf, "TEST_DEF", "HOO");
+
+ info->CAPI->AddDefinition(mf, "TEST_DEF", "HOO");
cdata->LibraryName = "HOO";
- info->CAPI->AddCacheDefinition(mf, "SOME_CACHE_VARIABLE", "ON",
+ info->CAPI->AddCacheDefinition(mf, "SOME_CACHE_VARIABLE", "ON",
"Test cache variable",
CM_CACHE_BOOL);
- info->CAPI->AddCacheDefinition(mf, "SOME_CACHE_VARIABLE1", "",
+ info->CAPI->AddCacheDefinition(mf, "SOME_CACHE_VARIABLE1", "",
"Test cache variable 1",
CM_CACHE_PATH);
- info->CAPI->AddCacheDefinition(mf, "SOME_CACHE_VARIABLE2", "",
+ info->CAPI->AddCacheDefinition(mf, "SOME_CACHE_VARIABLE2", "",
"Test cache variable 2",
CM_CACHE_FILEPATH);
- info->CAPI->AddCacheDefinition(mf, "SOME_CACHE_VARIABLE3", "",
+ info->CAPI->AddCacheDefinition(mf, "SOME_CACHE_VARIABLE3", "",
"Test cache variable 3",
CM_CACHE_STRING);
- info->CAPI->AddCacheDefinition(mf, "SOME_CACHE_VARIABLE4", "",
+ info->CAPI->AddCacheDefinition(mf, "SOME_CACHE_VARIABLE4", "",
"Test cache variable 4",
CM_CACHE_INTERNAL);
- info->CAPI->AddCacheDefinition(mf, "SOME_CACHE_VARIABLE5", "",
+ info->CAPI->AddCacheDefinition(mf, "SOME_CACHE_VARIABLE5", "",
"Test cache variable 5",
CM_CACHE_STATIC);
-
+
file = info->CAPI->ExpandVariablesInString(mf, "${CMAKE_COMMAND}", 0, 0);
str = info->CAPI->GetFilenameWithoutExtension(file);
@@ -140,7 +140,7 @@ static int CCONV InitialPass(void *inf, void *mf, int argc, char *argv[])
1, ccDep,
1, ccOut,
"LoadedCommand");
-
+
ccArgs[2] = argv[1];
ccArgs[3] = argv[2];
@@ -171,22 +171,22 @@ static int CCONV InitialPass(void *inf, void *mf, int argc, char *argv[])
return 0;
}
info->CAPI->ExecuteCommand(mf,"SET",2,args);
-
+
/* make sure we can find the source file */
if (!info->CAPI->GetSource(mf,argv[1]))
{
info->CAPI->SetError(mf, "Source file could not be found!");
- return 0;
+ return 0;
}
return 1;
}
-static void CCONV FinalPass(void *inf, void *mf)
+static void CCONV FinalPass(void *inf, void *mf)
{
cmLoadedCommandInfo *info = (cmLoadedCommandInfo *)inf;
/* get our client data from initial pass */
- cmVTKWrapTclData *cdata =
+ cmVTKWrapTclData *cdata =
(cmVTKWrapTclData *)info->CAPI->GetClientData(info);
if (strcmp(info->CAPI->GetDefinition(mf, "TEST_DEF"),"HOO") ||
strcmp(cdata->LibraryName,"HOO"))
@@ -194,11 +194,11 @@ static void CCONV FinalPass(void *inf, void *mf)
fprintf(stderr,"*** Failed LOADED COMMAND Final Pass\n");
}
}
-static void CCONV Destructor(void *inf)
+static void CCONV Destructor(void *inf)
{
cmLoadedCommandInfo *info = (cmLoadedCommandInfo *)inf;
/* get our client data from initial pass */
- cmVTKWrapTclData *cdata =
+ cmVTKWrapTclData *cdata =
(cmVTKWrapTclData *)info->CAPI->GetClientData(info);
free(cdata);
}
diff --git a/Tests/LoadCommandOneConfig/CMakeLists.txt b/Tests/LoadCommandOneConfig/CMakeLists.txt
index e99105a74..a75ad5aa5 100644
--- a/Tests/LoadCommandOneConfig/CMakeLists.txt
+++ b/Tests/LoadCommandOneConfig/CMakeLists.txt
@@ -1,69 +1,69 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(LoadCommand)
+project(LoadCommand)
# set a definition
-SET (TEST_COMMAND_TEST1 1)
+set (TEST_COMMAND_TEST1 1)
-INCLUDE (${CMAKE_ROOT}/Modules/CheckTypeSize.cmake)
+include (${CMAKE_ROOT}/Modules/CheckTypeSize.cmake)
CHECK_TYPE_SIZE(char SIZEOF_CHAR)
CHECK_TYPE_SIZE(short SIZEOF_SHORT)
-INCLUDE (CheckFunctionExists)
+include (CheckFunctionExists)
CHECK_FUNCTION_EXISTS(printf HAVE_PRINTF)
CHECK_FUNCTION_EXISTS(vsblabla HAVE_VSBLABLA)
-INCLUDE (${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake)
+include (${CMAKE_ROOT}/Modules/CheckIncludeFile.cmake)
CHECK_INCLUDE_FILE("sys/prctl.h" HAVE_SYS_PRCTL_H)
-INCLUDE (${CMAKE_ROOT}/Modules/CheckLibraryExists.cmake)
+include (${CMAKE_ROOT}/Modules/CheckLibraryExists.cmake)
CHECK_LIBRARY_EXISTS(m ceil "" HAVE_LIBM)
-CONFIGURE_FILE(${LoadCommand_SOURCE_DIR}/LoadedCommand.h.in
+configure_file(${LoadCommand_SOURCE_DIR}/LoadedCommand.h.in
${LoadCommand_BINARY_DIR}/LoadedCommand.h)
-INCLUDE_DIRECTORIES(${LoadCommand_BINARY_DIR})
+include_directories(${LoadCommand_BINARY_DIR})
# try to compile the command
# make sure it is not already loaded
-IF(COMMAND CMAKE_TEST_COMMAND)
-ELSE(COMMAND CMAKE_TEST_COMMAND)
- TRY_COMPILE(COMPILE_OK
- ${LoadCommand_BINARY_DIR}/CMakeCommands
- ${LoadCommand_SOURCE_DIR}/CMakeCommands
+if(COMMAND CMAKE_TEST_COMMAND)
+else()
+ try_compile(COMPILE_OK
+ ${LoadCommand_BINARY_DIR}/CMakeCommands
+ ${LoadCommand_SOURCE_DIR}/CMakeCommands
CMAKE_LOADED_COMMANDS CMAKE_FLAGS -DMUDSLIDE_TYPE:STRING=MUCHO
OUTPUT_VARIABLE OUTPUT )
# do another TRY_COMPILE to get around make
# problem on hp
- TRY_COMPILE(COMPILE_OK
- ${LoadCommand_BINARY_DIR}/CMakeCommands
- ${LoadCommand_SOURCE_DIR}/CMakeCommands
+ try_compile(COMPILE_OK
+ ${LoadCommand_BINARY_DIR}/CMakeCommands
+ ${LoadCommand_SOURCE_DIR}/CMakeCommands
CMAKE_LOADED_COMMANDS CMAKE_FLAGS -DMUDSLIDE_TYPE:STRING=MUCHO
OUTPUT_VARIABLE OUTPUT )
-ENDIF(COMMAND CMAKE_TEST_COMMAND)
+endif()
-MESSAGE("Output from try compile: ${OUTPUT}")
+message("Output from try compile: ${OUTPUT}")
# if the compile was OK, try loading the command
-IF (COMPILE_OK)
- LOAD_COMMAND(CMAKE_TEST_COMMAND
- ${LoadCommand_BINARY_DIR}/CMakeCommands
+if (COMPILE_OK)
+ load_command(CMAKE_TEST_COMMAND
+ ${LoadCommand_BINARY_DIR}/CMakeCommands
${LoadCommand_BINARY_DIR}/CMakeCommands/Debug
${LoadCommand_BINARY_DIR}/CMakeCommands/Development
)
# if the command loaded, execute the command
- IF (COMMAND CMAKE_TEST_COMMAND)
+ if (COMMAND CMAKE_TEST_COMMAND)
CMAKE_TEST_COMMAND(
"${LoadCommand_SOURCE_DIR}/LoadedCommand.cxx.in"
"${LoadCommand_BINARY_DIR}/LoadedCommand2.cxx.in"
"${LoadCommand_BINARY_DIR}/LoadedCommand3.cxx"
)
- ENDIF (COMMAND CMAKE_TEST_COMMAND)
-ELSE (COMPILE_OK)
- MESSAGE("failed to compile CMAKE_LOADED_COMMANDS")
-ENDIF (COMPILE_OK)
+ endif ()
+else ()
+ message("failed to compile CMAKE_LOADED_COMMANDS")
+endif ()
# TEST_DEF is set by the loaded command cmTestCommand.c
-IF (TEST_DEF AND SOME_CACHE_VARIABLE AND TEST_EXEC)
- ADD_DEFINITIONS(-DCMAKE_IS_FUN)
-ENDIF (TEST_DEF AND SOME_CACHE_VARIABLE AND TEST_EXEC)
+if (TEST_DEF AND SOME_CACHE_VARIABLE AND TEST_EXEC)
+ add_definitions(-DCMAKE_IS_FUN)
+endif ()
diff --git a/Tests/MacroTest/CMakeLists.txt b/Tests/MacroTest/CMakeLists.txt
index ef673fd85..02bb31f20 100644
--- a/Tests/MacroTest/CMakeLists.txt
+++ b/Tests/MacroTest/CMakeLists.txt
@@ -1,53 +1,53 @@
# a simple C only test case
cmake_minimum_required (VERSION 2.6)
-PROJECT (MacroTest)
+project (MacroTest)
-MACRO(FAILED testname)
- MESSAGE(SEND_ERROR "${testname} failed ${ARGN}")
-ENDMACRO(FAILED)
+macro(FAILED testname)
+ message(SEND_ERROR "${testname} failed ${ARGN}")
+endmacro()
-MACRO(PASS testname)
- MESSAGE("${testname} passed ${ARGN}")
-ENDMACRO(PASS)
+macro(PASS testname)
+ message("${testname} passed ${ARGN}")
+endmacro()
# test ARGC
-MACRO(weird_name)
- IF("${ARGC}" EQUAL "3")
+macro(weird_name)
+ if("${ARGC}" EQUAL "3")
PASS("ARGC")
- ELSE("${ARGC}" EQUAL "3")
+ else()
FAILED("ARGC" "Got: ${ARGC}")
- ENDIF("${ARGC}" EQUAL "3")
-ENDMACRO(weird_name)
+ endif()
+endmacro()
WeIrD_nAmE(a1 a2 a3)
# test ARGN
-MACRO(test_argn_macro argument)
- IF("${ARGN}" EQUAL "3")
+macro(test_argn_macro argument)
+ if("${ARGN}" EQUAL "3")
PASS("ARGN")
- ELSE("${ARGN}" EQUAL "3")
+ else()
FAILED("ARGN" "Got: ${ARGN}")
- ENDIF("${ARGN}" EQUAL "3")
-ENDMACRO(test_argn_macro)
+ endif()
+endmacro()
Test_Argn_Macro(ignored 3)
# case test
-MACRO(strange_macro m)
- SET("${m}" strange_macro)
-ENDMACRO(strange_macro m)
+macro(strange_macro m)
+ set("${m}" strange_macro)
+endmacro()
STRANGE_MACRO(var)
set(second_var "second_var")
-IF("${var}" STREQUAL "strange_macro" AND "${second_var}" STREQUAL "second_var")
+if("${var}" STREQUAL "strange_macro" AND "${second_var}" STREQUAL "second_var")
PASS("Case Test" "(${var} ${second_var})")
-ELSE("${var}" STREQUAL "strange_macro" AND "${second_var}" STREQUAL "second_var")
+else()
FAILED("Case test" "(${var} ${second_var})")
-ENDIF("${var}" STREQUAL "strange_macro" AND "${second_var}" STREQUAL "second_var")
+endif()
# test backing up command
-MACRO(ADD_EXECUTABLE exec)
+macro(ADD_EXECUTABLE exec)
_ADD_EXECUTABLE("mini${exec}" ${ARGN})
-ENDMACRO(ADD_EXECUTABLE)
+endmacro()
-INCLUDE(CheckCSourceCompiles)
+include(CheckCSourceCompiles)
Check_C_Source_Compiles(
"
#include <stdio.h>
@@ -62,13 +62,13 @@ int main(int ac, char*av[]){
return 0;
}"
SOME_CHECK)
-IF(SOME_CHECK)
- MESSAGE("CheckCSourceCompiles works")
-ELSE(SOME_CHECK)
- MESSAGE(FATAL_ERROR "CheckCSourceCompiles does not work")
-ENDIF(SOME_CHECK)
+if(SOME_CHECK)
+ message("CheckCSourceCompiles works")
+else()
+ message(FATAL_ERROR "CheckCSourceCompiles does not work")
+endif()
-INCLUDE(CheckCXXSourceCompiles)
+include(CheckCXXSourceCompiles)
Check_CXX_Source_Compiles(
"
#include <stdio.h>
@@ -77,15 +77,15 @@ int main(int ac, char*av[]){
return 0;
}"
SOME_CHECK)
-IF(SOME_CHECK)
- MESSAGE("CheckCXXSourceCompiles works")
-ELSE(SOME_CHECK)
- MESSAGE(FATAL_ERROR "CheckCXXSourceCompiles does not work")
-ENDIF(SOME_CHECK)
+if(SOME_CHECK)
+ message("CheckCXXSourceCompiles works")
+else()
+ message(FATAL_ERROR "CheckCXXSourceCompiles does not work")
+endif()
-ADD_EXECUTABLE(MacroTest macroTest.c)
+add_executable(MacroTest macroTest.c)
-MACRO(GET_CURRENT_FILE var)
- SET(${var} ${CMAKE_CURRENT_LIST_FILE})
-ENDMACRO(GET_CURRENT_FILE)
-INCLUDE(context.cmake)
+macro(GET_CURRENT_FILE var)
+ set(${var} ${CMAKE_CURRENT_LIST_FILE})
+endmacro()
+include(context.cmake)
diff --git a/Tests/MacroTest/context.cmake b/Tests/MacroTest/context.cmake
index f4d7035fb..f7350d771 100644
--- a/Tests/MacroTest/context.cmake
+++ b/Tests/MacroTest/context.cmake
@@ -1,10 +1,10 @@
GET_CURRENT_FILE(current_file)
-IF(NOT "${current_file}" STREQUAL "${CMAKE_CURRENT_LIST_FILE}")
- MESSAGE(FATAL_ERROR
+if(NOT "${current_file}" STREQUAL "${CMAKE_CURRENT_LIST_FILE}")
+ message(FATAL_ERROR
"Macro file context is broken. Expected:\n"
" ${CMAKE_CURRENT_LIST_FILE}\n"
"but got:\n"
" ${current_file}\n"
"from the macro."
)
-ENDIF(NOT "${current_file}" STREQUAL "${CMAKE_CURRENT_LIST_FILE}")
+endif()
diff --git a/Tests/MakeClean/CMakeLists.txt b/Tests/MakeClean/CMakeLists.txt
index 97d3554bd..13348a28b 100644
--- a/Tests/MakeClean/CMakeLists.txt
+++ b/Tests/MakeClean/CMakeLists.txt
@@ -1,47 +1,47 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(MakeClean)
+project(MakeClean)
# Build the to-clean project.
-TRY_COMPILE(TOCLEAN_BUILT
+try_compile(TOCLEAN_BUILT
${MakeClean_BINARY_DIR}/ToClean
${MakeClean_SOURCE_DIR}/ToClean
ToClean
OUTPUT_VARIABLE OUTPUT
)
-IF(TOCLEAN_BUILT)
- MESSAGE(
+if(TOCLEAN_BUILT)
+ message(
"Building ToClean succeeded with the following output:\n"
"[${OUTPUT}]"
)
-ELSE(TOCLEAN_BUILT)
- MESSAGE(FATAL_ERROR
+else()
+ message(FATAL_ERROR
"Building ToClean failed with the following output:\n"
"[${OUTPUT}]"
)
-ENDIF(TOCLEAN_BUILT)
+endif()
# Get the set of files to check from the ToClean project.
-INCLUDE(${MakeClean_BINARY_DIR}/ToClean/ToCleanFiles.cmake)
+include(${MakeClean_BINARY_DIR}/ToClean/ToCleanFiles.cmake)
# Check for the existence of the files.
-FOREACH(f ${TOCLEAN_FILES})
- IF(EXISTS "${f}")
- ELSE(EXISTS "${f}")
- MESSAGE(FATAL_ERROR "File \"${f}\" does not exist!")
- ENDIF(EXISTS "${f}")
-ENDFOREACH(f)
+foreach(f ${TOCLEAN_FILES})
+ if(EXISTS "${f}")
+ else()
+ message(FATAL_ERROR "File \"${f}\" does not exist!")
+ endif()
+endforeach()
# Configure an executable to check that all the files are missing.
-SET(CHECK_FILES)
-FOREACH(f ${TOCLEAN_FILES})
- SET(CHECK_FILES "${CHECK_FILES} \"${f}\",\n")
-ENDFOREACH(f)
-CONFIGURE_FILE(${MakeClean_SOURCE_DIR}/check_clean.c.in
+set(CHECK_FILES)
+foreach(f ${TOCLEAN_FILES})
+ set(CHECK_FILES "${CHECK_FILES} \"${f}\",\n")
+endforeach()
+configure_file(${MakeClean_SOURCE_DIR}/check_clean.c.in
${MakeClean_BINARY_DIR}/check_clean.c @ONLY IMMEDIATE)
-ADD_EXECUTABLE(check_clean ${MakeClean_BINARY_DIR}/check_clean.c)
+add_executable(check_clean ${MakeClean_BINARY_DIR}/check_clean.c)
# After the executable builds, clean the files.
-ADD_CUSTOM_COMMAND(
+add_custom_command(
TARGET check_clean
POST_BUILD
COMMAND ${CMAKE_CTEST_COMMAND}
diff --git a/Tests/MakeClean/ToClean/CMakeLists.txt b/Tests/MakeClean/ToClean/CMakeLists.txt
index 50facadb7..28569dd1d 100644
--- a/Tests/MakeClean/ToClean/CMakeLists.txt
+++ b/Tests/MakeClean/ToClean/CMakeLists.txt
@@ -1,31 +1,31 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(ToClean)
+cmake_minimum_required(VERSION 2.6)
+project(ToClean)
# Build a simple project.
-ADD_EXECUTABLE(toclean toclean.cxx)
+add_executable(toclean toclean.cxx)
# List some build-time-generated files.
-GET_TARGET_PROPERTY(TOCLEAN_FILES toclean LOCATION)
-SET(TOCLEAN_FILES ${TOCLEAN_FILES}
+get_target_property(TOCLEAN_FILES toclean LOCATION)
+set(TOCLEAN_FILES ${TOCLEAN_FILES}
"${ToClean_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/toclean.dir/toclean.cxx${CMAKE_CXX_OUTPUT_EXTENSION}")
# Create a file that must be registered for cleaning.
-FILE(WRITE "${ToClean_BINARY_DIR}/Registered.txt"
+file(WRITE "${ToClean_BINARY_DIR}/Registered.txt"
"File registered for cleaning.\n")
-SET_DIRECTORY_PROPERTIES(PROPERTIES
+set_directory_properties(PROPERTIES
ADDITIONAL_MAKE_CLEAN_FILES "${ToClean_BINARY_DIR}/Registered.txt")
-SET(TOCLEAN_FILES ${TOCLEAN_FILES} "${ToClean_BINARY_DIR}/Registered.txt")
+set(TOCLEAN_FILES ${TOCLEAN_FILES} "${ToClean_BINARY_DIR}/Registered.txt")
# Create a custom command whose output should be cleaned.
-ADD_CUSTOM_COMMAND(OUTPUT ${ToClean_BINARY_DIR}/generated.txt
+add_custom_command(OUTPUT ${ToClean_BINARY_DIR}/generated.txt
DEPENDS ${ToClean_SOURCE_DIR}/toclean.cxx
COMMAND ${CMAKE_COMMAND}
ARGS -E copy ${ToClean_SOURCE_DIR}/toclean.cxx
${ToClean_BINARY_DIR}/generated.txt
)
-ADD_CUSTOM_TARGET(generate ALL DEPENDS ${ToClean_BINARY_DIR}/generated.txt)
-SET(TOCLEAN_FILES ${TOCLEAN_FILES} "${ToClean_BINARY_DIR}/generated.txt")
+add_custom_target(generate ALL DEPENDS ${ToClean_BINARY_DIR}/generated.txt)
+set(TOCLEAN_FILES ${TOCLEAN_FILES} "${ToClean_BINARY_DIR}/generated.txt")
# Configure a file listing these build-time-generated files.
-CONFIGURE_FILE(${ToClean_SOURCE_DIR}/ToCleanFiles.cmake.in
+configure_file(${ToClean_SOURCE_DIR}/ToCleanFiles.cmake.in
${ToClean_BINARY_DIR}/ToCleanFiles.cmake @ONLY IMMEDIATE)
diff --git a/Tests/MakeClean/ToClean/ToCleanFiles.cmake.in b/Tests/MakeClean/ToClean/ToCleanFiles.cmake.in
index 10d11c37a..e7d99470c 100644
--- a/Tests/MakeClean/ToClean/ToCleanFiles.cmake.in
+++ b/Tests/MakeClean/ToClean/ToCleanFiles.cmake.in
@@ -1 +1 @@
-SET(TOCLEAN_FILES "@TOCLEAN_FILES@")
+set(TOCLEAN_FILES "@TOCLEAN_FILES@")
diff --git a/Tests/MathTest/CMakeLists.txt b/Tests/MathTest/CMakeLists.txt
index d1e5b1acd..34beaa0aa 100644
--- a/Tests/MathTest/CMakeLists.txt
+++ b/Tests/MathTest/CMakeLists.txt
@@ -1,10 +1,10 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(MathTest)
+project(MathTest)
# Expression test
-SET(expressions
+set(expressions
"5 * ( 3 + 4)"
"(1 | 2 | 4 | 8) & 16"
"1 +(3*4) + 10 >> 2"
@@ -12,18 +12,18 @@ SET(expressions
"10000 / (20 / 4)"
)
-SET(FILE_EXPRESSIONS "")
-FOREACH(expression
+set(FILE_EXPRESSIONS "")
+foreach(expression
${expressions})
- MATH(EXPR expr "${expression}")
- SET(FILE_EXPRESSIONS "${FILE_EXPRESSIONS}TEST_EXPRESSION(${expression}, ${expr})\n")
-ENDFOREACH(expression)
+ math(EXPR expr "${expression}")
+ set(FILE_EXPRESSIONS "${FILE_EXPRESSIONS}TEST_EXPRESSION(${expression}, ${expr})\n")
+endforeach()
-CONFIGURE_FILE(
+configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/MathTestTests.h.in"
"${CMAKE_CURRENT_BINARY_DIR}/MathTestTests.h"
@ONLY)
-INCLUDE_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}")
-ADD_EXECUTABLE(MathTest MathTestExec.cxx)
+include_directories("${CMAKE_CURRENT_BINARY_DIR}")
+add_executable(MathTest MathTestExec.cxx)
diff --git a/Tests/Module/CheckTypeSize/CMakeLists.txt b/Tests/Module/CheckTypeSize/CMakeLists.txt
index 45e9f6757..abe617a16 100644
--- a/Tests/Module/CheckTypeSize/CMakeLists.txt
+++ b/Tests/Module/CheckTypeSize/CMakeLists.txt
@@ -12,7 +12,13 @@ check_type_size(__int64 SIZEOF___INT64)
check_type_size(size_t SIZEOF_SIZE_T)
check_type_size(ssize_t SIZEOF_SSIZE_T)
+set(CMAKE_REQUIRED_INCLUDES "${CMAKE_CURRENT_SOURCE_DIR}")
+set(CMAKE_EXTRA_INCLUDE_FILES somestruct.h)
+check_type_size("((struct somestruct*)0)->someint" SIZEOF_STRUCTMEMBER_INT)
+check_type_size("((struct somestruct*)0)->someptr" SIZEOF_STRUCTMEMBER_PTR)
+check_type_size("((struct somestruct*)0)->somechar" SIZEOF_STRUCTMEMBER_CHAR)
+
configure_file(config.h.in config.h)
-include_directories(${CheckTypeSize_BINARY_DIR})
+include_directories("${CheckTypeSize_BINARY_DIR}")
add_executable(CheckTypeSize CheckTypeSize.c)
diff --git a/Tests/Module/CheckTypeSize/CheckTypeSize.c b/Tests/Module/CheckTypeSize/CheckTypeSize.c
index 602c83494..32e395cca 100644
--- a/Tests/Module/CheckTypeSize/CheckTypeSize.c
+++ b/Tests/Module/CheckTypeSize/CheckTypeSize.c
@@ -1,4 +1,5 @@
#include "config.h"
+#include "somestruct.h"
#ifdef HAVE_SYS_TYPES_H
# include <sys/types.h>
@@ -29,6 +30,7 @@
int main()
{
int result = 0;
+ struct somestruct x;
/* void* */
#if !defined(HAVE_SIZEOF_DATA_PTR)
@@ -118,5 +120,41 @@ int main()
NODEF(SIZEOF_SSIZE_T);
#endif
- return result;
+ /* struct somestruct::someint */
+#if defined(SIZEOF_STRUCTMEMBER_INT)
+ CHECK(x.someint, SIZEOF_STRUCTMEMBER_INT);
+ CHECK(x.someint, SIZEOF_INT);
+# if !defined(HAVE_SIZEOF_STRUCTMEMBER_INT)
+ NODEF(HAVE_SIZEOF_STRUCTMEMBER_INT);
+# endif
+#elif defined(HAVE_SIZEOF_STRUCTMEMBER_INT)
+ NODEF(SIZEOF_STRUCTMEMBER_INT);
+#endif
+
+ /* struct somestruct::someptr */
+#if defined(SIZEOF_STRUCTMEMBER_PTR)
+ CHECK(x.someptr, SIZEOF_STRUCTMEMBER_PTR);
+ CHECK(x.someptr, SIZEOF_DATA_PTR);
+# if !defined(HAVE_SIZEOF_STRUCTMEMBER_PTR)
+ NODEF(HAVE_SIZEOF_STRUCTMEMBER_PTR);
+# endif
+#elif defined(HAVE_SIZEOF_STRUCTMEMBER_PTR)
+ NODEF(SIZEOF_STRUCTMEMBER_PTR);
+#endif
+
+ /* struct somestruct::someint */
+#if defined(SIZEOF_STRUCTMEMBER_CHAR)
+ CHECK(x.somechar, SIZEOF_STRUCTMEMBER_CHAR);
+ CHECK(x.somechar, SIZEOF_CHAR);
+# if !defined(HAVE_SIZEOF_STRUCTMEMBER_CHAR)
+ NODEF(HAVE_SIZEOF_STRUCTMEMBER_CHAR);
+# endif
+#elif defined(HAVE_SIZEOF_STRUCTMEMBER_CHAR)
+ NODEF(SIZEOF_STRUCTMEMBER_CHAR);
+#endif
+
+ /* to avoid possible warnings about unused or write-only variable */
+ x.someint = result;
+
+ return x.someint;
}
diff --git a/Tests/Module/CheckTypeSize/config.h.in b/Tests/Module/CheckTypeSize/config.h.in
index b5bfbf6e5..c60107588 100644
--- a/Tests/Module/CheckTypeSize/config.h.in
+++ b/Tests/Module/CheckTypeSize/config.h.in
@@ -37,3 +37,15 @@
/* ssize_t */
#cmakedefine HAVE_SIZEOF_SSIZE_T
@SIZEOF_SSIZE_T_CODE@
+
+/* struct somestruct::someint */
+#cmakedefine HAVE_SIZEOF_STRUCTMEMBER_INT
+@SIZEOF_STRUCTMEMBER_INT_CODE@
+
+/* struct somestruct::someptr */
+#cmakedefine HAVE_SIZEOF_STRUCTMEMBER_PTR
+@SIZEOF_STRUCTMEMBER_PTR_CODE@
+
+/* struct somestruct::somechar */
+#cmakedefine HAVE_SIZEOF_STRUCTMEMBER_CHAR
+@SIZEOF_STRUCTMEMBER_CHAR_CODE@
diff --git a/Tests/Module/CheckTypeSize/somestruct.h b/Tests/Module/CheckTypeSize/somestruct.h
new file mode 100644
index 000000000..e08efc4ca
--- /dev/null
+++ b/Tests/Module/CheckTypeSize/somestruct.h
@@ -0,0 +1,10 @@
+#ifndef _CMAKE_SOMESTRUCT_H
+#define _CMAKE_SOMESTRUCT_H
+
+struct somestruct {
+ int someint;
+ void *someptr;
+ char somechar;
+};
+
+#endif
diff --git a/Tests/NewlineArgs/CMakeLists.txt b/Tests/NewlineArgs/CMakeLists.txt
index a18230488..755160102 100644
--- a/Tests/NewlineArgs/CMakeLists.txt
+++ b/Tests/NewlineArgs/CMakeLists.txt
@@ -5,10 +5,10 @@ project (NewlineArgs CXX)
add_definitions("-DTEST_FLAG_1
-DTEST_FLAG_2")
-include_directories(" ${NewlineArgs_BINARY_DIR}
+include_directories(" ${NewlineArgs_BINARY_DIR}
${NewlineArgs_SOURCE_DIR} ")
-configure_file("${NewlineArgs_SOURCE_DIR}/libcxx2.h.in"
+configure_file("${NewlineArgs_SOURCE_DIR}/libcxx2.h.in"
"${NewlineArgs_BINARY_DIR}/libcxx2.h")
add_library(testcxx1 libcxx1.cxx)
diff --git a/Tests/ObjC++/CMakeLists.txt b/Tests/ObjC++/CMakeLists.txt
index c892bd0a1..8b1563ed8 100644
--- a/Tests/ObjC++/CMakeLists.txt
+++ b/Tests/ObjC++/CMakeLists.txt
@@ -1,6 +1,6 @@
# a simple objc++ test case that uses Cocoa framework
-PROJECT (ObjC++)
+project (ObjC++)
-ADD_EXECUTABLE (ObjC++ objc++.mm)
-TARGET_LINK_LIBRARIES(ObjC++ "-framework Cocoa")
+add_executable (ObjC++ objc++.mm)
+target_link_libraries(ObjC++ "-framework Cocoa")
diff --git a/Tests/ObjC++/objc++.mm b/Tests/ObjC++/objc++.mm
index f0be25682..258ebaa52 100644
--- a/Tests/ObjC++/objc++.mm
+++ b/Tests/ObjC++/objc++.mm
@@ -5,7 +5,7 @@ using namespace std;
int main()
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
-
+
NSMutableSet *mySet = [NSMutableSet set];
cout<<"Adding values to the set."<<endl;
[mySet addObject:[NSNumber numberWithInt:356]];
diff --git a/Tests/ObjectLibrary/A/CMakeLists.txt b/Tests/ObjectLibrary/A/CMakeLists.txt
index 121a8acba..36c86e7e9 100644
--- a/Tests/ObjectLibrary/A/CMakeLists.txt
+++ b/Tests/ObjectLibrary/A/CMakeLists.txt
@@ -1,3 +1,4 @@
+project(ObjectLibraryA C)
# Add -fPIC so objects can be used in shared libraries.
# TODO: Need property for this.
if(CMAKE_SHARED_LIBRARY_C_FLAGS AND NOT WATCOM)
diff --git a/Tests/ObjectLibrary/B/CMakeLists.txt b/Tests/ObjectLibrary/B/CMakeLists.txt
index 67172d132..32d8cebf6 100644
--- a/Tests/ObjectLibrary/B/CMakeLists.txt
+++ b/Tests/ObjectLibrary/B/CMakeLists.txt
@@ -1,3 +1,4 @@
+project(ObjectLibraryB C)
if("${CMAKE_GENERATOR}" MATCHES "Visual Studio 6")
# VS 6 generator does not use per-target object locations.
set(vs6 _vs6)
diff --git a/Tests/OutOfBinary/CMakeLists.txt b/Tests/OutOfBinary/CMakeLists.txt
index fcf90bd0d..e32754143 100644
--- a/Tests/OutOfBinary/CMakeLists.txt
+++ b/Tests/OutOfBinary/CMakeLists.txt
@@ -1,2 +1,2 @@
-ADD_LIBRARY(outlib outlib.c)
+add_library(outlib outlib.c)
diff --git a/Tests/OutOfSource/CMakeLists.txt b/Tests/OutOfSource/CMakeLists.txt
index e250f4177..de1603a55 100644
--- a/Tests/OutOfSource/CMakeLists.txt
+++ b/Tests/OutOfSource/CMakeLists.txt
@@ -6,9 +6,9 @@ add_subdirectory(SubDir)
get_directory_property(ANIMAL DIRECTORY OutOfSourceSubdir DEFINITION WEASELS)
get_directory_property(ANIMALREL DIRECTORY SubDir/../OutOfSourceSubdir DEFINITION WEASELS)
-IF(NOT "${ANIMAL}" STREQUAL "${ANIMALREL}")
- MESSAGE(FATAL_ERROR "GET_DIRECTORY_PROPERTY does not seem to collapse paths.")
-ENDIF(NOT "${ANIMAL}" STREQUAL "${ANIMALREL}")
+if(NOT "${ANIMAL}" STREQUAL "${ANIMALREL}")
+ message(FATAL_ERROR "GET_DIRECTORY_PROPERTY does not seem to collapse paths.")
+endif()
configure_file(
${OutOfSource_SOURCE_DIR}/testdp.h.in
diff --git a/Tests/OutOfSource/OutOfSourceSubdir/CMakeLists.txt b/Tests/OutOfSource/OutOfSourceSubdir/CMakeLists.txt
index c362e79ba..10a2f59d1 100644
--- a/Tests/OutOfSource/OutOfSourceSubdir/CMakeLists.txt
+++ b/Tests/OutOfSource/OutOfSourceSubdir/CMakeLists.txt
@@ -1,62 +1,62 @@
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
-IF ("${PROJECT_SOURCE_DIR}" STREQUAL "${ANOTHER_PROJ_SOURCE_DIR}")
- SET(BUILD_SHARED_LIBS 1)
+if ("${PROJECT_SOURCE_DIR}" STREQUAL "${ANOTHER_PROJ_SOURCE_DIR}")
+ set(BUILD_SHARED_LIBS 1)
# Construct a source file outside the tree whose full path is close to
# the path length limit. This will cause the full path to the object
# file in the build tree to exceed the maximum path length which will
# test cmLocalGenerator::CreateSafeUniqueObjectFileName.
- GET_FILENAME_COMPONENT(DEEPDIR
+ get_filename_component(DEEPDIR
${OutOfSource_BINARY_DIR}/../OutOfSourceDeep/deeper ABSOLUTE)
# Test giving the generator a custom limit.
- SET(CMAKE_OBJECT_PATH_MAX 220)
+ set(CMAKE_OBJECT_PATH_MAX 220)
# Use a separate variable for computation.
- SET(MAXPATH "${CMAKE_OBJECT_PATH_MAX}")
+ set(MAXPATH "${CMAKE_OBJECT_PATH_MAX}")
# VS8 adds "OutOfSource/SubDir/OutOfSourceSubdir/../../../" to the
# path of the source file for no good reason. Reduce the length
# limit by 46 characters to account for it. It should still be long
# enough to require special object file name conversion.
- IF(${CMAKE_GENERATOR} MATCHES "Visual Studio (8|10)")
- MATH(EXPR MAXPATH "${MAXPATH} - 46")
- ENDIF()
+ if(${CMAKE_GENERATOR} MATCHES "Visual Studio (8|10)")
+ math(EXPR MAXPATH "${MAXPATH} - 46")
+ endif()
# Ninja imposes a maximum path component count of 30. Permit more
# path components in the source path.
- IF(${CMAKE_GENERATOR} MATCHES "Ninja")
- MATH(EXPR MAXPATH "${MAXPATH} - 44")
- ENDIF()
+ if(${CMAKE_GENERATOR} MATCHES "Ninja")
+ math(EXPR MAXPATH "${MAXPATH} - 44")
+ endif()
# MAXPATH less 25 for last /and/deeper/simple.cxx part and small safety
- MATH(EXPR MAXPATH "${MAXPATH} - 25")
- STRING(LENGTH "${DEEPDIR}" DEEPDIR_LEN)
- WHILE("${DEEPDIR_LEN}" LESS "${MAXPATH}")
- SET(DEEPDIR ${DEEPDIR}/and/deeper)
- STRING(LENGTH "${DEEPDIR}" DEEPDIR_LEN)
- ENDWHILE("${DEEPDIR_LEN}" LESS "${MAXPATH}")
- SET(DEEPSRC ${DEEPDIR}/simple.cxx)
- STRING(LENGTH "${DEEPSRC}" DEEPSRC_LEN)
- CONFIGURE_FILE(simple.cxx.in ${DEEPSRC} COPYONLY)
+ math(EXPR MAXPATH "${MAXPATH} - 25")
+ string(LENGTH "${DEEPDIR}" DEEPDIR_LEN)
+ while("${DEEPDIR_LEN}" LESS "${MAXPATH}")
+ set(DEEPDIR ${DEEPDIR}/and/deeper)
+ string(LENGTH "${DEEPDIR}" DEEPDIR_LEN)
+ endwhile()
+ set(DEEPSRC ${DEEPDIR}/simple.cxx)
+ string(LENGTH "${DEEPSRC}" DEEPSRC_LEN)
+ configure_file(simple.cxx.in ${DEEPSRC} COPYONLY)
# Watcom WMake seems to have problems with long command lines. Just
# disable this part of the test until it is resolved.
- IF(${CMAKE_GENERATOR} MATCHES "Watcom WMake")
- SET(DEEPSRC "")
- ADD_DEFINITIONS(-DNO_DEEPSRC)
- ENDIF(${CMAKE_GENERATOR} MATCHES "Watcom WMake")
+ if(${CMAKE_GENERATOR} MATCHES "Watcom WMake")
+ set(DEEPSRC "")
+ add_definitions(-DNO_DEEPSRC)
+ endif()
- ADD_LIBRARY(testlib testlib.cxx)
- ADD_EXECUTABLE (simple simple.cxx ../simple.cxx ${DEEPSRC})
- TARGET_LINK_LIBRARIES(simple testlib outlib)
-ENDIF ("${PROJECT_SOURCE_DIR}" STREQUAL "${ANOTHER_PROJ_SOURCE_DIR}")
+ add_library(testlib testlib.cxx)
+ add_executable (simple simple.cxx ../simple.cxx ${DEEPSRC})
+ target_link_libraries(simple testlib outlib)
+endif ()
# test getting a definition from a subdir
-SET (WEASELS SIZZLING)
+set (WEASELS SIZZLING)
-GET_DIRECTORY_PROPERTY(incDirs INCLUDE_DIRECTORIES)
-IF(NOT incDirs)
- MESSAGE(FATAL_ERROR "GET_DIRECTORY_PROPERTY(INCLUDE_DIRECTORIES) returned empty list")
-ENDIF(NOT incDirs)
+get_directory_property(incDirs INCLUDE_DIRECTORIES)
+if(NOT incDirs)
+ message(FATAL_ERROR "get_directory_property(INCLUDE_DIRECTORIES) returned empty list")
+endif()
diff --git a/Tests/OutOfSource/OutOfSourceSubdir/testlib.h b/Tests/OutOfSource/OutOfSourceSubdir/testlib.h
index 289b67361..75c2d84fd 100644
--- a/Tests/OutOfSource/OutOfSourceSubdir/testlib.h
+++ b/Tests/OutOfSource/OutOfSourceSubdir/testlib.h
@@ -5,7 +5,7 @@
# define CM_TEST_LIB_EXPORT __declspec( dllimport )
# endif
#else
-# define CM_TEST_LIB_EXPORT
+# define CM_TEST_LIB_EXPORT
#endif
CM_TEST_LIB_EXPORT float TestLib();
diff --git a/Tests/OutOfSource/SubDir/CMakeLists.txt b/Tests/OutOfSource/SubDir/CMakeLists.txt
index 4fc48e13d..c5df36e1b 100644
--- a/Tests/OutOfSource/SubDir/CMakeLists.txt
+++ b/Tests/OutOfSource/SubDir/CMakeLists.txt
@@ -1,8 +1,8 @@
-PROJECT(ANOTHER_PROJ)
+project(ANOTHER_PROJ)
# subdir to an out of source and out of binary directory
-ADD_SUBDIRECTORY(${OutOfSource_SOURCE_DIR}/../OutOfBinary
+add_subdirectory(${OutOfSource_SOURCE_DIR}/../OutOfBinary
${OutOfSource_BINARY_DIR}/../OutOfBinary)
# subdir to a sibling dir
-ADD_SUBDIRECTORY(${OutOfSource_SOURCE_DIR}/${KEN}OutOfSourceSubdir OutOfSourceSubdir )
+add_subdirectory(${OutOfSource_SOURCE_DIR}/${KEN}OutOfSourceSubdir OutOfSourceSubdir )
diff --git a/Tests/PDBDirectoryAndName/CMakeLists.txt b/Tests/PDBDirectoryAndName/CMakeLists.txt
new file mode 100644
index 000000000..bc2f01317
--- /dev/null
+++ b/Tests/PDBDirectoryAndName/CMakeLists.txt
@@ -0,0 +1,79 @@
+cmake_minimum_required(VERSION 2.8)
+project(PDBDirectoryAndName C)
+
+# Make sure the proper compiler is in use.
+if(NOT MSVC AND NOT "${CMAKE_C_COMPILER_ID}" MATCHES "^(Intel)$")
+ message(FATAL_ERROR "The PDBDirectoryAndName test works only with MSVC or Intel")
+endif()
+
+set(my_targets "")
+
+add_library(mylibA SHARED mylibA.c)
+set_target_properties(mylibA PROPERTIES
+ PDB_NAME "mylibA_Special"
+ PDB_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/mylibA_PDB"
+)
+list(APPEND my_targets mylibA)
+
+add_library(mylibB STATIC mylibB.c)
+set_target_properties(mylibB PROPERTIES
+ PDB_NAME "mylibB_Special"
+ PDB_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/mylibB_PDB"
+)
+list(APPEND my_targets mylibB)
+
+add_library(mylibC SHARED mylibC.c)
+set_target_properties(mylibC PROPERTIES
+ PDB_NAME "mylibC_Special"
+)
+list(APPEND my_targets mylibC)
+
+add_library(mylibD STATIC mylibD.c)
+set_target_properties(mylibD PROPERTIES
+ PDB_NAME "mylibD_Special"
+)
+list(APPEND my_targets mylibD)
+
+add_executable(myexe myexe.c)
+set_target_properties(myexe PROPERTIES
+ PDB_NAME "myexe_Special"
+ PDB_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/myexe_PDB"
+)
+list(APPEND my_targets myexe)
+
+target_link_libraries(myexe mylibA mylibB mylibC mylibD)
+
+add_executable(myexe2 myexe2.c)
+set_target_properties(myexe2 PROPERTIES
+ PDB_NAME "myexe2_Special"
+)
+list(APPEND my_targets myexe2)
+
+target_link_libraries(myexe2 mylibA mylibD)
+
+#-----------------------------------------------------------------------------
+# Check that PDB files actually appear where expected.
+
+# The PDB_NAME and PDB_OUTPUT_DIRECTORY options do not work in VS 6.
+if("${CMAKE_GENERATOR}" MATCHES "Visual Studio 6")
+ return()
+endif()
+# PDB output not fully implemented for Intel
+if("${CMAKE_C_COMPILER_ID}" MATCHES "^(Intel)$")
+ return()
+endif()
+
+set(pdbs "")
+foreach(t ${my_targets})
+ get_property(pdb_name TARGET ${t} PROPERTY PDB_NAME)
+ get_property(pdb_dir TARGET ${t} PROPERTY PDB_OUTPUT_DIRECTORY)
+ if(NOT pdb_dir)
+ set(pdb_dir ${CMAKE_CURRENT_BINARY_DIR})
+ endif()
+ list(APPEND pdbs ${pdb_dir}/${CMAKE_CFG_INTDIR}/${pdb_name}.pdb)
+endforeach()
+add_custom_target(check_pdbs ALL VERBATIM
+ COMMAND ${CMAKE_COMMAND} -Dconfig=$<CONFIGURATION> "-Dpdbs=${pdbs}"
+ -P ${CMAKE_CURRENT_SOURCE_DIR}/check_pdbs.cmake
+ )
+add_dependencies(check_pdbs ${my_targets})
diff --git a/Tests/PDBDirectoryAndName/check_pdbs.cmake b/Tests/PDBDirectoryAndName/check_pdbs.cmake
new file mode 100644
index 000000000..89cdb3c72
--- /dev/null
+++ b/Tests/PDBDirectoryAndName/check_pdbs.cmake
@@ -0,0 +1,10 @@
+if(NOT "${config}" MATCHES "[Dd][Ee][Bb]")
+ return()
+endif()
+foreach(pdb ${pdbs})
+ if(EXISTS "${pdb}")
+ message(STATUS "PDB Exists: ${pdb}")
+ else()
+ message(SEND_ERROR "PDB MISSING: ${pdb}")
+ endif()
+endforeach()
diff --git a/Tests/PDBDirectoryAndName/myexe.c b/Tests/PDBDirectoryAndName/myexe.c
new file mode 100644
index 000000000..c6d9065fe
--- /dev/null
+++ b/Tests/PDBDirectoryAndName/myexe.c
@@ -0,0 +1,5 @@
+extern int mylibA();
+extern int mylibB();
+extern int mylibC();
+extern int mylibD();
+int main() { return mylibA() + mylibB() + mylibC() + mylibD(); }
diff --git a/Tests/PDBDirectoryAndName/myexe2.c b/Tests/PDBDirectoryAndName/myexe2.c
new file mode 100644
index 000000000..75b39cd28
--- /dev/null
+++ b/Tests/PDBDirectoryAndName/myexe2.c
@@ -0,0 +1,3 @@
+extern int mylibA();
+extern int mylibD();
+int main() { return mylibA() + mylibD(); }
diff --git a/Tests/PDBDirectoryAndName/mylibA.c b/Tests/PDBDirectoryAndName/mylibA.c
new file mode 100644
index 000000000..f4c553f42
--- /dev/null
+++ b/Tests/PDBDirectoryAndName/mylibA.c
@@ -0,0 +1 @@
+__declspec(dllexport) int mylibA() { return 1; }
diff --git a/Tests/PDBDirectoryAndName/mylibB.c b/Tests/PDBDirectoryAndName/mylibB.c
new file mode 100644
index 000000000..2040c6795
--- /dev/null
+++ b/Tests/PDBDirectoryAndName/mylibB.c
@@ -0,0 +1 @@
+int mylibB() { return -1; }
diff --git a/Tests/PDBDirectoryAndName/mylibC.c b/Tests/PDBDirectoryAndName/mylibC.c
new file mode 100644
index 000000000..adf7c7098
--- /dev/null
+++ b/Tests/PDBDirectoryAndName/mylibC.c
@@ -0,0 +1 @@
+__declspec(dllexport) int mylibC() { return 1; }
diff --git a/Tests/PDBDirectoryAndName/mylibD.c b/Tests/PDBDirectoryAndName/mylibD.c
new file mode 100644
index 000000000..efa8a8234
--- /dev/null
+++ b/Tests/PDBDirectoryAndName/mylibD.c
@@ -0,0 +1 @@
+int mylibD() { return -1; }
diff --git a/Tests/PerConfig/CMakeLists.txt b/Tests/PerConfig/CMakeLists.txt
index 3a473b883..7f461b0ec 100644
--- a/Tests/PerConfig/CMakeLists.txt
+++ b/Tests/PerConfig/CMakeLists.txt
@@ -1,23 +1,23 @@
project(PerConfig C)
# Targets with per-configuration names.
-ADD_LIBRARY(pcStatic STATIC pcStatic.c)
-SET_PROPERTY(TARGET pcStatic PROPERTY RELEASE_POSTFIX -opt)
-SET_PROPERTY(TARGET pcStatic PROPERTY DEBUG_POSTFIX -dbg)
-ADD_LIBRARY(pcShared SHARED pcShared.c)
-SET_PROPERTY(TARGET pcShared PROPERTY RELEASE_POSTFIX -opt)
-SET_PROPERTY(TARGET pcShared PROPERTY DEBUG_POSTFIX -dbg)
-SET_PROPERTY(TARGET pcShared PROPERTY VERSION 1.2)
-SET_PROPERTY(TARGET pcShared PROPERTY SOVERSION 3)
-IF(UNIX AND NOT CYGWIN)
- SET(soname_file -DpcShared_soname_file=$<TARGET_SONAME_FILE:pcShared>)
-ENDIF()
-ADD_EXECUTABLE(perconfig perconfig.c)
-TARGET_LINK_LIBRARIES(perconfig pcStatic pcShared)
-SET_PROPERTY(TARGET perconfig PROPERTY RELEASE_POSTFIX -opt)
-SET_PROPERTY(TARGET perconfig PROPERTY DEBUG_POSTFIX -dbg)
+add_library(pcStatic STATIC pcStatic.c)
+set_property(TARGET pcStatic PROPERTY RELEASE_POSTFIX -opt)
+set_property(TARGET pcStatic PROPERTY DEBUG_POSTFIX -dbg)
+add_library(pcShared SHARED pcShared.c)
+set_property(TARGET pcShared PROPERTY RELEASE_POSTFIX -opt)
+set_property(TARGET pcShared PROPERTY DEBUG_POSTFIX -dbg)
+set_property(TARGET pcShared PROPERTY VERSION 1.2)
+set_property(TARGET pcShared PROPERTY SOVERSION 3)
+if(UNIX AND NOT CYGWIN)
+ set(soname_file -DpcShared_soname_file=$<TARGET_SONAME_FILE:pcShared>)
+endif()
+add_executable(perconfig perconfig.c)
+target_link_libraries(perconfig pcStatic pcShared)
+set_property(TARGET perconfig PROPERTY RELEASE_POSTFIX -opt)
+set_property(TARGET perconfig PROPERTY DEBUG_POSTFIX -dbg)
-SET(PerConfig_COMMAND
+set(PerConfig_COMMAND
${CMAKE_COMMAND}
-Dconfiguration=$<CONFIGURATION>
-Dperconfig_file_dir=$<TARGET_FILE_DIR:perconfig>
@@ -30,5 +30,5 @@ SET(PerConfig_COMMAND
${soname_file}
-P ${PerConfig_SOURCE_DIR}/perconfig.cmake
)
-SET(PerConfig_COMMAND "${PerConfig_COMMAND}" PARENT_SCOPE)
-SET(PerConfig_DEPENDS ${PerConfig_SOURCE_DIR}/perconfig.cmake perconfig pcStatic pcShared)
+set(PerConfig_COMMAND "${PerConfig_COMMAND}" PARENT_SCOPE)
+set(PerConfig_DEPENDS ${PerConfig_SOURCE_DIR}/perconfig.cmake perconfig pcStatic pcShared)
diff --git a/Tests/Plugin/CMakeLists.txt b/Tests/Plugin/CMakeLists.txt
index 31ca59c13..d1b8334a9 100644
--- a/Tests/Plugin/CMakeLists.txt
+++ b/Tests/Plugin/CMakeLists.txt
@@ -1,87 +1,87 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(Plugin)
+project(Plugin)
# Test per-target output directory properties.
-SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${Plugin_BINARY_DIR}/bin)
-SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${Plugin_BINARY_DIR}/lib/plugin)
-SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${Plugin_BINARY_DIR}/lib/static)
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${Plugin_BINARY_DIR}/bin)
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${Plugin_BINARY_DIR}/lib/plugin)
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${Plugin_BINARY_DIR}/lib/static)
# We need the dynamic loader support from KWSys to load the plugin in
# the executable.
-SET(KWSYS_NAMESPACE kwsys)
-SET(KWSYS_HEADER_ROOT ${Plugin_BINARY_DIR}/include)
-SET(KWSYS_USE_DynamicLoader 1)
-ADD_SUBDIRECTORY(${Plugin_SOURCE_DIR}/../../Source/kwsys src/kwsys)
+set(KWSYS_NAMESPACE kwsys)
+set(KWSYS_HEADER_ROOT ${Plugin_BINARY_DIR}/include)
+set(KWSYS_USE_DynamicLoader 1)
+add_subdirectory(${Plugin_SOURCE_DIR}/../../Source/kwsys src/kwsys)
# Configure the location of plugins.
-CONFIGURE_FILE(${Plugin_SOURCE_DIR}/src/example_exe.h.in
+configure_file(${Plugin_SOURCE_DIR}/src/example_exe.h.in
${Plugin_BINARY_DIR}/include/example_exe.h @ONLY)
# We need to include headers from the source tree and configured
# headers in the build tree.
-INCLUDE_DIRECTORIES(
+include_directories(
${Plugin_BINARY_DIR}/include
${Plugin_SOURCE_DIR}/include
)
# Create an executable that exports an API for use by plugins.
-ADD_EXECUTABLE(example_exe src/example_exe.cxx)
-SET_TARGET_PROPERTIES(example_exe PROPERTIES
+add_executable(example_exe src/example_exe.cxx)
+set_target_properties(example_exe PROPERTIES
ENABLE_EXPORTS 1
OUTPUT_NAME example
# Test placing exe import library in unique directory.
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/exe
)
-TARGET_LINK_LIBRARIES(example_exe kwsys)
+target_link_libraries(example_exe kwsys)
# Create a plugin that uses the API provided by the executable.
# This module "links" to the executable to use the symbols.
-ADD_LIBRARY(example_mod_1 MODULE src/example_mod_1.c)
-TARGET_LINK_LIBRARIES(example_mod_1 example_exe)
+add_library(example_mod_1 MODULE src/example_mod_1.c)
+target_link_libraries(example_mod_1 example_exe)
-IF(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG AND
+if(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG AND
"${CMAKE_C_CREATE_SHARED_MODULE}" MATCHES "SONAME_FLAG")
# Add a second plugin that should not have any soname.
- ADD_LIBRARY(example_mod_2 MODULE src/example_mod_1.c)
- TARGET_LINK_LIBRARIES(example_mod_2 example_exe)
- SET_PROPERTY(TARGET example_mod_2 PROPERTY NO_SONAME 1)
+ add_library(example_mod_2 MODULE src/example_mod_1.c)
+ target_link_libraries(example_mod_2 example_exe)
+ set_property(TARGET example_mod_2 PROPERTY NO_SONAME 1)
# Verify that targets export with proper IMPORTED SONAME properties.
- EXPORT(TARGETS example_mod_1 example_mod_2 NAMESPACE exp_
+ export(TARGETS example_mod_1 example_mod_2 NAMESPACE exp_
FILE ${CMAKE_CURRENT_BINARY_DIR}/mods.cmake)
- INCLUDE(${CMAKE_CURRENT_BINARY_DIR}/mods.cmake)
- GET_PROPERTY(configs TARGET exp_example_mod_1 PROPERTY IMPORTED_CONFIGURATIONS)
- FOREACH(c ${configs})
- STRING(TOUPPER "${c}" CONFIG)
- GET_PROPERTY(soname1 TARGET exp_example_mod_1 PROPERTY IMPORTED_SONAME_${CONFIG})
- GET_PROPERTY(soname2 TARGET exp_example_mod_2 PROPERTY IMPORTED_NO_SONAME_${CONFIG})
- IF(soname1)
- MESSAGE(STATUS "exp_example_mod_1 has IMPORTED_SONAME_${CONFIG} as expected: ${soname1}")
- ELSE()
- MESSAGE(SEND_ERROR "exp_example_mod_1 does not have IMPORTED_SONAME_${CONFIG} but should")
- ENDIF()
- IF(soname2)
- MESSAGE(STATUS "exp_example_mod_2 has IMPORTED_NO_SONAME_${CONFIG} as expected: ${soname2}")
- ELSE()
- MESSAGE(SEND_ERROR "exp_example_mod_2 does not have IMPORTED_NO_SONAME_${CONFIG} but should")
- ENDIF()
- ENDFOREACH()
+ include(${CMAKE_CURRENT_BINARY_DIR}/mods.cmake)
+ get_property(configs TARGET exp_example_mod_1 PROPERTY IMPORTED_CONFIGURATIONS)
+ foreach(c ${configs})
+ string(TOUPPER "${c}" CONFIG)
+ get_property(soname1 TARGET exp_example_mod_1 PROPERTY IMPORTED_SONAME_${CONFIG})
+ get_property(soname2 TARGET exp_example_mod_2 PROPERTY IMPORTED_NO_SONAME_${CONFIG})
+ if(soname1)
+ message(STATUS "exp_example_mod_1 has IMPORTED_SONAME_${CONFIG} as expected: ${soname1}")
+ else()
+ message(SEND_ERROR "exp_example_mod_1 does not have IMPORTED_SONAME_${CONFIG} but should")
+ endif()
+ if(soname2)
+ message(STATUS "exp_example_mod_2 has IMPORTED_NO_SONAME_${CONFIG} as expected: ${soname2}")
+ else()
+ message(SEND_ERROR "exp_example_mod_2 does not have IMPORTED_NO_SONAME_${CONFIG} but should")
+ endif()
+ endforeach()
# Parse the binary to check for SONAME if possible.
- IF("${CMAKE_EXECUTABLE_FORMAT}" MATCHES "ELF")
- FIND_PROGRAM(READELF_EXE readelf)
- IF(READELF_EXE)
- ADD_CUSTOM_TARGET(check_mod_soname ALL COMMAND
+ if("${CMAKE_EXECUTABLE_FORMAT}" MATCHES "ELF")
+ find_program(READELF_EXE readelf)
+ if(READELF_EXE)
+ add_custom_target(check_mod_soname ALL COMMAND
${CMAKE_COMMAND} -Dreadelf=${READELF_EXE}
-Dmod1=$<TARGET_FILE:example_mod_1>
-Dmod2=$<TARGET_FILE:example_mod_2>
-P ${CMAKE_CURRENT_SOURCE_DIR}/check_mod_soname.cmake
)
- ADD_DEPENDENCIES(check_mod_soname example_mod_1 example_mod_2)
- ENDIF()
- ENDIF()
-ENDIF()
+ add_dependencies(check_mod_soname example_mod_1 example_mod_2)
+ endif()
+ endif()
+endif()
# TODO:
# - create a plugin that links to a static lib
diff --git a/Tests/Plugin/src/example_exe.cxx b/Tests/Plugin/src/example_exe.cxx
index d2c52052c..309302e58 100644
--- a/Tests/Plugin/src/example_exe.cxx
+++ b/Tests/Plugin/src/example_exe.cxx
@@ -54,7 +54,7 @@ int main()
kwsys_ios::cerr << "Incorrect return value from plugin!"
<< kwsys_ios::endl;
return 1;
- }
+ }
kwsys::DynamicLoader::CloseLibrary(handle);
return 0;
}
diff --git a/Tests/PolicyScope/CMakeLists.txt b/Tests/PolicyScope/CMakeLists.txt
index e6f2edc07..413195a5c 100644
--- a/Tests/PolicyScope/CMakeLists.txt
+++ b/Tests/PolicyScope/CMakeLists.txt
@@ -7,7 +7,7 @@ function(check msg lhs rhs)
if(NOT "${lhs}" STREQUAL "${rhs}")
message(FATAL_ERROR "${msg}: expected [${lhs}], got [${rhs}]")
endif()
-endfunction(check)
+endfunction()
#-----------------------------------------------------------------------------
# Test using a development framework that sets policies for us.
@@ -52,7 +52,7 @@ if(1)
# CMP0002 should be changed when this function is invoked
cmake_policy(GET CMP0002 cmp)
check(CMP0002 "OLD" "${cmp}")
- endfunction(func1)
+ endfunction()
# Unset CMP0002
cmake_policy(VERSION 2.4)
@@ -65,8 +65,8 @@ if(1)
cmake_policy(SET CMP0002 OLD)
cmake_policy(GET CMP0002 cmp)
check(CMP0002 "OLD" "${cmp}")
- endmacro(macro1)
-endif(1)
+ endmacro()
+endif()
cmake_policy(POP)
# CMP0002 should still be NEW in this context.
diff --git a/Tests/PreOrder/CMakeLists.txt b/Tests/PreOrder/CMakeLists.txt
index 29720e4c1..8b4c43954 100644
--- a/Tests/PreOrder/CMakeLists.txt
+++ b/Tests/PreOrder/CMakeLists.txt
@@ -1,6 +1,6 @@
# a simple test case
-PROJECT (PreOrder)
-SET(CMAKE_IGNORE_DEPENDENCIES_ORDERING 1)
-ADD_SUBDIRECTORY(Library)
-ADD_EXECUTABLE (PreOrder simple.cxx)
-TARGET_LINK_LIBRARIES(PreOrder simpleLib)
+project (PreOrder)
+set(CMAKE_IGNORE_DEPENDENCIES_ORDERING 1)
+add_subdirectory(Library)
+add_executable (PreOrder simple.cxx)
+target_link_libraries(PreOrder simpleLib)
diff --git a/Tests/PreOrder/Library/CMakeLists.txt b/Tests/PreOrder/Library/CMakeLists.txt
index 6c011eca9..018ffa5e2 100644
--- a/Tests/PreOrder/Library/CMakeLists.txt
+++ b/Tests/PreOrder/Library/CMakeLists.txt
@@ -1,2 +1,2 @@
-ADD_LIBRARY(simpleLib simpleLib.cxx )
+add_library(simpleLib simpleLib.cxx )
diff --git a/Tests/PrecompiledHeader/CMakeLists.txt b/Tests/PrecompiledHeader/CMakeLists.txt
index 3374e325f..6958131bf 100644
--- a/Tests/PrecompiledHeader/CMakeLists.txt
+++ b/Tests/PrecompiledHeader/CMakeLists.txt
@@ -1,59 +1,59 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(PrecompiledHeader C)
+project(PrecompiledHeader C)
# Make sure the proper compiler is in use.
-IF(NOT MSVC AND NOT "${CMAKE_C_COMPILER_ID}" MATCHES "^(Intel)$")
- MESSAGE(FATAL_ERROR "The PrecompiledHeader test works only with MSVC or Intel")
-ENDIF()
+if(NOT MSVC AND NOT "${CMAKE_C_COMPILER_ID}" MATCHES "^(Intel)$")
+ message(FATAL_ERROR "The PrecompiledHeader test works only with MSVC or Intel")
+endif()
# Compute a custom name for the precompiled header.
-IF(CMAKE_CONFIGURATION_TYPES)
- SET(PCH_DIR "${CMAKE_CURRENT_BINARY_DIR}/PCH/${CMAKE_CFG_INTDIR}")
- FOREACH(cfg ${CMAKE_CONFIGURATION_TYPES})
- FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/PCH/${cfg})
- ENDFOREACH()
-ELSE(CMAKE_CONFIGURATION_TYPES)
- SET(PCH_DIR "${CMAKE_CURRENT_BINARY_DIR}/PCH")
- FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/PCH)
-ENDIF(CMAKE_CONFIGURATION_TYPES)
+if(CMAKE_CONFIGURATION_TYPES)
+ set(PCH_DIR "${CMAKE_CURRENT_BINARY_DIR}/PCH/${CMAKE_CFG_INTDIR}")
+ foreach(cfg ${CMAKE_CONFIGURATION_TYPES})
+ file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/PCH/${cfg})
+ endforeach()
+else()
+ set(PCH_DIR "${CMAKE_CURRENT_BINARY_DIR}/PCH")
+ file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/PCH)
+endif()
# The VS6 IDE does not support renaming .pch files with /Fp.
-IF("${CMAKE_GENERATOR}" MATCHES "Visual Studio 6")
- SET(PCH_USE_INCLUDE_DIR 1)
- SET(PCH_FILE)
-ELSE("${CMAKE_GENERATOR}" MATCHES "Visual Studio 6")
- SET(PCH_USE_INCLUDE_DIR 0)
- SET(PCH_FILE "\"/Fp${PCH_DIR}/foo_precompiled.pch\"")
-ENDIF("${CMAKE_GENERATOR}" MATCHES "Visual Studio 6")
+if("${CMAKE_GENERATOR}" MATCHES "Visual Studio 6")
+ set(PCH_USE_INCLUDE_DIR 1)
+ set(PCH_FILE)
+else()
+ set(PCH_USE_INCLUDE_DIR 0)
+ set(PCH_FILE "\"/Fp${PCH_DIR}/foo_precompiled.pch\"")
+endif()
# Choose between an explicit include path and using /I during
# precompilation. The /I form is used to test that the PCH is
# actually used. In practice the include path form would be used.
-IF(PCH_USE_INCLUDE_DIR)
- INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
-ELSE(PCH_USE_INCLUDE_DIR)
- SET(PCH_INCLUDE_DIR "\"/I${CMAKE_CURRENT_SOURCE_DIR}/include\"")
-ENDIF(PCH_USE_INCLUDE_DIR)
+if(PCH_USE_INCLUDE_DIR)
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
+else()
+ set(PCH_INCLUDE_DIR "\"/I${CMAKE_CURRENT_SOURCE_DIR}/include\"")
+endif()
# Create a target that will use a precompiled header.
-SET(foo_SRCS foo1.c foo2.c)
-ADD_EXECUTABLE(foo foo_precompile.c ${foo_SRCS})
+set(foo_SRCS foo1.c foo2.c)
+add_executable(foo foo_precompile.c ${foo_SRCS})
# Setup flags on the target to create and use the precompiled header.
-SET_TARGET_PROPERTIES(foo PROPERTIES
+set_target_properties(foo PROPERTIES
COMPILE_FLAGS "/Yufoo_precompiled.h /FIfoo_precompiled.h ${PCH_FILE}")
-SET_SOURCE_FILES_PROPERTIES(foo_precompile.c PROPERTIES
+set_source_files_properties(foo_precompile.c PROPERTIES
COMPILE_FLAGS "/Ycfoo_precompiled.h ${PCH_INCLUDE_DIR}")
# Setup dependencies for precompiled header creation and use. The VS
# IDE takes care of this automatically.
-IF("${CMAKE_GENERATOR}" MATCHES "Makefile" OR
+if("${CMAKE_GENERATOR}" MATCHES "Makefile" OR
"${CMAKE_GENERATOR}" MATCHES "Ninja")
# This source file creates the precompiled header as a side-effect.
- SET_SOURCE_FILES_PROPERTIES(foo_precompile.c PROPERTIES
+ set_source_files_properties(foo_precompile.c PROPERTIES
OBJECT_OUTPUTS "${PCH_DIR}/foo_precompiled.pch")
# These source files use the precompiled header.
- SET_SOURCE_FILES_PROPERTIES(${foo_SRCS} PROPERTIES
+ set_source_files_properties(${foo_SRCS} PROPERTIES
OBJECT_DEPENDS "${PCH_DIR}/foo_precompiled.pch")
-ENDIF("${CMAKE_GENERATOR}" MATCHES "Makefile")
+endif()
diff --git a/Tests/Preprocess/CMakeLists.txt b/Tests/Preprocess/CMakeLists.txt
index 1ed7b83ac..78746e7b8 100644
--- a/Tests/Preprocess/CMakeLists.txt
+++ b/Tests/Preprocess/CMakeLists.txt
@@ -9,37 +9,37 @@ project(Preprocess)
# to work with each tool and documents those known to not work.
if("${CMAKE_GENERATOR}" MATCHES "Xcode")
set(PP_XCODE 1)
-endif("${CMAKE_GENERATOR}" MATCHES "Xcode")
+endif()
if("${CMAKE_GENERATOR}" MATCHES "Visual Studio 6")
set(PP_VS6 1)
-endif("${CMAKE_GENERATOR}" MATCHES "Visual Studio 6")
+endif()
if("${CMAKE_GENERATOR}" MATCHES "Unix Makefiles")
set(PP_UMAKE 1)
-endif("${CMAKE_GENERATOR}" MATCHES "Unix Makefiles")
+endif()
if("${CMAKE_GENERATOR}" MATCHES "NMake Makefiles")
set(PP_NMAKE 1)
-endif("${CMAKE_GENERATOR}" MATCHES "NMake Makefiles")
+endif()
if("${CMAKE_GENERATOR}" MATCHES "MinGW Makefiles")
set(PP_MINGW 1)
-endif("${CMAKE_GENERATOR}" MATCHES "MinGW Makefiles")
+endif()
if("${CMAKE_GENERATOR}" MATCHES "Borland Makefiles")
set(PP_BORLAND 1)
-endif("${CMAKE_GENERATOR}" MATCHES "Borland Makefiles")
+endif()
if("${CMAKE_GENERATOR}" MATCHES "Watcom WMake")
set(PP_WATCOM 1)
-endif("${CMAKE_GENERATOR}" MATCHES "Watcom WMake")
+endif()
if("${CMAKE_GENERATOR}" MATCHES "Visual Studio 7$")
set(PP_VS70 1)
-endif("${CMAKE_GENERATOR}" MATCHES "Visual Studio 7$")
+endif()
if("${CMAKE_GENERATOR}" MATCHES "Visual Studio")
set(PP_VS 1)
-endif("${CMAKE_GENERATOR}" MATCHES "Visual Studio")
+endif()
if("${CMAKE_GENERATOR}" MATCHES "Visual Studio 10")
set(PP_VS100 1)
-endif("${CMAKE_GENERATOR}" MATCHES "Visual Studio 10")
+endif()
if("${CMAKE_GENERATOR}" MATCHES "Visual Studio 11")
set(PP_VS110 1)
-endif("${CMAKE_GENERATOR}" MATCHES "Visual Studio 11")
+endif()
# Some tests below check the PP_* variables set above. They are meant
# to test the case that the build tool is at fault. Other tests below
@@ -80,8 +80,8 @@ if(NOT PP_VS6)
# trouble passing to other tools, and the compiler may be directly
# invoked from the command line.
set(STRING_EXTRA "${STRING_EXTRA} ")
- endif(NOT PP_BORLAND AND NOT PP_WATCOM)
-endif(NOT PP_VS6)
+ endif()
+endif()
if(NOT PP_VS)
# VS: ,
@@ -89,21 +89,21 @@ if(NOT PP_VS)
# The comma-separated list of PreprocessorDefinitions in the project
# file seems to be parsed before the content of entries is examined.
set(STRING_EXTRA "${STRING_EXTRA},")
-endif(NOT PP_VS)
+endif()
if(NOT PP_MINGW)
# MinGW: &
# When inside -D"FOO=\"a & b\"" MinGW make wants -D"FOO=\"a "&" b\""
# but it does not like quoted ampersand elsewhere.
set(STRING_EXTRA "${STRING_EXTRA}&")
-endif(NOT PP_MINGW)
+endif()
if(NOT PP_MINGW)
# MinGW: |
# When inside -D"FOO=\"a | b\"" MinGW make wants -D"FOO=\"a "|" b\""
# but it does not like quoted pipe elsewhere.
set(STRING_EXTRA "${STRING_EXTRA}|")
-endif(NOT PP_MINGW)
+endif()
if(NOT PP_BORLAND AND NOT PP_MINGW AND NOT PP_NMAKE)
# Borland, NMake, MinGW: ^
@@ -111,13 +111,13 @@ if(NOT PP_BORLAND AND NOT PP_MINGW AND NOT PP_NMAKE)
# but do not like quoted carrot elsewhere. In NMake the non-quoted
# syntax works when the flags are not in a make variable.
set(STRING_EXTRA "${STRING_EXTRA}^")
-endif(NOT PP_BORLAND AND NOT PP_MINGW AND NOT PP_NMAKE)
+endif()
if(NOT PP_BORLAND AND NOT PP_MINGW AND NOT PP_NMAKE)
# Borland, MinGW: < >
# Angle-brackets have funny behavior that is hard to escape.
set(STRING_EXTRA "${STRING_EXTRA}<>")
-endif(NOT PP_BORLAND AND NOT PP_MINGW AND NOT PP_NMAKE)
+endif()
set(EXPR_OP1 "/")
if((NOT MSVC OR PP_NMAKE) AND
@@ -150,7 +150,7 @@ endif()
# - NMake is okay with just \\\"
if(PP_NMAKE OR PP_UMAKE)
set(STRING_EXTRA "${STRING_EXTRA}\\\"")
-endif(PP_NMAKE OR PP_UMAKE)
+endif()
# General: #
# MSVC will not accept a # in the value of a string definition on the
@@ -187,7 +187,7 @@ set(EXPR "x*y+!(x==(y+1*2))*f(x${EXPR_OP1}2)")
if(NOT WATCOM)
# Watcom does not support - or / because it parses them as options.
set(EXPR "${EXPR} + y/x-x")
-endif(NOT WATCOM)
+endif()
#-----------------------------------------------------------------------------
@@ -199,11 +199,11 @@ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DPREPROCESS_DEBUG")
# Inform the test if it built from Xcode or VS6 IDE.
if(PP_XCODE)
set(PREPROCESS_XCODE 1)
-endif(PP_XCODE)
+endif()
if(PP_VS6)
set(PREPROCESS_VS6 1)
set(VS6 _vs6)
-endif(PP_VS6)
+endif()
# Test old-style definitions.
add_definitions(-DOLD_DEF -DOLD_EXPR=2)
@@ -213,7 +213,7 @@ set(OLD_DEFS_EXPECTED "OLD_DEF;OLD_EXPR=2")
get_property(OLD_DEFS DIRECTORY PROPERTY COMPILE_DEFINITIONS)
if(NOT "${OLD_DEFS}" STREQUAL "${OLD_DEFS_EXPECTED}")
message(SEND_ERROR "add_definitions not converted to directory property!")
-endif(NOT "${OLD_DEFS}" STREQUAL "${OLD_DEFS_EXPECTED}")
+endif()
add_executable(Preprocess preprocess.c preprocess${VS6}.cxx)
@@ -234,14 +234,14 @@ foreach(c "" "_DEBUG" "_RELEASE")
SOURCE preprocess.c preprocess${VS6}.cxx
PROPERTY COMPILE_DEFINITIONS${c} "FILE_DEF${c}"
)
-endforeach(c)
+endforeach()
# Add definitions with values.
if(NOT PREPROCESS_VS6)
# The path might have spaces, which VS6 does not support.
set(DEF_TARGET_PATH "TARGET_PATH=\"${TARGET_PATH}\"")
set(DEF_FILE_PATH "FILE_PATH=\"${FILE_PATH}\"")
-endif(NOT PREPROCESS_VS6)
+endif()
set_property(
TARGET Preprocess
APPEND PROPERTY COMPILE_DEFINITIONS
@@ -263,7 +263,7 @@ add_custom_target(drive COMMAND Preprocess)
# Configure the header file with the desired string value.
if(SEMICOLON)
set(STRING_VALUE "${STRING_VALUE};")
-endif(SEMICOLON)
+endif()
configure_file(${Preprocess_SOURCE_DIR}/preprocess.h.in
${Preprocess_BINARY_DIR}/preprocess.h)
include_directories(${Preprocess_BINARY_DIR})
diff --git a/Tests/Properties/CMakeLists.txt b/Tests/Properties/CMakeLists.txt
index c1bc3b9e3..285d5965e 100644
--- a/Tests/Properties/CMakeLists.txt
+++ b/Tests/Properties/CMakeLists.txt
@@ -2,15 +2,15 @@
cmake_minimum_required (VERSION 2.6)
project (Properties)
-# these first three tests really test both properties and the management of
-# cmSourceFile objects by CMake.
+# these first three tests really test both properties and the management of
+# cmSourceFile objects by CMake.
# test properties on a build tree file that is relative (yuck)
configure_file(properties.h.in "${Properties_BINARY_DIR}/properties.h")
set_source_files_properties(properties.h PROPERTIES TEST1 1)
get_source_file_property(RESULT1 properties.h TEST1)
-# test properties on a headerfile in the source tree
+# test properties on a headerfile in the source tree
# accessed without an extenion (also yuck)
set_source_files_properties(properties2 PROPERTIES TEST2 1)
get_source_file_property(RESULT2 properties2 TEST2)
@@ -27,7 +27,7 @@ get_property(GLOBALRESULT GLOBAL PROPERTY GLOBALTEST DEFINED)
if (GLOBALRESULT)
message(SEND_ERROR "Error: global prop defined when it should not be, "
"result is GLOBALRESULT=${GLOBALRESULT}")
-endif (GLOBALRESULT)
+endif ()
define_property(GLOBAL PROPERTY GLOBALTEST
BRIEF_DOCS "A test property"
@@ -38,8 +38,8 @@ get_property(GLOBALRESULT GLOBAL PROPERTY GLOBALTEST DEFINED)
if (NOT GLOBALRESULT)
message(SEND_ERROR "Error: global prop not defined "
"result is GLOBALRESULT=${GLOBALRESULT}")
-endif (NOT GLOBALRESULT)
-
+endif ()
+
set_property(GLOBAL PROPERTY GLOBALTEST 1)
set_property(DIRECTORY PROPERTY DIRECTORYTEST 1)
set_property(SOURCE SubDir/properties3.cxx PROPERTY SOURCETEST 1)
@@ -50,26 +50,24 @@ get_property(SOURCERESULT
PROPERTY SOURCETEST
)
-if (RESULT1 AND RESULT2 AND RESULT3 AND GLOBALRESULT AND
+if (RESULT1 AND RESULT2 AND RESULT3 AND GLOBALRESULT AND
DIRECTORYRESULT AND SOURCERESULT)
add_executable (Properties SubDir/properties3.cxx properties)
-else (RESULT1 AND RESULT2 AND RESULT3 AND GLOBALRESULT AND
- DIRECTORYRESULT AND SOURCERESULT)
- message(SEND_ERROR
+else ()
+ message(SEND_ERROR
"Error: test results are RESULT1=${RESULT1} RESULT2=${RESULT2} "
"RESULT3=${RESULT3} GLOBALRESULT=${GLOBALRESULT} "
"DIRECTORYRESULT=${DIRECTORYRESULT} "
"SOURCERESULT=${SOURCERESULT}")
-endif (RESULT1 AND RESULT2 AND RESULT3 AND GLOBALRESULT AND
- DIRECTORYRESULT AND SOURCERESULT)
+endif ()
# test the target property
set_property(TARGET Properties PROPERTY TARGETTEST 1)
get_property(TARGETRESULT TARGET Properties PROPERTY TARGETTEST)
if (NOT TARGETRESULT)
- message(SEND_ERROR
+ message(SEND_ERROR
"Error: target result is TARGETRESULT=${TARGETRESULT}")
-endif (NOT TARGETRESULT)
+endif ()
# test APPEND and APPEND_STRING set_property()
set_property(TARGET Properties PROPERTY FOO foo)
@@ -92,9 +90,9 @@ endif ()
# test get_property SET
get_property(TARGETRESULT TARGET Properties PROPERTY TARGETTEST SET)
if (NOT TARGETRESULT)
- message(SEND_ERROR
+ message(SEND_ERROR
"Error: target prop not set, result is TARGETRESULT=${TARGETRESULT}")
-endif (NOT TARGETRESULT)
+endif ()
# test unsetting a property
set_property(TARGET Properties PROPERTY TARGETTEST)
@@ -102,7 +100,7 @@ get_property(TARGETRESULT TARGET Properties PROPERTY TARGETTEST SET)
if (TARGETRESULT)
message(SEND_ERROR "Error: target prop not unset, "
"result is TARGETRESULT=${TARGETRESULT}")
-endif (TARGETRESULT)
+endif ()
@@ -114,7 +112,7 @@ if(NOT RESULT4)
message(SEND_ERROR "Error: target result is"
" RESULT4=${RESULT4}"
" Properties_SOURCES=[${Properties_SOURCES}]")
-endif(NOT RESULT4)
+endif()
# test CACHE properties
macro(check_cache_props)
@@ -123,8 +121,8 @@ macro(check_cache_props)
if(NOT "x${result}" STREQUAL "x${expect_${prop}}")
message(SEND_ERROR "CACHE property ${prop} is [${result}], not [${expect_${prop}}]")
endif()
- endforeach(prop)
-endmacro(check_cache_props)
+ endforeach()
+endmacro()
set(expect_VALUE "ON")
set(expect_TYPE "BOOL")
set(expect_HELPSTRING "sample cache entry")
diff --git a/Tests/ReturnTest/CMakeLists.txt b/Tests/ReturnTest/CMakeLists.txt
index a08855ec1..3bd7ce099 100644
--- a/Tests/ReturnTest/CMakeLists.txt
+++ b/Tests/ReturnTest/CMakeLists.txt
@@ -4,24 +4,24 @@ project (ReturnTest)
function (FAILED testname)
message (SEND_ERROR "${testname} failed ${ARGN}")
-endfunction (FAILED)
+endfunction ()
function (PASS testname)
message ("${testname} passed ${ARGN}")
-endfunction (PASS)
+endfunction ()
# test simple return
function (simple)
set(simpleResult 1 PARENT_SCOPE)
return()
set(simpleResult 0 PARENT_SCOPE)
-endfunction (simple)
+endfunction ()
simple()
if ("${simpleResult}")
pass ("simple")
-else ("${simpleResult}")
+else ()
failed ("simple got: ${simpleResult}")
-endif ("${simpleResult}")
+endif ()
#test return in an if statement
set (simple2IF 1)
@@ -29,15 +29,15 @@ function (simple2)
set(simple2Result 1 PARENT_SCOPE)
if (simple2IF)
return()
- endif (simple2IF)
+ endif ()
set(simple2Result 0 PARENT_SCOPE)
-endfunction (simple2)
+endfunction ()
simple2()
if ("${simple2Result}")
pass ("simple2")
-else ("${simple2Result}")
+else ()
failed ("simple2 got: ${simple2Result}")
-endif ("${simple2Result}")
+endif ()
#test return in a foreach loop
function (looptest)
@@ -45,15 +45,15 @@ function (looptest)
set (looptestResult "${iter}" PARENT_SCOPE)
if ("${iter}" EQUAL 3)
return ()
- endif ("${iter}" EQUAL 3)
- endforeach (iter)
-endfunction (looptest)
+ endif ()
+ endforeach ()
+endfunction ()
looptest()
if ("${looptestResult}" EQUAL 3)
pass ("looptest")
-else ("${looptestResult}" EQUAL 3)
+else ()
failed ("looptest got: ${looptestResult}")
-endif ("${looptestResult}" EQUAL 3)
+endif ()
#test return in a while loop
function (whiletest)
@@ -62,58 +62,58 @@ function (whiletest)
set (whiletestResult "${iter}" PARENT_SCOPE)
if ("${iter}" STREQUAL "aaa")
return ()
- endif ("${iter}" STREQUAL "aaa")
+ endif ()
set (iter "${iter}a")
- endwhile(NOT "${iter}" STREQUAL "aaaaa")
-endfunction (whiletest)
+ endwhile()
+endfunction ()
whiletest()
if ("${whiletestResult}" STREQUAL "aaa")
pass ("whiletest")
-else ("${whiletestResult}" STREQUAL "aaa")
+else ()
failed ("whiletest got: ${whiletestResult}")
-endif ("${whiletestResult}" STREQUAL "aaa")
+endif ()
# check subdir return
add_subdirectory(subdir)
get_directory_property(subdirResult DIRECTORY subdir DEFINITION subdirreturn)
if ("${subdirResult}" EQUAL 1)
pass ("subdir")
-else ("${subdirResult}" EQUAL 1)
+else ()
failed ("subdir got: ${subdirResult}")
-endif ("${subdirResult}" EQUAL 1)
+endif ()
# check return from a file
include(include_return.cmake)
if ("${include_returnResult}" EQUAL 1)
pass ("include_return")
-else ("${include_returnResult}" EQUAL 1)
+else ()
failed ("include_return got: ${include_returnResult}")
-endif ("${include_returnResult}" EQUAL 1)
+endif ()
# check return from within a macro
macro (mymacro)
set (foo 1)
if (foo)
return()
- endif (foo)
-endmacro(mymacro)
+ endif ()
+endmacro()
# test simple return
function (simple3)
set (bar 0)
set(simple3Result 1 PARENT_SCOPE)
if (bar)
- else (bar)
+ else ()
mymacro()
- endif(bar)
+ endif()
set(simple3Result 0 PARENT_SCOPE)
-endfunction (simple3)
+endfunction ()
simple3()
if ("${simple3Result}")
pass ("macrotest")
-else ("${simple3Result}")
+else ()
failed ("macrotest got: ${simple3Result}")
-endif ("${simple3Result}")
+endif ()
# test break command now in a foreach
@@ -121,27 +121,27 @@ foreach (iter RANGE 1 5)
set (break1 "${iter}")
if ("${iter}" EQUAL 3)
break ()
- endif ("${iter}" EQUAL 3)
-endforeach (iter)
+ endif ()
+endforeach ()
if ("${break1}" EQUAL 3)
pass ("break in foreach")
-else ("${break1}" EQUAL 3)
+else ()
failed ("break in foreach got: ${break1}")
-endif ("${break1}" EQUAL 3)
+endif ()
# test break in a while loop
set (iter "a")
while(NOT "${iter}" STREQUAL "aaaaa")
if ("${iter}" STREQUAL "aaa")
break ()
- endif ("${iter}" STREQUAL "aaa")
+ endif ()
set (iter "${iter}a")
-endwhile(NOT "${iter}" STREQUAL "aaaaa")
+endwhile()
if ("${iter}" STREQUAL "aaa")
pass ("break in a while")
-else ("${iter}" STREQUAL "aaa")
+else ()
failed ("break in a whi;e got: ${whiletestResult}")
-endif ("${iter}" STREQUAL "aaa")
+endif ()
add_executable (ReturnTest returnTest.c)
diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt
index eca96f907..8c67625ff 100644
--- a/Tests/RunCMake/CMakeLists.txt
+++ b/Tests/RunCMake/CMakeLists.txt
@@ -45,12 +45,15 @@ macro(add_RunCMake_test test)
)
endmacro()
+add_RunCMake_test(GeneratorExpression)
+add_RunCMake_test(TargetPropertyGeneratorExpressions)
add_RunCMake_test(Languages)
add_RunCMake_test(ObjectLibrary)
add_RunCMake_test(build_command)
add_RunCMake_test(find_package)
add_RunCMake_test(include)
+add_RunCMake_test(include_directories)
add_RunCMake_test(list)
if("${CMAKE_TEST_GENERATOR}" MATCHES "Visual Studio [^6]")
diff --git a/Tests/RunCMake/GeneratorExpression/BadAND-result.txt b/Tests/RunCMake/GeneratorExpression/BadAND-result.txt
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/Tests/RunCMake/GeneratorExpression/BadAND-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/GeneratorExpression/BadAND-stderr.txt b/Tests/RunCMake/GeneratorExpression/BadAND-stderr.txt
new file mode 100644
index 000000000..36302db9b
--- /dev/null
+++ b/Tests/RunCMake/GeneratorExpression/BadAND-stderr.txt
@@ -0,0 +1,44 @@
+CMake Error at BadAND.cmake:1 \(add_custom_target\):
+ Error evaluating generator expression:
+
+ \$<AND>
+
+ \$<AND> expression requires at least one parameter.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)
++
+CMake Error at BadAND.cmake:1 \(add_custom_target\):
+ Error evaluating generator expression:
+
+ \$<AND:>
+
+ Parameters to \$<AND> must resolve to either '0' or '1'.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)
++
+CMake Error at BadAND.cmake:1 \(add_custom_target\):
+ Error evaluating generator expression:
+
+ \$<AND:,>
+
+ Parameters to \$<AND> must resolve to either '0' or '1'.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)
++
+CMake Error at BadAND.cmake:1 \(add_custom_target\):
+ Error evaluating generator expression:
+
+ \$<AND:01>
+
+ Parameters to \$<AND> must resolve to either '0' or '1'.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)
++
+CMake Error at BadAND.cmake:1 \(add_custom_target\):
+ Error evaluating generator expression:
+
+ \$<AND:nothing>
+
+ Parameters to \$<AND> must resolve to either '0' or '1'.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)$
diff --git a/Tests/RunCMake/GeneratorExpression/BadAND.cmake b/Tests/RunCMake/GeneratorExpression/BadAND.cmake
new file mode 100644
index 000000000..265e4149b
--- /dev/null
+++ b/Tests/RunCMake/GeneratorExpression/BadAND.cmake
@@ -0,0 +1,7 @@
+add_custom_target(check ALL COMMAND check
+ $<AND>
+ $<AND:>
+ $<AND:,>
+ $<AND:01>
+ $<AND:nothing>
+ VERBATIM)
diff --git a/Tests/RunCMake/GeneratorExpression/BadCONFIG-result.txt b/Tests/RunCMake/GeneratorExpression/BadCONFIG-result.txt
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/Tests/RunCMake/GeneratorExpression/BadCONFIG-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/GeneratorExpression/BadCONFIG-stderr.txt b/Tests/RunCMake/GeneratorExpression/BadCONFIG-stderr.txt
new file mode 100644
index 000000000..1cfbf404e
--- /dev/null
+++ b/Tests/RunCMake/GeneratorExpression/BadCONFIG-stderr.txt
@@ -0,0 +1,44 @@
+CMake Error at BadCONFIG.cmake:1 \(add_custom_target\):
+ Error evaluating generator expression:
+
+ \$<CONFIG>
+
+ \$<CONFIG> expression requires exactly one parameter.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)
++
+CMake Error at BadCONFIG.cmake:1 \(add_custom_target\):
+ Error evaluating generator expression:
+
+ \$<CONFIG:.>
+
+ Expression syntax not recognized.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)
++
+CMake Error at BadCONFIG.cmake:1 \(add_custom_target\):
+ Error evaluating generator expression:
+
+ \$<CONFIG:Foo,Bar>
+
+ \$<CONFIG> expression requires exactly one parameter.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)
++
+CMake Error at BadCONFIG.cmake:1 \(add_custom_target\):
+ Error evaluating generator expression:
+
+ \$<CONFIG:Foo-Bar>
+
+ Expression syntax not recognized.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)
++
+CMake Error at BadCONFIG.cmake:1 \(add_custom_target\):
+ Error evaluating generator expression:
+
+ \$<CONFIG:Foo-Nested>
+
+ Expression syntax not recognized.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)$
diff --git a/Tests/RunCMake/GeneratorExpression/BadCONFIG.cmake b/Tests/RunCMake/GeneratorExpression/BadCONFIG.cmake
new file mode 100644
index 000000000..c27ea5f73
--- /dev/null
+++ b/Tests/RunCMake/GeneratorExpression/BadCONFIG.cmake
@@ -0,0 +1,7 @@
+add_custom_target(check ALL COMMAND check
+ $<CONFIG>
+ $<CONFIG:.>
+ $<CONFIG:Foo,Bar>
+ $<CONFIG:Foo-Bar>
+ $<$<CONFIG:Foo-Nested>:foo>
+ VERBATIM)
diff --git a/Tests/RunCMake/GeneratorExpression/BadNOT-result.txt b/Tests/RunCMake/GeneratorExpression/BadNOT-result.txt
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/Tests/RunCMake/GeneratorExpression/BadNOT-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/GeneratorExpression/BadNOT-stderr.txt b/Tests/RunCMake/GeneratorExpression/BadNOT-stderr.txt
new file mode 100644
index 000000000..e5e628c30
--- /dev/null
+++ b/Tests/RunCMake/GeneratorExpression/BadNOT-stderr.txt
@@ -0,0 +1,52 @@
+CMake Error at BadNOT.cmake:1 \(add_custom_target\):
+ Error evaluating generator expression:
+
+ \$<NOT>
+
+ \$<NOT> expression requires exactly one parameter.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)
++CMake Error at BadNOT.cmake:1 \(add_custom_target\):
+ Error evaluating generator expression:
+
+ \$<NOT:>
+
+ \$<NOT> parameter must resolve to exactly one '0' or '1' value.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)
++
+CMake Error at BadNOT.cmake:1 \(add_custom_target\):
+ Error evaluating generator expression:
+
+ \$<NOT:,>
+
+ \$<NOT> expression requires exactly one parameter.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)
++
+CMake Error at BadNOT.cmake:1 \(add_custom_target\):
+ Error evaluating generator expression:
+
+ \$<NOT:0,1>
+
+ \$<NOT> expression requires exactly one parameter.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)
++
+CMake Error at BadNOT.cmake:1 \(add_custom_target\):
+ Error evaluating generator expression:
+
+ \$<NOT:01>
+
+ \$<NOT> parameter must resolve to exactly one '0' or '1' value.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)
++
+CMake Error at BadNOT.cmake:1 \(add_custom_target\):
+ Error evaluating generator expression:
+
+ \$<NOT:nothing>
+
+ \$<NOT> parameter must resolve to exactly one '0' or '1' value.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)$
diff --git a/Tests/RunCMake/GeneratorExpression/BadNOT.cmake b/Tests/RunCMake/GeneratorExpression/BadNOT.cmake
new file mode 100644
index 000000000..c2dada3c2
--- /dev/null
+++ b/Tests/RunCMake/GeneratorExpression/BadNOT.cmake
@@ -0,0 +1,8 @@
+add_custom_target(check ALL COMMAND check
+ $<NOT>
+ $<NOT:>
+ $<NOT:,>
+ $<NOT:0,1>
+ $<NOT:01>
+ $<NOT:nothing>
+ VERBATIM)
diff --git a/Tests/RunCMake/GeneratorExpression/BadOR-result.txt b/Tests/RunCMake/GeneratorExpression/BadOR-result.txt
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/Tests/RunCMake/GeneratorExpression/BadOR-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/GeneratorExpression/BadOR-stderr.txt b/Tests/RunCMake/GeneratorExpression/BadOR-stderr.txt
new file mode 100644
index 000000000..d4ccab74c
--- /dev/null
+++ b/Tests/RunCMake/GeneratorExpression/BadOR-stderr.txt
@@ -0,0 +1,44 @@
+CMake Error at BadOR.cmake:1 \(add_custom_target\):
+ Error evaluating generator expression:
+
+ \$<OR>
+
+ \$<OR> expression requires at least one parameter.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)
++
+CMake Error at BadOR.cmake:1 \(add_custom_target\):
+ Error evaluating generator expression:
+
+ \$<OR:>
+
+ Parameters to \$<OR> must resolve to either '0' or '1'.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)
++
+CMake Error at BadOR.cmake:1 \(add_custom_target\):
+ Error evaluating generator expression:
+
+ \$<OR:,>
+
+ Parameters to \$<OR> must resolve to either '0' or '1'.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)
++
+CMake Error at BadOR.cmake:1 \(add_custom_target\):
+ Error evaluating generator expression:
+
+ \$<OR:01>
+
+ Parameters to \$<OR> must resolve to either '0' or '1'.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)
++
+CMake Error at BadOR.cmake:1 \(add_custom_target\):
+ Error evaluating generator expression:
+
+ \$<OR:nothing>
+
+ Parameters to \$<OR> must resolve to either '0' or '1'.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)$
diff --git a/Tests/RunCMake/GeneratorExpression/BadOR.cmake b/Tests/RunCMake/GeneratorExpression/BadOR.cmake
new file mode 100644
index 000000000..0813400d6
--- /dev/null
+++ b/Tests/RunCMake/GeneratorExpression/BadOR.cmake
@@ -0,0 +1,7 @@
+add_custom_target(check ALL COMMAND check
+ $<OR>
+ $<OR:>
+ $<OR:,>
+ $<OR:01>
+ $<OR:nothing>
+ VERBATIM)
diff --git a/Tests/RunCMake/GeneratorExpression/BadStrEqual-result.txt b/Tests/RunCMake/GeneratorExpression/BadStrEqual-result.txt
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/Tests/RunCMake/GeneratorExpression/BadStrEqual-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/GeneratorExpression/BadStrEqual-stderr.txt b/Tests/RunCMake/GeneratorExpression/BadStrEqual-stderr.txt
new file mode 100644
index 000000000..dd0d931be
--- /dev/null
+++ b/Tests/RunCMake/GeneratorExpression/BadStrEqual-stderr.txt
@@ -0,0 +1,38 @@
+CMake Error at BadStrEqual.cmake:1 \(add_custom_target\):
+ Error evaluating generator expression:
+
+ \$<STREQUAL>
+
+ \$<STREQUAL> expression requires 2 comma separated parameters, but got 0
+ instead.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)
++CMake Error at BadStrEqual.cmake:1 \(add_custom_target\):
+ Error evaluating generator expression:
+
+ \$<STREQUAL:>
+
+ \$<STREQUAL> expression requires 2 comma separated parameters, but got 1
+ instead.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)
++
+CMake Error at BadStrEqual.cmake:1 \(add_custom_target\):
+ Error evaluating generator expression:
+
+ \$<STREQUAL:,,>
+
+ \$<STREQUAL> expression requires 2 comma separated parameters, but got 3
+ instead.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)
++
+CMake Error at BadStrEqual.cmake:1 \(add_custom_target\):
+ Error evaluating generator expression:
+
+ \$<STREQUAL:something,,>
+
+ \$<STREQUAL> expression requires 2 comma separated parameters, but got 3
+ instead.
+Call Stack \(most recent call first\):
+ CMakeLists.txt:3 \(include\)$
diff --git a/Tests/RunCMake/GeneratorExpression/BadStrEqual.cmake b/Tests/RunCMake/GeneratorExpression/BadStrEqual.cmake
new file mode 100644
index 000000000..56eb45853
--- /dev/null
+++ b/Tests/RunCMake/GeneratorExpression/BadStrEqual.cmake
@@ -0,0 +1,6 @@
+add_custom_target(check ALL COMMAND check
+ $<STREQUAL>
+ $<STREQUAL:>
+ $<STREQUAL:,,>
+ $<STREQUAL:something,,>
+ VERBATIM)
diff --git a/Tests/RunCMake/GeneratorExpression/CMakeLists.txt b/Tests/RunCMake/GeneratorExpression/CMakeLists.txt
new file mode 100644
index 000000000..e8db6b05b
--- /dev/null
+++ b/Tests/RunCMake/GeneratorExpression/CMakeLists.txt
@@ -0,0 +1,3 @@
+cmake_minimum_required(VERSION 2.8)
+project(${RunCMake_TEST} NONE)
+include(${RunCMake_TEST}.cmake)
diff --git a/Tests/RunCMake/GeneratorExpression/RunCMakeTest.cmake b/Tests/RunCMake/GeneratorExpression/RunCMakeTest.cmake
new file mode 100644
index 000000000..18a47ae00
--- /dev/null
+++ b/Tests/RunCMake/GeneratorExpression/RunCMakeTest.cmake
@@ -0,0 +1,7 @@
+include(RunCMake)
+
+run_cmake(BadCONFIG)
+run_cmake(BadOR)
+run_cmake(BadAND)
+run_cmake(BadNOT)
+run_cmake(BadStrEqual)
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName1-result.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName1-result.txt
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName1-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName1-stderr.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName1-stderr.txt
new file mode 100644
index 000000000..3287d19ac
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName1-stderr.txt
@@ -0,0 +1,6 @@
+CMake Error:
+ Error evaluating generator expression:
+
+ \$<TARGET_PROPERTY:Invali/dTarget,INCLUDE_DIRECTORIES>
+
+ Target name not supported.
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName1.cmake b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName1.cmake
new file mode 100644
index 000000000..d5f661d60
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName1.cmake
@@ -0,0 +1,7 @@
+
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/main.cpp"
+ "int main(int, char **) { return 0; }\n")
+
+add_executable(TargetPropertyGeneratorExpressions
+ "${CMAKE_CURRENT_BINARY_DIR}/main.cpp")
+include_directories("$<TARGET_PROPERTY:Invali/dTarget,INCLUDE_DIRECTORIES>")
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName2-result.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName2-result.txt
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName2-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName2-stderr.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName2-stderr.txt
new file mode 100644
index 000000000..e527e2275
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName2-stderr.txt
@@ -0,0 +1,6 @@
+CMake Error:
+ Error evaluating generator expression:
+
+ \$<TARGET_PROPERTY:Invali/dTarget,Invali/dProperty>
+
+ Target name and property name not supported.$
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName2.cmake b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName2.cmake
new file mode 100644
index 000000000..6e4c1d0d3
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName2.cmake
@@ -0,0 +1,7 @@
+
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/main.cpp"
+ "int main(int, char **) { return 0; }\n")
+
+add_executable(TargetPropertyGeneratorExpressions
+ "${CMAKE_CURRENT_BINARY_DIR}/main.cpp")
+include_directories("$<TARGET_PROPERTY:Invali/dTarget,Invali/dProperty>")
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName3-result.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName3-result.txt
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName3-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName3-stderr.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName3-stderr.txt
new file mode 100644
index 000000000..517debbca
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName3-stderr.txt
@@ -0,0 +1,6 @@
+CMake Error:
+ Error evaluating generator expression:
+
+ \$<TARGET_PROPERTY:Invali/dProperty>
+
+ Property name not supported.$
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName3.cmake b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName3.cmake
new file mode 100644
index 000000000..3f75aa382
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName3.cmake
@@ -0,0 +1,7 @@
+
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/main.cpp"
+ "int main(int, char **) { return 0; }\n")
+
+add_executable(TargetPropertyGeneratorExpressions
+ "${CMAKE_CURRENT_BINARY_DIR}/main.cpp")
+include_directories("$<TARGET_PROPERTY:Invali/dProperty>")
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName4-result.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName4-result.txt
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName4-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName4-stderr.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName4-stderr.txt
new file mode 100644
index 000000000..eab6fb690
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName4-stderr.txt
@@ -0,0 +1,6 @@
+CMake Error:
+ Error evaluating generator expression:
+
+ \$<TARGET_PROPERTY:foo,Invali/dProperty>
+
+ Property name not supported.$
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName4.cmake b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName4.cmake
new file mode 100644
index 000000000..b616c3106
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName4.cmake
@@ -0,0 +1,9 @@
+
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/main.cpp"
+ "int main(int, char **) { return 0; }\n")
+
+add_executable(foo "${CMAKE_CURRENT_BINARY_DIR}/main.cpp")
+
+add_executable(TargetPropertyGeneratorExpressions
+ "${CMAKE_CURRENT_BINARY_DIR}/main.cpp")
+include_directories("$<TARGET_PROPERTY:foo,Invali/dProperty>")
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName5-result.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName5-result.txt
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName5-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName5-stderr.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName5-stderr.txt
new file mode 100644
index 000000000..e2b4fc6fa
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName5-stderr.txt
@@ -0,0 +1,7 @@
+CMake Error:
+ Error evaluating generator expression:
+
+ \$<TARGET_PROPERTY:,>
+
+ \$<TARGET_PROPERTY:tgt,prop> expression requires a non-empty target name and
+ property name.
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName5.cmake b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName5.cmake
new file mode 100644
index 000000000..11cb6fa52
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName5.cmake
@@ -0,0 +1,7 @@
+
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/main.cpp"
+ "int main(int, char **) { return 0; }\n")
+
+add_executable(TargetPropertyGeneratorExpressions
+ "${CMAKE_CURRENT_BINARY_DIR}/main.cpp")
+include_directories("$<TARGET_PROPERTY:,>")
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName6-result.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName6-result.txt
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName6-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName6-stderr.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName6-stderr.txt
new file mode 100644
index 000000000..e94f52fa2
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName6-stderr.txt
@@ -0,0 +1,6 @@
+CMake Error:
+ Error evaluating generator expression:
+
+ \$<TARGET_PROPERTY:,ValidProperty>
+
+ \$<TARGET_PROPERTY:tgt,prop> expression requires a non-empty target name.
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName6.cmake b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName6.cmake
new file mode 100644
index 000000000..bf868a501
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName6.cmake
@@ -0,0 +1,7 @@
+
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/main.cpp"
+ "int main(int, char **) { return 0; }\n")
+
+add_executable(TargetPropertyGeneratorExpressions
+ "${CMAKE_CURRENT_BINARY_DIR}/main.cpp")
+include_directories("$<TARGET_PROPERTY:,ValidProperty>")
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName7-result.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName7-result.txt
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName7-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName7-stderr.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName7-stderr.txt
new file mode 100644
index 000000000..2548215f4
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName7-stderr.txt
@@ -0,0 +1,6 @@
+CMake Error:
+ Error evaluating generator expression:
+
+ \$<TARGET_PROPERTY:foo,>
+
+ \$<TARGET_PROPERTY:...> expression requires a non-empty property name.
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName7.cmake b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName7.cmake
new file mode 100644
index 000000000..36d1a7903
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName7.cmake
@@ -0,0 +1,9 @@
+
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/main.cpp"
+ "int main(int, char **) { return 0; }\n")
+
+add_executable(foo "${CMAKE_CURRENT_BINARY_DIR}/main.cpp")
+
+add_executable(TargetPropertyGeneratorExpressions
+ "${CMAKE_CURRENT_BINARY_DIR}/main.cpp")
+include_directories("$<TARGET_PROPERTY:foo,>")
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName8-result.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName8-result.txt
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName8-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName8-stderr.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName8-stderr.txt
new file mode 100644
index 000000000..2a98f6f06
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName8-stderr.txt
@@ -0,0 +1,6 @@
+CMake Error:
+ Error evaluating generator expression:
+
+ \$<TARGET_PROPERTY:>
+
+ \$<TARGET_PROPERTY:...> expression requires a non-empty property name.
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName8.cmake b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName8.cmake
new file mode 100644
index 000000000..f059288c6
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadInvalidName8.cmake
@@ -0,0 +1,7 @@
+
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/main.cpp"
+ "int main(int, char **) { return 0; }\n")
+
+add_executable(TargetPropertyGeneratorExpressions
+ "${CMAKE_CURRENT_BINARY_DIR}/main.cpp")
+include_directories("$<TARGET_PROPERTY:>")
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadNonTarget-result.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadNonTarget-result.txt
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadNonTarget-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadNonTarget-stderr.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadNonTarget-stderr.txt
new file mode 100644
index 000000000..d2ac7a963
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadNonTarget-stderr.txt
@@ -0,0 +1,6 @@
+CMake Error:
+ Error evaluating generator expression:
+
+ \$<TARGET_PROPERTY:NonExistant,INCLUDE_DIRECTORIES>
+
+ Target "NonExistant" not found.$
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadNonTarget.cmake b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadNonTarget.cmake
new file mode 100644
index 000000000..b020c0821
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadNonTarget.cmake
@@ -0,0 +1,7 @@
+
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/main.cpp"
+ "int main(int, char **) { return 0; }\n")
+
+add_executable(TargetPropertyGeneratorExpressions
+ "${CMAKE_CURRENT_BINARY_DIR}/main.cpp")
+include_directories("$<TARGET_PROPERTY:NonExistant,INCLUDE_DIRECTORIES>")
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference1-result.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference1-result.txt
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference1-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference1-stderr.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference1-stderr.txt
new file mode 100644
index 000000000..791c4a9b3
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference1-stderr.txt
@@ -0,0 +1,6 @@
+CMake Error:
+ Error evaluating generator expression:
+
+ \$<TARGET_PROPERTY:INCLUDE_DIRECTORIES>
+
+ Self reference on target "TargetPropertyGeneratorExpressions".$
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference1.cmake b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference1.cmake
new file mode 100644
index 000000000..a85731ecf
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference1.cmake
@@ -0,0 +1,7 @@
+
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/main.cpp"
+ "int main(int, char **) { return 0; }\n")
+
+add_executable(TargetPropertyGeneratorExpressions
+ "${CMAKE_CURRENT_BINARY_DIR}/main.cpp")
+include_directories("$<TARGET_PROPERTY:INCLUDE_DIRECTORIES>")
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference2-result.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference2-result.txt
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference2-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference2-stderr.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference2-stderr.txt
new file mode 100644
index 000000000..791c4a9b3
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference2-stderr.txt
@@ -0,0 +1,6 @@
+CMake Error:
+ Error evaluating generator expression:
+
+ \$<TARGET_PROPERTY:INCLUDE_DIRECTORIES>
+
+ Self reference on target "TargetPropertyGeneratorExpressions".$
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference2.cmake b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference2.cmake
new file mode 100644
index 000000000..f1459b8cb
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference2.cmake
@@ -0,0 +1,9 @@
+
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/main.cpp"
+ "int main(int, char **) { return 0; }\n")
+
+add_executable(TargetPropertyGeneratorExpressions
+ "${CMAKE_CURRENT_BINARY_DIR}/main.cpp")
+set_property(TARGET TargetPropertyGeneratorExpressions PROPERTY
+ INCLUDE_DIRECTORIES "$<TARGET_PROPERTY:INCLUDE_DIRECTORIES>"
+)
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference3-result.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference3-result.txt
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference3-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference3-stderr.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference3-stderr.txt
new file mode 100644
index 000000000..f60d72632
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference3-stderr.txt
@@ -0,0 +1,6 @@
+CMake Error:
+ Error evaluating generator expression:
+
+ \$<TARGET_PROPERTY:TargetPropertyGeneratorExpressions,INCLUDE_DIRECTORIES>
+
+ Self reference on target "TargetPropertyGeneratorExpressions".$
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference3.cmake b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference3.cmake
new file mode 100644
index 000000000..433b73011
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference3.cmake
@@ -0,0 +1,8 @@
+
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/main.cpp"
+ "int main(int, char **) { return 0; }\n")
+
+add_executable(TargetPropertyGeneratorExpressions
+ "${CMAKE_CURRENT_BINARY_DIR}/main.cpp")
+include_directories(
+ "$<TARGET_PROPERTY:TargetPropertyGeneratorExpressions,INCLUDE_DIRECTORIES>")
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference4-result.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference4-result.txt
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference4-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference4-stderr.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference4-stderr.txt
new file mode 100644
index 000000000..f60d72632
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference4-stderr.txt
@@ -0,0 +1,6 @@
+CMake Error:
+ Error evaluating generator expression:
+
+ \$<TARGET_PROPERTY:TargetPropertyGeneratorExpressions,INCLUDE_DIRECTORIES>
+
+ Self reference on target "TargetPropertyGeneratorExpressions".$
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference4.cmake b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference4.cmake
new file mode 100644
index 000000000..4b6445916
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference4.cmake
@@ -0,0 +1,10 @@
+
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/main.cpp"
+ "int main(int, char **) { return 0; }\n")
+
+add_executable(TargetPropertyGeneratorExpressions
+ "${CMAKE_CURRENT_BINARY_DIR}/main.cpp")
+set_property(TARGET TargetPropertyGeneratorExpressions PROPERTY
+INCLUDE_DIRECTORIES
+ "$<TARGET_PROPERTY:TargetPropertyGeneratorExpressions,INCLUDE_DIRECTORIES>"
+)
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference5-result.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference5-result.txt
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference5-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference5-stderr.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference5-stderr.txt
new file mode 100644
index 000000000..2b22d0fc3
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference5-stderr.txt
@@ -0,0 +1,6 @@
+CMake Error:
+ Error evaluating generator expression:
+
+ \$<TARGET_PROPERTY:COMPILE_DEFINITIONS>
+
+ Self reference on target "TargetPropertyGeneratorExpressions".$
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference5.cmake b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference5.cmake
new file mode 100644
index 000000000..74fff674d
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference5.cmake
@@ -0,0 +1,10 @@
+
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/main.cpp"
+ "int main(int, char **) { return 0; }\n")
+
+add_executable(TargetPropertyGeneratorExpressions
+ "${CMAKE_CURRENT_BINARY_DIR}/main.cpp")
+set_property(TARGET TargetPropertyGeneratorExpressions
+PROPERTY
+ COMPILE_DEFINITIONS "$<TARGET_PROPERTY:COMPILE_DEFINITIONS>"
+)
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference6-result.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference6-result.txt
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference6-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference6-stderr.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference6-stderr.txt
new file mode 100644
index 000000000..fe7caa3c3
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference6-stderr.txt
@@ -0,0 +1,6 @@
+CMake Error:
+ Error evaluating generator expression:
+
+ \$<TARGET_PROPERTY:TargetPropertyGeneratorExpressions,COMPILE_DEFINITIONS>
+
+ Self reference on target "TargetPropertyGeneratorExpressions".$
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference6.cmake b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference6.cmake
new file mode 100644
index 000000000..d6650d3a5
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/BadSelfReference6.cmake
@@ -0,0 +1,10 @@
+
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/main.cpp"
+ "int main(int, char **) { return 0; }\n")
+
+add_executable(TargetPropertyGeneratorExpressions
+ "${CMAKE_CURRENT_BINARY_DIR}/main.cpp")
+set_property(TARGET TargetPropertyGeneratorExpressions PROPERTY
+COMPILE_DEFINITIONS
+ "$<TARGET_PROPERTY:TargetPropertyGeneratorExpressions,COMPILE_DEFINITIONS>"
+)
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/CMakeLists.txt b/Tests/RunCMake/TargetPropertyGeneratorExpressions/CMakeLists.txt
new file mode 100644
index 000000000..22577da4a
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/CMakeLists.txt
@@ -0,0 +1,8 @@
+
+cmake_minimum_required(VERSION 2.8)
+project(${RunCMake_TEST} CXX)
+
+# MSVC creates extra targets which pollute the stderr unless we set this.
+set(CMAKE_SUPPRESS_REGENERATION TRUE)
+
+include(${RunCMake_TEST}.cmake)
diff --git a/Tests/RunCMake/TargetPropertyGeneratorExpressions/RunCMakeTest.cmake b/Tests/RunCMake/TargetPropertyGeneratorExpressions/RunCMakeTest.cmake
new file mode 100644
index 000000000..0ee32387d
--- /dev/null
+++ b/Tests/RunCMake/TargetPropertyGeneratorExpressions/RunCMakeTest.cmake
@@ -0,0 +1,17 @@
+include(RunCMake)
+
+run_cmake(BadSelfReference1)
+run_cmake(BadSelfReference2)
+run_cmake(BadSelfReference3)
+run_cmake(BadSelfReference4)
+run_cmake(BadSelfReference5)
+run_cmake(BadSelfReference6)
+run_cmake(BadNonTarget)
+run_cmake(BadInvalidName1)
+run_cmake(BadInvalidName2)
+run_cmake(BadInvalidName3)
+run_cmake(BadInvalidName4)
+run_cmake(BadInvalidName5)
+run_cmake(BadInvalidName6)
+run_cmake(BadInvalidName7)
+run_cmake(BadInvalidName8)
diff --git a/Tests/RunCMake/include_directories/CMakeLists.txt b/Tests/RunCMake/include_directories/CMakeLists.txt
new file mode 100644
index 000000000..e8db6b05b
--- /dev/null
+++ b/Tests/RunCMake/include_directories/CMakeLists.txt
@@ -0,0 +1,3 @@
+cmake_minimum_required(VERSION 2.8)
+project(${RunCMake_TEST} NONE)
+include(${RunCMake_TEST}.cmake)
diff --git a/Tests/RunCMake/include_directories/NotFoundContent-result.txt b/Tests/RunCMake/include_directories/NotFoundContent-result.txt
new file mode 100644
index 000000000..d00491fd7
--- /dev/null
+++ b/Tests/RunCMake/include_directories/NotFoundContent-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/include_directories/NotFoundContent-stderr.txt b/Tests/RunCMake/include_directories/NotFoundContent-stderr.txt
new file mode 100644
index 000000000..f608d633f
--- /dev/null
+++ b/Tests/RunCMake/include_directories/NotFoundContent-stderr.txt
@@ -0,0 +1,6 @@
+CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
+Please set them or make sure they are set and tested correctly in the CMake files:
+NotThere1
+ used as include directory in directory .*
+NotThere2
+ used as include directory in directory .*
diff --git a/Tests/RunCMake/include_directories/NotFoundContent.cmake b/Tests/RunCMake/include_directories/NotFoundContent.cmake
new file mode 100644
index 000000000..9677e0c43
--- /dev/null
+++ b/Tests/RunCMake/include_directories/NotFoundContent.cmake
@@ -0,0 +1,9 @@
+
+include_directories(NotThere1-NOTFOUND)
+
+include_directories($<1:There1-NOTFOUND>)
+
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/dummy.cpp" "int main(int,char**) { return 0; }\n")
+add_executable(dummy "${CMAKE_CURRENT_BINARY_DIR}/dummy.cpp")
+set_property(TARGET dummy APPEND PROPERTY INCLUDE_DIRECTORIES "NotThere2-NOTFOUND")
+set_property(TARGET dummy APPEND PROPERTY INCLUDE_DIRECTORIES "$<1:There2-NOTFOUND>")
diff --git a/Tests/RunCMake/include_directories/RunCMakeTest.cmake b/Tests/RunCMake/include_directories/RunCMakeTest.cmake
new file mode 100644
index 000000000..aee3f799b
--- /dev/null
+++ b/Tests/RunCMake/include_directories/RunCMakeTest.cmake
@@ -0,0 +1,3 @@
+include(RunCMake)
+
+run_cmake(NotFoundContent)
diff --git a/Tests/RunCMake/include_external_msproject/check_utils.cmake b/Tests/RunCMake/include_external_msproject/check_utils.cmake
index 7d6b8f8ea..7f5ef5394 100644
--- a/Tests/RunCMake/include_external_msproject/check_utils.cmake
+++ b/Tests/RunCMake/include_external_msproject/check_utils.cmake
@@ -8,8 +8,8 @@ macro(check_line_exists TARGET_FILE REG_EXP_REF)
if(_VAR_LEN GREATER 0)
set(IS_FOUND "TRUE")
- endif(_VAR_LEN GREATER 0)
-endmacro(check_line_exists TARGET_FILE REG_EXP_REF)
+ endif()
+endmacro()
# Search and parse project section line by project name.
# If search was successful stores found type and guid into FOUND_TYPE and FOUND_GUID variables respectively.
@@ -20,13 +20,13 @@ macro(parse_project_section TARGET_FILE PROJECT_NAME)
check_line_exists(${TARGET_FILE} REG_EXP)
if(NOT IS_FOUND)
return()
- endif(NOT IS_FOUND)
+ endif()
string(REGEX REPLACE "${REG_EXP}" "\\1;\\2" _GUIDS "${FOUND_LINE}")
list(GET _GUIDS 0 FOUND_TYPE)
list(GET _GUIDS 1 FOUND_GUID)
-endmacro(parse_project_section TARGET_FILE PROJECT_NAME)
+endmacro()
# Search project section line by project name and type.
# Returns TRUE if found and FALSE otherwise
@@ -36,8 +36,8 @@ function(check_project_type TARGET_FILE PROJECT_NAME PROJECT_TYPE RESULT)
parse_project_section(${TARGET_FILE} ${PROJECT_NAME})
if(IS_FOUND AND FOUND_TYPE STREQUAL PROJECT_TYPE)
set(${RESULT} "TRUE" PARENT_SCOPE)
- endif(IS_FOUND AND FOUND_TYPE STREQUAL PROJECT_TYPE)
-endfunction(check_project_type TARGET_FILE PROJECT_NAME PROJECT_TYPE RESULT)
+ endif()
+endfunction()
# Search project section line by project name and id.
@@ -48,8 +48,8 @@ function(check_project_guid TARGET_FILE PROJECT_NAME PROJECT_GUID RESULT)
parse_project_section(${TARGET_FILE} ${PROJECT_NAME})
if(IS_FOUND AND FOUND_GUID STREQUAL PROJECT_GUID)
set(${RESULT} "TRUE" PARENT_SCOPE)
- endif(IS_FOUND AND FOUND_GUID STREQUAL PROJECT_GUID)
-endfunction(check_project_guid TARGET_FILE PROJECT_NAME PROJECT_GUID RESULT)
+ endif()
+endfunction()
# Search project's build configuration line by project name and target platform name.
@@ -61,7 +61,7 @@ function(check_custom_platform TARGET_FILE PROJECT_NAME PLATFORM_NAME RESULT)
parse_project_section(${TARGET_FILE} ${PROJECT_NAME})
if(NOT IS_FOUND)
return()
- endif(NOT IS_FOUND)
+ endif()
# probably whould be better to use configuration name
# extracted from CMAKE_CONFIGURATION_TYPES than just hardcoded "Debug" instead
@@ -69,7 +69,7 @@ function(check_custom_platform TARGET_FILE PROJECT_NAME PLATFORM_NAME RESULT)
check_line_exists(${TARGET_FILE} REG_EXP)
set(${RESULT} ${IS_FOUND} PARENT_SCOPE)
-endfunction(check_custom_platform TARGET_FILE PLATFORM_NAME RESULT)
+endfunction()
# RunCMake test check helper
function(check_project test name guid type platform)
diff --git a/Tests/RuntimePath/CMakeLists.txt b/Tests/RuntimePath/CMakeLists.txt
index 2164cdb8d..6583a8712 100644
--- a/Tests/RuntimePath/CMakeLists.txt
+++ b/Tests/RuntimePath/CMakeLists.txt
@@ -30,4 +30,4 @@ if(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG)
set_property(TARGET bar2 PROPERTY OUTPUT_NAME bar)
set_property(TARGET bar2 PROPERTY LIBRARY_OUTPUT_DIRECTORY A)
target_link_libraries(bar2 foo2)
-endif(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG)
+endif()
diff --git a/Tests/SameName/CMakeLists.txt b/Tests/SameName/CMakeLists.txt
index a4b993cfd..d78879dd9 100644
--- a/Tests/SameName/CMakeLists.txt
+++ b/Tests/SameName/CMakeLists.txt
@@ -1,7 +1,7 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(SameName C)
+project(SameName C)
-ADD_SUBDIRECTORY(Lib1)
+add_subdirectory(Lib1)
-INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/Lib1)
-ADD_SUBDIRECTORY(Exe1)
+include_directories(${PROJECT_SOURCE_DIR}/Lib1)
+add_subdirectory(Exe1)
diff --git a/Tests/SameName/Exe1/CMakeLists.txt b/Tests/SameName/Exe1/CMakeLists.txt
index 3917a2f6b..b9182f209 100644
--- a/Tests/SameName/Exe1/CMakeLists.txt
+++ b/Tests/SameName/Exe1/CMakeLists.txt
@@ -1,11 +1,11 @@
# a target with the same name as a target in a different dir
-ADD_EXECUTABLE(mytest_exe conly.c)
-SET_TARGET_PROPERTIES(mytest_exe PROPERTIES OUTPUT_NAME mytest)
-TARGET_LINK_LIBRARIES(mytest_exe mytest)
+add_executable(mytest_exe conly.c)
+set_target_properties(mytest_exe PROPERTIES OUTPUT_NAME mytest)
+target_link_libraries(mytest_exe mytest)
# and two targets in the same dir with the same name
-ADD_LIBRARY(mytest2 ../Lib1/libc1.c)
+add_library(mytest2 ../Lib1/libc1.c)
-ADD_EXECUTABLE(mytest2_exe conly.c)
-SET_TARGET_PROPERTIES(mytest2_exe PROPERTIES OUTPUT_NAME mytest2)
-TARGET_LINK_LIBRARIES(mytest2_exe mytest2)
+add_executable(mytest2_exe conly.c)
+set_target_properties(mytest2_exe PROPERTIES OUTPUT_NAME mytest2)
+target_link_libraries(mytest2_exe mytest2)
diff --git a/Tests/SameName/Lib1/CMakeLists.txt b/Tests/SameName/Lib1/CMakeLists.txt
index 67e7f6843..40fa15422 100644
--- a/Tests/SameName/Lib1/CMakeLists.txt
+++ b/Tests/SameName/Lib1/CMakeLists.txt
@@ -1 +1 @@
-ADD_LIBRARY(mytest libc1.c)
+add_library(mytest libc1.c)
diff --git a/Tests/SetLang/CMakeLists.txt b/Tests/SetLang/CMakeLists.txt
index ab6570c33..f24e5cb5d 100644
--- a/Tests/SetLang/CMakeLists.txt
+++ b/Tests/SetLang/CMakeLists.txt
@@ -2,7 +2,7 @@
cmake_minimum_required (VERSION 2.6)
project(SetLang)
# force this to be verbose so I can debug a dashboard entry
-SET(CMAKE_VERBOSE_MAKEFILE 1)
+set(CMAKE_VERBOSE_MAKEFILE 1)
add_library(foo foo.c)
add_executable(SetLang bar.c)
set_source_files_properties(foo.c bar.c PROPERTIES LANGUAGE CXX)
diff --git a/Tests/Simple/CMakeLists.txt b/Tests/Simple/CMakeLists.txt
index dc965a733..a951c2da2 100644
--- a/Tests/Simple/CMakeLists.txt
+++ b/Tests/Simple/CMakeLists.txt
@@ -3,9 +3,9 @@ project (Simple)
add_executable (Simple simple.cxx)
-add_library (simpleLib STATIC
- simpleLib.cxx
- simpleCLib.c
+add_library (simpleLib STATIC
+ simpleLib.cxx
+ simpleCLib.c
simpleWe.cpp
)
@@ -14,4 +14,4 @@ target_link_libraries (Simple simpleLib)
# make sure optimized libs are not used by debug builds
if(CMAKE_BUILD_TYPE MATCHES Debug)
target_link_libraries(Simple optimized c:/not/here.lib )
-endif(CMAKE_BUILD_TYPE MATCHES Debug)
+endif()
diff --git a/Tests/Simple/simpleWe.cpp b/Tests/Simple/simpleWe.cpp
index 859e07c06..e0f22ef8d 100644
--- a/Tests/Simple/simpleWe.cpp
+++ b/Tests/Simple/simpleWe.cpp
@@ -1,6 +1,6 @@
#include <stdio.h>
-class Foo
+class Foo
{
public:
Foo()
diff --git a/Tests/SimpleCOnly/CMakeLists.txt b/Tests/SimpleCOnly/CMakeLists.txt
index d0ed651b1..fb247790f 100644
--- a/Tests/SimpleCOnly/CMakeLists.txt
+++ b/Tests/SimpleCOnly/CMakeLists.txt
@@ -14,4 +14,4 @@ message(STATUS "sizeof(float): ${SIZE_FLOAT}")
# make sure optimized libs are not used by debug builds
if(CMAKE_BUILD_TYPE MATCHES Debug)
target_link_libraries(Simple optimized c:/not/here.lib )
-endif(CMAKE_BUILD_TYPE MATCHES Debug)
+endif()
diff --git a/Tests/SimpleCOnly/main.c b/Tests/SimpleCOnly/main.c
index e4df685cb..022a8e88d 100644
--- a/Tests/SimpleCOnly/main.c
+++ b/Tests/SimpleCOnly/main.c
@@ -3,7 +3,7 @@
extern int foo();
extern int bar();
-int main()
+int main()
{
int i=foo();
int k=bar();
diff --git a/Tests/SimpleExclude/run.cmake.in b/Tests/SimpleExclude/run.cmake.in
index 8f83380c8..d31d2e51b 100644
--- a/Tests/SimpleExclude/run.cmake.in
+++ b/Tests/SimpleExclude/run.cmake.in
@@ -8,6 +8,6 @@ message("T9 ${t9_name} resulted ${t9_var}")
if ( "${t4_var}" EQUAL "0" AND "${t9_var}" EQUAL "0" )
message("Everything is good, Yoshimi won...")
-else ( "${t4_var}" EQUAL "0" AND "${t9_var}" EQUAL "0" )
+else ()
message(FATAL_ERROR "Yoshimi lost... The evil pink robots will take over the world")
-endif ( "${t4_var}" EQUAL "0" AND "${t9_var}" EQUAL "0" )
+endif ()
diff --git a/Tests/SimpleInstall/CMakeLists.txt b/Tests/SimpleInstall/CMakeLists.txt
index 378b5292b..479d6ec36 100644
--- a/Tests/SimpleInstall/CMakeLists.txt
+++ b/Tests/SimpleInstall/CMakeLists.txt
@@ -1,216 +1,216 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT (TestSimpleInstall)
-SET(CMAKE_VERBOSE_MAKEFILE 1)
-SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY
+project (TestSimpleInstall)
+set(CMAKE_VERBOSE_MAKEFILE 1)
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY
"${TestSimpleInstall_BINARY_DIR}/bin")
-SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY
"${TestSimpleInstall_BINARY_DIR}/lib/static")
-SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY
"${TestSimpleInstall_BINARY_DIR}/lib")
# Skip generating the rpath pointing at the build tree to make sure
# the executable is installed with the proper rpath in the install
# tree.
-SET(CMAKE_SKIP_BUILD_RPATH 1)
+set(CMAKE_SKIP_BUILD_RPATH 1)
# Make sure the executable can run from the install tree.
-SET(CMAKE_INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/MyTest/lib)
+set(CMAKE_INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/MyTest/lib)
# Skip the dependency that causes a build when installing. This
# avoids infinite loops when the post-build rule below installs.
-SET(CMAKE_SKIP_INSTALL_ALL_DEPENDENCY 1)
-SET(CMAKE_SKIP_PACKAGE_ALL_DEPENDENCY 1)
+set(CMAKE_SKIP_INSTALL_ALL_DEPENDENCY 1)
+set(CMAKE_SKIP_PACKAGE_ALL_DEPENDENCY 1)
-SET(CMAKE_DEBUG_POSTFIX "_test_debug_postfix")
+set(CMAKE_DEBUG_POSTFIX "_test_debug_postfix")
-SET(EXTRA_INSTALL_FLAGS)
-MESSAGE("Extra install: ${EXTRA_INSTALL_FLAGS}")
+set(EXTRA_INSTALL_FLAGS)
+message("Extra install: ${EXTRA_INSTALL_FLAGS}")
-IF(STAGE2)
- SET(LIBPATHS
+if(STAGE2)
+ set(LIBPATHS
${CMAKE_INSTALL_PREFIX}/MyTest/lib/static
${CMAKE_INSTALL_PREFIX}/MyTest/lib
)
- SET(t1NAMES test1 test1${CMAKE_DEBUG_POSTFIX} test1rel)
- SET(t2NAMES test2 test2${CMAKE_DEBUG_POSTFIX})
- SET(t4NAMES test4out test4out${CMAKE_DEBUG_POSTFIX})
+ set(t1NAMES test1 test1${CMAKE_DEBUG_POSTFIX} test1rel)
+ set(t2NAMES test2 test2${CMAKE_DEBUG_POSTFIX})
+ set(t4NAMES test4out test4out${CMAKE_DEBUG_POSTFIX})
# Make sure the install script ran.
- SET(CMAKE_INSTALL_SCRIPT_DID_RUN 0)
- INCLUDE(${CMAKE_INSTALL_PREFIX}/MyTest/InstallScriptOut.cmake OPTIONAL)
- IF(CMAKE_INSTALL_SCRIPT_DID_RUN)
- MESSAGE(STATUS "Stage 1 did run install script 2.")
- ELSE(CMAKE_INSTALL_SCRIPT_DID_RUN)
- MESSAGE(SEND_ERROR "Stage 1 did not run install script 2.")
- ENDIF(CMAKE_INSTALL_SCRIPT_DID_RUN)
-
- IF(CYGWIN OR MINGW)
- SET(LIBPATHS ${LIBPATHS} "${CMAKE_INSTALL_PREFIX}/MyTest/bin")
- ENDIF(CYGWIN OR MINGW)
- MESSAGE("Search for library in: ${LIBPATHS}")
-
- SET(TEST1_LIBRARY "TEST1_LIBRARY-NOTFOUND" CACHE FILEPATH "Force find." FORCE)
- SET(TEST2_LIBRARY "TEST2_LIBRARY-NOTFOUND" CACHE FILEPATH "Force find." FORCE)
- SET(TEST4_LIBRARY "TEST4_LIBRARY-NOTFOUND" CACHE FILEPATH "Force find." FORCE)
-
- FIND_LIBRARY(TEST1_LIBRARY
+ set(CMAKE_INSTALL_SCRIPT_DID_RUN 0)
+ include(${CMAKE_INSTALL_PREFIX}/MyTest/InstallScriptOut.cmake OPTIONAL)
+ if(CMAKE_INSTALL_SCRIPT_DID_RUN)
+ message(STATUS "Stage 1 did run install script 2.")
+ else()
+ message(SEND_ERROR "Stage 1 did not run install script 2.")
+ endif()
+
+ if(CYGWIN OR MINGW)
+ set(LIBPATHS ${LIBPATHS} "${CMAKE_INSTALL_PREFIX}/MyTest/bin")
+ endif()
+ message("Search for library in: ${LIBPATHS}")
+
+ set(TEST1_LIBRARY "TEST1_LIBRARY-NOTFOUND" CACHE FILEPATH "Force find." FORCE)
+ set(TEST2_LIBRARY "TEST2_LIBRARY-NOTFOUND" CACHE FILEPATH "Force find." FORCE)
+ set(TEST4_LIBRARY "TEST4_LIBRARY-NOTFOUND" CACHE FILEPATH "Force find." FORCE)
+
+ find_library(TEST1_LIBRARY
NAMES ${t1NAMES}
PATHS ${LIBPATHS}
DOC "First library")
- FIND_LIBRARY(TEST2_LIBRARY
+ find_library(TEST2_LIBRARY
NAMES ${t2NAMES}
PATHS ${LIBPATHS}
DOC "Second library")
- FIND_LIBRARY(TEST4_LIBRARY
+ find_library(TEST4_LIBRARY
NAMES ${t4NAMES}
PATHS ${LIBPATHS}
DOC "Fourth library")
# Test importing a library found on disk.
- ADD_LIBRARY(lib_test4 UNKNOWN IMPORTED)
- SET_PROPERTY(TARGET lib_test4 PROPERTY IMPORTED_LOCATION ${TEST4_LIBRARY})
+ add_library(lib_test4 UNKNOWN IMPORTED)
+ set_property(TARGET lib_test4 PROPERTY IMPORTED_LOCATION ${TEST4_LIBRARY})
- INCLUDE_DIRECTORIES(${CMAKE_INSTALL_PREFIX}/MyTest/include)
- ADD_EXECUTABLE (SimpleInstExeS2 inst2.cxx foo.c foo.h)
- TARGET_LINK_LIBRARIES(SimpleInstExeS2 ${TEST1_LIBRARY} ${TEST2_LIBRARY} lib_test4)
- SET(install_target SimpleInstExeS2)
+ include_directories(${CMAKE_INSTALL_PREFIX}/MyTest/include)
+ add_executable (SimpleInstExeS2 inst2.cxx foo.c foo.h)
+ target_link_libraries(SimpleInstExeS2 ${TEST1_LIBRARY} ${TEST2_LIBRARY} lib_test4)
+ set(install_target SimpleInstExeS2)
- IF("${TEST1_LIBRARY}" MATCHES "static")
- MESSAGE(STATUS "test1 correctly found in lib/static")
- ELSE("${TEST1_LIBRARY}" MATCHES "static")
- MESSAGE(SEND_ERROR "test1 not found in lib/static!")
- ENDIF("${TEST1_LIBRARY}" MATCHES "static")
+ if("${TEST1_LIBRARY}" MATCHES "static")
+ message(STATUS "test1 correctly found in lib/static")
+ else()
+ message(SEND_ERROR "test1 not found in lib/static!")
+ endif()
# Check for failure of configuration-specific installation.
- IF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/include/Release/lib1debug.h")
- MESSAGE(FATAL_ERROR "Debug-configuration file installed for Release!")
- ENDIF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/include/Release/lib1debug.h")
- IF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/include/Debug/lib1release.h")
- MESSAGE(FATAL_ERROR "Release-configuration file installed for Debug!")
- ENDIF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/include/Debug/lib1release.h")
+ if(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/include/Release/lib1debug.h")
+ message(FATAL_ERROR "Debug-configuration file installed for Release!")
+ endif()
+ if(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/include/Debug/lib1release.h")
+ message(FATAL_ERROR "Release-configuration file installed for Debug!")
+ endif()
# Check for failure of directory installation.
- IF(NOT EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/TestSubDir/TSD.h")
- MESSAGE(FATAL_ERROR "Directory installation did not install TSD.h")
- ENDIF(NOT EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/TestSubDir/TSD.h")
- IF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/TestSubDir/CVS")
- MESSAGE(FATAL_ERROR "Directory installation installed CVS directory.")
- ENDIF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/TestSubDir/CVS")
- IF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/CVS")
- MESSAGE(FATAL_ERROR "Directory installation installed CVS directory.")
- ENDIF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/CVS")
- IF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/CMakeLists.txt")
- MESSAGE(FATAL_ERROR "Directory installation installed CMakeLists.txt.")
- ENDIF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/CMakeLists.txt")
- IF(NOT EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/alt/TestSubDir/TSD.h")
- MESSAGE(FATAL_ERROR "Directory installation did not install alternate TSD.h")
- ENDIF(NOT EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/alt/TestSubDir/TSD.h")
- IF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/alt/TestSubDir/TSD.cxx")
- MESSAGE(FATAL_ERROR "Directory installation installed alternate TSD.cxx")
- ENDIF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/alt/TestSubDir/TSD.cxx")
+ if(NOT EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/TestSubDir/TSD.h")
+ message(FATAL_ERROR "Directory installation did not install TSD.h")
+ endif()
+ if(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/TestSubDir/CVS")
+ message(FATAL_ERROR "Directory installation installed CVS directory.")
+ endif()
+ if(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/CVS")
+ message(FATAL_ERROR "Directory installation installed CVS directory.")
+ endif()
+ if(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/CMakeLists.txt")
+ message(FATAL_ERROR "Directory installation installed CMakeLists.txt.")
+ endif()
+ if(NOT EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/alt/TestSubDir/TSD.h")
+ message(FATAL_ERROR "Directory installation did not install alternate TSD.h")
+ endif()
+ if(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/alt/TestSubDir/TSD.cxx")
+ message(FATAL_ERROR "Directory installation installed alternate TSD.cxx")
+ endif()
# Check that scripts properly installed.
- IF(WIN32 AND NOT CYGWIN)
- SET(BAT .bat)
- ELSE(WIN32 AND NOT CYGWIN)
- SET(BAT)
- ENDIF(WIN32 AND NOT CYGWIN)
- FOREACH(loc share share/old1 share/old2 share/old3 share/alt)
- SET(CUR_SCRIPT "${CMAKE_INSTALL_PREFIX}/MyTest/${loc}/sample_script${BAT}")
- EXECUTE_PROCESS(
+ if(WIN32 AND NOT CYGWIN)
+ set(BAT .bat)
+ else()
+ set(BAT)
+ endif()
+ foreach(loc share share/old1 share/old2 share/old3 share/alt)
+ set(CUR_SCRIPT "${CMAKE_INSTALL_PREFIX}/MyTest/${loc}/sample_script${BAT}")
+ execute_process(
COMMAND ${CUR_SCRIPT}
RESULT_VARIABLE SAMPLE_SCRIPT_RESULT
OUTPUT_VARIABLE SAMPLE_SCRIPT_OUTPUT
)
- IF(NOT "${SAMPLE_SCRIPT_RESULT}" MATCHES "^0$")
- MESSAGE(FATAL_ERROR
+ if(NOT "${SAMPLE_SCRIPT_RESULT}" MATCHES "^0$")
+ message(FATAL_ERROR
"Sample script [${CUR_SCRIPT}] failed: [${SAMPLE_SCRIPT_RESULT}]")
- ENDIF(NOT "${SAMPLE_SCRIPT_RESULT}" MATCHES "^0$")
- IF(NOT "${SAMPLE_SCRIPT_OUTPUT}" MATCHES "Sample Script Output")
- MESSAGE(FATAL_ERROR
+ endif()
+ if(NOT "${SAMPLE_SCRIPT_OUTPUT}" MATCHES "Sample Script Output")
+ message(FATAL_ERROR
"Bad sample script [${CUR_SCRIPT}] output: [${SAMPLE_SCRIPT_OUTPUT}]")
- ENDIF(NOT "${SAMPLE_SCRIPT_OUTPUT}" MATCHES "Sample Script Output")
- ENDFOREACH(loc)
+ endif()
+ endforeach()
# Check for failure of empty directory installation.
- IF(NOT EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/empty")
- MESSAGE(FATAL_ERROR "Empty directory installation did not install.")
- ENDIF(NOT EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/empty")
- FILE(GLOB EMPTY_FILES "${CMAKE_INSTALL_PREFIX}/MyTest/share/empty/*")
- IF(EMPTY_FILES)
- MESSAGE(FATAL_ERROR "Empty directory installed [${EMPTY_FILES}].")
- ENDIF(EMPTY_FILES)
+ if(NOT EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/empty")
+ message(FATAL_ERROR "Empty directory installation did not install.")
+ endif()
+ file(GLOB EMPTY_FILES "${CMAKE_INSTALL_PREFIX}/MyTest/share/empty/*")
+ if(EMPTY_FILES)
+ message(FATAL_ERROR "Empty directory installed [${EMPTY_FILES}].")
+ endif()
# Make sure the test executable can run from the install tree.
- SET_TARGET_PROPERTIES(SimpleInstExeS2 PROPERTIES
+ set_target_properties(SimpleInstExeS2 PROPERTIES
INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/MyTest/lib)
- INSTALL_TARGETS(/MyTest/bin SimpleInstExeS2)
+ install_targets(/MyTest/bin SimpleInstExeS2)
# try to import the exported targets again
- SET(SimpleInstallS1_DIR ${CMAKE_INSTALL_PREFIX}/MyTest/lib)
- FIND_PACKAGE(SimpleInstallS1 REQUIRED)
- GET_TARGET_PROPERTY(simpleInstallImported S1_SimpleInstall IMPORTED)
- IF(NOT simpleInstallImported)
- MESSAGE(FATAL_ERROR "Target S1_SimpleInstall could not be imported")
- ENDIF(NOT simpleInstallImported)
-
-ELSE(STAGE2)
+ set(SimpleInstallS1_DIR ${CMAKE_INSTALL_PREFIX}/MyTest/lib)
+ find_package(SimpleInstallS1 REQUIRED)
+ get_target_property(simpleInstallImported S1_SimpleInstall IMPORTED)
+ if(NOT simpleInstallImported)
+ message(FATAL_ERROR "Target S1_SimpleInstall could not be imported")
+ endif()
+
+else()
# Wipe out the install directory to do a fresh test.
- FILE(REMOVE_RECURSE ${CMAKE_INSTALL_PREFIX}/MyTest)
+ file(REMOVE_RECURSE ${CMAKE_INSTALL_PREFIX}/MyTest)
# this is stage 1, so create libraries and modules and install everything
- ADD_LIBRARY(test1 STATIC lib1.cxx)
- ADD_LIBRARY(test2 SHARED lib2.cxx)
- ADD_LIBRARY(test3 MODULE lib3.cxx)
- ADD_LIBRARY(test4 SHARED lib4.cxx)
+ add_library(test1 STATIC lib1.cxx)
+ add_library(test2 SHARED lib2.cxx)
+ add_library(test3 MODULE lib3.cxx)
+ add_library(test4 SHARED lib4.cxx)
# Test <ARCHIVE|LIBRARY|RUNTIME>_OUTPUT_NAME properties.
- SET_PROPERTY(TARGET test4 PROPERTY ARCHIVE_OUTPUT_NAME test4out)
- SET_PROPERTY(TARGET test4 PROPERTY LIBRARY_OUTPUT_NAME test4out)
+ set_property(TARGET test4 PROPERTY ARCHIVE_OUTPUT_NAME test4out)
+ set_property(TARGET test4 PROPERTY LIBRARY_OUTPUT_NAME test4out)
- ADD_EXECUTABLE (SimpleInstall inst.cxx foo.c foo.h)
- TARGET_LINK_LIBRARIES(SimpleInstall test1 test2 test4)
- SET(install_target SimpleInstall)
+ add_executable (SimpleInstall inst.cxx foo.c foo.h)
+ target_link_libraries(SimpleInstall test1 test2 test4)
+ set(install_target SimpleInstall)
- SET_TARGET_PROPERTIES(SimpleInstall PROPERTIES OUTPUT_NAME SimpleInstExe)
+ set_target_properties(SimpleInstall PROPERTIES OUTPUT_NAME SimpleInstExe)
# Disable VERSION test until it is implemented in the Xcode generator.
- IF(NOT XCODE)
- SET_TARGET_PROPERTIES(SimpleInstall PROPERTIES VERSION 1.2)
- ENDIF(NOT XCODE)
+ if(NOT XCODE)
+ set_target_properties(SimpleInstall PROPERTIES VERSION 1.2)
+ endif()
# Make sure the test executable can run from the install tree.
- SET_TARGET_PROPERTIES(SimpleInstall PROPERTIES
+ set_target_properties(SimpleInstall PROPERTIES
INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/MyTest/lib)
# Test per-configuration output name.
- SET_TARGET_PROPERTIES(test1 PROPERTIES RELEASE_OUTPUT_NAME test1rel)
- SET_TARGET_PROPERTIES(test2 PROPERTIES PUBLIC_HEADER foo.h)
+ set_target_properties(test1 PROPERTIES RELEASE_OUTPUT_NAME test1rel)
+ set_target_properties(test2 PROPERTIES PUBLIC_HEADER foo.h)
- IF(CMAKE_GENERATOR MATCHES "Makefiles")
- ADD_SUBDIRECTORY(TestSubDir)
- ADD_DEPENDENCIES(SimpleInstall TSD)
- ENDIF(CMAKE_GENERATOR MATCHES "Makefiles")
+ if(CMAKE_GENERATOR MATCHES "Makefiles")
+ add_subdirectory(TestSubDir)
+ add_dependencies(SimpleInstall TSD)
+ endif()
- ADD_DEPENDENCIES(SimpleInstall test3)
- ADD_DEPENDENCIES(test2 test3)
- ADD_DEPENDENCIES(test4 test2)
+ add_dependencies(SimpleInstall test3)
+ add_dependencies(test2 test3)
+ add_dependencies(test4 test2)
- INSTALL(TARGETS SimpleInstall test1 test2 test3 EXPORT SimpleInstallS1
+ install(TARGETS SimpleInstall test1 test2 test3 EXPORT SimpleInstallS1
RUNTIME DESTINATION MyTest/bin COMPONENT Runtime # .exe, .dll
LIBRARY DESTINATION MyTest/lib COMPONENT Runtime # .so, mod.dll
ARCHIVE DESTINATION MyTest/lib/static COMPONENT Development # .a, .lib
- PUBLIC_HEADER DESTINATION MyTest/include COMPONENT Development
+ PUBLIC_HEADER DESTINATION MyTest/include COMPONENT Development
)
- INSTALL(TARGETS test4 PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
+ install(TARGETS test4 PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
RUNTIME DESTINATION MyTest/bin
LIBRARY DESTINATION MyTest/lib
ARCHIVE DESTINATION MyTest/lib/static
OPTIONAL # for coverage...target should always exist
)
- INSTALL(FILES lib1.h DESTINATION MyTest/include/foo)
- INSTALL(FILES lib2.h
+ install(FILES lib1.h DESTINATION MyTest/include/foo)
+ install(FILES lib2.h
DESTINATION MyTest/include/foo
COMPONENT Development
PERMISSIONS OWNER_READ OWNER_WRITE
@@ -218,40 +218,40 @@ ELSE(STAGE2)
)
# Test old-style install commands.
- INSTALL_FILES(/MyTest/include FILES lib3.h)
- INSTALL_FILES(/MyTest/include/old .h lib3)
- INSTALL_FILES(/MyTest/include/old "^lib2.h$")
- INSTALL_PROGRAMS(/MyTest/share/old1 FILES
+ install_files(/MyTest/include FILES lib3.h)
+ install_files(/MyTest/include/old .h lib3)
+ install_files(/MyTest/include/old "^lib2.h$")
+ install_programs(/MyTest/share/old1 FILES
scripts/sample_script scripts/sample_script.bat)
- INSTALL_PROGRAMS(/MyTest/share/old2
+ install_programs(/MyTest/share/old2
scripts/sample_script scripts/sample_script.bat)
# "export" the targets collected in "SimpleInstallS1"
- INSTALL(EXPORT SimpleInstallS1 FILE SimpleInstallS1Config.cmake
- DESTINATION MyTest/lib
+ install(EXPORT SimpleInstallS1 FILE SimpleInstallS1Config.cmake
+ DESTINATION MyTest/lib
NAMESPACE S1_ )
- EXPORT(TARGETS SimpleInstall test1 test2 test3
+ export(TARGETS SimpleInstall test1 test2 test3
FILE "${CMAKE_CURRENT_BINARY_DIR}/SimpleInstallS1Config.cmake"
NAMESPACE S2_ )
- ADD_SUBDIRECTORY(scripts)
+ add_subdirectory(scripts)
# Test optional installation.
- INSTALL(FILES does_not_exist.h DESTINATION MyTest/include/foo OPTIONAL)
+ install(FILES does_not_exist.h DESTINATION MyTest/include/foo OPTIONAL)
# Test configuration-specific installation.
- INSTALL(FILES lib1.h RENAME lib1release.h CONFIGURATIONS Release
+ install(FILES lib1.h RENAME lib1release.h CONFIGURATIONS Release
DESTINATION MyTest/include/Release
)
- INSTALL(FILES lib1.h RENAME lib1debug.h CONFIGURATIONS Debug
+ install(FILES lib1.h RENAME lib1debug.h CONFIGURATIONS Debug
DESTINATION MyTest/include/Debug
)
# Test directory installation.
- FILE(REMOVE_RECURSE "${CMAKE_INSTALL_PREFIX}/MyTest/share/CVS")
- FILE(REMOVE_RECURSE "${CMAKE_INSTALL_PREFIX}/MyTest/share/TestSubDir/CVS")
- INSTALL(
+ file(REMOVE_RECURSE "${CMAKE_INSTALL_PREFIX}/MyTest/share/CVS")
+ file(REMOVE_RECURSE "${CMAKE_INSTALL_PREFIX}/MyTest/share/TestSubDir/CVS")
+ install(
DIRECTORY TestSubDir scripts/ DESTINATION MyTest/share
FILE_PERMISSIONS OWNER_READ OWNER_WRITE
DIRECTORY_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
@@ -262,14 +262,14 @@ ELSE(STAGE2)
)
# Alternate directory installation for coverage.
- INSTALL(
+ install(
DIRECTORY scripts/ DESTINATION MyTest/share/alt
COMPONENT Development
USE_SOURCE_PERMISSIONS
PATTERN "CVS" EXCLUDE
REGEX "\\.txt$" EXCLUDE
)
- INSTALL(
+ install(
DIRECTORY TestSubDir DESTINATION MyTest/share/alt
FILE_PERMISSIONS OWNER_READ OWNER_WRITE
DIRECTORY_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
@@ -278,109 +278,109 @@ ELSE(STAGE2)
)
# Test empty directory installation.
- INSTALL(DIRECTORY DESTINATION MyTest/share/empty)
+ install(DIRECTORY DESTINATION MyTest/share/empty)
# Test optional directory installation.
- INSTALL(DIRECTORY does-not-exist DESTINATION MyTest/share OPTIONAL)
+ install(DIRECTORY does-not-exist DESTINATION MyTest/share OPTIONAL)
# Test user-specified install scripts, with and without COMPONENT.
- INSTALL(
+ install(
SCRIPT InstallScript1.cmake
- CODE "SET(INSTALL_CODE_DID_RUN 1)"
+ CODE "set(INSTALL_CODE_DID_RUN 1)"
SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/InstallScript2.cmake
)
- INSTALL(
+ install(
SCRIPT InstallScript3.cmake
- CODE "SET(INSTALL_CODE_WITH_COMPONENT_DID_RUN 1)"
+ CODE "set(INSTALL_CODE_WITH_COMPONENT_DID_RUN 1)"
SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/InstallScript4.cmake
COMPONENT Development
)
- SET_DIRECTORY_PROPERTIES(PROPERTIES
+ set_directory_properties(PROPERTIES
ADDITIONAL_MAKE_CLEAN_FILES
"${CMAKE_INSTALL_PREFIX}/InstallScriptOut.cmake;${CMAKE_INSTALL_PREFIX}/InstallScript4Out.cmake")
- SET_TARGET_PROPERTIES(SimpleInstall PROPERTIES PRE_INSTALL_SCRIPT
+ set_target_properties(SimpleInstall PROPERTIES PRE_INSTALL_SCRIPT
${CMAKE_CURRENT_SOURCE_DIR}/PreInstall.cmake)
- SET_TARGET_PROPERTIES(SimpleInstall PROPERTIES POST_INSTALL_SCRIPT
+ set_target_properties(SimpleInstall PROPERTIES POST_INSTALL_SCRIPT
${CMAKE_CURRENT_SOURCE_DIR}/PostInstall.cmake)
- SET_TARGET_PROPERTIES(test4 PROPERTIES VERSION 1.2 SOVERSION 3
+ set_target_properties(test4 PROPERTIES VERSION 1.2 SOVERSION 3
INSTALL_NAME_DIR @executable_path/../lib)
-ENDIF(STAGE2)
+endif()
-IF(CMAKE_CONFIGURATION_TYPES)
- SET(SI_CONFIG -C ${CMAKE_CFG_INTDIR})
-ELSE(CMAKE_CONFIGURATION_TYPES)
- SET(SI_CONFIG)
-ENDIF(CMAKE_CONFIGURATION_TYPES)
+if(CMAKE_CONFIGURATION_TYPES)
+ set(SI_CONFIG -C ${CMAKE_CFG_INTDIR})
+else()
+ set(SI_CONFIG)
+endif()
# Dummy test of CPack
-SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Test of packaging with cpack")
-SET(CPACK_PACKAGE_VENDOR "Kitware")
-SET(CPACK_INSTALL_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/PackageScript.cmake")
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Test of packaging with cpack")
+set(CPACK_PACKAGE_VENDOR "Kitware")
+set(CPACK_INSTALL_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/PackageScript.cmake")
-IF(WIN32 AND NOT UNIX)
- FIND_PROGRAM(NSIS_MAKENSIS NAMES makensis
+if(WIN32 AND NOT UNIX)
+ find_program(NSIS_MAKENSIS NAMES makensis
PATHS [HKEY_LOCAL_MACHINE\\SOFTWARE\\NSIS]
DOC "Where is makensis.exe located"
)
- IF(NOT NSIS_MAKENSIS)
- SET(CPACK_GENERATOR TGZ)
- ENDIF(NOT NSIS_MAKENSIS)
-ENDIF(WIN32 AND NOT UNIX)
-IF(UNIX AND NOT APPLE)
- SET(CPACK_GENERATOR "TGZ;STGZ;TZ")
- # FIND_PROGRAM(found_compress
+ if(NOT NSIS_MAKENSIS)
+ set(CPACK_GENERATOR TGZ)
+ endif()
+endif()
+if(UNIX AND NOT APPLE)
+ set(CPACK_GENERATOR "TGZ;STGZ;TZ")
+ # find_program(found_compress
# NAMES compress)
- # IF(found_compress)
- # FIND_PROGRAM(file_command NAMES file)
- # IF(NOT file_command)
+ # if(found_compress)
+ # find_program(file_command NAMES file)
+ # if(NOT file_command)
# set(file_command file)
- # ENDIF(NOT file_command)
- # EXECUTE_PROCESS(COMMAND ${file_command} ${found_compress}
+ # endif()
+ # execute_process(COMMAND ${file_command} ${found_compress}
# OUTPUT_VARIABLE output)
# set(SKIP_TZ FALSE)
# if("${output}" MATCHES "script")
# set(SKIP_TZ TRUE)
- # endif("${output}" MATCHES "script")
+ # endif()
# if("${output}" MATCHES "dummy.sh")
# set(SKIP_TZ TRUE)
- # endif("${output}" MATCHES "dummy.sh")
+ # endif()
# if(NOT SKIP_TZ)
# message("compress found and it was not a script")
# message("output from file command: [${output}]")
- # SET(CPACK_GENERATOR "${CPACK_GENERATOR};TZ")
- # else(NOT SKIP_TZ)
+ # set(CPACK_GENERATOR "${CPACK_GENERATOR};TZ")
+ # else()
# message("compress found, but it was a script so dont use it")
# message("output from file command: [${output}]")
- # endif(NOT SKIP_TZ)
- # ENDIF(found_compress)
- FIND_PROGRAM(found_bz2
+ # endif()
+ # endif()
+ find_program(found_bz2
NAMES bzip2)
- IF(found_bz2)
- SET(CPACK_GENERATOR "${CPACK_GENERATOR};TBZ2")
- ENDIF(found_bz2)
-ENDIF(UNIX AND NOT APPLE)
+ if(found_bz2)
+ set(CPACK_GENERATOR "${CPACK_GENERATOR};TBZ2")
+ endif()
+endif()
-SET(CPACK_PACKAGE_EXECUTABLES "SimpleInstall" "Simple Install")
-SET(CMAKE_INSTALL_MFC_LIBRARIES 1)
-SET(CMAKE_INSTALL_DEBUG_LIBRARIES 1)
-INCLUDE(InstallRequiredSystemLibraries)
+set(CPACK_PACKAGE_EXECUTABLES "SimpleInstall" "Simple Install")
+set(CMAKE_INSTALL_MFC_LIBRARIES 1)
+set(CMAKE_INSTALL_DEBUG_LIBRARIES 1)
+include(InstallRequiredSystemLibraries)
-IF(CTEST_TEST_CPACK)
- SET(PACKAGE_TARGET --build-target package)
+if(CTEST_TEST_CPACK)
+ set(PACKAGE_TARGET --build-target package)
# Avoid settings that require the .zip file command line tools...
# (just build an NSIS installer without component support)
#
- SET(CPACK_BINARY_ZIP OFF)
- SET(CPACK_MONOLITHIC_INSTALL ON)
-ELSE(CTEST_TEST_CPACK)
- SET(PACKAGE_TARGET)
-ENDIF(CTEST_TEST_CPACK)
+ set(CPACK_BINARY_ZIP OFF)
+ set(CPACK_MONOLITHIC_INSTALL ON)
+else()
+ set(PACKAGE_TARGET)
+endif()
-INCLUDE(CPack)
+include(CPack)
-ADD_CUSTOM_COMMAND(
+add_custom_command(
TARGET ${install_target}
POST_BUILD
COMMAND ${CMAKE_CTEST_COMMAND}
diff --git a/Tests/SimpleInstall/InstallScript1.cmake b/Tests/SimpleInstall/InstallScript1.cmake
index 27b7725f8..ef9da5761 100644
--- a/Tests/SimpleInstall/InstallScript1.cmake
+++ b/Tests/SimpleInstall/InstallScript1.cmake
@@ -1,5 +1,5 @@
-MESSAGE("This is install script 1.")
-SET(INSTALL_SCRIPT_1_DID_RUN 1)
-IF(INSTALL_CODE_DID_RUN)
- MESSAGE(FATAL_ERROR "Install script 1 did not run before install code.")
-ENDIF(INSTALL_CODE_DID_RUN)
+message("This is install script 1.")
+set(INSTALL_SCRIPT_1_DID_RUN 1)
+if(INSTALL_CODE_DID_RUN)
+ message(FATAL_ERROR "Install script 1 did not run before install code.")
+endif()
diff --git a/Tests/SimpleInstall/InstallScript2.cmake b/Tests/SimpleInstall/InstallScript2.cmake
index 927cae8b6..c1d20a3a6 100644
--- a/Tests/SimpleInstall/InstallScript2.cmake
+++ b/Tests/SimpleInstall/InstallScript2.cmake
@@ -1,14 +1,14 @@
-MESSAGE("This is install script 2.")
-IF(INSTALL_SCRIPT_1_DID_RUN)
- MESSAGE("Install script ordering works.")
-ELSE(INSTALL_SCRIPT_1_DID_RUN)
- MESSAGE(FATAL_ERROR "Install script 1 did not run before install script 2.")
-ENDIF(INSTALL_SCRIPT_1_DID_RUN)
-IF(INSTALL_CODE_DID_RUN)
- MESSAGE("Install code ordering works.")
-ELSE(INSTALL_CODE_DID_RUN)
- MESSAGE(FATAL_ERROR "Install script 2 did not run after install code.")
-ENDIF(INSTALL_CODE_DID_RUN)
-FILE(WRITE "${CMAKE_INSTALL_PREFIX}/MyTest/InstallScriptOut.cmake"
- "SET(CMAKE_INSTALL_SCRIPT_DID_RUN 1)\n"
+message("This is install script 2.")
+if(INSTALL_SCRIPT_1_DID_RUN)
+ message("Install script ordering works.")
+else()
+ message(FATAL_ERROR "Install script 1 did not run before install script 2.")
+endif()
+if(INSTALL_CODE_DID_RUN)
+ message("Install code ordering works.")
+else()
+ message(FATAL_ERROR "Install script 2 did not run after install code.")
+endif()
+file(WRITE "${CMAKE_INSTALL_PREFIX}/MyTest/InstallScriptOut.cmake"
+ "set(CMAKE_INSTALL_SCRIPT_DID_RUN 1)\n"
)
diff --git a/Tests/SimpleInstall/InstallScript3.cmake b/Tests/SimpleInstall/InstallScript3.cmake
index b1aecd4c2..64851564d 100644
--- a/Tests/SimpleInstall/InstallScript3.cmake
+++ b/Tests/SimpleInstall/InstallScript3.cmake
@@ -1,12 +1,12 @@
-MESSAGE("This is install script 3.")
-SET(INSTALL_SCRIPT_3_DID_RUN 1)
-IF(INSTALL_CODE_WITH_COMPONENT_DID_RUN)
- MESSAGE(FATAL_ERROR "Install script 3 did not run before install code with component.")
-ENDIF(INSTALL_CODE_WITH_COMPONENT_DID_RUN)
+message("This is install script 3.")
+set(INSTALL_SCRIPT_3_DID_RUN 1)
+if(INSTALL_CODE_WITH_COMPONENT_DID_RUN)
+ message(FATAL_ERROR "Install script 3 did not run before install code with component.")
+endif()
-IF(CMAKE_INSTALL_COMPONENT)
-IF(NOT "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Development")
- MESSAGE("CMAKE_INSTALL_COMPONENT=\"${CMAKE_INSTALL_COMPONENT}\"")
- MESSAGE(FATAL_ERROR "Install script 3 should only run for \"Development\" INSTALL COMPONENT.")
-ENDIF(NOT "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Development")
-ENDIF(CMAKE_INSTALL_COMPONENT)
+if(CMAKE_INSTALL_COMPONENT)
+if(NOT "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Development")
+ message("CMAKE_INSTALL_COMPONENT=\"${CMAKE_INSTALL_COMPONENT}\"")
+ message(FATAL_ERROR "Install script 3 should only run for \"Development\" INSTALL COMPONENT.")
+endif()
+endif()
diff --git a/Tests/SimpleInstall/InstallScript4.cmake b/Tests/SimpleInstall/InstallScript4.cmake
index 0ffea4bc8..34d0a73bb 100644
--- a/Tests/SimpleInstall/InstallScript4.cmake
+++ b/Tests/SimpleInstall/InstallScript4.cmake
@@ -1,22 +1,22 @@
-MESSAGE("This is install script 4.")
-IF(INSTALL_SCRIPT_3_DID_RUN)
- MESSAGE("Install script ordering works.")
-ELSE(INSTALL_SCRIPT_3_DID_RUN)
- MESSAGE(FATAL_ERROR "Install script 3 did not run before install script 4.")
-ENDIF(INSTALL_SCRIPT_3_DID_RUN)
-IF(INSTALL_CODE_WITH_COMPONENT_DID_RUN)
- MESSAGE("Install code ordering works.")
-ELSE(INSTALL_CODE_WITH_COMPONENT_DID_RUN)
- MESSAGE(FATAL_ERROR "Install script 4 did not run after install with component code.")
-ENDIF(INSTALL_CODE_WITH_COMPONENT_DID_RUN)
+message("This is install script 4.")
+if(INSTALL_SCRIPT_3_DID_RUN)
+ message("Install script ordering works.")
+else()
+ message(FATAL_ERROR "Install script 3 did not run before install script 4.")
+endif()
+if(INSTALL_CODE_WITH_COMPONENT_DID_RUN)
+ message("Install code ordering works.")
+else()
+ message(FATAL_ERROR "Install script 4 did not run after install with component code.")
+endif()
-IF(CMAKE_INSTALL_COMPONENT)
-IF(NOT "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Development")
- MESSAGE("CMAKE_INSTALL_COMPONENT=\"${CMAKE_INSTALL_COMPONENT}\"")
- MESSAGE(FATAL_ERROR "Install script 4 should only run for \"Development\" INSTALL COMPONENT.")
-ENDIF(NOT "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Development")
-ENDIF(CMAKE_INSTALL_COMPONENT)
+if(CMAKE_INSTALL_COMPONENT)
+if(NOT "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Development")
+ message("CMAKE_INSTALL_COMPONENT=\"${CMAKE_INSTALL_COMPONENT}\"")
+ message(FATAL_ERROR "Install script 4 should only run for \"Development\" INSTALL COMPONENT.")
+endif()
+endif()
-FILE(WRITE "${CMAKE_INSTALL_PREFIX}/MyTest/InstallScript4Out.cmake"
- "SET(CMAKE_INSTALL_SCRIPT_4_DID_RUN 1)\n"
+file(WRITE "${CMAKE_INSTALL_PREFIX}/MyTest/InstallScript4Out.cmake"
+ "set(CMAKE_INSTALL_SCRIPT_4_DID_RUN 1)\n"
)
diff --git a/Tests/SimpleInstall/PackageScript.cmake b/Tests/SimpleInstall/PackageScript.cmake
index 3567a2f43..53b790932 100644
--- a/Tests/SimpleInstall/PackageScript.cmake
+++ b/Tests/SimpleInstall/PackageScript.cmake
@@ -1,10 +1,10 @@
-MESSAGE("This is packaging script")
-MESSAGE("It writes a file with all variables available in ${CMAKE_INSTALL_PREFIX}/AllVariables.txt")
+message("This is packaging script")
+message("It writes a file with all variables available in ${CMAKE_INSTALL_PREFIX}/AllVariables.txt")
-FILE(WRITE ${CMAKE_INSTALL_PREFIX}/AllVariables.txt "")
-GET_CMAKE_PROPERTY(res VARIABLES)
-FOREACH(var ${res})
- FILE(APPEND ${CMAKE_INSTALL_PREFIX}/AllVariables.txt
+file(WRITE ${CMAKE_INSTALL_PREFIX}/AllVariables.txt "")
+get_cmake_property(res VARIABLES)
+foreach(var ${res})
+ file(APPEND ${CMAKE_INSTALL_PREFIX}/AllVariables.txt
"${var} \"${${var}}\"\n")
-ENDFOREACH(var ${res})
+endforeach()
diff --git a/Tests/SimpleInstall/PostInstall.cmake b/Tests/SimpleInstall/PostInstall.cmake
index 52ea140a5..d616221ef 100644
--- a/Tests/SimpleInstall/PostInstall.cmake
+++ b/Tests/SimpleInstall/PostInstall.cmake
@@ -1,6 +1,6 @@
-MESSAGE("In post install")
-IF(PRE_INSTALL_DID_RUN)
- MESSAGE("Pre and post install work fine")
-ELSE(PRE_INSTALL_DID_RUN)
- MESSAGE(FATAL_ERROR "Pre install did not run before post install")
-ENDIF(PRE_INSTALL_DID_RUN)
+message("In post install")
+if(PRE_INSTALL_DID_RUN)
+ message("Pre and post install work fine")
+else()
+ message(FATAL_ERROR "Pre install did not run before post install")
+endif()
diff --git a/Tests/SimpleInstall/PreInstall.cmake b/Tests/SimpleInstall/PreInstall.cmake
index 2ea2f7716..7a9851e1d 100644
--- a/Tests/SimpleInstall/PreInstall.cmake
+++ b/Tests/SimpleInstall/PreInstall.cmake
@@ -1,2 +1,2 @@
-MESSAGE("This is in pre install")
-SET(PRE_INSTALL_DID_RUN 1)
+message("This is in pre install")
+set(PRE_INSTALL_DID_RUN 1)
diff --git a/Tests/SimpleInstall/TestSubDir/CMakeLists.txt b/Tests/SimpleInstall/TestSubDir/CMakeLists.txt
index 4f6295300..860e10425 100644
--- a/Tests/SimpleInstall/TestSubDir/CMakeLists.txt
+++ b/Tests/SimpleInstall/TestSubDir/CMakeLists.txt
@@ -1,3 +1,3 @@
-ADD_EXECUTABLE(TSD TSD.cxx TSD_utils.cxx)
-INSTALL_FILES(/MyTest/include FILES TSD.h)
-INSTALL_TARGETS(/MyTest/bin TSD)
+add_executable(TSD TSD.cxx TSD_utils.cxx)
+install_files(/MyTest/include FILES TSD.h)
+install_targets(/MyTest/bin TSD)
diff --git a/Tests/SimpleInstall/lib2.h b/Tests/SimpleInstall/lib2.h
index ea5a6f7ea..d69b78613 100644
--- a/Tests/SimpleInstall/lib2.h
+++ b/Tests/SimpleInstall/lib2.h
@@ -5,7 +5,7 @@
# define CM_TEST_LIB_EXPORT __declspec( dllimport )
# endif
#else
-# define CM_TEST_LIB_EXPORT
+# define CM_TEST_LIB_EXPORT
#endif
CM_TEST_LIB_EXPORT float Lib2Func();
diff --git a/Tests/SimpleInstall/lib3.h b/Tests/SimpleInstall/lib3.h
index c250ed769..66bc52a7f 100644
--- a/Tests/SimpleInstall/lib3.h
+++ b/Tests/SimpleInstall/lib3.h
@@ -5,7 +5,7 @@
# define CM_TEST_LIB_EXPORT __declspec( dllimport )
# endif
#else
-# define CM_TEST_LIB_EXPORT
+# define CM_TEST_LIB_EXPORT
#endif
CM_TEST_LIB_EXPORT float Lib3Func();
diff --git a/Tests/SimpleInstall/lib4.h b/Tests/SimpleInstall/lib4.h
index 4b94ea207..11c127247 100644
--- a/Tests/SimpleInstall/lib4.h
+++ b/Tests/SimpleInstall/lib4.h
@@ -5,7 +5,7 @@
# define CM_TEST_LIB_EXPORT __declspec( dllimport )
# endif
#else
-# define CM_TEST_LIB_EXPORT
+# define CM_TEST_LIB_EXPORT
#endif
CM_TEST_LIB_EXPORT float Lib4Func();
diff --git a/Tests/SimpleInstall/scripts/CMakeLists.txt b/Tests/SimpleInstall/scripts/CMakeLists.txt
index d46c1652e..ec34e8c50 100644
--- a/Tests/SimpleInstall/scripts/CMakeLists.txt
+++ b/Tests/SimpleInstall/scripts/CMakeLists.txt
@@ -1 +1 @@
-INSTALL_PROGRAMS(/MyTest/share/old3 "^sample_script(\\.bat)?$")
+install_programs(/MyTest/share/old3 "^sample_script(\\.bat)?$")
diff --git a/Tests/SimpleInstallS2/CMakeLists.txt b/Tests/SimpleInstallS2/CMakeLists.txt
index 378b5292b..479d6ec36 100644
--- a/Tests/SimpleInstallS2/CMakeLists.txt
+++ b/Tests/SimpleInstallS2/CMakeLists.txt
@@ -1,216 +1,216 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT (TestSimpleInstall)
-SET(CMAKE_VERBOSE_MAKEFILE 1)
-SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY
+project (TestSimpleInstall)
+set(CMAKE_VERBOSE_MAKEFILE 1)
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY
"${TestSimpleInstall_BINARY_DIR}/bin")
-SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY
"${TestSimpleInstall_BINARY_DIR}/lib/static")
-SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY
"${TestSimpleInstall_BINARY_DIR}/lib")
# Skip generating the rpath pointing at the build tree to make sure
# the executable is installed with the proper rpath in the install
# tree.
-SET(CMAKE_SKIP_BUILD_RPATH 1)
+set(CMAKE_SKIP_BUILD_RPATH 1)
# Make sure the executable can run from the install tree.
-SET(CMAKE_INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/MyTest/lib)
+set(CMAKE_INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/MyTest/lib)
# Skip the dependency that causes a build when installing. This
# avoids infinite loops when the post-build rule below installs.
-SET(CMAKE_SKIP_INSTALL_ALL_DEPENDENCY 1)
-SET(CMAKE_SKIP_PACKAGE_ALL_DEPENDENCY 1)
+set(CMAKE_SKIP_INSTALL_ALL_DEPENDENCY 1)
+set(CMAKE_SKIP_PACKAGE_ALL_DEPENDENCY 1)
-SET(CMAKE_DEBUG_POSTFIX "_test_debug_postfix")
+set(CMAKE_DEBUG_POSTFIX "_test_debug_postfix")
-SET(EXTRA_INSTALL_FLAGS)
-MESSAGE("Extra install: ${EXTRA_INSTALL_FLAGS}")
+set(EXTRA_INSTALL_FLAGS)
+message("Extra install: ${EXTRA_INSTALL_FLAGS}")
-IF(STAGE2)
- SET(LIBPATHS
+if(STAGE2)
+ set(LIBPATHS
${CMAKE_INSTALL_PREFIX}/MyTest/lib/static
${CMAKE_INSTALL_PREFIX}/MyTest/lib
)
- SET(t1NAMES test1 test1${CMAKE_DEBUG_POSTFIX} test1rel)
- SET(t2NAMES test2 test2${CMAKE_DEBUG_POSTFIX})
- SET(t4NAMES test4out test4out${CMAKE_DEBUG_POSTFIX})
+ set(t1NAMES test1 test1${CMAKE_DEBUG_POSTFIX} test1rel)
+ set(t2NAMES test2 test2${CMAKE_DEBUG_POSTFIX})
+ set(t4NAMES test4out test4out${CMAKE_DEBUG_POSTFIX})
# Make sure the install script ran.
- SET(CMAKE_INSTALL_SCRIPT_DID_RUN 0)
- INCLUDE(${CMAKE_INSTALL_PREFIX}/MyTest/InstallScriptOut.cmake OPTIONAL)
- IF(CMAKE_INSTALL_SCRIPT_DID_RUN)
- MESSAGE(STATUS "Stage 1 did run install script 2.")
- ELSE(CMAKE_INSTALL_SCRIPT_DID_RUN)
- MESSAGE(SEND_ERROR "Stage 1 did not run install script 2.")
- ENDIF(CMAKE_INSTALL_SCRIPT_DID_RUN)
-
- IF(CYGWIN OR MINGW)
- SET(LIBPATHS ${LIBPATHS} "${CMAKE_INSTALL_PREFIX}/MyTest/bin")
- ENDIF(CYGWIN OR MINGW)
- MESSAGE("Search for library in: ${LIBPATHS}")
-
- SET(TEST1_LIBRARY "TEST1_LIBRARY-NOTFOUND" CACHE FILEPATH "Force find." FORCE)
- SET(TEST2_LIBRARY "TEST2_LIBRARY-NOTFOUND" CACHE FILEPATH "Force find." FORCE)
- SET(TEST4_LIBRARY "TEST4_LIBRARY-NOTFOUND" CACHE FILEPATH "Force find." FORCE)
-
- FIND_LIBRARY(TEST1_LIBRARY
+ set(CMAKE_INSTALL_SCRIPT_DID_RUN 0)
+ include(${CMAKE_INSTALL_PREFIX}/MyTest/InstallScriptOut.cmake OPTIONAL)
+ if(CMAKE_INSTALL_SCRIPT_DID_RUN)
+ message(STATUS "Stage 1 did run install script 2.")
+ else()
+ message(SEND_ERROR "Stage 1 did not run install script 2.")
+ endif()
+
+ if(CYGWIN OR MINGW)
+ set(LIBPATHS ${LIBPATHS} "${CMAKE_INSTALL_PREFIX}/MyTest/bin")
+ endif()
+ message("Search for library in: ${LIBPATHS}")
+
+ set(TEST1_LIBRARY "TEST1_LIBRARY-NOTFOUND" CACHE FILEPATH "Force find." FORCE)
+ set(TEST2_LIBRARY "TEST2_LIBRARY-NOTFOUND" CACHE FILEPATH "Force find." FORCE)
+ set(TEST4_LIBRARY "TEST4_LIBRARY-NOTFOUND" CACHE FILEPATH "Force find." FORCE)
+
+ find_library(TEST1_LIBRARY
NAMES ${t1NAMES}
PATHS ${LIBPATHS}
DOC "First library")
- FIND_LIBRARY(TEST2_LIBRARY
+ find_library(TEST2_LIBRARY
NAMES ${t2NAMES}
PATHS ${LIBPATHS}
DOC "Second library")
- FIND_LIBRARY(TEST4_LIBRARY
+ find_library(TEST4_LIBRARY
NAMES ${t4NAMES}
PATHS ${LIBPATHS}
DOC "Fourth library")
# Test importing a library found on disk.
- ADD_LIBRARY(lib_test4 UNKNOWN IMPORTED)
- SET_PROPERTY(TARGET lib_test4 PROPERTY IMPORTED_LOCATION ${TEST4_LIBRARY})
+ add_library(lib_test4 UNKNOWN IMPORTED)
+ set_property(TARGET lib_test4 PROPERTY IMPORTED_LOCATION ${TEST4_LIBRARY})
- INCLUDE_DIRECTORIES(${CMAKE_INSTALL_PREFIX}/MyTest/include)
- ADD_EXECUTABLE (SimpleInstExeS2 inst2.cxx foo.c foo.h)
- TARGET_LINK_LIBRARIES(SimpleInstExeS2 ${TEST1_LIBRARY} ${TEST2_LIBRARY} lib_test4)
- SET(install_target SimpleInstExeS2)
+ include_directories(${CMAKE_INSTALL_PREFIX}/MyTest/include)
+ add_executable (SimpleInstExeS2 inst2.cxx foo.c foo.h)
+ target_link_libraries(SimpleInstExeS2 ${TEST1_LIBRARY} ${TEST2_LIBRARY} lib_test4)
+ set(install_target SimpleInstExeS2)
- IF("${TEST1_LIBRARY}" MATCHES "static")
- MESSAGE(STATUS "test1 correctly found in lib/static")
- ELSE("${TEST1_LIBRARY}" MATCHES "static")
- MESSAGE(SEND_ERROR "test1 not found in lib/static!")
- ENDIF("${TEST1_LIBRARY}" MATCHES "static")
+ if("${TEST1_LIBRARY}" MATCHES "static")
+ message(STATUS "test1 correctly found in lib/static")
+ else()
+ message(SEND_ERROR "test1 not found in lib/static!")
+ endif()
# Check for failure of configuration-specific installation.
- IF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/include/Release/lib1debug.h")
- MESSAGE(FATAL_ERROR "Debug-configuration file installed for Release!")
- ENDIF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/include/Release/lib1debug.h")
- IF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/include/Debug/lib1release.h")
- MESSAGE(FATAL_ERROR "Release-configuration file installed for Debug!")
- ENDIF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/include/Debug/lib1release.h")
+ if(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/include/Release/lib1debug.h")
+ message(FATAL_ERROR "Debug-configuration file installed for Release!")
+ endif()
+ if(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/include/Debug/lib1release.h")
+ message(FATAL_ERROR "Release-configuration file installed for Debug!")
+ endif()
# Check for failure of directory installation.
- IF(NOT EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/TestSubDir/TSD.h")
- MESSAGE(FATAL_ERROR "Directory installation did not install TSD.h")
- ENDIF(NOT EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/TestSubDir/TSD.h")
- IF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/TestSubDir/CVS")
- MESSAGE(FATAL_ERROR "Directory installation installed CVS directory.")
- ENDIF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/TestSubDir/CVS")
- IF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/CVS")
- MESSAGE(FATAL_ERROR "Directory installation installed CVS directory.")
- ENDIF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/CVS")
- IF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/CMakeLists.txt")
- MESSAGE(FATAL_ERROR "Directory installation installed CMakeLists.txt.")
- ENDIF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/CMakeLists.txt")
- IF(NOT EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/alt/TestSubDir/TSD.h")
- MESSAGE(FATAL_ERROR "Directory installation did not install alternate TSD.h")
- ENDIF(NOT EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/alt/TestSubDir/TSD.h")
- IF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/alt/TestSubDir/TSD.cxx")
- MESSAGE(FATAL_ERROR "Directory installation installed alternate TSD.cxx")
- ENDIF(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/alt/TestSubDir/TSD.cxx")
+ if(NOT EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/TestSubDir/TSD.h")
+ message(FATAL_ERROR "Directory installation did not install TSD.h")
+ endif()
+ if(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/TestSubDir/CVS")
+ message(FATAL_ERROR "Directory installation installed CVS directory.")
+ endif()
+ if(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/CVS")
+ message(FATAL_ERROR "Directory installation installed CVS directory.")
+ endif()
+ if(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/CMakeLists.txt")
+ message(FATAL_ERROR "Directory installation installed CMakeLists.txt.")
+ endif()
+ if(NOT EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/alt/TestSubDir/TSD.h")
+ message(FATAL_ERROR "Directory installation did not install alternate TSD.h")
+ endif()
+ if(EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/alt/TestSubDir/TSD.cxx")
+ message(FATAL_ERROR "Directory installation installed alternate TSD.cxx")
+ endif()
# Check that scripts properly installed.
- IF(WIN32 AND NOT CYGWIN)
- SET(BAT .bat)
- ELSE(WIN32 AND NOT CYGWIN)
- SET(BAT)
- ENDIF(WIN32 AND NOT CYGWIN)
- FOREACH(loc share share/old1 share/old2 share/old3 share/alt)
- SET(CUR_SCRIPT "${CMAKE_INSTALL_PREFIX}/MyTest/${loc}/sample_script${BAT}")
- EXECUTE_PROCESS(
+ if(WIN32 AND NOT CYGWIN)
+ set(BAT .bat)
+ else()
+ set(BAT)
+ endif()
+ foreach(loc share share/old1 share/old2 share/old3 share/alt)
+ set(CUR_SCRIPT "${CMAKE_INSTALL_PREFIX}/MyTest/${loc}/sample_script${BAT}")
+ execute_process(
COMMAND ${CUR_SCRIPT}
RESULT_VARIABLE SAMPLE_SCRIPT_RESULT
OUTPUT_VARIABLE SAMPLE_SCRIPT_OUTPUT
)
- IF(NOT "${SAMPLE_SCRIPT_RESULT}" MATCHES "^0$")
- MESSAGE(FATAL_ERROR
+ if(NOT "${SAMPLE_SCRIPT_RESULT}" MATCHES "^0$")
+ message(FATAL_ERROR
"Sample script [${CUR_SCRIPT}] failed: [${SAMPLE_SCRIPT_RESULT}]")
- ENDIF(NOT "${SAMPLE_SCRIPT_RESULT}" MATCHES "^0$")
- IF(NOT "${SAMPLE_SCRIPT_OUTPUT}" MATCHES "Sample Script Output")
- MESSAGE(FATAL_ERROR
+ endif()
+ if(NOT "${SAMPLE_SCRIPT_OUTPUT}" MATCHES "Sample Script Output")
+ message(FATAL_ERROR
"Bad sample script [${CUR_SCRIPT}] output: [${SAMPLE_SCRIPT_OUTPUT}]")
- ENDIF(NOT "${SAMPLE_SCRIPT_OUTPUT}" MATCHES "Sample Script Output")
- ENDFOREACH(loc)
+ endif()
+ endforeach()
# Check for failure of empty directory installation.
- IF(NOT EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/empty")
- MESSAGE(FATAL_ERROR "Empty directory installation did not install.")
- ENDIF(NOT EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/empty")
- FILE(GLOB EMPTY_FILES "${CMAKE_INSTALL_PREFIX}/MyTest/share/empty/*")
- IF(EMPTY_FILES)
- MESSAGE(FATAL_ERROR "Empty directory installed [${EMPTY_FILES}].")
- ENDIF(EMPTY_FILES)
+ if(NOT EXISTS "${CMAKE_INSTALL_PREFIX}/MyTest/share/empty")
+ message(FATAL_ERROR "Empty directory installation did not install.")
+ endif()
+ file(GLOB EMPTY_FILES "${CMAKE_INSTALL_PREFIX}/MyTest/share/empty/*")
+ if(EMPTY_FILES)
+ message(FATAL_ERROR "Empty directory installed [${EMPTY_FILES}].")
+ endif()
# Make sure the test executable can run from the install tree.
- SET_TARGET_PROPERTIES(SimpleInstExeS2 PROPERTIES
+ set_target_properties(SimpleInstExeS2 PROPERTIES
INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/MyTest/lib)
- INSTALL_TARGETS(/MyTest/bin SimpleInstExeS2)
+ install_targets(/MyTest/bin SimpleInstExeS2)
# try to import the exported targets again
- SET(SimpleInstallS1_DIR ${CMAKE_INSTALL_PREFIX}/MyTest/lib)
- FIND_PACKAGE(SimpleInstallS1 REQUIRED)
- GET_TARGET_PROPERTY(simpleInstallImported S1_SimpleInstall IMPORTED)
- IF(NOT simpleInstallImported)
- MESSAGE(FATAL_ERROR "Target S1_SimpleInstall could not be imported")
- ENDIF(NOT simpleInstallImported)
-
-ELSE(STAGE2)
+ set(SimpleInstallS1_DIR ${CMAKE_INSTALL_PREFIX}/MyTest/lib)
+ find_package(SimpleInstallS1 REQUIRED)
+ get_target_property(simpleInstallImported S1_SimpleInstall IMPORTED)
+ if(NOT simpleInstallImported)
+ message(FATAL_ERROR "Target S1_SimpleInstall could not be imported")
+ endif()
+
+else()
# Wipe out the install directory to do a fresh test.
- FILE(REMOVE_RECURSE ${CMAKE_INSTALL_PREFIX}/MyTest)
+ file(REMOVE_RECURSE ${CMAKE_INSTALL_PREFIX}/MyTest)
# this is stage 1, so create libraries and modules and install everything
- ADD_LIBRARY(test1 STATIC lib1.cxx)
- ADD_LIBRARY(test2 SHARED lib2.cxx)
- ADD_LIBRARY(test3 MODULE lib3.cxx)
- ADD_LIBRARY(test4 SHARED lib4.cxx)
+ add_library(test1 STATIC lib1.cxx)
+ add_library(test2 SHARED lib2.cxx)
+ add_library(test3 MODULE lib3.cxx)
+ add_library(test4 SHARED lib4.cxx)
# Test <ARCHIVE|LIBRARY|RUNTIME>_OUTPUT_NAME properties.
- SET_PROPERTY(TARGET test4 PROPERTY ARCHIVE_OUTPUT_NAME test4out)
- SET_PROPERTY(TARGET test4 PROPERTY LIBRARY_OUTPUT_NAME test4out)
+ set_property(TARGET test4 PROPERTY ARCHIVE_OUTPUT_NAME test4out)
+ set_property(TARGET test4 PROPERTY LIBRARY_OUTPUT_NAME test4out)
- ADD_EXECUTABLE (SimpleInstall inst.cxx foo.c foo.h)
- TARGET_LINK_LIBRARIES(SimpleInstall test1 test2 test4)
- SET(install_target SimpleInstall)
+ add_executable (SimpleInstall inst.cxx foo.c foo.h)
+ target_link_libraries(SimpleInstall test1 test2 test4)
+ set(install_target SimpleInstall)
- SET_TARGET_PROPERTIES(SimpleInstall PROPERTIES OUTPUT_NAME SimpleInstExe)
+ set_target_properties(SimpleInstall PROPERTIES OUTPUT_NAME SimpleInstExe)
# Disable VERSION test until it is implemented in the Xcode generator.
- IF(NOT XCODE)
- SET_TARGET_PROPERTIES(SimpleInstall PROPERTIES VERSION 1.2)
- ENDIF(NOT XCODE)
+ if(NOT XCODE)
+ set_target_properties(SimpleInstall PROPERTIES VERSION 1.2)
+ endif()
# Make sure the test executable can run from the install tree.
- SET_TARGET_PROPERTIES(SimpleInstall PROPERTIES
+ set_target_properties(SimpleInstall PROPERTIES
INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/MyTest/lib)
# Test per-configuration output name.
- SET_TARGET_PROPERTIES(test1 PROPERTIES RELEASE_OUTPUT_NAME test1rel)
- SET_TARGET_PROPERTIES(test2 PROPERTIES PUBLIC_HEADER foo.h)
+ set_target_properties(test1 PROPERTIES RELEASE_OUTPUT_NAME test1rel)
+ set_target_properties(test2 PROPERTIES PUBLIC_HEADER foo.h)
- IF(CMAKE_GENERATOR MATCHES "Makefiles")
- ADD_SUBDIRECTORY(TestSubDir)
- ADD_DEPENDENCIES(SimpleInstall TSD)
- ENDIF(CMAKE_GENERATOR MATCHES "Makefiles")
+ if(CMAKE_GENERATOR MATCHES "Makefiles")
+ add_subdirectory(TestSubDir)
+ add_dependencies(SimpleInstall TSD)
+ endif()
- ADD_DEPENDENCIES(SimpleInstall test3)
- ADD_DEPENDENCIES(test2 test3)
- ADD_DEPENDENCIES(test4 test2)
+ add_dependencies(SimpleInstall test3)
+ add_dependencies(test2 test3)
+ add_dependencies(test4 test2)
- INSTALL(TARGETS SimpleInstall test1 test2 test3 EXPORT SimpleInstallS1
+ install(TARGETS SimpleInstall test1 test2 test3 EXPORT SimpleInstallS1
RUNTIME DESTINATION MyTest/bin COMPONENT Runtime # .exe, .dll
LIBRARY DESTINATION MyTest/lib COMPONENT Runtime # .so, mod.dll
ARCHIVE DESTINATION MyTest/lib/static COMPONENT Development # .a, .lib
- PUBLIC_HEADER DESTINATION MyTest/include COMPONENT Development
+ PUBLIC_HEADER DESTINATION MyTest/include COMPONENT Development
)
- INSTALL(TARGETS test4 PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
+ install(TARGETS test4 PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
RUNTIME DESTINATION MyTest/bin
LIBRARY DESTINATION MyTest/lib
ARCHIVE DESTINATION MyTest/lib/static
OPTIONAL # for coverage...target should always exist
)
- INSTALL(FILES lib1.h DESTINATION MyTest/include/foo)
- INSTALL(FILES lib2.h
+ install(FILES lib1.h DESTINATION MyTest/include/foo)
+ install(FILES lib2.h
DESTINATION MyTest/include/foo
COMPONENT Development
PERMISSIONS OWNER_READ OWNER_WRITE
@@ -218,40 +218,40 @@ ELSE(STAGE2)
)
# Test old-style install commands.
- INSTALL_FILES(/MyTest/include FILES lib3.h)
- INSTALL_FILES(/MyTest/include/old .h lib3)
- INSTALL_FILES(/MyTest/include/old "^lib2.h$")
- INSTALL_PROGRAMS(/MyTest/share/old1 FILES
+ install_files(/MyTest/include FILES lib3.h)
+ install_files(/MyTest/include/old .h lib3)
+ install_files(/MyTest/include/old "^lib2.h$")
+ install_programs(/MyTest/share/old1 FILES
scripts/sample_script scripts/sample_script.bat)
- INSTALL_PROGRAMS(/MyTest/share/old2
+ install_programs(/MyTest/share/old2
scripts/sample_script scripts/sample_script.bat)
# "export" the targets collected in "SimpleInstallS1"
- INSTALL(EXPORT SimpleInstallS1 FILE SimpleInstallS1Config.cmake
- DESTINATION MyTest/lib
+ install(EXPORT SimpleInstallS1 FILE SimpleInstallS1Config.cmake
+ DESTINATION MyTest/lib
NAMESPACE S1_ )
- EXPORT(TARGETS SimpleInstall test1 test2 test3
+ export(TARGETS SimpleInstall test1 test2 test3
FILE "${CMAKE_CURRENT_BINARY_DIR}/SimpleInstallS1Config.cmake"
NAMESPACE S2_ )
- ADD_SUBDIRECTORY(scripts)
+ add_subdirectory(scripts)
# Test optional installation.
- INSTALL(FILES does_not_exist.h DESTINATION MyTest/include/foo OPTIONAL)
+ install(FILES does_not_exist.h DESTINATION MyTest/include/foo OPTIONAL)
# Test configuration-specific installation.
- INSTALL(FILES lib1.h RENAME lib1release.h CONFIGURATIONS Release
+ install(FILES lib1.h RENAME lib1release.h CONFIGURATIONS Release
DESTINATION MyTest/include/Release
)
- INSTALL(FILES lib1.h RENAME lib1debug.h CONFIGURATIONS Debug
+ install(FILES lib1.h RENAME lib1debug.h CONFIGURATIONS Debug
DESTINATION MyTest/include/Debug
)
# Test directory installation.
- FILE(REMOVE_RECURSE "${CMAKE_INSTALL_PREFIX}/MyTest/share/CVS")
- FILE(REMOVE_RECURSE "${CMAKE_INSTALL_PREFIX}/MyTest/share/TestSubDir/CVS")
- INSTALL(
+ file(REMOVE_RECURSE "${CMAKE_INSTALL_PREFIX}/MyTest/share/CVS")
+ file(REMOVE_RECURSE "${CMAKE_INSTALL_PREFIX}/MyTest/share/TestSubDir/CVS")
+ install(
DIRECTORY TestSubDir scripts/ DESTINATION MyTest/share
FILE_PERMISSIONS OWNER_READ OWNER_WRITE
DIRECTORY_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
@@ -262,14 +262,14 @@ ELSE(STAGE2)
)
# Alternate directory installation for coverage.
- INSTALL(
+ install(
DIRECTORY scripts/ DESTINATION MyTest/share/alt
COMPONENT Development
USE_SOURCE_PERMISSIONS
PATTERN "CVS" EXCLUDE
REGEX "\\.txt$" EXCLUDE
)
- INSTALL(
+ install(
DIRECTORY TestSubDir DESTINATION MyTest/share/alt
FILE_PERMISSIONS OWNER_READ OWNER_WRITE
DIRECTORY_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
@@ -278,109 +278,109 @@ ELSE(STAGE2)
)
# Test empty directory installation.
- INSTALL(DIRECTORY DESTINATION MyTest/share/empty)
+ install(DIRECTORY DESTINATION MyTest/share/empty)
# Test optional directory installation.
- INSTALL(DIRECTORY does-not-exist DESTINATION MyTest/share OPTIONAL)
+ install(DIRECTORY does-not-exist DESTINATION MyTest/share OPTIONAL)
# Test user-specified install scripts, with and without COMPONENT.
- INSTALL(
+ install(
SCRIPT InstallScript1.cmake
- CODE "SET(INSTALL_CODE_DID_RUN 1)"
+ CODE "set(INSTALL_CODE_DID_RUN 1)"
SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/InstallScript2.cmake
)
- INSTALL(
+ install(
SCRIPT InstallScript3.cmake
- CODE "SET(INSTALL_CODE_WITH_COMPONENT_DID_RUN 1)"
+ CODE "set(INSTALL_CODE_WITH_COMPONENT_DID_RUN 1)"
SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/InstallScript4.cmake
COMPONENT Development
)
- SET_DIRECTORY_PROPERTIES(PROPERTIES
+ set_directory_properties(PROPERTIES
ADDITIONAL_MAKE_CLEAN_FILES
"${CMAKE_INSTALL_PREFIX}/InstallScriptOut.cmake;${CMAKE_INSTALL_PREFIX}/InstallScript4Out.cmake")
- SET_TARGET_PROPERTIES(SimpleInstall PROPERTIES PRE_INSTALL_SCRIPT
+ set_target_properties(SimpleInstall PROPERTIES PRE_INSTALL_SCRIPT
${CMAKE_CURRENT_SOURCE_DIR}/PreInstall.cmake)
- SET_TARGET_PROPERTIES(SimpleInstall PROPERTIES POST_INSTALL_SCRIPT
+ set_target_properties(SimpleInstall PROPERTIES POST_INSTALL_SCRIPT
${CMAKE_CURRENT_SOURCE_DIR}/PostInstall.cmake)
- SET_TARGET_PROPERTIES(test4 PROPERTIES VERSION 1.2 SOVERSION 3
+ set_target_properties(test4 PROPERTIES VERSION 1.2 SOVERSION 3
INSTALL_NAME_DIR @executable_path/../lib)
-ENDIF(STAGE2)
+endif()
-IF(CMAKE_CONFIGURATION_TYPES)
- SET(SI_CONFIG -C ${CMAKE_CFG_INTDIR})
-ELSE(CMAKE_CONFIGURATION_TYPES)
- SET(SI_CONFIG)
-ENDIF(CMAKE_CONFIGURATION_TYPES)
+if(CMAKE_CONFIGURATION_TYPES)
+ set(SI_CONFIG -C ${CMAKE_CFG_INTDIR})
+else()
+ set(SI_CONFIG)
+endif()
# Dummy test of CPack
-SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Test of packaging with cpack")
-SET(CPACK_PACKAGE_VENDOR "Kitware")
-SET(CPACK_INSTALL_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/PackageScript.cmake")
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Test of packaging with cpack")
+set(CPACK_PACKAGE_VENDOR "Kitware")
+set(CPACK_INSTALL_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/PackageScript.cmake")
-IF(WIN32 AND NOT UNIX)
- FIND_PROGRAM(NSIS_MAKENSIS NAMES makensis
+if(WIN32 AND NOT UNIX)
+ find_program(NSIS_MAKENSIS NAMES makensis
PATHS [HKEY_LOCAL_MACHINE\\SOFTWARE\\NSIS]
DOC "Where is makensis.exe located"
)
- IF(NOT NSIS_MAKENSIS)
- SET(CPACK_GENERATOR TGZ)
- ENDIF(NOT NSIS_MAKENSIS)
-ENDIF(WIN32 AND NOT UNIX)
-IF(UNIX AND NOT APPLE)
- SET(CPACK_GENERATOR "TGZ;STGZ;TZ")
- # FIND_PROGRAM(found_compress
+ if(NOT NSIS_MAKENSIS)
+ set(CPACK_GENERATOR TGZ)
+ endif()
+endif()
+if(UNIX AND NOT APPLE)
+ set(CPACK_GENERATOR "TGZ;STGZ;TZ")
+ # find_program(found_compress
# NAMES compress)
- # IF(found_compress)
- # FIND_PROGRAM(file_command NAMES file)
- # IF(NOT file_command)
+ # if(found_compress)
+ # find_program(file_command NAMES file)
+ # if(NOT file_command)
# set(file_command file)
- # ENDIF(NOT file_command)
- # EXECUTE_PROCESS(COMMAND ${file_command} ${found_compress}
+ # endif()
+ # execute_process(COMMAND ${file_command} ${found_compress}
# OUTPUT_VARIABLE output)
# set(SKIP_TZ FALSE)
# if("${output}" MATCHES "script")
# set(SKIP_TZ TRUE)
- # endif("${output}" MATCHES "script")
+ # endif()
# if("${output}" MATCHES "dummy.sh")
# set(SKIP_TZ TRUE)
- # endif("${output}" MATCHES "dummy.sh")
+ # endif()
# if(NOT SKIP_TZ)
# message("compress found and it was not a script")
# message("output from file command: [${output}]")
- # SET(CPACK_GENERATOR "${CPACK_GENERATOR};TZ")
- # else(NOT SKIP_TZ)
+ # set(CPACK_GENERATOR "${CPACK_GENERATOR};TZ")
+ # else()
# message("compress found, but it was a script so dont use it")
# message("output from file command: [${output}]")
- # endif(NOT SKIP_TZ)
- # ENDIF(found_compress)
- FIND_PROGRAM(found_bz2
+ # endif()
+ # endif()
+ find_program(found_bz2
NAMES bzip2)
- IF(found_bz2)
- SET(CPACK_GENERATOR "${CPACK_GENERATOR};TBZ2")
- ENDIF(found_bz2)
-ENDIF(UNIX AND NOT APPLE)
+ if(found_bz2)
+ set(CPACK_GENERATOR "${CPACK_GENERATOR};TBZ2")
+ endif()
+endif()
-SET(CPACK_PACKAGE_EXECUTABLES "SimpleInstall" "Simple Install")
-SET(CMAKE_INSTALL_MFC_LIBRARIES 1)
-SET(CMAKE_INSTALL_DEBUG_LIBRARIES 1)
-INCLUDE(InstallRequiredSystemLibraries)
+set(CPACK_PACKAGE_EXECUTABLES "SimpleInstall" "Simple Install")
+set(CMAKE_INSTALL_MFC_LIBRARIES 1)
+set(CMAKE_INSTALL_DEBUG_LIBRARIES 1)
+include(InstallRequiredSystemLibraries)
-IF(CTEST_TEST_CPACK)
- SET(PACKAGE_TARGET --build-target package)
+if(CTEST_TEST_CPACK)
+ set(PACKAGE_TARGET --build-target package)
# Avoid settings that require the .zip file command line tools...
# (just build an NSIS installer without component support)
#
- SET(CPACK_BINARY_ZIP OFF)
- SET(CPACK_MONOLITHIC_INSTALL ON)
-ELSE(CTEST_TEST_CPACK)
- SET(PACKAGE_TARGET)
-ENDIF(CTEST_TEST_CPACK)
+ set(CPACK_BINARY_ZIP OFF)
+ set(CPACK_MONOLITHIC_INSTALL ON)
+else()
+ set(PACKAGE_TARGET)
+endif()
-INCLUDE(CPack)
+include(CPack)
-ADD_CUSTOM_COMMAND(
+add_custom_command(
TARGET ${install_target}
POST_BUILD
COMMAND ${CMAKE_CTEST_COMMAND}
diff --git a/Tests/SimpleInstallS2/InstallScript1.cmake b/Tests/SimpleInstallS2/InstallScript1.cmake
index 27b7725f8..ef9da5761 100644
--- a/Tests/SimpleInstallS2/InstallScript1.cmake
+++ b/Tests/SimpleInstallS2/InstallScript1.cmake
@@ -1,5 +1,5 @@
-MESSAGE("This is install script 1.")
-SET(INSTALL_SCRIPT_1_DID_RUN 1)
-IF(INSTALL_CODE_DID_RUN)
- MESSAGE(FATAL_ERROR "Install script 1 did not run before install code.")
-ENDIF(INSTALL_CODE_DID_RUN)
+message("This is install script 1.")
+set(INSTALL_SCRIPT_1_DID_RUN 1)
+if(INSTALL_CODE_DID_RUN)
+ message(FATAL_ERROR "Install script 1 did not run before install code.")
+endif()
diff --git a/Tests/SimpleInstallS2/InstallScript2.cmake b/Tests/SimpleInstallS2/InstallScript2.cmake
index 927cae8b6..c1d20a3a6 100644
--- a/Tests/SimpleInstallS2/InstallScript2.cmake
+++ b/Tests/SimpleInstallS2/InstallScript2.cmake
@@ -1,14 +1,14 @@
-MESSAGE("This is install script 2.")
-IF(INSTALL_SCRIPT_1_DID_RUN)
- MESSAGE("Install script ordering works.")
-ELSE(INSTALL_SCRIPT_1_DID_RUN)
- MESSAGE(FATAL_ERROR "Install script 1 did not run before install script 2.")
-ENDIF(INSTALL_SCRIPT_1_DID_RUN)
-IF(INSTALL_CODE_DID_RUN)
- MESSAGE("Install code ordering works.")
-ELSE(INSTALL_CODE_DID_RUN)
- MESSAGE(FATAL_ERROR "Install script 2 did not run after install code.")
-ENDIF(INSTALL_CODE_DID_RUN)
-FILE(WRITE "${CMAKE_INSTALL_PREFIX}/MyTest/InstallScriptOut.cmake"
- "SET(CMAKE_INSTALL_SCRIPT_DID_RUN 1)\n"
+message("This is install script 2.")
+if(INSTALL_SCRIPT_1_DID_RUN)
+ message("Install script ordering works.")
+else()
+ message(FATAL_ERROR "Install script 1 did not run before install script 2.")
+endif()
+if(INSTALL_CODE_DID_RUN)
+ message("Install code ordering works.")
+else()
+ message(FATAL_ERROR "Install script 2 did not run after install code.")
+endif()
+file(WRITE "${CMAKE_INSTALL_PREFIX}/MyTest/InstallScriptOut.cmake"
+ "set(CMAKE_INSTALL_SCRIPT_DID_RUN 1)\n"
)
diff --git a/Tests/SimpleInstallS2/InstallScript3.cmake b/Tests/SimpleInstallS2/InstallScript3.cmake
index b1aecd4c2..64851564d 100644
--- a/Tests/SimpleInstallS2/InstallScript3.cmake
+++ b/Tests/SimpleInstallS2/InstallScript3.cmake
@@ -1,12 +1,12 @@
-MESSAGE("This is install script 3.")
-SET(INSTALL_SCRIPT_3_DID_RUN 1)
-IF(INSTALL_CODE_WITH_COMPONENT_DID_RUN)
- MESSAGE(FATAL_ERROR "Install script 3 did not run before install code with component.")
-ENDIF(INSTALL_CODE_WITH_COMPONENT_DID_RUN)
+message("This is install script 3.")
+set(INSTALL_SCRIPT_3_DID_RUN 1)
+if(INSTALL_CODE_WITH_COMPONENT_DID_RUN)
+ message(FATAL_ERROR "Install script 3 did not run before install code with component.")
+endif()
-IF(CMAKE_INSTALL_COMPONENT)
-IF(NOT "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Development")
- MESSAGE("CMAKE_INSTALL_COMPONENT=\"${CMAKE_INSTALL_COMPONENT}\"")
- MESSAGE(FATAL_ERROR "Install script 3 should only run for \"Development\" INSTALL COMPONENT.")
-ENDIF(NOT "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Development")
-ENDIF(CMAKE_INSTALL_COMPONENT)
+if(CMAKE_INSTALL_COMPONENT)
+if(NOT "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Development")
+ message("CMAKE_INSTALL_COMPONENT=\"${CMAKE_INSTALL_COMPONENT}\"")
+ message(FATAL_ERROR "Install script 3 should only run for \"Development\" INSTALL COMPONENT.")
+endif()
+endif()
diff --git a/Tests/SimpleInstallS2/InstallScript4.cmake b/Tests/SimpleInstallS2/InstallScript4.cmake
index 0ffea4bc8..34d0a73bb 100644
--- a/Tests/SimpleInstallS2/InstallScript4.cmake
+++ b/Tests/SimpleInstallS2/InstallScript4.cmake
@@ -1,22 +1,22 @@
-MESSAGE("This is install script 4.")
-IF(INSTALL_SCRIPT_3_DID_RUN)
- MESSAGE("Install script ordering works.")
-ELSE(INSTALL_SCRIPT_3_DID_RUN)
- MESSAGE(FATAL_ERROR "Install script 3 did not run before install script 4.")
-ENDIF(INSTALL_SCRIPT_3_DID_RUN)
-IF(INSTALL_CODE_WITH_COMPONENT_DID_RUN)
- MESSAGE("Install code ordering works.")
-ELSE(INSTALL_CODE_WITH_COMPONENT_DID_RUN)
- MESSAGE(FATAL_ERROR "Install script 4 did not run after install with component code.")
-ENDIF(INSTALL_CODE_WITH_COMPONENT_DID_RUN)
+message("This is install script 4.")
+if(INSTALL_SCRIPT_3_DID_RUN)
+ message("Install script ordering works.")
+else()
+ message(FATAL_ERROR "Install script 3 did not run before install script 4.")
+endif()
+if(INSTALL_CODE_WITH_COMPONENT_DID_RUN)
+ message("Install code ordering works.")
+else()
+ message(FATAL_ERROR "Install script 4 did not run after install with component code.")
+endif()
-IF(CMAKE_INSTALL_COMPONENT)
-IF(NOT "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Development")
- MESSAGE("CMAKE_INSTALL_COMPONENT=\"${CMAKE_INSTALL_COMPONENT}\"")
- MESSAGE(FATAL_ERROR "Install script 4 should only run for \"Development\" INSTALL COMPONENT.")
-ENDIF(NOT "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Development")
-ENDIF(CMAKE_INSTALL_COMPONENT)
+if(CMAKE_INSTALL_COMPONENT)
+if(NOT "${CMAKE_INSTALL_COMPONENT}" STREQUAL "Development")
+ message("CMAKE_INSTALL_COMPONENT=\"${CMAKE_INSTALL_COMPONENT}\"")
+ message(FATAL_ERROR "Install script 4 should only run for \"Development\" INSTALL COMPONENT.")
+endif()
+endif()
-FILE(WRITE "${CMAKE_INSTALL_PREFIX}/MyTest/InstallScript4Out.cmake"
- "SET(CMAKE_INSTALL_SCRIPT_4_DID_RUN 1)\n"
+file(WRITE "${CMAKE_INSTALL_PREFIX}/MyTest/InstallScript4Out.cmake"
+ "set(CMAKE_INSTALL_SCRIPT_4_DID_RUN 1)\n"
)
diff --git a/Tests/SimpleInstallS2/PackageScript.cmake b/Tests/SimpleInstallS2/PackageScript.cmake
index 3567a2f43..53b790932 100644
--- a/Tests/SimpleInstallS2/PackageScript.cmake
+++ b/Tests/SimpleInstallS2/PackageScript.cmake
@@ -1,10 +1,10 @@
-MESSAGE("This is packaging script")
-MESSAGE("It writes a file with all variables available in ${CMAKE_INSTALL_PREFIX}/AllVariables.txt")
+message("This is packaging script")
+message("It writes a file with all variables available in ${CMAKE_INSTALL_PREFIX}/AllVariables.txt")
-FILE(WRITE ${CMAKE_INSTALL_PREFIX}/AllVariables.txt "")
-GET_CMAKE_PROPERTY(res VARIABLES)
-FOREACH(var ${res})
- FILE(APPEND ${CMAKE_INSTALL_PREFIX}/AllVariables.txt
+file(WRITE ${CMAKE_INSTALL_PREFIX}/AllVariables.txt "")
+get_cmake_property(res VARIABLES)
+foreach(var ${res})
+ file(APPEND ${CMAKE_INSTALL_PREFIX}/AllVariables.txt
"${var} \"${${var}}\"\n")
-ENDFOREACH(var ${res})
+endforeach()
diff --git a/Tests/SimpleInstallS2/PostInstall.cmake b/Tests/SimpleInstallS2/PostInstall.cmake
index 52ea140a5..d616221ef 100644
--- a/Tests/SimpleInstallS2/PostInstall.cmake
+++ b/Tests/SimpleInstallS2/PostInstall.cmake
@@ -1,6 +1,6 @@
-MESSAGE("In post install")
-IF(PRE_INSTALL_DID_RUN)
- MESSAGE("Pre and post install work fine")
-ELSE(PRE_INSTALL_DID_RUN)
- MESSAGE(FATAL_ERROR "Pre install did not run before post install")
-ENDIF(PRE_INSTALL_DID_RUN)
+message("In post install")
+if(PRE_INSTALL_DID_RUN)
+ message("Pre and post install work fine")
+else()
+ message(FATAL_ERROR "Pre install did not run before post install")
+endif()
diff --git a/Tests/SimpleInstallS2/PreInstall.cmake b/Tests/SimpleInstallS2/PreInstall.cmake
index 2ea2f7716..7a9851e1d 100644
--- a/Tests/SimpleInstallS2/PreInstall.cmake
+++ b/Tests/SimpleInstallS2/PreInstall.cmake
@@ -1,2 +1,2 @@
-MESSAGE("This is in pre install")
-SET(PRE_INSTALL_DID_RUN 1)
+message("This is in pre install")
+set(PRE_INSTALL_DID_RUN 1)
diff --git a/Tests/SimpleInstallS2/TestSubDir/CMakeLists.txt b/Tests/SimpleInstallS2/TestSubDir/CMakeLists.txt
index 4f6295300..860e10425 100644
--- a/Tests/SimpleInstallS2/TestSubDir/CMakeLists.txt
+++ b/Tests/SimpleInstallS2/TestSubDir/CMakeLists.txt
@@ -1,3 +1,3 @@
-ADD_EXECUTABLE(TSD TSD.cxx TSD_utils.cxx)
-INSTALL_FILES(/MyTest/include FILES TSD.h)
-INSTALL_TARGETS(/MyTest/bin TSD)
+add_executable(TSD TSD.cxx TSD_utils.cxx)
+install_files(/MyTest/include FILES TSD.h)
+install_targets(/MyTest/bin TSD)
diff --git a/Tests/SimpleInstallS2/lib2.h b/Tests/SimpleInstallS2/lib2.h
index ea5a6f7ea..d69b78613 100644
--- a/Tests/SimpleInstallS2/lib2.h
+++ b/Tests/SimpleInstallS2/lib2.h
@@ -5,7 +5,7 @@
# define CM_TEST_LIB_EXPORT __declspec( dllimport )
# endif
#else
-# define CM_TEST_LIB_EXPORT
+# define CM_TEST_LIB_EXPORT
#endif
CM_TEST_LIB_EXPORT float Lib2Func();
diff --git a/Tests/SimpleInstallS2/lib3.h b/Tests/SimpleInstallS2/lib3.h
index c250ed769..66bc52a7f 100644
--- a/Tests/SimpleInstallS2/lib3.h
+++ b/Tests/SimpleInstallS2/lib3.h
@@ -5,7 +5,7 @@
# define CM_TEST_LIB_EXPORT __declspec( dllimport )
# endif
#else
-# define CM_TEST_LIB_EXPORT
+# define CM_TEST_LIB_EXPORT
#endif
CM_TEST_LIB_EXPORT float Lib3Func();
diff --git a/Tests/SimpleInstallS2/lib4.h b/Tests/SimpleInstallS2/lib4.h
index 4b94ea207..11c127247 100644
--- a/Tests/SimpleInstallS2/lib4.h
+++ b/Tests/SimpleInstallS2/lib4.h
@@ -5,7 +5,7 @@
# define CM_TEST_LIB_EXPORT __declspec( dllimport )
# endif
#else
-# define CM_TEST_LIB_EXPORT
+# define CM_TEST_LIB_EXPORT
#endif
CM_TEST_LIB_EXPORT float Lib4Func();
diff --git a/Tests/SimpleInstallS2/scripts/CMakeLists.txt b/Tests/SimpleInstallS2/scripts/CMakeLists.txt
index d46c1652e..ec34e8c50 100644
--- a/Tests/SimpleInstallS2/scripts/CMakeLists.txt
+++ b/Tests/SimpleInstallS2/scripts/CMakeLists.txt
@@ -1 +1 @@
-INSTALL_PROGRAMS(/MyTest/share/old3 "^sample_script(\\.bat)?$")
+install_programs(/MyTest/share/old3 "^sample_script(\\.bat)?$")
diff --git a/Tests/SourceGroups/CMakeLists.txt b/Tests/SourceGroups/CMakeLists.txt
index c3cf38c7a..6573c8241 100644
--- a/Tests/SourceGroups/CMakeLists.txt
+++ b/Tests/SourceGroups/CMakeLists.txt
@@ -2,9 +2,9 @@ cmake_minimum_required (VERSION 2.6)
project(SourceGroups)
# this is not really a test which can fail
-# it is more an example with several source_group()
+# it is more an example with several source_group()
# commands.
-# The created projects have to be loaded manually
+# The created projects have to be loaded manually
# in Visual Studio/Xcode/Eclipse/...
# to see whether the correct groups have been created.
@@ -19,7 +19,7 @@ source_group(Base\\Sub1\\Sub2 FILES sub1/foobar.c)
# a group with empty name
source_group("" FILES foo.c)
-# a group, whose name consists only of the delimiter
+# a group, whose name consists only of the delimiter
#should be handled the same way as an empty name
source_group("\\" FILES baz.c)
diff --git a/Tests/SourceGroups/README.txt b/Tests/SourceGroups/README.txt
index 1a4baf536..8b1378917 100644
--- a/Tests/SourceGroups/README.txt
+++ b/Tests/SourceGroups/README.txt
@@ -1 +1 @@
-
+
diff --git a/Tests/StringFileTest/CMakeLists.txt b/Tests/StringFileTest/CMakeLists.txt
index 7792a353d..6d798b067 100644
--- a/Tests/StringFileTest/CMakeLists.txt
+++ b/Tests/StringFileTest/CMakeLists.txt
@@ -1,164 +1,164 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(StringFileTest)
-INCLUDE_DIRECTORIES(${StringFileTest_BINARY_DIR})
+project(StringFileTest)
+include_directories(${StringFileTest_BINARY_DIR})
# Read file test
-FILE(READ "${CMAKE_CURRENT_SOURCE_DIR}/InputFile.h.in" infile)
+file(READ "${CMAKE_CURRENT_SOURCE_DIR}/InputFile.h.in" infile)
# Test reading a binary file into hex representation
-FILE(READ "${CMAKE_CURRENT_SOURCE_DIR}/test.bin" hexContents HEX)
+file(READ "${CMAKE_CURRENT_SOURCE_DIR}/test.bin" hexContents HEX)
-IF("${hexContents}" STREQUAL "0001027700")
- MESSAGE("FILE(READ HEX) correctly read [${hexContents}]")
-ELSE("${hexContents}" STREQUAL "0001027700")
- MESSAGE(SEND_ERROR "FILE(READ HEX) incorrectly read [${hexContents}], but expected was [0001027700]")
-ENDIF("${hexContents}" STREQUAL "0001027700")
+if("${hexContents}" STREQUAL "0001027700")
+ message("file(READ HEX) correctly read [${hexContents}]")
+else()
+ message(SEND_ERROR "file(READ HEX) incorrectly read [${hexContents}], but expected was [0001027700]")
+endif()
-# FILE(STRINGS) test
-FILE(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/InputFile.h.in" infile_strings
+# file(STRINGS) test
+file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/InputFile.h.in" infile_strings
LIMIT_COUNT 1 LIMIT_INPUT 1024 LIMIT_OUTPUT 1024
LENGTH_MINIMUM 10 LENGTH_MAXIMUM 23 REGEX include NEWLINE_CONSUME)
-SET(infile_strings_goal "#include \"includefile\"\n")
-IF("${infile_strings}" STREQUAL "${infile_strings_goal}")
- MESSAGE("FILE(STRINGS) correctly read [${infile_strings}]")
-ELSE("${infile_strings}" STREQUAL "${infile_strings_goal}")
- MESSAGE(SEND_ERROR
- "FILE(STRINGS) incorrectly read [${infile_strings}]")
-ENDIF("${infile_strings}" STREQUAL "${infile_strings_goal}")
+set(infile_strings_goal "#include \"includefile\"\n")
+if("${infile_strings}" STREQUAL "${infile_strings_goal}")
+ message("file(STRINGS) correctly read [${infile_strings}]")
+else()
+ message(SEND_ERROR
+ "file(STRINGS) incorrectly read [${infile_strings}]")
+endif()
# test reading a file and getting its binary data as hex string
-FILE(READ "${CMAKE_CURRENT_SOURCE_DIR}/main.srec" infilehex LIMIT 4 HEX)
-IF(NOT "${infilehex}" STREQUAL "53313036")
- MESSAGE(SEND_ERROR
- "FILE(READ ... HEX) error, read: \"${infilehex}\", expected \"53313036\"")
-ENDIF(NOT "${infilehex}" STREQUAL "53313036")
+file(READ "${CMAKE_CURRENT_SOURCE_DIR}/main.srec" infilehex LIMIT 4 HEX)
+if(NOT "${infilehex}" STREQUAL "53313036")
+ message(SEND_ERROR
+ "file(READ ... HEX) error, read: \"${infilehex}\", expected \"53313036\"")
+endif()
-# test that FILE(STRINGS) also work with Intel hex and Motorola S-record files
+# test that file(STRINGS) also work with Intel hex and Motorola S-record files
# this file has been created with "sdcc main.c"
-FILE(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/main.ihx" infile_strings REGEX INFO)
-SET(infile_strings_goal "INFO:compiler\\[SDCC-HEX\\]")
-IF("${infile_strings}" MATCHES "${infile_strings_goal}")
- MESSAGE("FILE(STRINGS) correctly read from hex file [${infile_strings}]")
-ELSE("${infile_strings}" MATCHES "${infile_strings_goal}")
- MESSAGE(SEND_ERROR
- "FILE(STRINGS) incorrectly read from hex file [${infile_strings}]")
-ENDIF("${infile_strings}" MATCHES "${infile_strings_goal}")
+file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/main.ihx" infile_strings REGEX INFO)
+set(infile_strings_goal "INFO:compiler\\[SDCC-HEX\\]")
+if("${infile_strings}" MATCHES "${infile_strings_goal}")
+ message("file(STRINGS) correctly read from hex file [${infile_strings}]")
+else()
+ message(SEND_ERROR
+ "file(STRINGS) incorrectly read from hex file [${infile_strings}]")
+endif()
# this file has been created with "sdcc main.c --out-fmt-s19"
-FILE(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/main.srec" infile_strings REGEX INFO)
-SET(infile_strings_goal "INFO:compiler\\[SDCC-SREC\\]")
-IF("${infile_strings}" MATCHES "${infile_strings_goal}")
- MESSAGE("FILE(STRINGS) correctly read from srec file [${infile_strings}]")
-ELSE("${infile_strings}" MATCHES "${infile_strings_goal}")
- MESSAGE(SEND_ERROR
- "FILE(STRINGS) incorrectly read from srec file [${infile_strings}]")
-ENDIF("${infile_strings}" MATCHES "${infile_strings_goal}")
+file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/main.srec" infile_strings REGEX INFO)
+set(infile_strings_goal "INFO:compiler\\[SDCC-SREC\\]")
+if("${infile_strings}" MATCHES "${infile_strings_goal}")
+ message("file(STRINGS) correctly read from srec file [${infile_strings}]")
+else()
+ message(SEND_ERROR
+ "file(STRINGS) incorrectly read from srec file [${infile_strings}]")
+endif()
# String test
-STRING(REGEX MATCH "[cC][mM][aA][kK][eE]" rmvar "CMake is great")
-STRING(REGEX MATCHALL "[cC][mM][aA][kK][eE]" rmallvar "CMake is better than cmake or CMake")
-STRING(REGEX REPLACE "[Aa][uU][tT][oO]([cC][oO][nN][fF]|[mM][aA][kK][eE])"
+string(REGEX MATCH "[cC][mM][aA][kK][eE]" rmvar "CMake is great")
+string(REGEX MATCHALL "[cC][mM][aA][kK][eE]" rmallvar "CMake is better than cmake or CMake")
+string(REGEX REPLACE "[Aa][uU][tT][oO]([cC][oO][nN][fF]|[mM][aA][kK][eE])"
"CMake" rrepvar "People should use Autoconf and Automake")
-STRING(COMPARE EQUAL "CMake" "Autoconf" nceqvar)
-STRING(COMPARE EQUAL "CMake" "CMake" ceqvar)
-STRING(COMPARE NOTEQUAL "CMake" "Autoconf" cneqvar)
-STRING(COMPARE NOTEQUAL "CMake" "CMake" ncneqvar)
-STRING(COMPARE LESS "before" "after" nclvar)
-STRING(COMPARE LESS "max" "min" clvar)
-STRING(COMPARE GREATER "before" "after" cgvar)
-STRING(COMPARE GREATER "max" "min" ncgvar)
-STRING(ASCII 67 109 97 107 101 savar)
-STRING(TOUPPER "CMake" tuvar)
-STRING(TOLOWER "CMake" tlvar)
-STRING(REPLACE "Autoconf" "CMake" repvar "People should use Autoconf")
-
-IF("abc" STREQUAL "xyz")
- MESSAGE(SEND_ERROR "Problem with the IF(STREQUAL), \"abc\" and \"xyz\" considered equal")
-ENDIF("abc" STREQUAL "xyz")
-
-IF("CMake is cool" MATCHES "(CMake) (is).+")
- IF(NOT "${CMAKE_MATCH_0}" STREQUAL "CMake is cool")
- MESSAGE(SEND_ERROR "CMAKE_MATCH_0 wrong: \"${CMAKE_MATCH_0}\", expected \"CMake is cool\"")
- ENDIF(NOT "${CMAKE_MATCH_0}" STREQUAL "CMake is cool")
- IF(NOT "${CMAKE_MATCH_1}" STREQUAL "CMake")
- MESSAGE(SEND_ERROR "CMAKE_MATCH_1 wrong: \"${CMAKE_MATCH_1}\", expected \"CMake\"")
- ENDIF(NOT "${CMAKE_MATCH_1}" STREQUAL "CMake")
- IF(NOT "${CMAKE_MATCH_2}" STREQUAL "is")
- MESSAGE(SEND_ERROR "CMAKE_MATCH_2 wrong: \"${CMAKE_MATCH_2}\", expected \"is\"")
- ENDIF(NOT "${CMAKE_MATCH_2}" STREQUAL "is")
-ELSE("CMake is cool" MATCHES "(CMake) (is).+")
- MESSAGE(SEND_ERROR "Problem with the IF(MATCHES), no match found")
-ENDIF("CMake is cool" MATCHES "(CMake) (is).+")
-
-STRING(REGEX MATCH "(People).+CMake" matchResultVar "People should use CMake")
-IF(NOT "${matchResultVar}" STREQUAL "People should use CMake")
- MESSAGE(SEND_ERROR "STRING(REGEX MATCH) problem: \"${matchResultVar}\", expected \"People should use CMake\"")
-ENDIF(NOT "${matchResultVar}" STREQUAL "People should use CMake")
-IF(NOT "${CMAKE_MATCH_0}" STREQUAL "People should use CMake")
- MESSAGE(SEND_ERROR "CMAKE_MATCH_0 wrong: \"${CMAKE_MATCH_0}\", expected \"People should use CMake\"")
-ENDIF(NOT "${CMAKE_MATCH_0}" STREQUAL "People should use CMake")
-IF(NOT "${CMAKE_MATCH_1}" STREQUAL "People")
- MESSAGE(SEND_ERROR "CMAKE_MATCH_1 wrong: \"${CMAKE_MATCH_1}\", expected \"People\"")
-ENDIF(NOT "${CMAKE_MATCH_1}" STREQUAL "People")
-IF(NOT "${CMAKE_MATCH_2}" STREQUAL "")
- MESSAGE(SEND_ERROR "CMAKE_MATCH_2 wrong: \"${CMAKE_MATCH_2}\", expected empty string")
-ENDIF(NOT "${CMAKE_MATCH_2}" STREQUAL "")
-
-
-STRING(STRIP "
+string(COMPARE EQUAL "CMake" "Autoconf" nceqvar)
+string(COMPARE EQUAL "CMake" "CMake" ceqvar)
+string(COMPARE NOTEQUAL "CMake" "Autoconf" cneqvar)
+string(COMPARE NOTEQUAL "CMake" "CMake" ncneqvar)
+string(COMPARE LESS "before" "after" nclvar)
+string(COMPARE LESS "max" "min" clvar)
+string(COMPARE GREATER "before" "after" cgvar)
+string(COMPARE GREATER "max" "min" ncgvar)
+string(ASCII 67 109 97 107 101 savar)
+string(TOUPPER "CMake" tuvar)
+string(TOLOWER "CMake" tlvar)
+string(REPLACE "Autoconf" "CMake" repvar "People should use Autoconf")
+
+if("abc" STREQUAL "xyz")
+ message(SEND_ERROR "Problem with the if(STREQUAL), \"abc\" and \"xyz\" considered equal")
+endif()
+
+if("CMake is cool" MATCHES "(CMake) (is).+")
+ if(NOT "${CMAKE_MATCH_0}" STREQUAL "CMake is cool")
+ message(SEND_ERROR "CMAKE_MATCH_0 wrong: \"${CMAKE_MATCH_0}\", expected \"CMake is cool\"")
+ endif()
+ if(NOT "${CMAKE_MATCH_1}" STREQUAL "CMake")
+ message(SEND_ERROR "CMAKE_MATCH_1 wrong: \"${CMAKE_MATCH_1}\", expected \"CMake\"")
+ endif()
+ if(NOT "${CMAKE_MATCH_2}" STREQUAL "is")
+ message(SEND_ERROR "CMAKE_MATCH_2 wrong: \"${CMAKE_MATCH_2}\", expected \"is\"")
+ endif()
+else()
+ message(SEND_ERROR "Problem with the if(MATCHES), no match found")
+endif()
+
+string(REGEX MATCH "(People).+CMake" matchResultVar "People should use CMake")
+if(NOT "${matchResultVar}" STREQUAL "People should use CMake")
+ message(SEND_ERROR "string(REGEX MATCH) problem: \"${matchResultVar}\", expected \"People should use CMake\"")
+endif()
+if(NOT "${CMAKE_MATCH_0}" STREQUAL "People should use CMake")
+ message(SEND_ERROR "CMAKE_MATCH_0 wrong: \"${CMAKE_MATCH_0}\", expected \"People should use CMake\"")
+endif()
+if(NOT "${CMAKE_MATCH_1}" STREQUAL "People")
+ message(SEND_ERROR "CMAKE_MATCH_1 wrong: \"${CMAKE_MATCH_1}\", expected \"People\"")
+endif()
+if(NOT "${CMAKE_MATCH_2}" STREQUAL "")
+ message(SEND_ERROR "CMAKE_MATCH_2 wrong: \"${CMAKE_MATCH_2}\", expected empty string")
+endif()
+
+
+string(STRIP "
ST1
" ST1)
-STRING(STRIP "ST2 " ST2)
-STRING(STRIP " ST3" ST3)
+string(STRIP "ST2 " ST2)
+string(STRIP " ST3" ST3)
-FOREACH(var ST1 ST2 ST3)
- IF("${var}" STREQUAL "${${var}}")
- MESSAGE("[${var}] == [${${var}}]")
- ELSE("${var}" STREQUAL "${${var}}")
- MESSAGE(SEND_ERROR "Problem with the STRIP command for ${var}: [${${var}}]")
- ENDIF("${var}" STREQUAL "${${var}}")
-ENDFOREACH(var)
+foreach(var ST1 ST2 ST3)
+ if("${var}" STREQUAL "${${var}}")
+ message("[${var}] == [${${var}}]")
+ else()
+ message(SEND_ERROR "Problem with the STRIP command for ${var}: [${${var}}]")
+ endif()
+endforeach()
-STRING(SUBSTRING "People should use Autoconf" 7 10 substringres)
-SET(substringres "Everybody ${substringres} CMake")
+string(SUBSTRING "People should use Autoconf" 7 10 substringres)
+set(substringres "Everybody ${substringres} CMake")
-STRING(LENGTH ${substringres} lengthres)
+string(LENGTH ${substringres} lengthres)
-FILE(RELATIVE_PATH relpath "/usr/local/bin" "/usr/X11R6/bin/xnest")
+file(RELATIVE_PATH relpath "/usr/local/bin" "/usr/X11R6/bin/xnest")
# Escaping test
-SET(var "\\ \" \ \t \n \r \# \( \) \0")
-MESSAGE("Output: [${var}]")
-SET(var \\ \" \ \t \n \r \# \( \) \0)
-MESSAGE("Output: [${var}]")
+set(var "\\ \" \ \t \n \r \# \( \) \0")
+message("Output: [${var}]")
+set(var \\ \" \ \t \n \r \# \( \) \0)
+message("Output: [${var}]")
# Make-style unquoted argument test
-SET(var $(VAR1)$(VAR2)/$(VAR3))
-MESSAGE("Output: [${var}]")
-STRING(COMPARE EQUAL "${var}" "$(VAR1)$(VAR2)/$(VAR3)" result)
-IF(NOT result)
- MESSAGE(SEND_ERROR "Unquoted $(VAR) syntax is broken.")
-ENDIF(NOT result)
+set(var $(VAR1)$(VAR2)/$(VAR3))
+message("Output: [${var}]")
+string(COMPARE EQUAL "${var}" "$(VAR1)$(VAR2)/$(VAR3)" result)
+if(NOT result)
+ message(SEND_ERROR "Unquoted $(VAR) syntax is broken.")
+endif()
# Obscure environment variable name
-SET("ENV{x+(y)}" "Obscure environment variable value")
-MESSAGE("Output: [$ENV{x+(y)}]")
-IF(NOT "$ENV{x+(y)}" STREQUAL "Obscure environment variable value")
- MESSAGE(SEND_ERROR "Environment variable \"ENV{x+(y)}\" does not work.")
-ENDIF()
+set("ENV{x+(y)}" "Obscure environment variable value")
+message("Output: [$ENV{x+(y)}]")
+if(NOT "$ENV{x+(y)}" STREQUAL "Obscure environment variable value")
+ message(SEND_ERROR "Environment variable \"ENV{x+(y)}\" does not work.")
+endif()
# Make directories test
-FILE(MAKE_DIRECTORY
- "${CMAKE_CURRENT_BINARY_DIR}/Includes"
+file(MAKE_DIRECTORY
+ "${CMAKE_CURRENT_BINARY_DIR}/Includes"
"${CMAKE_CURRENT_BINARY_DIR}/Directory1"
"${CMAKE_CURRENT_BINARY_DIR}/Directory2"
)
# Write results to the file (test write file)
-SET(file "${CMAKE_CURRENT_BINARY_DIR}/Includes/Values.h")
-FILE(WRITE "${file}" "/* this file is generated */\n")
-FOREACH(var
+set(file "${CMAKE_CURRENT_BINARY_DIR}/Includes/Values.h")
+file(WRITE "${file}" "/* this file is generated */\n")
+foreach(var
rmvar
rmallvar
rrepvar
@@ -177,28 +177,28 @@ FOREACH(var
savar
tuvar
tlvar)
- FILE(APPEND "${file}" "#define ${var} \"${${var}}\"\n")
-ENDFOREACH(var)
+ file(APPEND "${file}" "#define ${var} \"${${var}}\"\n")
+endforeach()
# Verify that the file was created recently.
-IF(NOT "${file}" IS_NEWER_THAN "${CMAKE_CURRENT_SOURCE_DIR}/InputFile.h.in")
- MESSAGE(FATAL_ERROR "IF(FILE_IS_NEWER) does not seem to work.")
-ENDIF(NOT "${file}" IS_NEWER_THAN "${CMAKE_CURRENT_SOURCE_DIR}/InputFile.h.in")
+if(NOT "${file}" IS_NEWER_THAN "${CMAKE_CURRENT_SOURCE_DIR}/InputFile.h.in")
+ message(FATAL_ERROR "if(FILE_IS_NEWER) does not seem to work.")
+endif()
# Test configuration of the string
-SET(TEST_DEFINED 123)
-SET(TEST_NOT_DEFINED)
-STRING(CONFIGURE "${infile}" infile+-/out @ONLY)
-SET(infile "${infile+-/out}")
+set(TEST_DEFINED 123)
+set(TEST_NOT_DEFINED)
+string(CONFIGURE "${infile}" infile+-/out @ONLY)
+set(infile "${infile+-/out}")
# Write include file to a file
-STRING(REGEX REPLACE "includefile" "${file}" outfile "${infile}")
-FILE(WRITE "${CMAKE_CURRENT_BINARY_DIR}/OutputFile.h-tmp" "${outfile}")
-FILE(RENAME "${CMAKE_CURRENT_BINARY_DIR}/OutputFile.h-tmp"
+string(REGEX REPLACE "includefile" "${file}" outfile "${infile}")
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/OutputFile.h-tmp" "${outfile}")
+file(RENAME "${CMAKE_CURRENT_BINARY_DIR}/OutputFile.h-tmp"
"${CMAKE_CURRENT_BINARY_DIR}/OutputFile.h")
# Test file copy with relative paths
-FILE(COPY .
+file(COPY .
DESTINATION src
FILE_PERMISSIONS OWNER_READ # test no OWNER_WRITE
DIRECTORY_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
@@ -207,31 +207,31 @@ FILE(COPY .
)
# Test file glob
-FILE(GLOB_RECURSE src_files "${CMAKE_CURRENT_SOURCE_DIR}/*")
-MESSAGE("Files in ${CMAKE_CURRENT_SOURCE_DIR} are ${src_files}")
-SET(expr "${CMAKE_CURRENT_BINARY_DIR}/src/[sS][!a-su-zA-Z0-9][^a-qs-zA-Z0-9]ing?ile*.cxx")
-MESSAGE("Glob expression is [${expr}].")
-FILE(GLOB src_files "${expr}")
-MESSAGE("Globbed files [${src_files}].")
-ADD_EXECUTABLE(StringFileTest ${src_files})
-
-SET(expr "${CMAKE_CURRENT_SOURCE_DIR}/../*.cxx")
-FILE(GLOB_RECURSE rel_src_files RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/.." "${expr}")
-MESSAGE("Globbed files [${rel_src_files}].")
+file(GLOB_RECURSE src_files "${CMAKE_CURRENT_SOURCE_DIR}/*")
+message("Files in ${CMAKE_CURRENT_SOURCE_DIR} are ${src_files}")
+set(expr "${CMAKE_CURRENT_BINARY_DIR}/src/[sS][!a-su-zA-Z0-9][^a-qs-zA-Z0-9]ing?ile*.cxx")
+message("Glob expression is [${expr}].")
+file(GLOB src_files "${expr}")
+message("Globbed files [${src_files}].")
+add_executable(StringFileTest ${src_files})
+
+set(expr "${CMAKE_CURRENT_SOURCE_DIR}/../*.cxx")
+file(GLOB_RECURSE rel_src_files RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/.." "${expr}")
+message("Globbed files [${rel_src_files}].")
# Test FOREACH range
-MESSAGE("Cheack if FOREACH with RANGE works")
-MACRO(TEST_RANGE ARGS CHECK)
- SET(r)
- FOREACH(a RANGE ${ARGS})
- SET(r ${r} ${a})
- ENDFOREACH(a)
- MESSAGE("FOREACH with RANGE ${ARGS} produces ${r}")
- IF("x${r}x" MATCHES "^x${CHECK}x$")
- ELSE("x${r}x" MATCHES "^x${CHECK}x$")
- MESSAGE(SEND_ERROR "The range resulted in: ${r} should be ${CHECK}")
- ENDIF("x${r}x" MATCHES "^x${CHECK}x$")
-ENDMACRO(TEST_RANGE)
+message("Cheack if FOREACH with RANGE works")
+macro(TEST_RANGE ARGS CHECK)
+ set(r)
+ foreach(a RANGE ${ARGS})
+ set(r ${r} ${a})
+ endforeach()
+ message("FOREACH with RANGE ${ARGS} produces ${r}")
+ if("x${r}x" MATCHES "^x${CHECK}x$")
+ else()
+ message(SEND_ERROR "The range resulted in: ${r} should be ${CHECK}")
+ endif()
+endmacro()
TEST_RANGE("5" "0;1;2;3;4;5")
TEST_RANGE("3;5" "3;4;5")
TEST_RANGE("5;3" "5;4;3")
@@ -246,7 +246,7 @@ set(var_a)
set(var_b)
foreach(item IN LISTS list1 list2 ITEMS "" a "")
set(var_${item} "${var_${item}}x")
-endforeach(item)
+endforeach()
if(NOT "${var_}" STREQUAL "xxxxx")
message(FATAL_ERROR "count incorrect for \"\": [${var_}]")
endif()
@@ -258,25 +258,25 @@ if(NOT "${var_b}" STREQUAL "x")
endif()
# Test SUBSTRING command
-SET(ST_INPUTSTRING "0123456789")
-STRING(SUBSTRING ${ST_INPUTSTRING} 3 0 ST_EMPTY)
-STRING(SUBSTRING ${ST_INPUTSTRING} 1 1 ST_ONE)
-STRING(SUBSTRING ${ST_INPUTSTRING} 0 10 ST_ALL)
-STRING(SUBSTRING ${ST_INPUTSTRING} 0 -1 ST_ALL_MINUS)
-STRING(SUBSTRING ${ST_INPUTSTRING} 9 -1 ST_NINE)
-
-IF(ST_EMPTY)
- MESSAGE(SEND_ERROR "SUBSTRING with length 0 does not return an empty string")
-ENDIF(ST_EMPTY)
-IF(NOT ST_ONE STREQUAL "1")
- MESSAGE(SEND_ERROR "SUBSTING command does not cut the correct selected character, was \"" ${ST_ONE} "\", should be \"1\"")
-ENDIF(NOT ST_ONE STREQUAL "1")
-IF(NOT ST_INPUTSTRING STREQUAL ST_ALL)
- MESSAGE(SEND_ERROR "SUBSTRING does not return the whole string when selected with length")
-ENDIF(NOT ST_INPUTSTRING STREQUAL ST_ALL)
-IF(NOT ST_INPUTSTRING STREQUAL ST_ALL_MINUS)
- MESSAGE(SEND_ERROR "SUBSTRING does not return the whole string when selected with -1")
-ENDIF(NOT ST_INPUTSTRING STREQUAL ST_ALL_MINUS)
-IF(NOT ST_NINE STREQUAL "9")
- MESSAGE(SEND_ERROR "SUBSTRING does not return the tail when selected with -1")
-ENDIF(NOT ST_NINE STREQUAL "9")
+set(ST_INPUTSTRING "0123456789")
+string(SUBSTRING ${ST_INPUTSTRING} 3 0 ST_EMPTY)
+string(SUBSTRING ${ST_INPUTSTRING} 1 1 ST_ONE)
+string(SUBSTRING ${ST_INPUTSTRING} 0 10 ST_ALL)
+string(SUBSTRING ${ST_INPUTSTRING} 0 -1 ST_ALL_MINUS)
+string(SUBSTRING ${ST_INPUTSTRING} 9 -1 ST_NINE)
+
+if(ST_EMPTY)
+ message(SEND_ERROR "SUBSTRING with length 0 does not return an empty string")
+endif()
+if(NOT ST_ONE STREQUAL "1")
+ message(SEND_ERROR "SUBSTING command does not cut the correct selected character, was \"" ${ST_ONE} "\", should be \"1\"")
+endif()
+if(NOT ST_INPUTSTRING STREQUAL ST_ALL)
+ message(SEND_ERROR "SUBSTRING does not return the whole string when selected with length")
+endif()
+if(NOT ST_INPUTSTRING STREQUAL ST_ALL_MINUS)
+ message(SEND_ERROR "SUBSTRING does not return the whole string when selected with -1")
+endif()
+if(NOT ST_NINE STREQUAL "9")
+ message(SEND_ERROR "SUBSTRING does not return the tail when selected with -1")
+endif()
diff --git a/Tests/StringFileTest/InputFile.h.in b/Tests/StringFileTest/InputFile.h.in
index 3e70a36e8..0f01ccfc6 100644
--- a/Tests/StringFileTest/InputFile.h.in
+++ b/Tests/StringFileTest/InputFile.h.in
@@ -3,7 +3,7 @@
/* This should be configured to a define. */
#cmakedefine TEST_DEFINED @TEST_DEFINED@
/* This should be configured to a commented undef with the curlies in place */
-#cmakedefine TEST_NOT_DEFINED ${TEST_NOT_DEFINED}
+#cmakedefine TEST_NOT_DEFINED ${TEST_NOT_DEFINED}
/* This complicated line should be configured unchanged: */
static const char* configvar =
@@ -34,5 +34,5 @@ int CheckMethod(const char* var, const char* val )
return 1;
#else
return 0;
-#endif
+#endif
}
diff --git a/Tests/StringFileTest/StringFile.cxx b/Tests/StringFileTest/StringFile.cxx
index 609ebaf20..9eba6bff9 100644
--- a/Tests/StringFileTest/StringFile.cxx
+++ b/Tests/StringFileTest/StringFile.cxx
@@ -26,6 +26,6 @@ int main(int, char*[])
res += CheckMethod(relpath, "../../X11R6/bin/xnest");
res += CheckMethod(configvar,
"@$@$junk =~ s/#$xyz#/$foo_bar{$wibble}->{$xyz}/;@@");
-
+
return res;
}
diff --git a/Tests/SubDir/CMakeLists.txt b/Tests/SubDir/CMakeLists.txt
index 9cfbe25ce..6822e6bd9 100644
--- a/Tests/SubDir/CMakeLists.txt
+++ b/Tests/SubDir/CMakeLists.txt
@@ -1,46 +1,46 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(SUBDIR)
-SUBDIRS(Executable EXCLUDE_FROM_ALL Examples)
-WRITE_FILE(${SUBDIR_BINARY_DIR}/ShouldBeHere "This file should exist.")
+project(SUBDIR)
+subdirs(Executable EXCLUDE_FROM_ALL Examples)
+write_file(${SUBDIR_BINARY_DIR}/ShouldBeHere "This file should exist.")
#WATCOM WMAKE does not support + in the name of a file!
-IF(WATCOM)
- SET(PLUS_NAME_FILES
+if(WATCOM)
+ set(PLUS_NAME_FILES
AnotherSubdir/pair_int.int.c
vcl_algorithm_vcl_pair_double.foo.c)
-ELSE(WATCOM)
- SET(PLUS_NAME_FILES
+else()
+ set(PLUS_NAME_FILES
AnotherSubdir/pair+int.int.c
vcl_algorithm+vcl_pair+double.foo.c)
-ENDIF(WATCOM)
+endif()
-ADD_EXECUTABLE(TestFromSubdir
+add_executable(TestFromSubdir
AnotherSubdir/testfromsubdir.c
AnotherSubdir/secondone
${PLUS_NAME_FILES}
)
-AUX_SOURCE_DIRECTORY(ThirdSubDir SOURCES)
-IF(WATCOM)
- FOREACH(f ${SOURCES})
- IF("${f}" STREQUAL "ThirdSubDir/pair+int.int1.c")
- ELSE("${f}" STREQUAL "ThirdSubDir/pair+int.int1.c")
- SET(SOURCES2 ${f} ${SOURCES2})
- ENDIF("${f}" STREQUAL "ThirdSubDir/pair+int.int1.c")
- ENDFOREACH(f)
- SET(SOURCES ${SOURCES2})
- SET(SOURCES ${SOURCES}
+aux_source_directory(ThirdSubDir SOURCES)
+if(WATCOM)
+ foreach(f ${SOURCES})
+ if("${f}" STREQUAL "ThirdSubDir/pair+int.int1.c")
+ else()
+ set(SOURCES2 ${f} ${SOURCES2})
+ endif()
+ endforeach()
+ set(SOURCES ${SOURCES2})
+ set(SOURCES ${SOURCES}
vcl_algorithm_vcl_pair_double.foo.c)
-ELSE(WATCOM)
- FOREACH(f ${SOURCES})
- IF("${f}" STREQUAL "ThirdSubDir/pair_int.int1.c")
- ELSE("${f}" STREQUAL "ThirdSubDir/pair_int.int1.c")
- SET(SOURCES2 ${f} ${SOURCES2})
- MESSAGE("${f}")
- ENDIF("${f}" STREQUAL "ThirdSubDir/pair_int.int1.c")
- ENDFOREACH(f)
- SET(SOURCES ${SOURCES2})
- SET(SOURCES ${SOURCES}
+else()
+ foreach(f ${SOURCES})
+ if("${f}" STREQUAL "ThirdSubDir/pair_int.int1.c")
+ else()
+ set(SOURCES2 ${f} ${SOURCES2})
+ message("${f}")
+ endif()
+ endforeach()
+ set(SOURCES ${SOURCES2})
+ set(SOURCES ${SOURCES}
vcl_algorithm+vcl_pair+double.foo.c)
-ENDIF(WATCOM)
-MESSAGE("Sources: ${SOURCES}")
-ADD_EXECUTABLE(TestWithAuxSourceDir ${SOURCES})
+endif()
+message("Sources: ${SOURCES}")
+add_executable(TestWithAuxSourceDir ${SOURCES})
diff --git a/Tests/SubDir/Examples/CMakeLists.txt b/Tests/SubDir/Examples/CMakeLists.txt
index b0f1e896c..8cd7e24e1 100644
--- a/Tests/SubDir/Examples/CMakeLists.txt
+++ b/Tests/SubDir/Examples/CMakeLists.txt
@@ -1,3 +1,3 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(Examples)
-SUBDIRS(example1 example2)
+project(Examples)
+subdirs(example1 example2)
diff --git a/Tests/SubDir/Examples/example1/CMakeLists.txt b/Tests/SubDir/Examples/example1/CMakeLists.txt
index 303618321..20d065e54 100644
--- a/Tests/SubDir/Examples/example1/CMakeLists.txt
+++ b/Tests/SubDir/Examples/example1/CMakeLists.txt
@@ -1,7 +1,7 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(example1)
-ADD_EXECUTABLE(example1 example1.cxx)
+project(example1)
+add_executable(example1 example1.cxx)
-ADD_CUSTOM_COMMAND(TARGET example1 POST_BUILD
+add_custom_command(TARGET example1 POST_BUILD
COMMAND "${CMAKE_COMMAND}" ARGS -E remove ${SUBDIR_BINARY_DIR}/ShouldBeHere
COMMENT "Remove marker file that should exist because this should not be run")
diff --git a/Tests/SubDir/Examples/example2/CMakeLists.txt b/Tests/SubDir/Examples/example2/CMakeLists.txt
index 19a537686..388e33c3d 100644
--- a/Tests/SubDir/Examples/example2/CMakeLists.txt
+++ b/Tests/SubDir/Examples/example2/CMakeLists.txt
@@ -1,2 +1,2 @@
-PROJECT(example2)
-ADD_EXECUTABLE(example2 example2.cxx)
+project(example2)
+add_executable(example2 example2.cxx)
diff --git a/Tests/SubDir/Executable/CMakeLists.txt b/Tests/SubDir/Executable/CMakeLists.txt
index d679168d8..77e6751cd 100644
--- a/Tests/SubDir/Executable/CMakeLists.txt
+++ b/Tests/SubDir/Executable/CMakeLists.txt
@@ -1 +1 @@
-ADD_EXECUTABLE(test test.cxx)
+add_executable(test test.cxx)
diff --git a/Tests/SubDirSpaces/CMakeLists.txt b/Tests/SubDirSpaces/CMakeLists.txt
index 879530b56..69f1d6833 100644
--- a/Tests/SubDirSpaces/CMakeLists.txt
+++ b/Tests/SubDirSpaces/CMakeLists.txt
@@ -1,16 +1,16 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(SUBDIR)
+project(SUBDIR)
# Some systems do not seem to support rpath with spaces.
-IF("${CMAKE_SYSTEM}" MATCHES "IRIX|QNX")
- SET(CMAKE_SKIP_BUILD_RPATH 1)
-ENDIF("${CMAKE_SYSTEM}" MATCHES "IRIX|QNX")
+if("${CMAKE_SYSTEM}" MATCHES "IRIX|QNX")
+ set(CMAKE_SKIP_BUILD_RPATH 1)
+endif()
# be able to see output from make on dashboards
-SET(CMAKE_VERBOSE_MAKEFILE 1)
+set(CMAKE_VERBOSE_MAKEFILE 1)
message("${CMAKE_MAKE_PROGRAM}")
set(CMAKE_PAREN TRUE)
-IF("${CMAKE_MAKE_PROGRAM}" MATCHES "wmake")
+if("${CMAKE_MAKE_PROGRAM}" MATCHES "wmake")
message("wmake does not support () in path")
set(CMAKE_PAREN FALSE)
elseif("${CMAKE_MAKE_PROGRAM}" MATCHES "make")
@@ -23,55 +23,55 @@ elseif("${CMAKE_MAKE_PROGRAM}" MATCHES "make")
endif()
endif()
-IF(CMAKE_PAREN)
- ADD_DEFINITIONS(-DCMAKE_PAREN=1)
- SUBDIRS("Executable Sources" "Some(x86) Sources" EXCLUDE_FROM_ALL "Some Examples")
-ELSE(CMAKE_PAREN)
- SUBDIRS("Executable Sources" EXCLUDE_FROM_ALL "Some Examples")
-ENDIF(CMAKE_PAREN)
+if(CMAKE_PAREN)
+ add_definitions(-DCMAKE_PAREN=1)
+ subdirs("Executable Sources" "Some(x86) Sources" EXCLUDE_FROM_ALL "Some Examples")
+else()
+ subdirs("Executable Sources" EXCLUDE_FROM_ALL "Some Examples")
+endif()
-WRITE_FILE(${SUBDIR_BINARY_DIR}/ShouldBeHere "This file should exist.")
+write_file(${SUBDIR_BINARY_DIR}/ShouldBeHere "This file should exist.")
#WATCOM WMAKE does not support + in the name of a file!
-IF(WATCOM)
- SET(PLUS_NAME_FILES
+if(WATCOM)
+ set(PLUS_NAME_FILES
"Another Subdir/pair_int.int.c"
vcl_algorithm_vcl_pair_double.foo.c)
-ELSE(WATCOM)
- SET(PLUS_NAME_FILES
+else()
+ set(PLUS_NAME_FILES
"Another Subdir/pair+int.int.c"
vcl_algorithm+vcl_pair+double.foo.c)
-ENDIF(WATCOM)
+endif()
-ADD_EXECUTABLE(TestFromSubdir
+add_executable(TestFromSubdir
"Another Subdir/testfromsubdir.c"
"Another Subdir/secondone"
${PLUS_NAME_FILES}
)
-AUX_SOURCE_DIRECTORY(ThirdSubDir SOURCES)
-IF(WATCOM)
- FOREACH(f ${SOURCES})
- IF("${f}" STREQUAL "ThirdSubDir/pair+int.int1.c")
- ELSE("${f}" STREQUAL "ThirdSubDir/pair+int.int1.c")
- SET(SOURCES2 ${f} ${SOURCES2})
- ENDIF("${f}" STREQUAL "ThirdSubDir/pair+int.int1.c")
- ENDFOREACH(f)
- SET(SOURCES ${SOURCES2})
- SET(SOURCES ${SOURCES}
+aux_source_directory(ThirdSubDir SOURCES)
+if(WATCOM)
+ foreach(f ${SOURCES})
+ if("${f}" STREQUAL "ThirdSubDir/pair+int.int1.c")
+ else()
+ set(SOURCES2 ${f} ${SOURCES2})
+ endif()
+ endforeach()
+ set(SOURCES ${SOURCES2})
+ set(SOURCES ${SOURCES}
vcl_algorithm_vcl_pair_double.foo.c)
-ELSE(WATCOM)
- FOREACH(f ${SOURCES})
- IF("${f}" STREQUAL "ThirdSubDir/pair_int.int1.c")
- ELSE("${f}" STREQUAL "ThirdSubDir/pair_int.int1.c")
- SET(SOURCES2 ${f} ${SOURCES2})
- ENDIF("${f}" STREQUAL "ThirdSubDir/pair_int.int1.c")
- ENDFOREACH(f)
- SET(SOURCES ${SOURCES2})
- SET(SOURCES ${SOURCES}
+else()
+ foreach(f ${SOURCES})
+ if("${f}" STREQUAL "ThirdSubDir/pair_int.int1.c")
+ else()
+ set(SOURCES2 ${f} ${SOURCES2})
+ endif()
+ endforeach()
+ set(SOURCES ${SOURCES2})
+ set(SOURCES ${SOURCES}
vcl_algorithm+vcl_pair+double.foo.c)
-ENDIF(WATCOM)
-ADD_EXECUTABLE(TestWithAuxSourceDir ${SOURCES})
-IF(CMAKE_PAREN)
+endif()
+add_executable(TestWithAuxSourceDir ${SOURCES})
+if(CMAKE_PAREN)
target_link_libraries(TestWithAuxSourceDir testOddPath)
-ENDIF(CMAKE_PAREN)
+endif()
diff --git a/Tests/SubDirSpaces/Executable Sources/CMakeLists.txt b/Tests/SubDirSpaces/Executable Sources/CMakeLists.txt
index d679168d8..77e6751cd 100644
--- a/Tests/SubDirSpaces/Executable Sources/CMakeLists.txt
+++ b/Tests/SubDirSpaces/Executable Sources/CMakeLists.txt
@@ -1 +1 @@
-ADD_EXECUTABLE(test test.cxx)
+add_executable(test test.cxx)
diff --git a/Tests/SubDirSpaces/Executable/CMakeLists.txt b/Tests/SubDirSpaces/Executable/CMakeLists.txt
index d679168d8..77e6751cd 100644
--- a/Tests/SubDirSpaces/Executable/CMakeLists.txt
+++ b/Tests/SubDirSpaces/Executable/CMakeLists.txt
@@ -1 +1 @@
-ADD_EXECUTABLE(test test.cxx)
+add_executable(test test.cxx)
diff --git a/Tests/SubDirSpaces/Some Examples/CMakeLists.txt b/Tests/SubDirSpaces/Some Examples/CMakeLists.txt
index b0f1e896c..8cd7e24e1 100644
--- a/Tests/SubDirSpaces/Some Examples/CMakeLists.txt
+++ b/Tests/SubDirSpaces/Some Examples/CMakeLists.txt
@@ -1,3 +1,3 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(Examples)
-SUBDIRS(example1 example2)
+project(Examples)
+subdirs(example1 example2)
diff --git a/Tests/SubDirSpaces/Some Examples/example1/CMakeLists.txt b/Tests/SubDirSpaces/Some Examples/example1/CMakeLists.txt
index 303618321..20d065e54 100644
--- a/Tests/SubDirSpaces/Some Examples/example1/CMakeLists.txt
+++ b/Tests/SubDirSpaces/Some Examples/example1/CMakeLists.txt
@@ -1,7 +1,7 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(example1)
-ADD_EXECUTABLE(example1 example1.cxx)
+project(example1)
+add_executable(example1 example1.cxx)
-ADD_CUSTOM_COMMAND(TARGET example1 POST_BUILD
+add_custom_command(TARGET example1 POST_BUILD
COMMAND "${CMAKE_COMMAND}" ARGS -E remove ${SUBDIR_BINARY_DIR}/ShouldBeHere
COMMENT "Remove marker file that should exist because this should not be run")
diff --git a/Tests/SubDirSpaces/Some Examples/example2/CMakeLists.txt b/Tests/SubDirSpaces/Some Examples/example2/CMakeLists.txt
index 19a537686..388e33c3d 100644
--- a/Tests/SubDirSpaces/Some Examples/example2/CMakeLists.txt
+++ b/Tests/SubDirSpaces/Some Examples/example2/CMakeLists.txt
@@ -1,2 +1,2 @@
-PROJECT(example2)
-ADD_EXECUTABLE(example2 example2.cxx)
+project(example2)
+add_executable(example2 example2.cxx)
diff --git a/Tests/SwigTest/CMakeLists.txt b/Tests/SwigTest/CMakeLists.txt
index 5a8e61922..17a502d7e 100644
--- a/Tests/SwigTest/CMakeLists.txt
+++ b/Tests/SwigTest/CMakeLists.txt
@@ -1,50 +1,50 @@
-SET(language "python")
+set(language "python")
cmake_minimum_required (VERSION 2.6)
-PROJECT(example_${language}_class)
+project(example_${language}_class)
-FIND_PACKAGE(SWIG REQUIRED)
-INCLUDE(${SWIG_USE_FILE})
+find_package(SWIG REQUIRED)
+include(${SWIG_USE_FILE})
-IF(${language} MATCHES python)
- FIND_PACKAGE(PythonLibs)
- INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH})
- SET(SWIG_LANG_LIBRARIES ${PYTHON_LIBRARIES})
-ENDIF(${language} MATCHES python)
-IF(${language} MATCHES perl)
- FIND_PACKAGE(PerlLibs)
- INCLUDE_DIRECTORIES(${PERL_INCLUDE_PATH})
- ADD_DEFINITIONS(${PERL_EXTRA_C_FLAGS})
- SET(SWIG_LANG_LIBRARIES ${PERL_LIBRARY})
-ENDIF(${language} MATCHES perl)
-IF(${language} MATCHES tcl)
- FIND_PACKAGE(TCL)
- INCLUDE_DIRECTORIES(${TCL_INCLUDE_PATH})
- SET(SWIG_LANG_LIBRARIES ${TCL_LIBRARY})
-ENDIF(${language} MATCHES tcl)
-IF(${language} MATCHES ruby)
- FIND_PACKAGE(Ruby)
- INCLUDE_DIRECTORIES(${RUBY_INCLUDE_PATH})
- SET(SWIG_LANG_LIBRARIES ${RUBY_LIBRARY})
-ENDIF(${language} MATCHES ruby)
-IF(${language} MATCHES php4)
- FIND_PACKAGE(PHP4)
- INCLUDE_DIRECTORIES(${PHP4_INCLUDE_PATH})
- SET(SWIG_LANG_LIBRARIES ${PHP4_LIBRARY})
-ENDIF(${language} MATCHES php4)
-IF(${language} MATCHES pike)
- FIND_PACKAGE(Pike)
- INCLUDE_DIRECTORIES(${PIKE_INCLUDE_PATH})
- SET(SWIG_LANG_LIBRARIES ${PIKE_LIBRARY})
-ENDIF(${language} MATCHES pike)
+if(${language} MATCHES python)
+ find_package(PythonLibs)
+ include_directories(${PYTHON_INCLUDE_PATH})
+ set(SWIG_LANG_LIBRARIES ${PYTHON_LIBRARIES})
+endif()
+if(${language} MATCHES perl)
+ find_package(PerlLibs)
+ include_directories(${PERL_INCLUDE_PATH})
+ add_definitions(${PERL_EXTRA_C_FLAGS})
+ set(SWIG_LANG_LIBRARIES ${PERL_LIBRARY})
+endif()
+if(${language} MATCHES tcl)
+ find_package(TCL)
+ include_directories(${TCL_INCLUDE_PATH})
+ set(SWIG_LANG_LIBRARIES ${TCL_LIBRARY})
+endif()
+if(${language} MATCHES ruby)
+ find_package(Ruby)
+ include_directories(${RUBY_INCLUDE_PATH})
+ set(SWIG_LANG_LIBRARIES ${RUBY_LIBRARY})
+endif()
+if(${language} MATCHES php4)
+ find_package(PHP4)
+ include_directories(${PHP4_INCLUDE_PATH})
+ set(SWIG_LANG_LIBRARIES ${PHP4_LIBRARY})
+endif()
+if(${language} MATCHES pike)
+ find_package(Pike)
+ include_directories(${PIKE_INCLUDE_PATH})
+ set(SWIG_LANG_LIBRARIES ${PIKE_LIBRARY})
+endif()
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
+include_directories(${CMAKE_CURRENT_SOURCE_DIR})
-SET(CMAKE_SWIG_FLAGS "")
+set(CMAKE_SWIG_FLAGS "")
-SET_SOURCE_FILES_PROPERTIES(example.i PROPERTIES CPLUSPLUS ON)
-SET_SOURCE_FILES_PROPERTIES(example.i PROPERTIES SWIG_FLAGS "-includeall")
+set_source_files_properties(example.i PROPERTIES CPLUSPLUS ON)
+set_source_files_properties(example.i PROPERTIES SWIG_FLAGS "-includeall")
SWIG_ADD_MODULE(example "${language}"
example.i example.cxx)
SWIG_LINK_LIBRARIES(example ${SWIG_LANG_LIBRARIES})
diff --git a/Tests/SwigTest/example.h b/Tests/SwigTest/example.h
index 46d901361..c9d59f22b 100644
--- a/Tests/SwigTest/example.h
+++ b/Tests/SwigTest/example.h
@@ -8,7 +8,7 @@ public:
virtual ~Shape() {
nshapes--;
};
- double x, y;
+ double x, y;
void move(double dx, double dy);
virtual double area(void) = 0;
virtual double perimeter(void) = 0;
@@ -36,4 +36,4 @@ public:
-
+
diff --git a/Tests/SwigTest/runme.pike b/Tests/SwigTest/runme.pike
index a6377600e..ec28dd70e 100755
--- a/Tests/SwigTest/runme.pike
+++ b/Tests/SwigTest/runme.pike
@@ -42,12 +42,12 @@ int main()
/* See if we can force 's' to be garbage-collected */
s = 0;
-
+
/* Now we should be down to only 1 shape */
write("%d shapes remain\n", Shape_nshapes_get());
-
+
/* Done */
write("Goodbye\n");
-
+
return 0;
}
diff --git a/Tests/SwigTest/runme.py b/Tests/SwigTest/runme.py
index 42a5aa363..ed3909e30 100644
--- a/Tests/SwigTest/runme.py
+++ b/Tests/SwigTest/runme.py
@@ -3,7 +3,7 @@
# This file illustrates the shadow-class C++ interface generated
# by SWIG.
-import example
+import example
# ----- Object creation -----
diff --git a/Tests/SystemInformation/CMakeLists.txt b/Tests/SystemInformation/CMakeLists.txt
index c4285758e..838fd4aa1 100644
--- a/Tests/SystemInformation/CMakeLists.txt
+++ b/Tests/SystemInformation/CMakeLists.txt
@@ -1,61 +1,61 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(SystemInformation)
+project(SystemInformation)
-INCLUDE_DIRECTORIES("This does not exists")
-GET_DIRECTORY_PROPERTY(incl INCLUDE_DIRECTORIES)
-SET_DIRECTORY_PROPERTIES(PROPERTIES INCLUDE_DIRECTORIES "${SystemInformation_BINARY_DIR};${SystemInformation_SOURCE_DIR}")
+include_directories("This does not exists")
+get_directory_property(incl INCLUDE_DIRECTORIES)
+set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES "${SystemInformation_BINARY_DIR};${SystemInformation_SOURCE_DIR}")
-MESSAGE("To prevent CTest from stripping output, you have to display: CTEST_FULL_OUTPUT")
+message("To prevent CTest from stripping output, you have to display: CTEST_FULL_OUTPUT")
-CONFIGURE_FILE(${SystemInformation_SOURCE_DIR}/SystemInformation.in
+configure_file(${SystemInformation_SOURCE_DIR}/SystemInformation.in
${SystemInformation_BINARY_DIR}/SystemInformation.out)
-CONFIGURE_FILE(${SystemInformation_SOURCE_DIR}/DumpInformation.h.in
+configure_file(${SystemInformation_SOURCE_DIR}/DumpInformation.h.in
${SystemInformation_BINARY_DIR}/DumpInformation.h)
-ADD_EXECUTABLE(SystemInformation DumpInformation.cxx)
+add_executable(SystemInformation DumpInformation.cxx)
-MACRO(FOO args)
- MESSAGE("Test macro")
-ENDMACRO(FOO)
+macro(FOO args)
+ message("Test macro")
+endmacro()
FOO(lala)
-FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/AllVariables.txt "")
-GET_CMAKE_PROPERTY(res VARIABLES)
-FOREACH(var ${res})
- FILE(APPEND ${CMAKE_CURRENT_BINARY_DIR}/AllVariables.txt
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/AllVariables.txt "")
+get_cmake_property(res VARIABLES)
+foreach(var ${res})
+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/AllVariables.txt
"${var} \"${${var}}\"\n")
-ENDFOREACH(var ${res})
+endforeach()
-FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/AllCommands.txt "")
-GET_CMAKE_PROPERTY(res COMMANDS)
-FOREACH(var ${res})
- FILE(APPEND ${CMAKE_CURRENT_BINARY_DIR}/AllCommands.txt
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/AllCommands.txt "")
+get_cmake_property(res COMMANDS)
+foreach(var ${res})
+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/AllCommands.txt
"${var}\n")
-ENDFOREACH(var ${res})
+endforeach()
-FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/AllMacros.txt "")
-GET_CMAKE_PROPERTY(res MACROS)
-FOREACH(var ${res})
- FILE(APPEND ${CMAKE_CURRENT_BINARY_DIR}/AllMacros.txt
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/AllMacros.txt "")
+get_cmake_property(res MACROS)
+foreach(var ${res})
+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/AllMacros.txt
"${var}\n")
-ENDFOREACH(var ${res})
+endforeach()
-FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/OtherProperties.txt "")
-GET_DIRECTORY_PROPERTY(res INCLUDE_DIRECTORIES)
-FOREACH(var ${res})
- FILE(APPEND ${CMAKE_CURRENT_BINARY_DIR}/OtherProperties.txt
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/OtherProperties.txt "")
+get_directory_property(res INCLUDE_DIRECTORIES)
+foreach(var ${res})
+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/OtherProperties.txt
"INCLUDE_DIRECTORY: ${var}\n")
-ENDFOREACH(var)
+endforeach()
-GET_DIRECTORY_PROPERTY(res LINK_DIRECTORIES)
-FOREACH(var ${res})
- FILE(APPEND ${CMAKE_CURRENT_BINARY_DIR}/OtherProperties.txt
+get_directory_property(res LINK_DIRECTORIES)
+foreach(var ${res})
+ file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/OtherProperties.txt
"LINK_DIRECTORIES: ${var}\n")
-ENDFOREACH(var)
+endforeach()
-GET_DIRECTORY_PROPERTY(res INCLUDE_REGULAR_EXPRESSION)
-FILE(APPEND ${CMAKE_CURRENT_BINARY_DIR}/OtherProperties.txt
+get_directory_property(res INCLUDE_REGULAR_EXPRESSION)
+file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/OtherProperties.txt
"INCLUDE_REGULAR_EXPRESSION: ${res}\n")
diff --git a/Tests/SystemInformation/DumpInformation.cxx b/Tests/SystemInformation/DumpInformation.cxx
index 579dcbcf2..acafa874d 100644
--- a/Tests/SystemInformation/DumpInformation.cxx
+++ b/Tests/SystemInformation/DumpInformation.cxx
@@ -15,7 +15,7 @@ void cmDumpInformationPrintFile(const char* name, FILE* fout)
fflush(fout);
return;
}
-
+
FILE* fin = fopen(name, "r");
if(fin)
{
@@ -59,7 +59,7 @@ int main(int,char *[])
DumpInformation_BINARY_DIR "/AllMacros.txt",
DumpInformation_BINARY_DIR "/OtherProperties.txt",
DumpInformation_BINARY_DIR "/../../Source/cmConfigure.h",
- DumpInformation_BINARY_DIR "/../../CMakeCache.txt",
+ DumpInformation_BINARY_DIR "/../../CMakeCache.txt",
DumpInformation_BINARY_DIR "/../../CMakeFiles/CMakeOutput.log",
DumpInformation_BINARY_DIR "/../../CMakeFiles/CMakeError.log",
DumpInformation_BINARY_DIR "/../../Bootstrap.cmk/cmake_bootstrap.log",
@@ -75,6 +75,6 @@ int main(int,char *[])
{
cmDumpInformationPrintFile(*f, stdout);
}
-
+
return 0;
-}
+}
diff --git a/Tests/TarTest/CMakeLists.txt b/Tests/TarTest/CMakeLists.txt
index a3c5b31ff..bcc340bb3 100644
--- a/Tests/TarTest/CMakeLists.txt
+++ b/Tests/TarTest/CMakeLists.txt
@@ -1,20 +1,20 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(TarTest)
+project(TarTest)
# this is macro that we will be running
-MACRO(EXEC_TAR_COMMAND DIR ARGS)
- EXEC_PROGRAM("${CMAKE_COMMAND}" "${DIR}" ARGS "-E tar ${ARGS}" RETURN_VALUE RET)
- IF(${RET})
- MESSAGE(FATAL_ERROR "CMake tar command failed with arguments \"${ARGS}\"")
- ENDIF(${RET})
-ENDMACRO(EXEC_TAR_COMMAND)
+macro(EXEC_TAR_COMMAND DIR ARGS)
+ exec_program("${CMAKE_COMMAND}" "${DIR}" ARGS "-E tar ${ARGS}" RETURN_VALUE RET)
+ if(${RET})
+ message(FATAL_ERROR "CMake tar command failed with arguments \"${ARGS}\"")
+ endif()
+endmacro()
# Create a directory structure
-SET(CHECK_FILES)
-MACRO(COPY F1 F2)
- CONFIGURE_FILE("${CMAKE_CURRENT_SOURCE_DIR}/${F1}" "${CMAKE_CURRENT_BINARY_DIR}/tar_dir/${F2}" COPYONLY)
- SET(CHECK_FILES ${CHECK_FILES} "${F2}")
-ENDMACRO(COPY)
+set(CHECK_FILES)
+macro(COPY F1 F2)
+ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/${F1}" "${CMAKE_CURRENT_BINARY_DIR}/tar_dir/${F2}" COPYONLY)
+ set(CHECK_FILES ${CHECK_FILES} "${F2}")
+endmacro()
COPY("CMakeLists.txt" "f1.txt")
COPY("CMakeLists.txt" "d1/f1.txt")
COPY("CMakeLists.txt" "d 2/f1.txt")
@@ -23,22 +23,22 @@ COPY("CMakeLists.txt" "d_4/f1.txt")
COPY("CMakeLists.txt" "d-4/f1.txt")
COPY("CMakeLists.txt" "My Special Directory/f1.txt")
-IF(UNIX)
- EXEC_PROGRAM("ln" ARGS "-sf f1.txt \"${CMAKE_CURRENT_BINARY_DIR}/tar_dir/d1/f2.txt\"")
- SET(CHECK_FILES ${CHECK_FILES} "d1/f2.txt")
-ENDIF(UNIX)
+if(UNIX)
+ exec_program("ln" ARGS "-sf f1.txt \"${CMAKE_CURRENT_BINARY_DIR}/tar_dir/d1/f2.txt\"")
+ set(CHECK_FILES ${CHECK_FILES} "d1/f2.txt")
+endif()
# cleanup first in case there are files left from previous runs
# if the umask is odd on the machine it might create files that
# are not automatically over written. These tests are run
# each time the configure step is run.
-FILE(REMOVE "${CMAKE_CURRENT_BINARY_DIR}/test_tar.tar")
-FILE(REMOVE "${CMAKE_CURRENT_BINARY_DIR}/test_tgz.tgz")
-FILE(REMOVE_RECURSE "${CMAKE_CURRENT_BINARY_DIR}/test_output_tar")
-FILE(REMOVE_RECURSE "${CMAKE_CURRENT_BINARY_DIR}/test_output_tgz")
+file(REMOVE "${CMAKE_CURRENT_BINARY_DIR}/test_tar.tar")
+file(REMOVE "${CMAKE_CURRENT_BINARY_DIR}/test_tgz.tgz")
+file(REMOVE_RECURSE "${CMAKE_CURRENT_BINARY_DIR}/test_output_tar")
+file(REMOVE_RECURSE "${CMAKE_CURRENT_BINARY_DIR}/test_output_tgz")
-MAKE_DIRECTORY("${CMAKE_CURRENT_BINARY_DIR}/test_output_tar")
-MAKE_DIRECTORY("${CMAKE_CURRENT_BINARY_DIR}/test_output_tgz")
+make_directory("${CMAKE_CURRENT_BINARY_DIR}/test_output_tar")
+make_directory("${CMAKE_CURRENT_BINARY_DIR}/test_output_tgz")
# Run tests
@@ -48,22 +48,22 @@ EXEC_TAR_COMMAND("${CMAKE_CURRENT_BINARY_DIR}" "cvfz \"${CMAKE_CURRENT_BINARY_DI
EXEC_TAR_COMMAND("${CMAKE_CURRENT_BINARY_DIR}/test_output_tar" "xvf \"${CMAKE_CURRENT_BINARY_DIR}/test_tar.tar\"")
EXEC_TAR_COMMAND("${CMAKE_CURRENT_BINARY_DIR}/test_output_tgz" "xvfz \"${CMAKE_CURRENT_BINARY_DIR}/test_tgz.tgz\"")
-MACRO(CHECK_DIR_STRUCTURE DIR)
- FOREACH(file ${CHECK_FILES})
- SET(sfile "${DIR}/${file}")
- SET(rfile "${CMAKE_CURRENT_BINARY_DIR}/tar_dir/${file}")
- IF(NOT EXISTS "${sfile}")
- MESSAGE(SEND_ERROR "Cannot find file ${sfile}")
- ELSE(NOT EXISTS "${sfile}")
- EXEC_PROGRAM("${CMAKE_COMMAND}" ARGS "-E compare_files \"${sfile}\" \"${rfile}\"" RETURN_VALUE ret)
- IF(${ret})
- MESSAGE(SEND_ERROR "Files \"${sfile}\" \"${rfile}\" are different")
- ENDIF(${ret})
- ENDIF(NOT EXISTS "${sfile}")
- ENDFOREACH(file)
-ENDMACRO(CHECK_DIR_STRUCTURE)
+macro(CHECK_DIR_STRUCTURE DIR)
+ foreach(file ${CHECK_FILES})
+ set(sfile "${DIR}/${file}")
+ set(rfile "${CMAKE_CURRENT_BINARY_DIR}/tar_dir/${file}")
+ if(NOT EXISTS "${sfile}")
+ message(SEND_ERROR "Cannot find file ${sfile}")
+ else()
+ exec_program("${CMAKE_COMMAND}" ARGS "-E compare_files \"${sfile}\" \"${rfile}\"" RETURN_VALUE ret)
+ if(${ret})
+ message(SEND_ERROR "Files \"${sfile}\" \"${rfile}\" are different")
+ endif()
+ endif()
+ endforeach()
+endmacro()
CHECK_DIR_STRUCTURE("${CMAKE_CURRENT_BINARY_DIR}/test_output_tar/tar_dir")
-ADD_EXECUTABLE(TarTest TestTarExec.cxx)
+add_executable(TarTest TestTarExec.cxx)
diff --git a/Tests/TargetName/scripts/CMakeLists.txt b/Tests/TargetName/scripts/CMakeLists.txt
index 40d4e2fb0..58af64d65 100644
--- a/Tests/TargetName/scripts/CMakeLists.txt
+++ b/Tests/TargetName/scripts/CMakeLists.txt
@@ -1,7 +1,7 @@
if(NOT CMAKE_BINARY_DIR STREQUAL "${CMAKE_SOURCE_DIR}")
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/hello_world
- COMMAND ${CMAKE_COMMAND} -E copy
+ COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_CURRENT_SOURCE_DIR}/hello_world ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/hello_world
)
@@ -10,4 +10,4 @@ if(NOT CMAKE_BINARY_DIR STREQUAL "${CMAKE_SOURCE_DIR}")
DEPENDS #hello_world
${CMAKE_CURRENT_BINARY_DIR}/hello_world
)
-endif(NOT CMAKE_BINARY_DIR STREQUAL "${CMAKE_SOURCE_DIR}")
+endif()
diff --git a/Tests/TestDriver/CMakeLists.txt b/Tests/TestDriver/CMakeLists.txt
index bd5e97414..663ecab55 100644
--- a/Tests/TestDriver/CMakeLists.txt
+++ b/Tests/TestDriver/CMakeLists.txt
@@ -1,15 +1,15 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(TestDriverTest)
+project(TestDriverTest)
-SET(Extra_SRCS testExtraStuff.cxx testExtraStuff2.cxx )
-SET(Extra_SRCS ${Extra_SRCS};testExtraStuff3.cxx )
-INCLUDE_DIRECTORIES(${TestDriverTest_SOURCE_DIR})
-CREATE_TEST_SOURCELIST(testSrcs
- TestDriverTest.cxx
- test1.cxx
- test2.cxx
- subdir/test3.cxx
+set(Extra_SRCS testExtraStuff.cxx testExtraStuff2.cxx )
+set(Extra_SRCS ${Extra_SRCS};testExtraStuff3.cxx )
+include_directories(${TestDriverTest_SOURCE_DIR})
+create_test_sourcelist(testSrcs
+ TestDriverTest.cxx
+ test1.cxx
+ test2.cxx
+ subdir/test3.cxx
EXTRA_INCLUDE testArgs.h FUNCTION testProccessArgs)
-ADD_EXECUTABLE(TestDriverTest ${testSrcs} ${Extra_SRCS})
+add_executable(TestDriverTest ${testSrcs} ${Extra_SRCS})
diff --git a/Tests/TestDriver/test1.cxx b/Tests/TestDriver/test1.cxx
index ac82f8ae9..b998fdae6 100644
--- a/Tests/TestDriver/test1.cxx
+++ b/Tests/TestDriver/test1.cxx
@@ -17,7 +17,7 @@ int test1(int ac, char* av[])
{
return -1;
}
-
+
printf("test1\n");
for(int i =0; i < ac; i++)
printf("arg %d is %s\n", ac, av[i]);
diff --git a/Tests/Testing/CMakeLists.txt b/Tests/Testing/CMakeLists.txt
index 815b52b58..8f69cbe44 100644
--- a/Tests/Testing/CMakeLists.txt
+++ b/Tests/Testing/CMakeLists.txt
@@ -2,58 +2,58 @@
# Testing
#
cmake_minimum_required (VERSION 2.7)
-PROJECT (Testing)
+project (Testing)
#
# Lib and exe path
#
-SET (LIBRARY_OUTPUT_PATH
- ${Testing_BINARY_DIR}/bin/ CACHE PATH
+set (LIBRARY_OUTPUT_PATH
+ ${Testing_BINARY_DIR}/bin/ CACHE PATH
"Single output directory for building all libraries.")
-SET (EXECUTABLE_OUTPUT_PATH
- ${Testing_BINARY_DIR}/bin/ CACHE PATH
+set (EXECUTABLE_OUTPUT_PATH
+ ${Testing_BINARY_DIR}/bin/ CACHE PATH
"Single output directory for building all executables.")
#
# Where will executable tests be written ?
#
-IF (EXECUTABLE_OUTPUT_PATH)
- SET (CXX_TEST_PATH ${EXECUTABLE_OUTPUT_PATH})
-ELSE (EXECUTABLE_OUTPUT_PATH)
- SET (CXX_TEST_PATH .)
-ENDIF (EXECUTABLE_OUTPUT_PATH)
+if (EXECUTABLE_OUTPUT_PATH)
+ set (CXX_TEST_PATH ${EXECUTABLE_OUTPUT_PATH})
+else ()
+ set (CXX_TEST_PATH .)
+endif ()
#
# Include Dart
# (will also set NSLOOKUP, HOSTNAME, etc.)
#
-INCLUDE (${CMAKE_ROOT}/Modules/Dart.cmake)
+include (${CMAKE_ROOT}/Modules/Dart.cmake)
#
# Extra coverage
#
-BUILD_COMMAND(BUILD_COMMAND_VAR ${CMAKE_MAKE_PROGRAM})
-BUILD_NAME(BUILD_NAME_VAR)
-SITE_NAME(SITE_NAME_VAR)
+build_command(BUILD_COMMAND_VAR ${CMAKE_MAKE_PROGRAM})
+build_name(BUILD_NAME_VAR)
+site_name(SITE_NAME_VAR)
#
# Enable testing
#
-ENABLE_TESTING()
+enable_testing()
#
# Add test
#
-ADD_EXECUTABLE(testing testing.cxx)
-ADD_TEST(testing.1 ${Testing_BINARY_DIR}/bin/testing)
+add_executable(testing testing.cxx)
+add_test(testing.1 ${Testing_BINARY_DIR}/bin/testing)
#
# skip level test
#
-ADD_SUBDIRECTORY(Sub/Sub2)
+add_subdirectory(Sub/Sub2)
# Per-config target name and generator expressions.
-ADD_SUBDIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/../PerConfig PerConfig)
-ADD_TEST(NAME testing.perconfig COMMAND perconfig)
-ADD_TEST(NAME testing.driver COMMAND ${PerConfig_COMMAND})
+add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../PerConfig PerConfig)
+add_test(NAME testing.perconfig COMMAND perconfig)
+add_test(NAME testing.driver COMMAND ${PerConfig_COMMAND})
diff --git a/Tests/Testing/DartConfig.cmake b/Tests/Testing/DartConfig.cmake
index 26af720ac..de6ea4b41 100644
--- a/Tests/Testing/DartConfig.cmake
+++ b/Tests/Testing/DartConfig.cmake
@@ -1,24 +1,24 @@
# 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 "23:00:00 EST")
+set (NIGHTLY_START_TIME "23:00:00 EST")
# Dart server to submit results (used by client)
-SET (DROP_SITE "")
-SET (DROP_LOCATION "")
-SET (DROP_SITE_USER "")
-SET (DROP_SITE_PASSWORD "")
-SET (TRIGGER_SITE "")
+set (DROP_SITE "")
+set (DROP_LOCATION "")
+set (DROP_SITE_USER "")
+set (DROP_SITE_PASSWORD "")
+set (TRIGGER_SITE "")
-# Dart server configuration
-# SET (CVS_WEB_URL "")
-# SET (CVS_WEB_CVSROOT "")
-# SET (USE_DOXYGEN "Off")
-# SET (DOXYGEN_URL "")
-# SET (GNATS_WEB_URL "")
+# Dart server configuration
+# set (CVS_WEB_URL "")
+# set (CVS_WEB_CVSROOT "")
+# set (USE_DOXYGEN "Off")
+# set (DOXYGEN_URL "")
+# set (GNATS_WEB_URL "")
# Continuous email delivery variables
-# SET (CONTINUOUS_FROM "")
-# SET (SMTP_MAILHOST "")
-# SET (CONTINUOUS_MONITOR_LIST "")
-# SET (CONTINUOUS_BASE_URL "")
+# set (CONTINUOUS_FROM "")
+# set (SMTP_MAILHOST "")
+# set (CONTINUOUS_MONITOR_LIST "")
+# set (CONTINUOUS_BASE_URL "")
diff --git a/Tests/Testing/Sub/Sub2/CMakeLists.txt b/Tests/Testing/Sub/Sub2/CMakeLists.txt
index fb9e8619e..78f4d1a95 100644
--- a/Tests/Testing/Sub/Sub2/CMakeLists.txt
+++ b/Tests/Testing/Sub/Sub2/CMakeLists.txt
@@ -1,8 +1,8 @@
#
# Add test
#
-ADD_EXECUTABLE(testing2 testing2.cxx)
-ADD_TEST(testing.2 ${Testing_BINARY_DIR}/bin/testing2)
+add_executable(testing2 testing2.cxx)
+add_test(testing.2 ${Testing_BINARY_DIR}/bin/testing2)
add_test(NotCycle.a ${CMAKE_COMMAND} -E echo a)
add_test(NotCycle.test1 ${CMAKE_COMMAND} -E echo test1)
diff --git a/Tests/TryCompile/CMakeLists.txt b/Tests/TryCompile/CMakeLists.txt
index 938c092c0..b6b66d8ee 100644
--- a/Tests/TryCompile/CMakeLists.txt
+++ b/Tests/TryCompile/CMakeLists.txt
@@ -1,120 +1,120 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(TryCompile)
+project(TryCompile)
-MACRO(TEST_ASSERT value msg)
- IF (NOT ${value})
- MESSAGE (SEND_ERROR "Assertion failure:" ${msg} )
- ENDIF (NOT ${value})
-ENDMACRO(TEST_ASSERT)
+macro(TEST_ASSERT value msg)
+ if (NOT ${value})
+ message (SEND_ERROR "Assertion failure:" ${msg} )
+ endif ()
+endmacro()
-MACRO(TEST_FAIL value msg)
- IF (${value})
- MESSAGE (SEND_ERROR "Failing test succeeded:" ${msg} )
- ENDIF (${value})
-ENDMACRO(TEST_FAIL)
+macro(TEST_FAIL value msg)
+ if (${value})
+ message (SEND_ERROR "Failing test succeeded:" ${msg} )
+ endif ()
+endmacro()
-MACRO(TEST_EXPECT_EXACT command expected)
- IF(NOT "x${result}" STREQUAL "x${expected}")
- MESSAGE(SEND_ERROR "${CMAKE_CURRENT_LIST_LINE}: TEST \"${command}\" failed: \"${result}\" expected: \"${expected}\"")
- ENDIF(NOT "x${result}" STREQUAL "x${expected}")
-ENDMACRO(TEST_EXPECT_EXACT command expected)
+macro(TEST_EXPECT_EXACT command expected)
+ if(NOT "x${result}" STREQUAL "x${expected}")
+ message(SEND_ERROR "${CMAKE_CURRENT_LIST_LINE}: TEST \"${command}\" failed: \"${result}\" expected: \"${expected}\"")
+ endif()
+endmacro()
-MACRO(TEST_EXPECT_CONTAINS command expected)
- IF(NOT "${result}" MATCHES "${expected}")
- MESSAGE(SEND_ERROR "${CMAKE_CURRENT_LIST_LINE}: TEST \"${command}\" failed: \"${result}\" expected: \"${expected}\"")
- ENDIF(NOT "${result}" MATCHES "${expected}")
-ENDMACRO(TEST_EXPECT_CONTAINS command expected)
+macro(TEST_EXPECT_CONTAINS command expected)
+ if(NOT "${result}" MATCHES "${expected}")
+ message(SEND_ERROR "${CMAKE_CURRENT_LIST_LINE}: TEST \"${command}\" failed: \"${result}\" expected: \"${expected}\"")
+ endif()
+endmacro()
# try to compile a file that should compile
# also check that COPY_FILE works
-TRY_COMPILE(SHOULD_PASS
- ${TryCompile_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp
+try_compile(SHOULD_PASS
+ ${TryCompile_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp
${TryCompile_SOURCE_DIR}/pass.c
OUTPUT_VARIABLE TRY_OUT
COPY_FILE ${TryCompile_BINARY_DIR}/CopyOfPass
)
-IF(NOT SHOULD_PASS)
- MESSAGE(SEND_ERROR "should pass failed ${TRY_OUT}")
-ENDIF(NOT SHOULD_PASS)
-IF(NOT EXISTS "${TryCompile_BINARY_DIR}/CopyOfPass")
- MESSAGE(SEND_ERROR "COPY_FILE to \"${TryCompile_BINARY_DIR}/CopyOfPass\" failed")
-ELSE(NOT EXISTS "${TryCompile_BINARY_DIR}/CopyOfPass")
- FILE(REMOVE "${TryCompile_BINARY_DIR}/CopyOfPass")
-ENDIF(NOT EXISTS "${TryCompile_BINARY_DIR}/CopyOfPass")
+if(NOT SHOULD_PASS)
+ message(SEND_ERROR "should pass failed ${TRY_OUT}")
+endif()
+if(NOT EXISTS "${TryCompile_BINARY_DIR}/CopyOfPass")
+ message(SEND_ERROR "COPY_FILE to \"${TryCompile_BINARY_DIR}/CopyOfPass\" failed")
+else()
+ file(REMOVE "${TryCompile_BINARY_DIR}/CopyOfPass")
+endif()
# try to compile a file that should not compile
-TRY_COMPILE(SHOULD_FAIL
- ${TryCompile_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp
+try_compile(SHOULD_FAIL
+ ${TryCompile_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp
${TryCompile_SOURCE_DIR}/fail.c
OUTPUT_VARIABLE TRY_OUT)
-IF(SHOULD_FAIL)
- MESSAGE(SEND_ERROR "Should fail passed ${TRY_OUT}")
-ENDIF(SHOULD_FAIL)
+if(SHOULD_FAIL)
+ message(SEND_ERROR "Should fail passed ${TRY_OUT}")
+endif()
# try to compile a file that should compile
-TRY_COMPILE(SHOULD_PASS
- ${TryCompile_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp
+try_compile(SHOULD_PASS
+ ${TryCompile_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp
${TryCompile_SOURCE_DIR}/pass.c
OUTPUT_VARIABLE TRY_OUT)
-IF(NOT SHOULD_PASS)
- MESSAGE(SEND_ERROR "should pass failed ${TRY_OUT}")
-ENDIF(NOT SHOULD_PASS)
+if(NOT SHOULD_PASS)
+ message(SEND_ERROR "should pass failed ${TRY_OUT}")
+endif()
# try to compile a file that should not compile
-TRY_COMPILE(SHOULD_FAIL
- ${TryCompile_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp
+try_compile(SHOULD_FAIL
+ ${TryCompile_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp
${TryCompile_SOURCE_DIR}/fail.c
OUTPUT_VARIABLE TRY_OUT)
-IF(SHOULD_FAIL)
- MESSAGE(SEND_ERROR "Should fail passed ${TRY_OUT}")
-ENDIF(SHOULD_FAIL)
-
-IF(NOT SHOULD_FAIL)
- IF(SHOULD_PASS)
- MESSAGE("All Tests passed, ignore all previous output.")
- ELSE(SHOULD_PASS)
- MESSAGE("Test failed")
- ENDIF(SHOULD_PASS)
-ELSE(NOT SHOULD_FAIL)
- MESSAGE("Test failed")
-ENDIF(NOT SHOULD_FAIL)
-TRY_COMPILE(CMAKE_ANSI_FOR_SCOPE
- ${TryCompile_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp
+if(SHOULD_FAIL)
+ message(SEND_ERROR "Should fail passed ${TRY_OUT}")
+endif()
+
+if(NOT SHOULD_FAIL)
+ if(SHOULD_PASS)
+ message("All Tests passed, ignore all previous output.")
+ else()
+ message("Test failed")
+ endif()
+else()
+ message("Test failed")
+endif()
+try_compile(CMAKE_ANSI_FOR_SCOPE
+ ${TryCompile_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp
${CMAKE_ROOT}/Modules/TestForAnsiForScope.cxx OUTPUT_VARIABLE OUT)
-IF (CMAKE_ANSI_FOR_SCOPE)
- MESSAGE("Compiler supports ansi for")
-ELSE(CMAKE_ANSI_FOR_SCOPE)
- MESSAGE("Compiler does not support ansi for scope")
-ENDIF(CMAKE_ANSI_FOR_SCOPE)
-
-TRY_COMPILE(CMAKE_ANSI_FOR_SCOPE
- ${TryCompile_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp
+if (CMAKE_ANSI_FOR_SCOPE)
+ message("Compiler supports ansi for")
+else()
+ message("Compiler does not support ansi for scope")
+endif()
+
+try_compile(CMAKE_ANSI_FOR_SCOPE
+ ${TryCompile_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp
${CMAKE_ROOT}/Modules/TestForAnsiForScope.cxx OUTPUT_VARIABLE OUT)
-IF (CMAKE_ANSI_FOR_SCOPE)
- MESSAGE("Compiler supports ansi for")
-ELSE(CMAKE_ANSI_FOR_SCOPE)
- MESSAGE("Compiler does not support ansi for scope")
-ENDIF(CMAKE_ANSI_FOR_SCOPE)
-
-MESSAGE("use the module now")
-INCLUDE(${CMAKE_ROOT}/Modules/TestForANSIForScope.cmake)
-IF (CMAKE_ANSI_FOR_SCOPE)
- MESSAGE("Compiler supports ansi for")
-ELSE(CMAKE_ANSI_FOR_SCOPE)
- MESSAGE("Compiler does not support ansi for scope")
-ENDIF(CMAKE_ANSI_FOR_SCOPE)
-
-MESSAGE("Testing try_compile project mode")
-TRY_COMPILE(TEST_INNER
+if (CMAKE_ANSI_FOR_SCOPE)
+ message("Compiler supports ansi for")
+else()
+ message("Compiler does not support ansi for scope")
+endif()
+
+message("use the module now")
+include(${CMAKE_ROOT}/Modules/TestForANSIForScope.cmake)
+if (CMAKE_ANSI_FOR_SCOPE)
+ message("Compiler supports ansi for")
+else()
+ message("Compiler does not support ansi for scope")
+endif()
+
+message("Testing try_compile project mode")
+try_compile(TEST_INNER
${TryCompile_BINARY_DIR}/CMakeFiles/Inner
${TryCompile_SOURCE_DIR}/Inner
TryCompileInner innerexe
OUTPUT_VARIABLE output)
TEST_ASSERT(TEST_INNER "try_compile project mode failed:\n${output}")
-ADD_EXECUTABLE(TryCompile pass.c)
+add_executable(TryCompile pass.c)
######################################
@@ -123,73 +123,73 @@ ADD_EXECUTABLE(TryCompile pass.c)
# try to run a file that should compile and run without error
# also check that OUTPUT_VARIABLE contains both the compile output
# and the run output
-TRY_RUN(SHOULD_RUN SHOULD_COMPILE
- ${TryCompile_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp
+try_run(SHOULD_RUN SHOULD_COMPILE
+ ${TryCompile_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp
${TryCompile_SOURCE_DIR}/exit_success.c
OUTPUT_VARIABLE TRY_OUT)
-IF(NOT SHOULD_COMPILE)
- MESSAGE(SEND_ERROR "exit_success failed compiling: ${TRY_OUT}")
-ENDIF(NOT SHOULD_COMPILE)
-IF(NOT "${SHOULD_RUN}" STREQUAL "0")
- MESSAGE(SEND_ERROR "exit_success failed running with exit code ${SHOULD_RUN}")
-ENDIF(NOT "${SHOULD_RUN}" STREQUAL "0")
+if(NOT SHOULD_COMPILE)
+ message(SEND_ERROR "exit_success failed compiling: ${TRY_OUT}")
+endif()
+if(NOT "${SHOULD_RUN}" STREQUAL "0")
+ message(SEND_ERROR "exit_success failed running with exit code ${SHOULD_RUN}")
+endif()
# check the compile output for the filename
-IF(NOT "${TRY_OUT}" MATCHES "exit_success")
- MESSAGE(SEND_ERROR " TRY_OUT didn't contain \"exit_success\": \"${TRY_OUT}\"")
-ENDIF(NOT "${TRY_OUT}" MATCHES "exit_success")
+if(NOT "${TRY_OUT}" MATCHES "exit_success")
+ message(SEND_ERROR " TRY_OUT didn't contain \"exit_success\": \"${TRY_OUT}\"")
+endif()
# check the run output
-IF(NOT "${TRY_OUT}" MATCHES "hello world")
- MESSAGE(SEND_ERROR " TRY_OUT didn't contain \"hello world\": \"${TRY_OUT}\"")
-ENDIF(NOT "${TRY_OUT}" MATCHES "hello world")
+if(NOT "${TRY_OUT}" MATCHES "hello world")
+ message(SEND_ERROR " TRY_OUT didn't contain \"hello world\": \"${TRY_OUT}\"")
+endif()
-TRY_RUN(ARG_TEST_RUN ARG_TEST_COMPILE
- ${TryCompile_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp
+try_run(ARG_TEST_RUN ARG_TEST_COMPILE
+ ${TryCompile_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp
${TryCompile_SOURCE_DIR}/expect_arg.c
OUTPUT_VARIABLE TRY_OUT
ARGS arg1 arg2)
-IF(NOT ARG_TEST_COMPILE)
- MESSAGE(SEND_ERROR "expect_arg failed compiling: ${TRY_OUT}")
-ENDIF(NOT ARG_TEST_COMPILE)
-IF(NOT "${ARG_TEST_RUN}" STREQUAL "0")
- MESSAGE(SEND_ERROR "expect_arg failed running with exit code ${ARG_TEST_RUN} ${TRY_OUT}")
-ENDIF(NOT "${ARG_TEST_RUN}" STREQUAL "0")
+if(NOT ARG_TEST_COMPILE)
+ message(SEND_ERROR "expect_arg failed compiling: ${TRY_OUT}")
+endif()
+if(NOT "${ARG_TEST_RUN}" STREQUAL "0")
+ message(SEND_ERROR "expect_arg failed running with exit code ${ARG_TEST_RUN} ${TRY_OUT}")
+endif()
# try to run a file that should compile and run, but return an error
-TRY_RUN(SHOULD_EXIT_WITH_ERROR SHOULD_COMPILE
- ${TryCompile_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp
+try_run(SHOULD_EXIT_WITH_ERROR SHOULD_COMPILE
+ ${TryCompile_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp
${TryCompile_SOURCE_DIR}/exit_with_error.c
COMPILE_OUTPUT_VARIABLE COMPILE_OUTPUT
RUN_OUTPUT_VARIABLE RUN_OUTPUT)
-IF(NOT SHOULD_COMPILE)
- MESSAGE(STATUS " exit_with_error failed compiling: ${COMPILE_OUTPUT}")
-ENDIF(NOT SHOULD_COMPILE)
-IF("${SHOULD_EXIT_WITH_ERROR}" STREQUAL "0")
- MESSAGE(SEND_ERROR " exit_with_error passed with exit code ${SHOULD_EXIT_WITH_ERROR}")
-ENDIF("${SHOULD_EXIT_WITH_ERROR}" STREQUAL "0")
+if(NOT SHOULD_COMPILE)
+ message(STATUS " exit_with_error failed compiling: ${COMPILE_OUTPUT}")
+endif()
+if("${SHOULD_EXIT_WITH_ERROR}" STREQUAL "0")
+ message(SEND_ERROR " exit_with_error passed with exit code ${SHOULD_EXIT_WITH_ERROR}")
+endif()
# check the compile output, it should contain the filename
-IF(NOT "${COMPILE_OUTPUT}" MATCHES "exit_with_error")
- MESSAGE(SEND_ERROR " COMPILE_OUT didn't contain \"exit_with_error\": \"${COMPILE_OUTPUT}\"")
-ENDIF(NOT "${COMPILE_OUTPUT}" MATCHES "exit_with_error")
+if(NOT "${COMPILE_OUTPUT}" MATCHES "exit_with_error")
+ message(SEND_ERROR " COMPILE_OUT didn't contain \"exit_with_error\": \"${COMPILE_OUTPUT}\"")
+endif()
#... but not the run time output
-IF("${COMPILE_OUTPUT}" MATCHES "hello world")
- MESSAGE(SEND_ERROR " COMPILE_OUT contains the run output: \"${COMPILE_OUTPUT}\"")
-ENDIF("${COMPILE_OUTPUT}" MATCHES "hello world")
+if("${COMPILE_OUTPUT}" MATCHES "hello world")
+ message(SEND_ERROR " COMPILE_OUT contains the run output: \"${COMPILE_OUTPUT}\"")
+endif()
# check the run output, it should stdout
-IF(NOT "${RUN_OUTPUT}" MATCHES "hello world")
- MESSAGE(SEND_ERROR " RUN_OUTPUT didn't contain \"hello world\": \"${RUN_OUTPUT}\"")
-ENDIF(NOT "${RUN_OUTPUT}" MATCHES "hello world")
+if(NOT "${RUN_OUTPUT}" MATCHES "hello world")
+ message(SEND_ERROR " RUN_OUTPUT didn't contain \"hello world\": \"${RUN_OUTPUT}\"")
+endif()
#######################################################################
#
# also test that the CHECK_C_SOURCE_COMPILES, CHECK_CXX_SOURCE_COMPILES
# CHECK_C_SOURCE_RUNS and CHECK_CXX_SOURCE_RUNS macros work
-INCLUDE(CheckCSourceCompiles)
-INCLUDE(CheckCXXSourceCompiles)
-INCLUDE(CheckCSourceRuns)
-INCLUDE(CheckCXXSourceRuns)
+include(CheckCSourceCompiles)
+include(CheckCXXSourceCompiles)
+include(CheckCSourceRuns)
+include(CheckCXXSourceRuns)
CHECK_C_SOURCE_COMPILES("I dont build" C_BUILD_SHOULD_FAIL)
CHECK_C_SOURCE_COMPILES("int main() {return 0;}" C_BUILD_SHOULD_WORK)
@@ -211,27 +211,27 @@ TEST_ASSERT(CXX_BUILD_SHOULD_WORK "CHECK_CXX_SOURCE_COMPILES() failed")
TEST_FAIL(CXX_RUN_SHOULD_FAIL "CHECK_CXX_SOURCE_RUNS() succeeded, but should have failed")
TEST_ASSERT(CXX_RUN_SHOULD_WORK "CHECK_CXX_SOURCE_RUNS() failed")
-FOREACH(lang C CXX)
- IF(NOT "${CMAKE_${lang}_COMPILER_ID}" MATCHES "^(PathScale)$")
- SET(${lang}_DD --)
- ENDIF()
-ENDFOREACH()
+foreach(lang C CXX)
+ if(NOT "${CMAKE_${lang}_COMPILER_ID}" MATCHES "^(PathScale)$")
+ set(${lang}_DD --)
+ endif()
+endforeach()
-UNSET(C_BOGUS_FLAG CACHE)
-INCLUDE(CheckCCompilerFlag)
+unset(C_BOGUS_FLAG CACHE)
+include(CheckCCompilerFlag)
CHECK_C_COMPILER_FLAG(${C_DD}-_this_is_not_a_flag_ C_BOGUS_FLAG)
TEST_FAIL(C_BOGUS_FLAG "CHECK_C_COMPILER_FLAG() succeeded, but should have failed")
-UNSET(CXX_BOGUS_FLAG CACHE)
-INCLUDE(CheckCXXCompilerFlag)
+unset(CXX_BOGUS_FLAG CACHE)
+include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG(${CXX_DD}-_this_is_not_a_flag_ CXX_BOGUS_FLAG)
TEST_FAIL(CXX_BOGUS_FLAG "CHECK_CXX_COMPILER_FLAG() succeeded, but should have failed")
-IF("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
- UNSET(C_STRICT_PROTOTYPES CACHE)
+if("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
+ unset(C_STRICT_PROTOTYPES CACHE)
CHECK_C_COMPILER_FLAG("-Werror;-Wstrict-prototypes" C_STRICT_PROTOTYPES)
TEST_ASSERT(C_STRICT_PROTOTYPES "CHECK_C_COMPILER_FLAG failed -Werror -Wstrict-prototypes")
-ENDIF()
+endif()
#######################################################################
#
diff --git a/Tests/TryCompile/expect_arg.c b/Tests/TryCompile/expect_arg.c
index 7ca49aa43..f18e03f60 100644
--- a/Tests/TryCompile/expect_arg.c
+++ b/Tests/TryCompile/expect_arg.c
@@ -10,7 +10,7 @@ int main(int ac, char*av[])
}
if(ac == 3)
{
- if(strcmp(av[1], "arg1") ==0
+ if(strcmp(av[1], "arg1") ==0
&& strcmp(av[2], "arg2") ==0)
{
printf("arg1 and arg2 present and accounted for!\n");
diff --git a/Tests/TryCompile/pass.c b/Tests/TryCompile/pass.c
index 40bc5e2dd..43e8a7ee0 100644
--- a/Tests/TryCompile/pass.c
+++ b/Tests/TryCompile/pass.c
@@ -3,4 +3,4 @@ int main()
return 0;
}
-
+
diff --git a/Tests/Tutorial/Step2/CMakeLists.txt b/Tests/Tutorial/Step2/CMakeLists.txt
index c82b7df98..cf1d30ee2 100644
--- a/Tests/Tutorial/Step2/CMakeLists.txt
+++ b/Tests/Tutorial/Step2/CMakeLists.txt
@@ -24,7 +24,7 @@ if (USE_MYMATH)
include_directories ("${PROJECT_SOURCE_DIR}/MathFunctions")
add_subdirectory (MathFunctions)
set (EXTRA_LIBS ${EXTRA_LIBS} MathFunctions)
-endif (USE_MYMATH)
+endif ()
# add the executable
add_executable (Tutorial tutorial.cxx)
diff --git a/Tests/Tutorial/Step2/MathFunctions/mysqrt.cxx b/Tests/Tutorial/Step2/MathFunctions/mysqrt.cxx
index 76b8e2d9d..62523f69f 100644
--- a/Tests/Tutorial/Step2/MathFunctions/mysqrt.cxx
+++ b/Tests/Tutorial/Step2/MathFunctions/mysqrt.cxx
@@ -8,9 +8,9 @@ double mysqrt(double x)
{
return 0;
}
-
+
double result;
- double delta;
+ double delta;
result = x;
// do ten iterations
diff --git a/Tests/Tutorial/Step3/CMakeLists.txt b/Tests/Tutorial/Step3/CMakeLists.txt
index 0b05fd737..762302bc5 100644
--- a/Tests/Tutorial/Step3/CMakeLists.txt
+++ b/Tests/Tutorial/Step3/CMakeLists.txt
@@ -24,7 +24,7 @@ if (USE_MYMATH)
include_directories ("${PROJECT_SOURCE_DIR}/MathFunctions")
add_subdirectory (MathFunctions)
set (EXTRA_LIBS ${EXTRA_LIBS} MathFunctions)
-endif (USE_MYMATH)
+endif ()
# add the executable
add_executable (Tutorial tutorial.cxx)
@@ -32,7 +32,7 @@ target_link_libraries (Tutorial ${EXTRA_LIBS})
# add the install targets
install (TARGETS Tutorial DESTINATION bin)
-install (FILES "${PROJECT_BINARY_DIR}/TutorialConfig.h"
+install (FILES "${PROJECT_BINARY_DIR}/TutorialConfig.h"
DESTINATION include)
@@ -44,7 +44,7 @@ add_test (TutorialRuns Tutorial 25)
# does it sqrt of 25
add_test (TutorialComp25 Tutorial 25)
-set_tests_properties (TutorialComp25
+set_tests_properties (TutorialComp25
PROPERTIES PASS_REGULAR_EXPRESSION "25 is 5"
)
@@ -63,6 +63,6 @@ set_tests_properties (TutorialSmall
# does the usage message work?
add_test (TutorialUsage Tutorial)
set_tests_properties (TutorialUsage
- PROPERTIES
+ PROPERTIES
PASS_REGULAR_EXPRESSION "Usage:.*number"
)
diff --git a/Tests/Tutorial/Step3/MathFunctions/mysqrt.cxx b/Tests/Tutorial/Step3/MathFunctions/mysqrt.cxx
index 76b8e2d9d..62523f69f 100644
--- a/Tests/Tutorial/Step3/MathFunctions/mysqrt.cxx
+++ b/Tests/Tutorial/Step3/MathFunctions/mysqrt.cxx
@@ -8,9 +8,9 @@ double mysqrt(double x)
{
return 0;
}
-
+
double result;
- double delta;
+ double delta;
result = x;
// do ten iterations
diff --git a/Tests/Tutorial/Step4/CMakeLists.txt b/Tests/Tutorial/Step4/CMakeLists.txt
index 3b24b4416..6994aa1ce 100644
--- a/Tests/Tutorial/Step4/CMakeLists.txt
+++ b/Tests/Tutorial/Step4/CMakeLists.txt
@@ -29,7 +29,7 @@ if (USE_MYMATH)
include_directories ("${PROJECT_SOURCE_DIR}/MathFunctions")
add_subdirectory (MathFunctions)
set (EXTRA_LIBS ${EXTRA_LIBS} MathFunctions)
-endif (USE_MYMATH)
+endif ()
# add the executable
add_executable (Tutorial tutorial.cxx)
@@ -37,7 +37,7 @@ target_link_libraries (Tutorial ${EXTRA_LIBS})
# add the install targets
install (TARGETS Tutorial DESTINATION bin)
-install (FILES "${PROJECT_BINARY_DIR}/TutorialConfig.h"
+install (FILES "${PROJECT_BINARY_DIR}/TutorialConfig.h"
DESTINATION include)
# enable testing
@@ -49,7 +49,7 @@ add_test (TutorialRuns Tutorial 25)
# does the usage message work?
add_test (TutorialUsage Tutorial)
set_tests_properties (TutorialUsage
- PROPERTIES
+ PROPERTIES
PASS_REGULAR_EXPRESSION "Usage:.*number"
)
@@ -59,7 +59,7 @@ macro (do_test arg result)
set_tests_properties (TutorialComp${arg}
PROPERTIES PASS_REGULAR_EXPRESSION ${result}
)
-endmacro (do_test)
+endmacro ()
# do a bunch of result based tests
do_test (25 "25 is 5")
diff --git a/Tests/Tutorial/Step4/MathFunctions/mysqrt.cxx b/Tests/Tutorial/Step4/MathFunctions/mysqrt.cxx
index 0cf7db480..d081d11d2 100644
--- a/Tests/Tutorial/Step4/MathFunctions/mysqrt.cxx
+++ b/Tests/Tutorial/Step4/MathFunctions/mysqrt.cxx
@@ -11,7 +11,7 @@ double mysqrt(double x)
{
return 0;
}
-
+
double result;
// if we have both log and exp then use them
@@ -19,7 +19,7 @@ double mysqrt(double x)
result = exp(log(x)*0.5);
fprintf(stdout,"Computing sqrt of %g to be %g using log\n",x,result);
#else
- double delta;
+ double delta;
result = x;
// do ten iterations
diff --git a/Tests/Tutorial/Step5/CMakeLists.txt b/Tests/Tutorial/Step5/CMakeLists.txt
index 3002ea084..e40b676b4 100644
--- a/Tests/Tutorial/Step5/CMakeLists.txt
+++ b/Tests/Tutorial/Step5/CMakeLists.txt
@@ -29,7 +29,7 @@ if (USE_MYMATH)
include_directories ("${PROJECT_SOURCE_DIR}/MathFunctions")
add_subdirectory (MathFunctions)
set (EXTRA_LIBS ${EXTRA_LIBS} MathFunctions)
-endif (USE_MYMATH)
+endif ()
# add the executable
add_executable (Tutorial tutorial.cxx)
@@ -37,7 +37,7 @@ target_link_libraries (Tutorial ${EXTRA_LIBS})
# add the install targets
install (TARGETS Tutorial DESTINATION bin)
-install (FILES "${PROJECT_BINARY_DIR}/TutorialConfig.h"
+install (FILES "${PROJECT_BINARY_DIR}/TutorialConfig.h"
DESTINATION include)
# enable testing
@@ -49,7 +49,7 @@ add_test (TutorialRuns Tutorial 25)
# does the usage message work?
add_test (TutorialUsage Tutorial)
set_tests_properties (TutorialUsage
- PROPERTIES
+ PROPERTIES
PASS_REGULAR_EXPRESSION "Usage:.*number"
)
@@ -59,7 +59,7 @@ macro (do_test arg result)
set_tests_properties (TutorialComp${arg}
PROPERTIES PASS_REGULAR_EXPRESSION ${result}
)
-endmacro (do_test)
+endmacro ()
# do a bunch of result based tests
do_test (4 "4 is 2")
diff --git a/Tests/Tutorial/Step5/MathFunctions/MakeTable.cxx b/Tests/Tutorial/Step5/MathFunctions/MakeTable.cxx
index 540254271..ef98d5fdc 100644
--- a/Tests/Tutorial/Step5/MathFunctions/MakeTable.cxx
+++ b/Tests/Tutorial/Step5/MathFunctions/MakeTable.cxx
@@ -1,4 +1,4 @@
-// A simple program that builds a sqrt table
+// A simple program that builds a sqrt table
#include <stdio.h>
#include <math.h>
@@ -12,14 +12,14 @@ int main (int argc, char *argv[])
{
return 1;
}
-
+
// open the output file
FILE *fout = fopen(argv[1],"w");
if (!fout)
{
return 1;
}
-
+
// create a source file with a table of square roots
fprintf(fout,"double sqrtTable[] = {\n");
for (i = 0; i < 10; ++i)
diff --git a/Tests/Tutorial/Step5/MathFunctions/mysqrt.cxx b/Tests/Tutorial/Step5/MathFunctions/mysqrt.cxx
index 33659b740..1f9b88719 100644
--- a/Tests/Tutorial/Step5/MathFunctions/mysqrt.cxx
+++ b/Tests/Tutorial/Step5/MathFunctions/mysqrt.cxx
@@ -14,11 +14,11 @@ double mysqrt(double x)
{
return 0;
}
-
+
double result;
// if we have both log and exp then use them
- double delta;
+ double delta;
// use the table to help find an initial value
result = x;
diff --git a/Tests/Tutorial/Step6/CMakeLists.txt b/Tests/Tutorial/Step6/CMakeLists.txt
index 4f70f4fc4..0fb7cac5f 100644
--- a/Tests/Tutorial/Step6/CMakeLists.txt
+++ b/Tests/Tutorial/Step6/CMakeLists.txt
@@ -29,7 +29,7 @@ if (USE_MYMATH)
include_directories ("${PROJECT_SOURCE_DIR}/MathFunctions")
add_subdirectory (MathFunctions)
set (EXTRA_LIBS ${EXTRA_LIBS} MathFunctions)
-endif (USE_MYMATH)
+endif ()
# add the executable
add_executable (Tutorial tutorial.cxx)
@@ -37,7 +37,7 @@ target_link_libraries (Tutorial ${EXTRA_LIBS})
# add the install targets
install (TARGETS Tutorial DESTINATION bin)
-install (FILES "${PROJECT_BINARY_DIR}/TutorialConfig.h"
+install (FILES "${PROJECT_BINARY_DIR}/TutorialConfig.h"
DESTINATION include)
# enable testing
@@ -49,7 +49,7 @@ add_test (TutorialRuns Tutorial 25)
# does the usage message work?
add_test (TutorialUsage Tutorial)
set_tests_properties (TutorialUsage
- PROPERTIES
+ PROPERTIES
PASS_REGULAR_EXPRESSION "Usage:.*number"
)
@@ -59,7 +59,7 @@ macro (do_test arg result)
set_tests_properties (TutorialComp${arg}
PROPERTIES PASS_REGULAR_EXPRESSION ${result}
)
-endmacro (do_test)
+endmacro ()
# do a bunch of result based tests
do_test (4 "4 is 2")
diff --git a/Tests/Tutorial/Step6/MathFunctions/CMakeLists.txt b/Tests/Tutorial/Step6/MathFunctions/CMakeLists.txt
index d606ac03e..9961e6945 100644
--- a/Tests/Tutorial/Step6/MathFunctions/CMakeLists.txt
+++ b/Tests/Tutorial/Step6/MathFunctions/CMakeLists.txt
@@ -12,7 +12,7 @@ add_custom_command (
)
set_source_files_properties (
- mysqrt.cxx PROPERTIES
+ mysqrt.cxx PROPERTIES
OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/Table.h
)
diff --git a/Tests/Tutorial/Step6/MathFunctions/MakeTable.cxx b/Tests/Tutorial/Step6/MathFunctions/MakeTable.cxx
index 540254271..ef98d5fdc 100644
--- a/Tests/Tutorial/Step6/MathFunctions/MakeTable.cxx
+++ b/Tests/Tutorial/Step6/MathFunctions/MakeTable.cxx
@@ -1,4 +1,4 @@
-// A simple program that builds a sqrt table
+// A simple program that builds a sqrt table
#include <stdio.h>
#include <math.h>
@@ -12,14 +12,14 @@ int main (int argc, char *argv[])
{
return 1;
}
-
+
// open the output file
FILE *fout = fopen(argv[1],"w");
if (!fout)
{
return 1;
}
-
+
// create a source file with a table of square roots
fprintf(fout,"double sqrtTable[] = {\n");
for (i = 0; i < 10; ++i)
diff --git a/Tests/Tutorial/Step6/MathFunctions/mysqrt.cxx b/Tests/Tutorial/Step6/MathFunctions/mysqrt.cxx
index 33659b740..1f9b88719 100644
--- a/Tests/Tutorial/Step6/MathFunctions/mysqrt.cxx
+++ b/Tests/Tutorial/Step6/MathFunctions/mysqrt.cxx
@@ -14,11 +14,11 @@ double mysqrt(double x)
{
return 0;
}
-
+
double result;
// if we have both log and exp then use them
- double delta;
+ double delta;
// use the table to help find an initial value
result = x;
diff --git a/Tests/Tutorial/Step7/CMakeLists.txt b/Tests/Tutorial/Step7/CMakeLists.txt
index 42f73f221..d9a92fbef 100644
--- a/Tests/Tutorial/Step7/CMakeLists.txt
+++ b/Tests/Tutorial/Step7/CMakeLists.txt
@@ -29,7 +29,7 @@ if (USE_MYMATH)
include_directories ("${PROJECT_SOURCE_DIR}/MathFunctions")
add_subdirectory (MathFunctions)
set (EXTRA_LIBS ${EXTRA_LIBS} MathFunctions)
-endif (USE_MYMATH)
+endif ()
# add the executable
add_executable (Tutorial tutorial.cxx)
@@ -37,7 +37,7 @@ target_link_libraries (Tutorial ${EXTRA_LIBS})
# add the install targets
install (TARGETS Tutorial DESTINATION bin)
-install (FILES "${PROJECT_BINARY_DIR}/TutorialConfig.h"
+install (FILES "${PROJECT_BINARY_DIR}/TutorialConfig.h"
DESTINATION include)
# enable testing
@@ -49,7 +49,7 @@ add_test (TutorialRuns Tutorial 25)
# does the usage message work?
add_test (TutorialUsage Tutorial)
set_tests_properties (TutorialUsage
- PROPERTIES
+ PROPERTIES
PASS_REGULAR_EXPRESSION "Usage:.*number"
)
@@ -59,7 +59,7 @@ macro (do_test arg result)
set_tests_properties (TutorialComp${arg}
PROPERTIES PASS_REGULAR_EXPRESSION ${result}
)
-endmacro (do_test)
+endmacro ()
# do a bunch of result based tests
do_test (4 "4 is 2")
diff --git a/Tests/Tutorial/Step7/MathFunctions/CMakeLists.txt b/Tests/Tutorial/Step7/MathFunctions/CMakeLists.txt
index d606ac03e..9961e6945 100644
--- a/Tests/Tutorial/Step7/MathFunctions/CMakeLists.txt
+++ b/Tests/Tutorial/Step7/MathFunctions/CMakeLists.txt
@@ -12,7 +12,7 @@ add_custom_command (
)
set_source_files_properties (
- mysqrt.cxx PROPERTIES
+ mysqrt.cxx PROPERTIES
OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/Table.h
)
diff --git a/Tests/Tutorial/Step7/MathFunctions/MakeTable.cxx b/Tests/Tutorial/Step7/MathFunctions/MakeTable.cxx
index 540254271..ef98d5fdc 100644
--- a/Tests/Tutorial/Step7/MathFunctions/MakeTable.cxx
+++ b/Tests/Tutorial/Step7/MathFunctions/MakeTable.cxx
@@ -1,4 +1,4 @@
-// A simple program that builds a sqrt table
+// A simple program that builds a sqrt table
#include <stdio.h>
#include <math.h>
@@ -12,14 +12,14 @@ int main (int argc, char *argv[])
{
return 1;
}
-
+
// open the output file
FILE *fout = fopen(argv[1],"w");
if (!fout)
{
return 1;
}
-
+
// create a source file with a table of square roots
fprintf(fout,"double sqrtTable[] = {\n");
for (i = 0; i < 10; ++i)
diff --git a/Tests/Tutorial/Step7/MathFunctions/mysqrt.cxx b/Tests/Tutorial/Step7/MathFunctions/mysqrt.cxx
index 33659b740..1f9b88719 100644
--- a/Tests/Tutorial/Step7/MathFunctions/mysqrt.cxx
+++ b/Tests/Tutorial/Step7/MathFunctions/mysqrt.cxx
@@ -14,11 +14,11 @@ double mysqrt(double x)
{
return 0;
}
-
+
double result;
// if we have both log and exp then use them
- double delta;
+ double delta;
// use the table to help find an initial value
result = x;
diff --git a/Tests/Tutorial/Step7/build1.cmake b/Tests/Tutorial/Step7/build1.cmake
index 039d5569b..baa475f28 100644
--- a/Tests/Tutorial/Step7/build1.cmake
+++ b/Tests/Tutorial/Step7/build1.cmake
@@ -1,5 +1,5 @@
-SET(CTEST_SOURCE_DIRECTORY "$ENV{HOME}/Dashboards/My Tests/CMake/Tests/Tutorial/Step7")
-SET(CTEST_BINARY_DIRECTORY "${CTEST_SOURCE_DIRECTORY}-build1")
+set(CTEST_SOURCE_DIRECTORY "$ENV{HOME}/Dashboards/My Tests/CMake/Tests/Tutorial/Step7")
+set(CTEST_BINARY_DIRECTORY "${CTEST_SOURCE_DIRECTORY}-build1")
-SET(CTEST_CMAKE_COMMAND "cmake")
-SET(CTEST_COMMAND "ctest -D Experimental")
+set(CTEST_CMAKE_COMMAND "cmake")
+set(CTEST_COMMAND "ctest -D Experimental")
diff --git a/Tests/Tutorial/Step7/build2.cmake b/Tests/Tutorial/Step7/build2.cmake
index 5112355b2..c2f2e2e10 100644
--- a/Tests/Tutorial/Step7/build2.cmake
+++ b/Tests/Tutorial/Step7/build2.cmake
@@ -1,6 +1,6 @@
-SET(CTEST_SOURCE_DIRECTORY "$ENV{HOME}/Dashboards/My Tests/CMake/Tests/Tutorial/Step7")
-SET(CTEST_BINARY_DIRECTORY "${CTEST_SOURCE_DIRECTORY}-build2")
-SET(CTEST_CMAKE_GENERATOR "Visual Studio 8 2005")
+set(CTEST_SOURCE_DIRECTORY "$ENV{HOME}/Dashboards/My Tests/CMake/Tests/Tutorial/Step7")
+set(CTEST_BINARY_DIRECTORY "${CTEST_SOURCE_DIRECTORY}-build2")
+set(CTEST_CMAKE_GENERATOR "Visual Studio 8 2005")
CTEST_START("Experimental")
CTEST_CONFIGURE(BUILD "${CTEST_BINARY_DIRECTORY}")
diff --git a/Tests/Unset/CMakeLists.txt b/Tests/Unset/CMakeLists.txt
index bacb6d21f..781da3fa6 100644
--- a/Tests/Unset/CMakeLists.txt
+++ b/Tests/Unset/CMakeLists.txt
@@ -5,51 +5,51 @@ project(Unset C)
set(x 42)
if(NOT x EQUAL 42)
message(FATAL_ERROR "x!=42")
-endif(NOT x EQUAL 42)
+endif()
if(NOT DEFINED x)
message(FATAL_ERROR "x should be defined!")
-endif(NOT DEFINED x)
+endif()
unset(x)
if(DEFINED x)
message(FATAL_ERROR "x should be undefined now!")
-endif(DEFINED x)
+endif()
# Local variable test unset via set()
set(x 43)
if(NOT x EQUAL 43)
message(FATAL_ERROR "x!=43")
-endif(NOT x EQUAL 43)
+endif()
set(x)
if(DEFINED x)
message(FATAL_ERROR "x should be undefined now!")
-endif(DEFINED x)
+endif()
# Cache variable
set(BAR "test" CACHE STRING "documentation")
if(NOT DEFINED BAR)
message(FATAL_ERROR "BAR not defined")
-endif(NOT DEFINED BAR)
+endif()
# Test interaction of cache entries with variables.
set(BAR "test-var")
if(NOT "$CACHE{BAR}" STREQUAL "test")
message(FATAL_ERROR "\$CACHE{BAR} changed by variable BAR")
-endif(NOT "$CACHE{BAR}" STREQUAL "test")
+endif()
if(NOT "${BAR}" STREQUAL "test-var")
message(FATAL_ERROR "\${BAR} not separate from \$CACHE{BAR}")
-endif(NOT "${BAR}" STREQUAL "test-var")
+endif()
unset(BAR)
if(NOT "${BAR}" STREQUAL "test")
message(FATAL_ERROR "\${BAR} does not fall through to \$CACHE{BAR}")
-endif(NOT "${BAR}" STREQUAL "test")
+endif()
# Test unsetting of CACHE entry.
unset(BAR CACHE)
if(DEFINED BAR)
message(FATAL_ERROR "BAR still defined")
-endif(DEFINED BAR)
+endif()
add_executable(Unset unset.c)
diff --git a/Tests/VSExternalInclude/CMakeLists.txt b/Tests/VSExternalInclude/CMakeLists.txt
index a2fd61973..399ac6997 100644
--- a/Tests/VSExternalInclude/CMakeLists.txt
+++ b/Tests/VSExternalInclude/CMakeLists.txt
@@ -1,54 +1,54 @@
cmake_minimum_required (VERSION 2.6)
-PROJECT(VSExternalInclude)
+project(VSExternalInclude)
-IF(${CMAKE_GENERATOR} MATCHES "Visual Studio 6")
- SET(PROJECT_EXT dsp)
-ELSE(${CMAKE_GENERATOR} MATCHES "Visual Studio 6")
- SET(PROJECT_EXT vcproj)
-ENDIF(${CMAKE_GENERATOR} MATCHES "Visual Studio 6")
-IF(${CMAKE_GENERATOR} MATCHES "Visual Studio 1[01]")
- SET(PROJECT_EXT vcxproj)
-ENDIF()
+if(${CMAKE_GENERATOR} MATCHES "Visual Studio 6")
+ set(PROJECT_EXT dsp)
+else()
+ set(PROJECT_EXT vcproj)
+endif()
+if(${CMAKE_GENERATOR} MATCHES "Visual Studio 1[01]")
+ set(PROJECT_EXT vcxproj)
+endif()
# make sure directories exists
-SET(LIB1_BINARY_DIR ${VSExternalInclude_BINARY_DIR}/Lib1)
-MAKE_DIRECTORY("${LIB1_BINARY_DIR}")
+set(LIB1_BINARY_DIR ${VSExternalInclude_BINARY_DIR}/Lib1)
+make_directory("${LIB1_BINARY_DIR}")
-SET(LIB2_BINARY_DIR ${VSExternalInclude_BINARY_DIR}/Lib2)
-MAKE_DIRECTORY("${LIB2_BINARY_DIR}")
+set(LIB2_BINARY_DIR ${VSExternalInclude_BINARY_DIR}/Lib2)
+make_directory("${LIB2_BINARY_DIR}")
# generate lib1
-EXEC_PROGRAM("${CMAKE_COMMAND}" "${LIB1_BINARY_DIR}" ARGS -G\"${CMAKE_GENERATOR}\"
+exec_program("${CMAKE_COMMAND}" "${LIB1_BINARY_DIR}" ARGS -G\"${CMAKE_GENERATOR}\"
\"${VSExternalInclude_SOURCE_DIR}/Lib1\" OUTPUT_VARIABLE OUT)
-MESSAGE("CMAKE Ran with the following output:\n\"${OUT}\"")
+message("CMAKE Ran with the following output:\n\"${OUT}\"")
# generate lib2
-EXEC_PROGRAM("${CMAKE_COMMAND}" "${LIB2_BINARY_DIR}" ARGS -G\"${CMAKE_GENERATOR}\"
+exec_program("${CMAKE_COMMAND}" "${LIB2_BINARY_DIR}" ARGS -G\"${CMAKE_GENERATOR}\"
\"${VSExternalInclude_SOURCE_DIR}/Lib2\" OUTPUT_VARIABLE OUT)
-MESSAGE("CMAKE Ran with the following output:\n\"${OUT}\"")
+message("CMAKE Ran with the following output:\n\"${OUT}\"")
-INCLUDE_EXTERNAL_MSPROJECT(lib1 ${VSExternalInclude_BINARY_DIR}/Lib1/LIB1.${PROJECT_EXT})
+include_external_msproject(lib1 ${VSExternalInclude_BINARY_DIR}/Lib1/LIB1.${PROJECT_EXT})
# lib2 depends on lib1
-INCLUDE_EXTERNAL_MSPROJECT(lib2 ${VSExternalInclude_BINARY_DIR}/Lib2/LIB2.${PROJECT_EXT} lib1)
+include_external_msproject(lib2 ${VSExternalInclude_BINARY_DIR}/Lib2/LIB2.${PROJECT_EXT} lib1)
-INCLUDE_DIRECTORIES(${VSExternalInclude_SOURCE_DIR}/Lib2 ${VSExternalInclude_SOURCE_DIR}/Lib1)
+include_directories(${VSExternalInclude_SOURCE_DIR}/Lib2 ${VSExternalInclude_SOURCE_DIR}/Lib1)
-SET(SOURCES main.cpp)
+set(SOURCES main.cpp)
-ADD_EXECUTABLE(VSExternalInclude ${SOURCES})
+add_executable(VSExternalInclude ${SOURCES})
# target depends on lib2
-ADD_DEPENDENCIES(VSExternalInclude lib2)
+add_dependencies(VSExternalInclude lib2)
# VS 10 vcxproj files have depends in them
# Since lib1 and lib2 do not depend on each other
# then the vcxproj files do not depend on each other
# and the sln file can no longer be the only source
# of that depend. So, for VS 10 make the executable
# depend on lib1 and lib2
-IF(MSVC10 OR MSVC11)
- ADD_DEPENDENCIES(VSExternalInclude lib1)
-ENDIF()
+if(MSVC10 OR MSVC11)
+ add_dependencies(VSExternalInclude lib1)
+endif()
# Interaction testing between the FOLDER target property and
# INCLUDE_EXTERNAL_MSPROJECT targets:
diff --git a/Tests/VSExternalInclude/Lib1/CMakeLists.txt b/Tests/VSExternalInclude/Lib1/CMakeLists.txt
index 72ffcedc1..1cb01c5dd 100644
--- a/Tests/VSExternalInclude/Lib1/CMakeLists.txt
+++ b/Tests/VSExternalInclude/Lib1/CMakeLists.txt
@@ -1,5 +1,5 @@
-PROJECT(LIB1)
+project(LIB1)
-SET(SOURCES lib1.cpp)
+set(SOURCES lib1.cpp)
-ADD_LIBRARY(lib1 ${SOURCES})
+add_library(lib1 ${SOURCES})
diff --git a/Tests/VSExternalInclude/Lib2/CMakeLists.txt b/Tests/VSExternalInclude/Lib2/CMakeLists.txt
index 31e40e4e1..f726c3f8b 100644
--- a/Tests/VSExternalInclude/Lib2/CMakeLists.txt
+++ b/Tests/VSExternalInclude/Lib2/CMakeLists.txt
@@ -1,7 +1,7 @@
-PROJECT(VSEXTERNAL_LIB2)
+project(VSEXTERNAL_LIB2)
-INCLUDE_DIRECTORIES(${VSEXTERNAL_LIB2_SOURCE_DIR}/../Lib1)
+include_directories(${VSEXTERNAL_LIB2_SOURCE_DIR}/../Lib1)
-SET(SOURCES lib2.cpp)
+set(SOURCES lib2.cpp)
-ADD_LIBRARY(lib2 ${SOURCES})
+add_library(lib2 ${SOURCES})
diff --git a/Tests/Wrapping/CMakeLists.txt b/Tests/Wrapping/CMakeLists.txt
index c84dedc47..58e9c3242 100644
--- a/Tests/Wrapping/CMakeLists.txt
+++ b/Tests/Wrapping/CMakeLists.txt
@@ -2,82 +2,82 @@
# Wrapping
#
cmake_minimum_required (VERSION 2.6)
-PROJECT (Wrapping)
+project (Wrapping)
# Disable cleaning of custom command outputs to preserve the hacks
# used to generate the files using CONFIGURE_FILE.
-SET_DIRECTORY_PROPERTIES(PROPERTIES CLEAN_NO_CUSTOM 1)
+set_directory_properties(PROPERTIES CLEAN_NO_CUSTOM 1)
#
# Lib and exe path
#
-SET (LIBRARY_OUTPUT_PATH
- ${Wrapping_BINARY_DIR}/bin/ CACHE INTERNAL
+set (LIBRARY_OUTPUT_PATH
+ ${Wrapping_BINARY_DIR}/bin/ CACHE INTERNAL
"Single output directory for building all libraries.")
-SET (EXECUTABLE_OUTPUT_PATH
- ${Wrapping_BINARY_DIR}/bin/ CACHE INTERNAL
+set (EXECUTABLE_OUTPUT_PATH
+ ${Wrapping_BINARY_DIR}/bin/ CACHE INTERNAL
"Single output directory for building all executables.")
#
# Where will executable tests be written ?
#
-IF (EXECUTABLE_OUTPUT_PATH)
- SET (CXX_TEST_PATH ${EXECUTABLE_OUTPUT_PATH})
-ELSE (EXECUTABLE_OUTPUT_PATH)
- SET (CXX_TEST_PATH .)
-ENDIF (EXECUTABLE_OUTPUT_PATH)
+if (EXECUTABLE_OUTPUT_PATH)
+ set (CXX_TEST_PATH ${EXECUTABLE_OUTPUT_PATH})
+else ()
+ set (CXX_TEST_PATH .)
+endif ()
#
# Add exe
#
-ADD_EXECUTABLE (wrapping wrapping.cxx)
+add_executable (wrapping wrapping.cxx)
-ADD_EXECUTABLE (Wrap Wrap.c)
-IF(WIN32)
- SET(EXE_EXT ".exe")
-ENDIF(WIN32)
-SET(WRAP ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/Wrap${EXE_EXT})
+add_executable (Wrap Wrap.c)
+if(WIN32)
+ set(EXE_EXT ".exe")
+endif()
+set(WRAP ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/Wrap${EXE_EXT})
#
-# QT Wrappers
+# Qt Wrappers
#
-SET (QT_WRAP_CPP "On")
-SET (QT_MOC_EXE "echo")
-INCLUDE( FindQt3 )
+set (QT_WRAP_CPP "On")
+set (QT_MOC_EXE "echo")
+include( FindQt3 )
-IF (QT_FOUND AND QT_WRAP_UI)
- message("found qt 3 test it...")
- INCLUDE_DIRECTORIES( ${QT_INCLUDE_DIR} )
- INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BINARY_DIR} )
+if (QT_FOUND AND QT_WRAP_UI)
+ message("found Qt 3 test it...")
+ include_directories( ${QT_INCLUDE_DIR} )
+ include_directories( ${CMAKE_CURRENT_BINARY_DIR} )
- CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/foo.ui.in
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/foo.ui.in
${CMAKE_CURRENT_BINARY_DIR}/foo.ui IMMEDIATE)
- SET (QT_WRAP_UI "On")
- SET (QT_UIC_EXE "${QT_UIC_EXECUTABLE}")
+ set (QT_WRAP_UI "On")
+ set (QT_UIC_EXE "${QT_UIC_EXECUTABLE}")
- SET (QTUI_SRCS
+ set (QTUI_SRCS
qtwrapping.ui
${CMAKE_CURRENT_BINARY_DIR}/foo.ui
)
- QT_WRAP_UI (myqtlib QTUI_H_SRCS QTUI_S_SRCS ${QTUI_SRCS})
- QT_WRAP_CPP (myqtlib QT_MOC_SRCS ${SRCS} vtkTestMoc.h)
+ qt_wrap_ui (myqtlib QTUI_H_SRCS QTUI_S_SRCS ${QTUI_SRCS})
+ qt_wrap_cpp (myqtlib QT_MOC_SRCS ${SRCS} vtkTestMoc.h)
- MESSAGE("QT files are ${QTUI_S_SRCS}")
- MESSAGE("QT other files are ${QTUI_H_SRCS}")
- ADD_DEFINITIONS(${QT_DEFINITIONS})
- ADD_LIBRARY(myqtlib ${QTUI_S_SRCS} ${QT_MOC_SRCS})
- ADD_EXECUTABLE (qtwrapping qtwrappingmain.cxx)
- TARGET_LINK_LIBRARIES(qtwrapping myqtlib)
+ message("Qt files are ${QTUI_S_SRCS}")
+ message("Qt other files are ${QTUI_H_SRCS}")
+ add_definitions(${QT_DEFINITIONS})
+ add_library(myqtlib ${QTUI_S_SRCS} ${QT_MOC_SRCS})
+ add_executable (qtwrapping qtwrappingmain.cxx)
+ target_link_libraries(qtwrapping myqtlib)
- TARGET_LINK_LIBRARIES( qtwrapping ${QT_LIBRARIES} )
-ELSE (QT_FOUND AND QT_WRAP_UI)
- ADD_EXECUTABLE (qtwrapping qtnoqtmain.cxx)
-ENDIF (QT_FOUND AND QT_WRAP_UI)
+ target_link_libraries( qtwrapping ${QT_LIBRARIES} )
+else ()
+ add_executable (qtwrapping qtnoqtmain.cxx)
+endif ()
#
# FLTK Wrappers
@@ -85,23 +85,23 @@ ENDIF (QT_FOUND AND QT_WRAP_UI)
# Since FLTK_FLUID_EXE is supposed to create a .cxx/.h from a .fl/.fld,
# create an empty one so that the dependencies can be met.
#
-SET (FLTK_SRCS
+set (FLTK_SRCS
fltk1.fl
)
-ADD_EXECUTABLE(fakefluid fakefluid.cxx)
-GET_TARGET_PROPERTY(FLUID_LOC fakefluid LOCATION)
-SET (FLTK_WRAP_UI "On")
-SET (FLTK_FLUID_EXECUTABLE "${FLUID_LOC}")
-FLTK_WRAP_UI (wraplibFLTK ${FLTK_SRCS})
-ADD_LIBRARY(wraplibFLTK ${wraplibFLTK_FLTK_UI_SRCS})
-ADD_DEPENDENCIES(wraplibFLTK fakefluid)
-ADD_DEPENDENCIES(fakefluid Wrap)
+add_executable(fakefluid fakefluid.cxx)
+get_target_property(FLUID_LOC fakefluid LOCATION)
+set (FLTK_WRAP_UI "On")
+set (FLTK_FLUID_EXECUTABLE "${FLUID_LOC}")
+fltk_wrap_ui (wraplibFLTK ${FLTK_SRCS})
+add_library(wraplibFLTK ${wraplibFLTK_FLTK_UI_SRCS})
+add_dependencies(wraplibFLTK fakefluid)
+add_dependencies(fakefluid Wrap)
#
# Mangled Mesa
#
-CONFIGURE_FILE(
+configure_file(
${Wrapping_SOURCE_DIR}/dummy
${Wrapping_BINARY_DIR}/gl.h
COPYONLY IMMEDIATE)
-USE_MANGLED_MESA (${Wrapping_BINARY_DIR} ${Wrapping_BINARY_DIR}/mangled_mesa)
+use_mangled_mesa (${Wrapping_BINARY_DIR} ${Wrapping_BINARY_DIR}/mangled_mesa)
diff --git a/Tests/Wrapping/qtnoqtmain.cxx b/Tests/Wrapping/qtnoqtmain.cxx
index 8b7334a18..92594d52e 100644
--- a/Tests/Wrapping/qtnoqtmain.cxx
+++ b/Tests/Wrapping/qtnoqtmain.cxx
@@ -2,4 +2,4 @@ int main(int ac, char** av)
{
return 0;
}
-
+
diff --git a/Tests/X11/CMakeLists.txt b/Tests/X11/CMakeLists.txt
index 03aa09578..76ae58c74 100644
--- a/Tests/X11/CMakeLists.txt
+++ b/Tests/X11/CMakeLists.txt
@@ -1,40 +1,40 @@
# a simple C only test case
cmake_minimum_required (VERSION 2.6)
-PROJECT (UseX11 CXX C)
+project (UseX11 CXX C)
-INCLUDE (${CMAKE_ROOT}/Modules/FindX11.cmake)
-MESSAGE("X11_FOUND: ${X11_FOUND}")
+include (${CMAKE_ROOT}/Modules/FindX11.cmake)
+message("X11_FOUND: ${X11_FOUND}")
-ADD_EXECUTABLE (UseX11 X11.c)
+add_executable (UseX11 X11.c)
install(TARGETS UseX11 DESTINATION bin)
-# so for universal binaries this test will fail if
-#
-IF(APPLE)
- LIST(LENGTH CMAKE_OSX_ARCHITECTURES NUMARCH)
- IF(NUMARCH GREATER 1)
- IF(NOT EXISTS /usr/X11R6/lib//libSM.6.dylib)
- SET(X11_FOUND FALSE)
- MESSAGE("disable X11, because of universal binary and sysroot")
- ENDIF(NOT EXISTS /usr/X11R6/lib//libSM.6.dylib)
- ENDIF(NUMARCH GREATER 1)
-ENDIF(APPLE)
+# so for universal binaries this test will fail if
+#
+if(APPLE)
+ list(LENGTH CMAKE_OSX_ARCHITECTURES NUMARCH)
+ if(NUMARCH GREATER 1)
+ if(NOT EXISTS /usr/X11R6/lib//libSM.6.dylib)
+ set(X11_FOUND FALSE)
+ message("disable X11, because of universal binary and sysroot")
+ endif()
+ endif()
+endif()
-IF(X11_FOUND)
- ADD_DEFINITIONS(-DCMAKE_HAS_X)
- INCLUDE_DIRECTORIES(${X11_INCLUDE_DIR})
- TARGET_LINK_LIBRARIES(UseX11 ${X11_LIBRARIES})
- IF(APPLE)
- ADD_EXECUTABLE(HelloWorldX11 HelloWorldX11.cxx)
- TARGET_LINK_LIBRARIES(HelloWorldX11 ${X11_LIBRARIES})
+if(X11_FOUND)
+ add_definitions(-DCMAKE_HAS_X)
+ include_directories(${X11_INCLUDE_DIR})
+ target_link_libraries(UseX11 ${X11_LIBRARIES})
+ if(APPLE)
+ add_executable(HelloWorldX11 HelloWorldX11.cxx)
+ target_link_libraries(HelloWorldX11 ${X11_LIBRARIES})
install(TARGETS HelloWorldX11 DESTINATION bin)
set(CPACK_BINARY_OSXX11 ON CACHE BOOL "" FORCE)
set(CPACK_BINARY_PACKAGEMAKER OFF CACHE BOOL "" FORCE )
set(CPACK_PACKAGE_NAME HelloWorldX11Package)
set(CPACK_PACKAGE_EXECUTABLES HelloWorldX11 HelloWorldX11)
- ENDIF(APPLE)
-ENDIF(X11_FOUND)
+ endif()
+endif()
# build a CPack driven installer package
include(CPack)
diff --git a/Tests/X11/HelloWorldX11.cxx b/Tests/X11/HelloWorldX11.cxx
index e3c9dd9cf..f2b8bdd47 100644
--- a/Tests/X11/HelloWorldX11.cxx
+++ b/Tests/X11/HelloWorldX11.cxx
@@ -9,7 +9,7 @@
* Copyright (c) 2004 __MyCompanyName__. All rights reserved.
*
*/
-
+
#ifndef MAIN_H
#define MAIN_H 1
@@ -28,10 +28,10 @@ public:
// constructor
Main(int argc, char * const argv[]);
//virtual ~Main();
-
+
private:
-
+
/* here are our X variables */
Display *dis;
@@ -53,7 +53,7 @@ private:
/*** START MAIN.CPP ***/
-// modified from Brian Hammond's Howdy program at
+// modified from Brian Hammond's Howdy program at
// http://www.insanityengine.com/doc/x11/xintro.html
// jeff louie 02.05.2004
@@ -73,11 +73,11 @@ Main::Main (int argc, char * const argv[]) {
init_x();
// event loop
- while(1) {
+ while(1) {
// get the next event and stuff it into our event variable.
// Note: only events we set the mask for are detected!
XNextEvent(dis, &event);
-
+
switch (event.type) {
int x;
@@ -115,19 +115,19 @@ Main::Main (int argc, char * const argv[]) {
}
}
-void Main::init_x() {
+void Main::init_x() {
unsigned long black,white;
dis=XOpenDisplay(NULL);
screen=DefaultScreen(dis);
black=BlackPixel(dis,screen),
white=WhitePixel(dis, screen);
- win=XCreateSimpleWindow(dis,DefaultRootWindow(dis),0,0,
+ win=XCreateSimpleWindow(dis,DefaultRootWindow(dis),0,0,
300, 300, 5,black, white);
XSetStandardProperties(dis,win,"Hello World","Hi",None,NULL,0,NULL);
XSelectInput(dis, win, ExposureMask|ButtonPressMask|KeyPressMask);
// get Graphics Context
- gc=XCreateGC(dis, win, 0,0);
+ gc=XCreateGC(dis, win, 0,0);
XSetBackground(dis,gc,white);
XSetForeground(dis,gc,black);
XClearWindow(dis, win);
@@ -137,8 +137,8 @@ void Main::init_x() {
void Main::close_x() {
XFreeGC(dis, gc);
XDestroyWindow(dis,win);
- XCloseDisplay(dis);
- exit(1);
+ XCloseDisplay(dis);
+ exit(1);
};
void Main::redraw() {
diff --git a/Tests/test_clean.cmake.in b/Tests/test_clean.cmake.in
index ce5e62b79..d700749ca 100644
--- a/Tests/test_clean.cmake.in
+++ b/Tests/test_clean.cmake.in
@@ -1,2 +1,2 @@
-SET(TEST_BUILD_DIRS "@TEST_BUILD_DIRS@")
-FILE(REMOVE_RECURSE ${TEST_BUILD_DIRS})
+set(TEST_BUILD_DIRS "@TEST_BUILD_DIRS@")
+file(REMOVE_RECURSE ${TEST_BUILD_DIRS})
diff --git a/Utilities/CMakeLists.txt b/Utilities/CMakeLists.txt
index 798c16397..b8f6b3cb6 100644
--- a/Utilities/CMakeLists.txt
+++ b/Utilities/CMakeLists.txt
@@ -9,14 +9,14 @@
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================
-SUBDIRS(Doxygen KWStyle)
+subdirs(Doxygen KWStyle)
-MAKE_DIRECTORY(${CMake_BINARY_DIR}/Docs)
+make_directory(${CMake_BINARY_DIR}/Docs)
# Add a documentation target.
-SET(DOC_FILES "")
+set(DOC_FILES "")
-SET(MAN_FILES
+set(MAN_FILES
${CMake_BINARY_DIR}/Docs/cmake.1
${CMake_BINARY_DIR}/Docs/cmakecommands.1
${CMake_BINARY_DIR}/Docs/cmakecompat.1
@@ -25,9 +25,8 @@ SET(MAN_FILES
${CMake_BINARY_DIR}/Docs/cmakevars.1
${CMake_BINARY_DIR}/Docs/cmakemodules.1
)
-SET(TEXT_FILES
+set(TEXT_FILES
${CMake_BINARY_DIR}/Docs/cmake.txt
- ${CMake_BINARY_DIR}/Docs/cmake.docbook
${CMake_BINARY_DIR}/Docs/cmake-policies.txt
${CMake_BINARY_DIR}/Docs/cmake-properties.txt
${CMake_BINARY_DIR}/Docs/cmake-variables.txt
@@ -35,7 +34,7 @@ SET(TEXT_FILES
${CMake_BINARY_DIR}/Docs/cmake-commands.txt
${CMake_BINARY_DIR}/Docs/cmake-compatcommands.txt
)
-SET(HTML_FILES
+set(HTML_FILES
${CMake_BINARY_DIR}/Docs/cmake.html
${CMake_BINARY_DIR}/Docs/cmake-policies.html
${CMake_BINARY_DIR}/Docs/cmake-properties.html
@@ -44,13 +43,16 @@ SET(HTML_FILES
${CMake_BINARY_DIR}/Docs/cmake-commands.html
${CMake_BINARY_DIR}/Docs/cmake-compatcommands.html
)
+set(DOCBOOK_FILES
+ ${CMake_BINARY_DIR}/Docs/cmake.docbook
+ )
-MACRO(ADD_DOCS target dependency)
+macro(ADD_DOCS target dependency)
# Generate documentation for "ctest" executable.
- GET_TARGET_PROPERTY(CMD ${target} LOCATION)
+ get_target_property(CMD ${target} LOCATION)
# only generate the documentation if the target is actually built
- IF(CMD)
- ADD_CUSTOM_COMMAND(
+ if(CMD)
+ add_custom_command(
OUTPUT ${CMake_BINARY_DIR}/Docs/${target}.txt
${${target}-PATH} # Possibly set PATH, see below.
COMMAND ${CMD}
@@ -61,28 +63,25 @@ MACRO(ADD_DOCS target dependency)
DEPENDS ${target}
MAIN_DEPENDENCY ${dependency}
)
- SET(DOC_FILES ${DOC_FILES} ${CMake_BINARY_DIR}/Docs/${target}.txt)
- LIST(APPEND MAN_FILES ${CMake_BINARY_DIR}/Docs/${target}.1)
- LIST(APPEND TEXT_FILES
- ${CMake_BINARY_DIR}/Docs/${target}.txt
- ${CMake_BINARY_DIR}/Docs/${target}.docbook
- )
- LIST(APPEND HTML_FILES ${CMake_BINARY_DIR}/Docs/${target}.html)
- ENDIF(CMD)
-ENDMACRO(ADD_DOCS target dependency)
+ set(DOC_FILES ${DOC_FILES} ${CMake_BINARY_DIR}/Docs/${target}.txt)
+ list(APPEND MAN_FILES ${CMake_BINARY_DIR}/Docs/${target}.1)
+ list(APPEND TEXT_FILES ${CMake_BINARY_DIR}/Docs/${target}.txt)
+ list(APPEND HTML_FILES ${CMake_BINARY_DIR}/Docs/${target}.html)
+ list(APPEND DOCBOOK_FILES ${CMake_BINARY_DIR}/Docs/${target}.docbook)
+ endif()
+endmacro()
# Help cmake-gui find the Qt DLLs on Windows.
-SET(WIN_SHELL_GENS "Visual Studio|NMake|MinGW|Watcom|Borland")
-IF(BUILD_QtDialog AND "${CMAKE_GENERATOR}" MATCHES "${WIN_SHELL_GENS}"
+set(WIN_SHELL_GENS "Visual Studio|NMake|MinGW|Watcom|Borland")
+if(BUILD_QtDialog AND "${CMAKE_GENERATOR}" MATCHES "${WIN_SHELL_GENS}"
AND EXISTS "${QT_QMAKE_EXECUTABLE}" AND NOT CMAKE_NO_AUTO_QT_ENV)
- GET_FILENAME_COMPONENT(Qt_BIN_DIR "${QT_QMAKE_EXECUTABLE}" PATH)
- IF(EXISTS "${Qt_BIN_DIR}/QtCore4.dll")
+ get_filename_component(Qt_BIN_DIR "${QT_QMAKE_EXECUTABLE}" PATH)
+ if(EXISTS "${Qt_BIN_DIR}/QtCore4.dll")
# Tell the macro to set the path before running cmake-gui.
- STRING(REPLACE ";" "\\;" _PATH "PATH=${Qt_BIN_DIR};%PATH%")
- SET(cmake-gui-PATH COMMAND set "${_PATH}")
- ENDIF(EXISTS "${Qt_BIN_DIR}/QtCore4.dll")
-ENDIF(BUILD_QtDialog AND "${CMAKE_GENERATOR}" MATCHES "${WIN_SHELL_GENS}"
- AND EXISTS "${QT_QMAKE_EXECUTABLE}" AND NOT CMAKE_NO_AUTO_QT_ENV)
+ string(REPLACE ";" "\\;" _PATH "PATH=${Qt_BIN_DIR};%PATH%")
+ set(cmake-gui-PATH COMMAND set "${_PATH}")
+ endif()
+endif()
# add the docs for the executables
ADD_DOCS(ctest ${CMake_SOURCE_DIR}/Utilities/Doxygen/authors.txt)
@@ -93,10 +92,10 @@ ADD_DOCS(cmake-gui ${CMake_SOURCE_DIR}/Utilities/Doxygen/doxyfile.in)
# add the documentation for cmake itself
-GET_TARGET_PROPERTY(CMD cmake LOCATION)
-ADD_CUSTOM_COMMAND(
+get_target_property(CMD cmake LOCATION)
+add_custom_command(
OUTPUT ${CMake_BINARY_DIR}/Docs/cmake.txt
- COMMAND ${CMD}
+ COMMAND ${CMD}
ARGS --copyright ${CMake_BINARY_DIR}/Docs/Copyright.txt
--help-full ${CMake_BINARY_DIR}/Docs/cmake.txt
--help-full ${CMake_BINARY_DIR}/Docs/cmake.html
@@ -124,12 +123,16 @@ ADD_CUSTOM_COMMAND(
MAIN_DEPENDENCY ${CMake_SOURCE_DIR}/Utilities/Doxygen/authors.txt
)
-INSTALL_FILES(${CMAKE_MAN_DIR}/man1 FILES ${MAN_FILES})
-INSTALL_FILES(${CMAKE_DOC_DIR} FILES ${HTML_FILES} ${TEXT_FILES})
-INSTALL(FILES cmake.m4 DESTINATION share/aclocal)
+install_files(${CMAKE_MAN_DIR}/man1 FILES ${MAN_FILES})
+install_files(${CMAKE_DOC_DIR} FILES
+ ${TEXT_FILES}
+ ${HTML_FILES}
+ ${DOCBOOK_FILES}
+ )
+install(FILES cmake.m4 DESTINATION share/aclocal)
# Drive documentation generation.
-ADD_CUSTOM_TARGET(documentation ALL DEPENDS ${DOC_FILES} ${CMake_BINARY_DIR}/Docs/cmake.txt )
+add_custom_target(documentation ALL DEPENDS ${DOC_FILES} ${CMake_BINARY_DIR}/Docs/cmake.txt )
# Documentation testing.
if(BUILD_TESTING)
@@ -142,17 +145,22 @@ if(BUILD_TESTING)
execute_process(COMMAND ${LIBXML2_XMLLINT_EXECUTABLE} --help
OUTPUT_VARIABLE _help ERROR_VARIABLE _err)
if("${_help}" MATCHES "--path" AND "${_help}" MATCHES "--nonet")
- # We provide the XHTML DTD and its dependencies in the 'xml'
- # directory so that xmllint can run without network access.
- # However, it's --path option accepts a space-separated list of
- # paths so it cannot handle spaces in the path to the source tree.
- # Therefore we run the tool with the current work directory set to
- # the 'xml' directory and use '.' as the path.
+ # We provide DTDs in the 'xml' directory so that xmllint can run without
+ # network access. Note that xmllints's --path option accepts a
+ # space-separated list of url-encoded paths.
+ set(_dtd_dir "${CMAKE_CURRENT_SOURCE_DIR}/xml")
+ string(REPLACE " " "%20" _dtd_dir "${_dtd_dir}")
+ string(REPLACE ":" "%3A" _dtd_dir "${_dtd_dir}")
add_test(CMake.HTML
- ${CMAKE_CMAKE_COMMAND} -E chdir ${CMAKE_CURRENT_SOURCE_DIR}/xml
- ${LIBXML2_XMLLINT_EXECUTABLE} --valid --noout --nonet --path .
+ ${LIBXML2_XMLLINT_EXECUTABLE} --valid --noout --nonet
+ --path ${_dtd_dir}/xhtml1
${HTML_FILES}
)
+ add_test(CMake.DocBook
+ ${LIBXML2_XMLLINT_EXECUTABLE} --valid --noout --nonet
+ --path ${_dtd_dir}/docbook-4.5
+ ${DOCBOOK_FILES}
+ )
endif()
endif()
endif()
diff --git a/Utilities/Doxygen/CMakeLists.txt b/Utilities/Doxygen/CMakeLists.txt
index 2430391fd..813e34daf 100644
--- a/Utilities/Doxygen/CMakeLists.txt
+++ b/Utilities/Doxygen/CMakeLists.txt
@@ -13,27 +13,27 @@
#
# Build the documentation
#
-INCLUDE (${CMAKE_ROOT}/Modules/Documentation.cmake OPTIONAL)
+include (${CMAKE_ROOT}/Modules/Documentation.cmake OPTIONAL)
-IF (BUILD_DOCUMENTATION)
+if (BUILD_DOCUMENTATION)
#
# Configure the script and the doxyfile, then add target
#
- IF(NOT DOT_PATH)
- GET_FILENAME_COMPONENT(DOT_PATH ${DOT} PATH)
- ENDIF(NOT DOT_PATH)
+ if(NOT DOT_PATH)
+ get_filename_component(DOT_PATH ${DOT} PATH)
+ endif()
- CONFIGURE_FILE(
+ configure_file(
${CMake_SOURCE_DIR}/Utilities/Doxygen/doxyfile.in
${CMake_BINARY_DIR}/Utilities/Doxygen/doxyfile)
- CONFIGURE_FILE(
+ configure_file(
${CMake_SOURCE_DIR}/Utilities/Doxygen/doc_makeall.sh.in
${CMake_BINARY_DIR}/Utilities/Doxygen/doc_makeall.sh)
- ADD_CUSTOM_TARGET(DoxygenDoc
+ add_custom_target(DoxygenDoc
${BASH}
${CMake_BINARY_DIR}/Utilities/Doxygen/doc_makeall.sh)
-ENDIF (BUILD_DOCUMENTATION)
+endif ()
diff --git a/Utilities/Doxygen/doc_makeall.sh.in b/Utilities/Doxygen/doc_makeall.sh.in
index a1b00e7d0..ed7b521e4 100755
--- a/Utilities/Doxygen/doc_makeall.sh.in
+++ b/Utilities/Doxygen/doc_makeall.sh.in
@@ -4,7 +4,7 @@
# -------------------------------------------------------------------------
# Path to several tools (_PROG to avoid the typical GZIP env var pb)
-# Example:
+# Example:
# DOXYGEN_PROG=@DOXYGEN@ (INCLUDE(${CMAKE_ROOT}/Modules/FindDoxygen.cmake))
# GZIP_PROG=@GZIP@ (INCLUDE(${CMAKE_ROOT}/Modules/FindCygwin.cmake))
# HHC_PROG=@HHC@ (INCLUDE(${CMAKE_ROOT}/Modules/FindHhc.cmake))
@@ -26,26 +26,26 @@ export WGET_PROG="@WGET@" # wget (remote file retrieval)
# PROJECT_NAME:
# Documentation/project name. Used in some of the resulting file names and
-# xrefs to uniquify two or more projects linked together through their
+# xrefs to uniquify two or more projects linked together through their
# Doxygen's tag files. Mandatory for each documentation set.
# Note: might be the same as the doxyfile's PROJECT_NAME
-# Example:
+# Example:
# PROJECT_NAME=VTK
#
export PROJECT_NAME=CMake
# PATH_TO_VTK_DOX_SCRIPTS:
# Path to the directory holding the Perl scripts used to produce the VTK doc
-# in Doxygen format. You need the VTK source files or a local copy of
+# in Doxygen format. You need the VTK source files or a local copy of
# these scripts.
-# Example:
+# Example:
# PATH_TO_VTK_DOX_SCRIPTS=@VTK_SOURCE_DIR@/Utilities/Doxygen
#
export PATH_TO_VTK_DOX_SCRIPTS="@VTK_SOURCE_DIR@/Utilities/Doxygen"
# SOURCE_DIR:
# Source directory. The top directory of the source files.
-# Example:
+# Example:
# SOURCE_DIR=@VTK_SOURCE_DIR@
#
export SOURCE_DIR="@CMake_SOURCE_DIR@"
@@ -54,7 +54,7 @@ export SOURCE_DIR="@CMake_SOURCE_DIR@"
# Relative path from the top directory of the source files to the directory
# (or top directory) holding the files to document. Useful if several parts
# of the same source directory should be documented separately.
-# Example:
+# Example:
# REL_PATH_TO_TOP=.
# REL_PATH_TO_TOP=framework/src
#
@@ -67,7 +67,7 @@ export REL_PATH_TO_TOP=.
# This directory is erased at the end of this script, unless you comment
# the corresponding line.
# DOXTEMP might be used to simplify the syntax.
-# Example:
+# Example:
# DOXTEMP=DOXTEMP=@VTK_BINARY_DIR@/Utilities/Doxygen
# INTERMEDIATE_DOX_DIR=$DOXTEMP/dox
#
@@ -76,7 +76,7 @@ export INTERMEDIATE_DOX_DIR="$DOXTEMP/dox"
# DOXYFILE:
# Path to the Doxygen configuration file (i.e. doxyfile).
-# Example:
+# Example:
# DOXYFILE=$DOXTEMP/doxyfile
#
export DOXYFILE="$DOXTEMP/doxyfile"
@@ -86,7 +86,7 @@ export DOXYFILE="$DOXTEMP/doxyfile"
# Note: should be the same as your doxyfile's OUTPUT_DIRECTORY
# If ON, allows the output directory to be erased when some advanced output
# file have been produced (HTML Help, or TAR archive for example).
-# Example:
+# Example:
# OUTPUT_DIRECTORY=$DOXTEMP/doc
# ALLOW_ERASE_OUTPUT_DIRECTORY=ON
#
@@ -94,16 +94,16 @@ export OUTPUT_DIRECTORY="$DOXTEMP/doc"
export ALLOW_ERASE_OUTPUT_DIRECTORY=ON
# COMPILE_HTML_HELP RESULTING_HTML_HELP_FILE:
-# Compile the CHM (Compressed HTML) HTML Help file, name of the resulting
-# file. If set to ON and name is non-empty these options will actually
+# Compile the CHM (Compressed HTML) HTML Help file, name of the resulting
+# file. If set to ON and name is non-empty these options will actually
# trigger the HTML-Help compiler to create the CHM. The resulting
# file (usually index.chm) will be renamed to this name.
# Note: if ON, the whole $OUTPUT_DIRECTORY will be erased at the end of
-# this script, since this file is considered to be one of the
+# this script, since this file is considered to be one of the
# advanced final output, unless ALLOW_ERASE_OUTPUT_DIRECTORY is OFF
-# Note: your doxyfile should be configured to enable HTML Help creation
+# Note: your doxyfile should be configured to enable HTML Help creation
# (using GENERATE_HTML = YES, GENERATE_HTMLHELP = YES)
-# Example:
+# Example:
# COMPILE_HTML_HELP=ON
# COMPILE_HTML_HELP=@DOCUMENTATION_HTML_HELP@
# RESULTING_HTML_HELP_FILE=$DOXTEMP/vtk4.chm
@@ -113,10 +113,10 @@ export RESULTING_HTML_HELP_FILE="$DOXTEMP/$PROJECT_NAME.chm"
# CREATE_HTML_TARZ_ARCHIVE RESULTING_HTML_TARZ_ARCHIVE_FILE:
# Create a compressed (gzip) tar archive of the html directory (located
-# under the OUTPUT_DIRECTORY), and name of the resulting archive file.
-# Note: your doxyfile should be configured to enable HTML creation
+# under the OUTPUT_DIRECTORY), and name of the resulting archive file.
+# Note: your doxyfile should be configured to enable HTML creation
# (using GENERATE_HTML = YES)
-# Example:
+# Example:
# CREATE_HTML_TARZ_ARCHIVE=ON
# CREATE_HTML_TARZ_ARCHIVE=@DOCUMENTATION_HTML_TARZ@
# RESULTING_HTML_TARZ_ARCHIVE_FILE=$DOXTEMP/vtk4-html.tar.gz
diff --git a/Utilities/KWIML/CMakeLists.txt b/Utilities/KWIML/CMakeLists.txt
index 6a8641adc..62b6fffb7 100644
--- a/Utilities/KWIML/CMakeLists.txt
+++ b/Utilities/KWIML/CMakeLists.txt
@@ -13,8 +13,8 @@
# Import the KWIML directory tree into a subdirectory under a parent
# project and configure the library as follows:
#
-# SET(KWIML myIML)
-# SUBDIRS(KWIML)
+# set(KWIML myIML)
+# subdirs(KWIML)
#
# Optional settings are as follows:
#
@@ -22,8 +22,8 @@
# Headers will go in a directory called "${KWIML}" under this root.
# For example:
#
-# SET(KWIML_HEADER_ROOT ${PROJECT_BINARY_DIR})
-# INCLUDE_DIRECTORIES(${PROJECT_BINARY_DIR})
+# set(KWIML_HEADER_ROOT ${PROJECT_BINARY_DIR})
+# include_directories(${PROJECT_BINARY_DIR})
#
# KWIML_INSTALL_INCLUDE_DIR = install KWIML with "make install"
# Specify a value relative to the install prefix and do NOT start with '/'.
diff --git a/Utilities/KWStyle/CMakeLists.txt b/Utilities/KWStyle/CMakeLists.txt
index 5b0c84e8b..b2c798c0f 100644
--- a/Utilities/KWStyle/CMakeLists.txt
+++ b/Utilities/KWStyle/CMakeLists.txt
@@ -16,63 +16,63 @@
# Search for a built-from-source KWStyle under Dashboards/Support on a typical
# dashboard machines:
#
-SET(home "$ENV{HOME}")
-IF(NOT home)
- STRING(REPLACE "\\" "/" home "$ENV{USERPROFILE}")
-ENDIF()
+set(home "$ENV{HOME}")
+if(NOT home)
+ string(REPLACE "\\" "/" home "$ENV{USERPROFILE}")
+endif()
-FIND_PROGRAM(KWSTYLE_EXECUTABLE
- NAMES KWStyle
+find_program(KWSTYLE_EXECUTABLE
+ NAMES KWStyle
PATHS
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Kitware Inc.\\KWStyle 1.0.0]/bin"
"${home}/Dashboards/Support/KWStyle/bin"
)
-MARK_AS_ADVANCED(KWSTYLE_EXECUTABLE)
+mark_as_advanced(KWSTYLE_EXECUTABLE)
-SET(CMAKE_USE_KWSTYLE_DEFAULT OFF)
-IF(KWSTYLE_EXECUTABLE)
- SET(CMAKE_USE_KWSTYLE_DEFAULT ON)
-ENDIF()
+set(CMAKE_USE_KWSTYLE_DEFAULT OFF)
+if(KWSTYLE_EXECUTABLE)
+ set(CMAKE_USE_KWSTYLE_DEFAULT ON)
+endif()
-OPTION(CMAKE_USE_KWSTYLE
+option(CMAKE_USE_KWSTYLE
"Add StyleCheck target and KWStyle test: run KWStyle to check for coding standard violations."
${CMAKE_USE_KWSTYLE_DEFAULT})
-MARK_AS_ADVANCED(CMAKE_USE_KWSTYLE)
+mark_as_advanced(CMAKE_USE_KWSTYLE)
-IF(CMAKE_USE_KWSTYLE)
- OPTION(KWSTYLE_USE_VIM_FORMAT "Set KWStyle to generate errors with a VIM-compatible format." OFF)
- OPTION(KWSTYLE_USE_MSVC_FORMAT "Set KWStyle to generate errors with a VisualStudio-compatible format." OFF)
- MARK_AS_ADVANCED(KWSTYLE_USE_VIM_FORMAT)
- MARK_AS_ADVANCED(KWSTYLE_USE_MSVC_FORMAT)
+if(CMAKE_USE_KWSTYLE)
+ option(KWSTYLE_USE_VIM_FORMAT "Set KWStyle to generate errors with a VIM-compatible format." OFF)
+ option(KWSTYLE_USE_MSVC_FORMAT "Set KWStyle to generate errors with a VisualStudio-compatible format." OFF)
+ mark_as_advanced(KWSTYLE_USE_VIM_FORMAT)
+ mark_as_advanced(KWSTYLE_USE_MSVC_FORMAT)
- IF(KWSTYLE_USE_VIM_FORMAT)
- SET(KWSTYLE_ARGUMENTS -vim ${KWSTYLE_ARGUMENTS})
- ENDIF(KWSTYLE_USE_VIM_FORMAT)
+ if(KWSTYLE_USE_VIM_FORMAT)
+ set(KWSTYLE_ARGUMENTS -vim ${KWSTYLE_ARGUMENTS})
+ endif()
- IF(KWSTYLE_USE_MSVC_FORMAT)
- SET(KWSTYLE_ARGUMENTS -msvc ${KWSTYLE_ARGUMENTS})
- ENDIF(KWSTYLE_USE_MSVC_FORMAT)
+ if(KWSTYLE_USE_MSVC_FORMAT)
+ set(KWSTYLE_ARGUMENTS -msvc ${KWSTYLE_ARGUMENTS})
+ endif()
- CONFIGURE_FILE(${CMake_SOURCE_DIR}/Utilities/KWStyle/CMake.kws.xml.in
+ configure_file(${CMake_SOURCE_DIR}/Utilities/KWStyle/CMake.kws.xml.in
${CMake_BINARY_DIR}/CMake.kws.xml)
- CONFIGURE_FILE(${CMake_SOURCE_DIR}/Utilities/KWStyle/CMakeMoreChecks.kws.xml.in
+ configure_file(${CMake_SOURCE_DIR}/Utilities/KWStyle/CMakeMoreChecks.kws.xml.in
${CMake_BINARY_DIR}/CMakeMoreChecks.kws.xml)
- CONFIGURE_FILE(${CMake_SOURCE_DIR}/Utilities/KWStyle/CMakeFiles.txt.in
+ configure_file(${CMake_SOURCE_DIR}/Utilities/KWStyle/CMakeFiles.txt.in
${CMake_BINARY_DIR}/CMakeKWSFiles.txt)
- ADD_CUSTOM_COMMAND(
+ add_custom_command(
OUTPUT ${CMake_BINARY_DIR}/KWStyleReport.txt
COMMAND ${KWSTYLE_EXECUTABLE}
ARGS -xml ${CMake_BINARY_DIR}/CMake.kws.xml -o ${CMake_SOURCE_DIR}/Utilities/KWStyle/CMakeOverwrite.txt -v ${KWSTYLE_ARGUMENTS} -D ${CMake_BINARY_DIR}/CMakeKWSFiles.txt
COMMENT "Coding Style Checker"
)
- ADD_CUSTOM_TARGET(MoreStyleChecks
+ add_custom_target(MoreStyleChecks
COMMAND ${KWSTYLE_EXECUTABLE}
-xml ${CMake_BINARY_DIR}/CMakeMoreChecks.kws.xml -html ${CMake_BINARY_DIR}/html -o ${CMake_SOURCE_DIR}/Utilities/KWStyle/CMakeOverwrite.txt -v ${KWSTYLE_ARGUMENTS} -D ${CMake_BINARY_DIR}/CMakeKWSFiles.txt
COMMENT "Coding Style Checker, more checks enabled"
)
- ADD_CUSTOM_TARGET(StyleCheck DEPENDS ${CMake_BINARY_DIR}/KWStyleReport.txt)
-ENDIF(CMAKE_USE_KWSTYLE)
+ add_custom_target(StyleCheck DEPENDS ${CMake_BINARY_DIR}/KWStyleReport.txt)
+endif()
diff --git a/Utilities/KWStyle/CMakeMoreChecks.kws.xml.in b/Utilities/KWStyle/CMakeMoreChecks.kws.xml.in
index b7078e0cf..c48e92f77 100644
--- a/Utilities/KWStyle/CMakeMoreChecks.kws.xml.in
+++ b/Utilities/KWStyle/CMakeMoreChecks.kws.xml.in
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<Description>
- <ErrorThreshold>10</ErrorThreshold>
+ <ErrorThreshold>10</ErrorThreshold>
<LineLength>79</LineLength>
<Header>"@CMake_SOURCE_DIR@/Utilities/KWStyle/Headers",false,true</Header>
<Functions>
diff --git a/Utilities/Release/Cygwin/CMakeLists.txt b/Utilities/Release/Cygwin/CMakeLists.txt
index 2420c97d9..c59a6fa94 100644
--- a/Utilities/Release/Cygwin/CMakeLists.txt
+++ b/Utilities/Release/Cygwin/CMakeLists.txt
@@ -1,25 +1,25 @@
-FILE(GLOB INSTALLED_CURSES /usr/bin/cygncurses-*.dll)
-SET(MAX 0)
-FOREACH(f ${INSTALLED_CURSES})
- IF(NOT "${f}" MATCHES "\\+")
- STRING(REGEX REPLACE ".*-([0-9]*).dll" "\\1" NUMBER "${f}")
- IF(NUMBER GREATER MAX)
- SET(MAX ${NUMBER})
- ENDIF(NUMBER GREATER MAX)
- ENDIF(NOT "${f}" MATCHES "\\+")
-ENDFOREACH(f)
-STRING(REGEX REPLACE "/usr/bin/" "\\1" NUMBER "${f}")
-SET(CMAKE_NCURSES_VERSION "libncurses${MAX}")
-MESSAGE(STATUS "Using curses version: libncurses${MAX}")
-CONFIGURE_FILE("${CMake_SOURCE_DIR}/Utilities/Release/Cygwin/cygwin-setup.hint.in"
+file(GLOB INSTALLED_CURSES /usr/bin/cygncurses-*.dll)
+set(MAX 0)
+foreach(f ${INSTALLED_CURSES})
+ if(NOT "${f}" MATCHES "\\+")
+ string(REGEX REPLACE ".*-([0-9]*).dll" "\\1" NUMBER "${f}")
+ if(NUMBER GREATER MAX)
+ set(MAX ${NUMBER})
+ endif()
+ endif()
+endforeach()
+string(REGEX REPLACE "/usr/bin/" "\\1" NUMBER "${f}")
+set(CMAKE_NCURSES_VERSION "libncurses${MAX}")
+message(STATUS "Using curses version: libncurses${MAX}")
+configure_file("${CMake_SOURCE_DIR}/Utilities/Release/Cygwin/cygwin-setup.hint.in"
"${CMake_BINARY_DIR}/setup.hint")
-CONFIGURE_FILE("${CMake_SOURCE_DIR}/Utilities/Release/Cygwin/README.cygwin.in"
+configure_file("${CMake_SOURCE_DIR}/Utilities/Release/Cygwin/README.cygwin.in"
"${CMake_BINARY_DIR}/Docs/@CPACK_PACKAGE_FILE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@.README")
-INSTALL_FILES(/share/doc/Cygwin FILES
+install_files(/share/doc/Cygwin FILES
${CMake_BINARY_DIR}/Docs/@CPACK_PACKAGE_FILE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@.README
)
-CONFIGURE_FILE("${CMake_SOURCE_DIR}/Utilities/Release/Cygwin/cygwin-package.sh.in"
+configure_file("${CMake_SOURCE_DIR}/Utilities/Release/Cygwin/cygwin-package.sh.in"
${CPACK_CYGWIN_BUILD_SCRIPT})
-CONFIGURE_FILE("${CMake_SOURCE_DIR}/Utilities/Release/Cygwin/cygwin-patch.diff.in"
+configure_file("${CMake_SOURCE_DIR}/Utilities/Release/Cygwin/cygwin-patch.diff.in"
${CPACK_CYGWIN_PATCH_FILE})
diff --git a/Utilities/Release/Cygwin/cygwin-package.sh.in b/Utilities/Release/Cygwin/cygwin-package.sh.in
index 9730b3332..dff27f14d 100755
--- a/Utilities/Release/Cygwin/cygwin-package.sh.in
+++ b/Utilities/Release/Cygwin/cygwin-package.sh.in
@@ -4,11 +4,11 @@ TOP_DIR=`cd \`echo "$0" | sed -n '/\//{s/\/[^\/]*$//;p;}'\`;pwd`
mkdirs()
{
(
- mkdir -p "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build"
+ mkdir -p "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build"
)
}
-# cd into
+# cd into
# untar source tree and apply patch
prep()
{
@@ -23,7 +23,7 @@ prep()
conf()
{
(
- cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" &&
+ cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" &&
../bootstrap --parallel=2
)
}
@@ -49,8 +49,8 @@ pkg()
{
(
cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" &&
- ./bin/cpack &&
- mv @CPACK_PACKAGE_FILE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@.tar.bz2 "$TOP_DIR"
+ ./bin/cpack &&
+ mv @CPACK_PACKAGE_FILE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@.tar.bz2 "$TOP_DIR"
)
}
@@ -59,7 +59,7 @@ spkg()
(
cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" &&
./bin/cpack --config CPackSourceConfig.cmake &&
- mv @CPACK_PACKAGE_FILE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@-src.tar.bz2 "$TOP_DIR"
+ mv @CPACK_PACKAGE_FILE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@-src.tar.bz2 "$TOP_DIR"
)
}
diff --git a/Utilities/Release/create-cmake-release.cmake b/Utilities/Release/create-cmake-release.cmake
index c304e6777..37e223d28 100644
--- a/Utilities/Release/create-cmake-release.cmake
+++ b/Utilities/Release/create-cmake-release.cmake
@@ -32,7 +32,7 @@ ${CMAKE_COMMAND} -DCMAKE_CREATE_VERSION=${CMAKE_CREATE_VERSION} -P ${CMAKE_ROOT}
xterm -geometry 64x6+${x}+${y} -sb -sl 2000 -T ${f}-${CMAKE_CREATE_VERSION}.log -e tail -f ${CMAKE_CURRENT_SOURCE_DIR}/logs/${f}-${CMAKE_CREATE_VERSION}.log&
")
math(EXPR i "${i}+1")
- endforeach(f)
+ endforeach()
execute_process(COMMAND chmod a+x ${filename})
endfunction()
diff --git a/Utilities/Release/dash2win64_cygwin.cmake b/Utilities/Release/dash2win64_cygwin.cmake
index 78e8df0af..663c61581 100644
--- a/Utilities/Release/dash2win64_cygwin.cmake
+++ b/Utilities/Release/dash2win64_cygwin.cmake
@@ -16,4 +16,12 @@ set(CC gcc)
set(SCRIPT_NAME dash2win64cygwin)
set(GIT_EXTRA "git config core.autocrlf true")
get_filename_component(path "${CMAKE_CURRENT_LIST_FILE}" PATH)
+
+# WARNING: Temporary fix!! This exclusion of the ExternalProject test
+# is temporary until we can set up a new cygwin build machine.
+# It only fails because of cygwin/non-cygwin "svn" mismatches in this
+# particular environment. This is less than ideal, but at least it
+# allows us to produce cygwin builds in the short term.
+set(EXTRA_CTEST_ARGS "-E ExternalProject")
+
include(${path}/release_cmake.cmake)
diff --git a/Utilities/Release/dash2win64_release.cmake b/Utilities/Release/dash2win64_release.cmake
index fb82de0d0..6d1ac767e 100644
--- a/Utilities/Release/dash2win64_release.cmake
+++ b/Utilities/Release/dash2win64_release.cmake
@@ -8,6 +8,7 @@ set(CPACK_SOURCE_GENERATORS "ZIP")
set(MAKE_PROGRAM "make")
set(MAKE "${MAKE_PROGRAM} -j8")
set(INITIAL_CACHE "CMAKE_BUILD_TYPE:STRING=Release
+CMAKE_USE_OPENSSL:BOOL=ON
CMAKE_SKIP_BOOTSTRAP_TEST:STRING=TRUE
CMAKE_Fortran_COMPILER:FILEPATH=FALSE
CMAKE_GENERATOR:INTERNAL=Unix Makefiles
diff --git a/Utilities/Release/dashmacmini2_release.cmake b/Utilities/Release/dashmacmini2_release.cmake
index 3e6b04973..5e57a70b2 100644
--- a/Utilities/Release/dashmacmini2_release.cmake
+++ b/Utilities/Release/dashmacmini2_release.cmake
@@ -9,6 +9,10 @@ set(CPACK_BINARY_GENERATORS "PackageMaker TGZ TZ")
set(INITIAL_CACHE "
CMAKE_BUILD_TYPE:STRING=Release
CMAKE_OSX_ARCHITECTURES:STRING=ppc;i386
+CMAKE_USE_OPENSSL:BOOL=ON
+OPENSSL_CRYPTO_LIBRARY:FILEPATH=/Users/kitware/openssl-1.0.1c-install/lib/libcrypto.a
+OPENSSL_INCLUDE_DIR:PATH=/Users/kitware/openssl-1.0.1c-install/include
+OPENSSL_SSL_LIBRARY:FILEPATH=/Users/kitware/openssl-1.0.1c-install/lib/libssl.a
CMAKE_SKIP_BOOTSTRAP_TEST:STRING=TRUE
CPACK_SYSTEM_NAME:STRING=Darwin-universal
BUILD_QtDialog:BOOL=TRUE
diff --git a/Utilities/Release/dashmacmini5_release.cmake b/Utilities/Release/dashmacmini5_release.cmake
index bd93a8733..36b095287 100644
--- a/Utilities/Release/dashmacmini5_release.cmake
+++ b/Utilities/Release/dashmacmini5_release.cmake
@@ -8,6 +8,10 @@ set(MAKE "${MAKE_PROGRAM} -j5")
set(CPACK_BINARY_GENERATORS "PackageMaker TGZ TZ")
set(CPACK_SOURCE_GENERATORS "TGZ TZ")
set(INITIAL_CACHE "
+CMAKE_USE_OPENSSL:BOOL=ON
+OPENSSL_CRYPTO_LIBRARY:FILEPATH=/Users/kitware/openssl-1.0.1c-install/lib/libcrypto.a
+OPENSSL_INCLUDE_DIR:PATH=/Users/kitware/openssl-1.0.1c-install/include
+OPENSSL_SSL_LIBRARY:FILEPATH=/Users/kitware/openssl-1.0.1c-install/lib/libssl.a
CMAKE_BUILD_TYPE:STRING=Release
CMAKE_OSX_ARCHITECTURES:STRING=x86_64;i386
CMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.5
diff --git a/Utilities/Release/magrathea_release.cmake b/Utilities/Release/magrathea_release.cmake
index 1b2ae02c7..4783fdad3 100644
--- a/Utilities/Release/magrathea_release.cmake
+++ b/Utilities/Release/magrathea_release.cmake
@@ -3,11 +3,17 @@ set(HOST magrathea)
set(MAKE_PROGRAM "make")
set(CC gcc332s)
set(CXX c++332s)
+set(CFLAGS -DDT_RUNPATH=29)
+set(CXXFLAGS -DDT_RUNPATH=29)
set(INITIAL_CACHE "
CMAKE_BUILD_TYPE:STRING=Release
CURSES_LIBRARY:FILEPATH=/usr/i686-gcc-332s/lib/libncurses.a
CURSES_INCLUDE_PATH:PATH=/usr/i686-gcc-332s/include/ncurses
FORM_LIBRARY:FILEPATH=/usr/i686-gcc-332s/lib/libform.a
+CMAKE_USE_OPENSSL:BOOL=ON
+OPENSSL_CRYPTO_LIBRARY:FILEPATH=/home/kitware/openssl-1.0.1c-install/lib/libcrypto.a
+OPENSSL_INCLUDE_DIR:PATH=/home/kitware/openssl-1.0.1c-install/include
+OPENSSL_SSL_LIBRARY:FILEPATH=/home/kitware/openssl-1.0.1c-install/lib/libssl.a
CPACK_SYSTEM_NAME:STRING=Linux-i386
BUILD_QtDialog:BOOL:=TRUE
QT_QMAKE_EXECUTABLE:FILEPATH=/home/kitware/qt-4.43-install/bin/qmake
diff --git a/Utilities/Release/release_cmake.cmake b/Utilities/Release/release_cmake.cmake
index 0c9b3f9c5..f351ac8c0 100644
--- a/Utilities/Release/release_cmake.cmake
+++ b/Utilities/Release/release_cmake.cmake
@@ -3,31 +3,31 @@ get_filename_component(SCRIPT_PATH "${CMAKE_CURRENT_LIST_FILE}" PATH)
# default to self extracting tgz, tgz, and tar.Z
if(NOT DEFINED CPACK_BINARY_GENERATORS)
set(CPACK_BINARY_GENERATORS "STGZ TGZ TZ")
-endif(NOT DEFINED CPACK_BINARY_GENERATORS)
+endif()
if(DEFINED EXTRA_COPY)
set(HAS_EXTRA_COPY 1)
-endif(DEFINED EXTRA_COPY)
+endif()
if(NOT DEFINED CMAKE_RELEASE_DIRECTORY)
set(CMAKE_RELEASE_DIRECTORY "~/CMakeReleaseDirectory")
-endif(NOT DEFINED CMAKE_RELEASE_DIRECTORY)
+endif()
if(NOT DEFINED SCRIPT_NAME)
set(SCRIPT_NAME "${HOST}")
-endif(NOT DEFINED SCRIPT_NAME)
+endif()
if(NOT DEFINED MAKE_PROGRAM)
message(FATAL_ERROR "MAKE_PROGRAM must be set")
-endif(NOT DEFINED MAKE_PROGRAM)
+endif()
if(NOT DEFINED MAKE)
set(MAKE "${MAKE_PROGRAM}")
-endif(NOT DEFINED MAKE)
+endif()
if(NOT DEFINED RUN_SHELL)
set(RUN_SHELL "/bin/sh")
-endif(NOT DEFINED RUN_SHELL)
+endif()
if(NOT DEFINED PROCESSORS)
set(PROCESSORS 1)
-endif(NOT DEFINED PROCESSORS)
+endif()
if(NOT DEFINED CMAKE_CREATE_VERSION)
message(FATAL_ERROR "CMAKE_CREATE_VERSION not defined")
-endif(NOT DEFINED CMAKE_CREATE_VERSION)
+endif()
if(NOT DEFINED GIT_COMMAND)
set(GIT_COMMAND git)
endif()
@@ -40,15 +40,15 @@ endif()
if(NOT DEFINED FINAL_PATH )
set(FINAL_PATH ${CMAKE_RELEASE_DIRECTORY}/${CMAKE_CREATE_VERSION}-build)
-endif(NOT DEFINED FINAL_PATH )
+endif()
if(NOT HOST)
message(FATAL_ERROR "HOST must be specified with -DHOST=host")
-endif(NOT HOST)
+endif()
if(NOT DEFINED MAKE)
message(FATAL_ERROR "MAKE must be specified with -DMAKE=\"make -j2\"")
-endif(NOT DEFINED MAKE)
-
+endif()
+
message("Creating CMake release ${CMAKE_CREATE_VERSION} on ${HOST} with parallel = ${PROCESSORS}")
# define a macro to run a remote command
@@ -57,14 +57,14 @@ macro(remote_command comment command)
if(${ARGC} GREATER 2)
message("ssh ${HOST} ${EXTRA_HOP} ${command}")
execute_process(COMMAND ssh ${HOST} ${EXTRA_HOP} ${command} RESULT_VARIABLE result INPUT_FILE ${ARGV2})
- else(${ARGC} GREATER 2)
- message("ssh ${HOST} ${EXTRA_HOP} ${command}")
- execute_process(COMMAND ssh ${HOST} ${EXTRA_HOP} ${command} RESULT_VARIABLE result)
- endif(${ARGC} GREATER 2)
+ else()
+ message("ssh ${HOST} ${EXTRA_HOP} ${command}")
+ execute_process(COMMAND ssh ${HOST} ${EXTRA_HOP} ${command} RESULT_VARIABLE result)
+ endif()
if(${result} GREATER 0)
message(FATAL_ERROR "Error running command: ${command}, return value = ${result}")
- endif(${result} GREATER 0)
-endmacro(remote_command)
+ endif()
+endmacro()
# set this so configure file will work from script mode
# create the script specific for the given host
@@ -73,64 +73,64 @@ configure_file(${SCRIPT_PATH}/release_cmake.sh.in ${SCRIPT_FILE} @ONLY)
# run the script by starting a shell on the remote machine
# then using the script file as input to the shell
-IF(RUN_LOCAL)
+if(RUN_LOCAL)
message(FATAL_ERROR "run this command: ${RUN_SHELL} ${SCRIPT_FILE}")
-ELSE(RUN_LOCAL)
+else()
remote_command("run release_cmake-${HOST}.sh on server"
"${RUN_SHELL}" ${SCRIPT_FILE})
-ENDIF(RUN_LOCAL)
+endif()
-# now figure out which types of packages were created
+# now figure out which types of packages were created
set(generators ${CPACK_BINARY_GENERATORS} ${CPACK_SOURCE_GENERATORS})
separate_arguments(generators)
foreach(gen ${generators})
if("${gen}" STREQUAL "TGZ")
set(SUFFIXES ${SUFFIXES} "*.tar.gz")
- endif("${gen}" STREQUAL "TGZ")
+ endif()
if("${gen}" STREQUAL "STGZ")
set(SUFFIXES ${SUFFIXES} "*.sh")
- endif("${gen}" STREQUAL "STGZ")
+ endif()
if("${gen}" STREQUAL "PackageMaker")
set(SUFFIXES ${SUFFIXES} "*.dmg")
- endif("${gen}" STREQUAL "PackageMaker")
+ endif()
if("${gen}" STREQUAL "TBZ2")
set(SUFFIXES ${SUFFIXES} "*.tar.bz2")
- endif("${gen}" STREQUAL "TBZ2")
+ endif()
if("${gen}" MATCHES "Cygwin")
set(SUFFIXES ${SUFFIXES} "*.tar.bz2")
set(extra_files setup.hint)
- endif("${gen}" MATCHES "Cygwin")
+ endif()
if("${gen}" STREQUAL "TZ")
set(SUFFIXES ${SUFFIXES} "*.tar.Z")
- endif("${gen}" STREQUAL "TZ")
+ endif()
if("${gen}" STREQUAL "ZIP")
set(SUFFIXES ${SUFFIXES} "*.zip")
- endif("${gen}" STREQUAL "ZIP")
+ endif()
if("${gen}" STREQUAL "NSIS")
set(SUFFIXES ${SUFFIXES} "*.exe")
- endif("${gen}" STREQUAL "NSIS")
-endforeach(gen)
+ endif()
+endforeach()
# copy all the files over from the remote machine
set(PROJECT_PREFIX cmake-)
foreach(suffix ${SUFFIXES})
message("scp ${HOST}:${FINAL_PATH}/${PROJECT_PREFIX}${suffix} .")
- execute_process(COMMAND
+ execute_process(COMMAND
scp ${HOST}:${FINAL_PATH}/${PROJECT_PREFIX}${suffix} .
- RESULT_VARIABLE result)
+ RESULT_VARIABLE result)
if(${result} GREATER 0)
message("error getting file back scp ${HOST}:${FINAL_PATH}/${PROJECT_PREFIX}${suffix} .")
- endif(${result} GREATER 0)
-endforeach(suffix)
+ endif()
+endforeach()
# if there are extra files to copy get them as well
if(extra_files)
foreach(f ${extra_files})
message("scp ${HOST}:${FINAL_PATH}/${f} .")
- execute_process(COMMAND
+ execute_process(COMMAND
scp ${HOST}:${FINAL_PATH}/${f} .
RESULT_VARIABLE result)
if(${result} GREATER 0)
message("error getting file back scp ${HOST}:${FINAL_PATH}/${f} .")
- endif(${result} GREATER 0)
- endforeach(f)
-endif(extra_files)
+ endif()
+ endforeach()
+endif()
diff --git a/Utilities/Release/release_cmake.sh.in b/Utilities/Release/release_cmake.sh.in
index 50882c5de..82c039b43 100755
--- a/Utilities/Release/release_cmake.sh.in
+++ b/Utilities/Release/release_cmake.sh.in
@@ -3,7 +3,7 @@ echo "Start release"
date
echo ""
echo "remove and create working directory @CMAKE_RELEASE_DIRECTORY@"
-rm -rf @CMAKE_RELEASE_DIRECTORY@
+rm -rf @CMAKE_RELEASE_DIRECTORY@
mkdir @CMAKE_RELEASE_DIRECTORY@
check_exit_value()
@@ -12,7 +12,7 @@ check_exit_value()
if [ "$VALUE" != "0" ]; then
echo "error in $2"
exit 1
- fi
+ fi
}
if [ ! -z "@CC@" ]; then
@@ -77,7 +77,7 @@ if [ ! -z "@USER_OVERRIDE@" ]; then
fi
echo "Checkout the source for @CMAKE_CREATE_VERSION@"
-cd @CMAKE_RELEASE_DIRECTORY@
+cd @CMAKE_RELEASE_DIRECTORY@
if [ ! -z "@GIT_COMMAND@" ]; then
# clone the repo without creating any source files in the directory
# matching the branch being built (i.e. master CMake-2-8, etc)
@@ -97,9 +97,9 @@ else
exit 1
fi
-cd @CMAKE_RELEASE_DIRECTORY@/@CMAKE_CREATE_VERSION@-build
+cd @CMAKE_RELEASE_DIRECTORY@/@CMAKE_CREATE_VERSION@-build
-if [ ! -z "@CONFIGURE_WITH_CMAKE@" ]; then
+if [ ! -z "@CONFIGURE_WITH_CMAKE@" ]; then
echo "Run cmake to configure cmake"
@CMAKE_CONFIGURE_PATH@ ../@CMAKE_CREATE_VERSION@
check_exit_value $? "Configure cmake" || exit 1
@@ -121,11 +121,11 @@ check_exit_value $? "Build cmake" || exit 1
if [ -z "@SKIP_TESTS@" ]; then
echo "Run cmake tests"
- ./bin/ctest --output-on-failure -j @PROCESSORS@ test
+ ./bin/ctest --output-on-failure -j @PROCESSORS@ @EXTRA_CTEST_ARGS@
check_exit_value $? "Test cmake" || exit 1
fi
-# loop over binary generators
+# loop over binary generators
generators="@CPACK_BINARY_GENERATORS@"
for GEN in $generators; do
echo "Create $GEN package"
@@ -133,7 +133,7 @@ for GEN in $generators; do
check_exit_value $? "Create $GEN package" || exit 1
done
-# loop over source generators
+# loop over source generators
generators="@CPACK_SOURCE_GENERATORS@"
for GEN in $generators; do
echo "Create $GEN package"
diff --git a/Utilities/Release/upload_release.cmake b/Utilities/Release/upload_release.cmake
index dc6c78f38..9bf35236d 100644
--- a/Utilities/Release/upload_release.cmake
+++ b/Utilities/Release/upload_release.cmake
@@ -1,4 +1,7 @@
-set(PROJECT_PREFIX cmake-)
+set(CTEST_RUN_CURRENT_SCRIPT 0)
+if(NOT DEFINED PROJECT_PREFIX)
+ set(PROJECT_PREFIX cmake-)
+endif()
if(NOT VERSION)
set(VERSION 2.8)
endif()
@@ -16,15 +19,22 @@ set(count 0)
foreach(file ${FILES})
if(NOT IS_DIRECTORY ${file})
message("upload ${file} ${UPLOAD_LOC}")
- execute_process(COMMAND
+ execute_process(COMMAND
scp ${file} ${UPLOAD_LOC}
- RESULT_VARIABLE result)
- math(EXPR count "${count} + 1")
+ RESULT_VARIABLE result)
if("${result}" GREATER 0)
message(FATAL_ERROR "failed to upload file to ${UPLOAD_LOC}")
endif()
+
+ # Pause to give each upload a distinct (to the nearest second)
+ # time stamp
+ if(COMMAND ctest_sleep)
+ ctest_sleep(2)
+ endif()
+
+ math(EXPR count "${count} + 1")
endif()
-endforeach(file)
+endforeach()
if(${count} EQUAL 0)
message(FATAL_ERROR "Error no files uploaded.")
endif()
diff --git a/Utilities/Release/v20n250_aix_release.cmake b/Utilities/Release/v20n250_aix_release.cmake
index 53c34d7ce..cc8cd058b 100644
--- a/Utilities/Release/v20n250_aix_release.cmake
+++ b/Utilities/Release/v20n250_aix_release.cmake
@@ -7,6 +7,7 @@ set(MAKE_PROGRAM "make")
set(CC "xlc_r")
set(CXX "xlC_r")
set(FC "xlf")
+set(LDFLAGS "-Wl,-bmaxdata:0x80000000") # Push "Segmentation fault in extend_brk" over horizon
set(INITIAL_CACHE "
CMAKE_BUILD_TYPE:STRING=Release
CMAKE_SKIP_BOOTSTRAP_TEST:STRING=TRUE
diff --git a/Utilities/cmcurl/CMakeLists.txt b/Utilities/cmcurl/CMakeLists.txt
index caa44f1d6..ef000a16a 100644
--- a/Utilities/cmcurl/CMakeLists.txt
+++ b/Utilities/cmcurl/CMakeLists.txt
@@ -169,27 +169,42 @@ IF(NOT CURL_SPECIAL_LIBZ)
CHECK_LIBRARY_EXISTS_CONCAT("z" inflateEnd HAVE_LIBZ)
ENDIF(NOT CURL_SPECIAL_LIBZ)
-OPTION(CMAKE_USE_OPENSSL "Use OpenSSL code." OFF)
+OPTION(CMAKE_USE_OPENSSL "Use OpenSSL code with curl." OFF)
MARK_AS_ADVANCED(CMAKE_USE_OPENSSL)
IF(CMAKE_USE_OPENSSL)
SET(USE_SSLEAY TRUE)
SET(USE_OPENSSL TRUE)
- IF(WIN32)
- FIND_PATH(SSLINCLUDE openssl/crypto.h
- PATHS c:/hoffman/Tools/openssl_w32vc6-0.9.8g/inc32)
- INCLUDE_DIRECTORIES(${SSLINCLUDE})
- FIND_LIBRARY(LIBEAY NAMES libeay32)
- FIND_LIBRARY(SSLEAY NAMES ssleay32)
- SET(CURL_LIBS ${CURL_LIBS} ${LIBEAY} ${SSLEAY} )
- ELSE(WIN32)
- CHECK_LIBRARY_EXISTS_CONCAT("crypto" CRYPTO_lock HAVE_LIBCRYPTO)
- CHECK_LIBRARY_EXISTS_CONCAT("ssl" SSL_connect HAVE_LIBSSL)
- ENDIF(WIN32)
+ FIND_PACKAGE(OpenSSL REQUIRED)
+ INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIR})
+ SET(CURL_LIBS ${CURL_LIBS} ${OPENSSL_LIBRARIES})
SET(CURL_CA_BUNDLE "" CACHE FILEPATH "Path to SSL CA Certificate Bundle")
MARK_AS_ADVANCED(CURL_CA_BUNDLE)
IF(CURL_CA_BUNDLE)
ADD_DEFINITIONS(-DCURL_CA_BUNDLE="${CURL_CA_BUNDLE}")
ENDIF(CURL_CA_BUNDLE)
+ # for windows we want to install OPENSSL_LIBRARIES dlls
+ # and also copy them into the build tree so that testing
+ # can find them.
+ IF(WIN32)
+ FIND_FILE(CMAKE_EAY_DLL NAME libeay32.dll HINTS ${OPENSSL_INCLUDE_DIR}/..)
+ FIND_FILE(CMAKE_SSL_DLL NAME ssleay32.dll HINTS ${OPENSSL_INCLUDE_DIR}/..)
+ MARK_AS_ADVANCED(CMAKE_EAY_DLL CMAKE_SSL_DLL)
+ IF(CMAKE_SSL_DLL AND CMAKE_EAY_DLL)
+ SET(CMAKE_CURL_SSL_DLLS ${CMake_BIN_DIR}/${CMAKE_CFG_INTDIR}/libeay32.dll
+ ${CMake_BIN_DIR}/${CMAKE_CFG_INTDIR}/ssleay32.dll)
+ ADD_CUSTOM_COMMAND(OUTPUT
+ ${CMake_BIN_DIR}/${CMAKE_CFG_INTDIR}/libeay32.dll
+ DEPENDS ${CMAKE_EAY_DLL}
+ COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_EAY_DLL}
+ ${CMake_BIN_DIR}/${CMAKE_CFG_INTDIR}/libeay32.dll)
+ ADD_CUSTOM_COMMAND(OUTPUT
+ ${CMake_BIN_DIR}/${CMAKE_CFG_INTDIR}/ssleay32.dll
+ DEPENDS ${CMAKE_SSL_DLL}
+ COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SSL_DLL}
+ ${CMake_BIN_DIR}/${CMAKE_CFG_INTDIR}/ssleay32.dll)
+ INSTALL(PROGRAMS ${CMAKE_EAY_DLL} ${CMAKE_SSL_DLL} DESTINATION bin)
+ ENDIF()
+ ENDIF()
ENDIF(CMAKE_USE_OPENSSL)
# Check for idn
@@ -698,8 +713,7 @@ ENDFOREACH()
CONFIGURE_FILE(${LIBCURL_SOURCE_DIR}/config.h.in
${LIBCURL_BINARY_DIR}/config.h)
-
-ADD_LIBRARY(cmcurl ${LIBRARY_TYPE} ${libCurl_SRCS})
+ADD_LIBRARY(cmcurl ${LIBRARY_TYPE} ${libCurl_SRCS} ${CMAKE_CURL_SSL_DLLS})
TARGET_LINK_LIBRARIES(cmcurl ${CURL_LIBS})
IF(CMAKE_BUILD_CURL_SHARED)
SET_TARGET_PROPERTIES(cmcurl PROPERTIES DEFINE_SYMBOL BUILDING_LIBCURL
diff --git a/Utilities/cmcurl/config.h.in b/Utilities/cmcurl/config.h.in
index 6e74935a3..e18af8ffe 100644
--- a/Utilities/cmcurl/config.h.in
+++ b/Utilities/cmcurl/config.h.in
@@ -255,9 +255,6 @@
/* Define to 1 if you have the <libssh2.h> header file. */
#cmakedefine HAVE_LIBSSH2_H ${HAVE_LIBSSH2_H}
-/* Define to 1 if you have the `ssl' library (-lssl). */
-#cmakedefine HAVE_LIBSSL ${HAVE_LIBSSL}
-
/* if zlib is available */
#cmakedefine HAVE_LIBZ ${HAVE_LIBZ}
diff --git a/Utilities/cmcurl/curl/curl.h b/Utilities/cmcurl/curl/curl.h
index 157c634a4..e586c4a8c 100644
--- a/Utilities/cmcurl/curl/curl.h
+++ b/Utilities/cmcurl/curl/curl.h
@@ -312,7 +312,7 @@ typedef enum {
CURLE_UNSUPPORTED_PROTOCOL, /* 1 */
CURLE_FAILED_INIT, /* 2 */
CURLE_URL_MALFORMAT, /* 3 */
- CURLE_URL_MALFORMAT_USER, /* 4 - NOT USED */
+ CURLE_NOT_BUILT_IN, /* 4 */
CURLE_COULDNT_RESOLVE_PROXY, /* 5 */
CURLE_COULDNT_RESOLVE_HOST, /* 6 */
CURLE_COULDNT_CONNECT, /* 7 */
diff --git a/Utilities/cmcurl/ssluse.c b/Utilities/cmcurl/ssluse.c
index 55afb2446..14d05ac65 100644
--- a/Utilities/cmcurl/ssluse.c
+++ b/Utilities/cmcurl/ssluse.c
@@ -1285,8 +1285,13 @@ Curl_ossl_connect_step1(struct connectdata *conn,
req_method = TLSv1_client_method();
break;
case CURL_SSLVERSION_SSLv2:
+#ifdef OPENSSL_NO_SSL2
+ failf(data, "OpenSSL was built without SSLv2 support");
+ return CURLE_NOT_BUILT_IN;
+#else
req_method = SSLv2_client_method();
break;
+#endif
case CURL_SSLVERSION_SSLv3:
req_method = SSLv3_client_method();
break;
diff --git a/Utilities/cmcurl/strerror.c b/Utilities/cmcurl/strerror.c
index 6304fe89d..74c345779 100644
--- a/Utilities/cmcurl/strerror.c
+++ b/Utilities/cmcurl/strerror.c
@@ -69,6 +69,10 @@ curl_easy_strerror(CURLcode error)
case CURLE_URL_MALFORMAT:
return "URL using bad/illegal format or missing URL";
+ case CURLE_NOT_BUILT_IN:
+ return "A requested feature, protocol or option was not found built-in in"
+ " this libcurl due to a build-time decision.";
+
case CURLE_COULDNT_RESOLVE_PROXY:
return "couldn't resolve proxy name";
@@ -287,7 +291,6 @@ curl_easy_strerror(CURLcode error)
return "Error in the SSH layer";
/* error codes not used by current libcurl */
- case CURLE_URL_MALFORMAT_USER:
case CURLE_FTP_USER_PASSWORD_INCORRECT:
case CURLE_MALFORMAT_USER:
case CURLE_BAD_CALLING_ORDER:
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_disk_posix.c b/Utilities/cmlibarchive/libarchive/archive_read_disk_posix.c
index 7d7eecadc..365a874a9 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_disk_posix.c
+++ b/Utilities/cmlibarchive/libarchive/archive_read_disk_posix.c
@@ -925,7 +925,7 @@ _archive_read_next_header2(struct archive *_a, struct archive_entry *entry)
if (fd < 0)
tree_enter_working_dir(t);
- /* The current direcotry fd is needed at
+ /* The current directory fd is needed at
* archive_read_disk_entry_from_file() function to read link data
* with readlinkat(). */
a->entry_wd_fd = tree_current_dir_fd(t);
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_disk_windows.c b/Utilities/cmlibarchive/libarchive/archive_read_disk_windows.c
index d8a1f5577..217a91a86 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_disk_windows.c
+++ b/Utilities/cmlibarchive/libarchive/archive_read_disk_windows.c
@@ -955,7 +955,7 @@ _archive_read_disk_open_w(struct archive *_a, const wchar_t *pathname)
a->tree = tree_open(pathname, a->symlink_mode, a->restore_time);
if (a->tree == NULL) {
archive_set_error(&a->archive, ENOMEM,
- "Can't allocate direcotry traversal data");
+ "Can't allocate directory traversal data");
a->archive.state = ARCHIVE_STATE_FATAL;
return (ARCHIVE_FATAL);
}
diff --git a/Utilities/xml/.gitattributes b/Utilities/xml/.gitattributes
new file mode 100644
index 000000000..562b12e16
--- /dev/null
+++ b/Utilities/xml/.gitattributes
@@ -0,0 +1 @@
+* -whitespace
diff --git a/Utilities/xml/docbook-4.5/ChangeLog b/Utilities/xml/docbook-4.5/ChangeLog
new file mode 100644
index 000000000..06f59ce5c
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/ChangeLog
@@ -0,0 +1,106 @@
+2006-10-03 13:23 nwalsh
+
+ * trunk/docbook/sgml/catalog.xml, trunk/docbook/sgml/docbook.cat,
+ trunk/docbook/sgml/docbook.dcl, trunk/docbook/sgml/docbook.dtd,
+ calstblx.dtd, catalog.xml, dbcentx.mod, dbgenent.mod,
+ dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat,
+ docbookx.dtd, htmltblx.mod: DocBook V4.5 released
+
+2006-06-02 11:28 nwalsh
+
+ * calstblx.dtd, catalog.xml, dbcentx.mod, dbgenent.mod,
+ dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat,
+ docbookx.dtd, freshmeat.xsl, htmltblx.mod: Changed copyright
+ dates and version numbers
+
+2006-05-30 20:58 nwalsh
+
+ * htmltblx.mod: Supply tag omission markers in SGML; suppress
+ xml:lang in SGML
+
+2006-03-07 13:11 nwalsh
+
+ * trunk/docbook/sgml/catalog.xml, trunk/docbook/sgml/docbook.cat,
+ trunk/docbook/sgml/docbook.dcl, trunk/docbook/sgml/docbook.dtd,
+ calstblx.dtd, catalog.xml, dbcentx.mod, dbgenent.mod,
+ dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat,
+ docbookx.dtd, freshmeat.xsl, htmltblx.mod: Change version
+ numbers to 4.5CR2
+
+2006-03-07 13:03 nwalsh
+
+ * dbpoolx.mod: Allow citebiblioid anywhere the other citation
+ elements are allowed
+
+2006-02-16 21:12 nwalsh
+
+ * calstblx.dtd, catalog.xml, dbcentx.mod, dbgenent.mod,
+ dbhierx.mod, dbnotnx.mod, dbpoolx.mod, docbook.cat,
+ docbookx.dtd, freshmeat.xsl, htmltblx.mod: DocBook V4.5 released
+
+2005-06-29 10:59 nwalsh
+
+ * trunk/docbook/sgml/docbook.dtd, docbookx.dtd: DocBook V4.5CR1
+ Released
+
+2005-06-29 10:58 nwalsh
+
+ * trunk/docbook/sgml/catalog.xml, trunk/docbook/sgml/docbook.cat,
+ trunk/docbook/sgml/docbook.dcl, calstblx.dtd, catalog.xml,
+ dbcentx.mod, dbgenent.mod, dbhierx.mod, dbnotnx.mod,
+ dbpoolx.mod, docbook.cat, htmltblx.mod: Updated version number
+
+2005-06-29 10:53 nwalsh
+
+ * freshmeat.xsl: Tweaked freshmeat changes
+
+2005-06-24 21:09 nwalsh
+
+ * calstblx.dtd, dbhierx.mod, dbpoolx.mod, htmltblx.mod,
+ soextblx.dtd: Added doc: structured comments
+
+2005-05-05 11:41 nwalsh
+
+ * trunk/docbook/sgml/docbook.dtd, docbookx.dtd: DocBook V4.5b1
+ Released
+
+2005-05-05 11:40 nwalsh
+
+ * trunk/docbook/sgml/catalog.xml, trunk/docbook/sgml/docbook.cat,
+ trunk/docbook/sgml/docbook.dcl, calstblx.dtd, catalog.xml,
+ dbcentx.mod, dbgenent.mod, dbhierx.mod, dbnotnx.mod,
+ dbpoolx.mod, docbook.cat, htmltblx.mod: Updated version number
+
+2005-05-05 11:37 nwalsh
+
+ * freshmeat.xsl: Prepare for 4.5b1
+
+2005-05-05 10:59 nwalsh
+
+ * dbpoolx.mod: RFE 1055480: Make revnumber optional
+
+2005-05-05 10:54 nwalsh
+
+ * dbpoolx.mod, htmltblx.mod: Allow common attributes on HTML table
+ elements
+
+2005-05-05 10:48 nwalsh
+
+ * dbpoolx.mod: Added termdef
+
+2005-05-05 10:39 nwalsh
+
+ * dbpoolx.mod: Added mathphrase
+
+2005-05-05 10:33 nwalsh
+
+ * dbhierx.mod: RFE 1070458: Allow colophon in article
+
+2005-05-05 10:32 nwalsh
+
+ * dbpoolx.mod: RFE 1070770: Allow procedure in example
+
+2005-05-05 10:21 nwalsh
+
+ * dbpoolx.mod: Add isrn to list of biblioid class attribute values
+
diff --git a/Utilities/xml/docbook-4.5/README b/Utilities/xml/docbook-4.5/README
new file mode 100644
index 000000000..6fc60c4bf
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/README
@@ -0,0 +1,8 @@
+README for the DocBook XML DTD
+
+For more information about DocBook, please see
+
+ http://www.oasis-open.org/docbook/
+
+Please send all questions, comments, concerns, and bug reports to the
+DocBook mailing list: docbook@lists.oasis-open.org
diff --git a/Utilities/xml/docbook-4.5/calstblx.dtd b/Utilities/xml/docbook-4.5/calstblx.dtd
new file mode 100644
index 000000000..fac58d77e
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/calstblx.dtd
@@ -0,0 +1,215 @@
+<!-- ...................................................................... -->
+<!-- DocBook CALS Table Model V4.5 ........................................ -->
+<!-- File calstblx.mod .................................................... -->
+
+<!-- Copyright 1992-2002 HaL Computer Systems, Inc.,
+ O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+ Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+ Organization for the Advancement of Structured Information
+ Standards (OASIS).
+
+ This DTD is based on the CALS Table Model
+ PUBLIC "-//USA-DOD//DTD Table Model 951010//EN"
+
+ $Id: calstblx.dtd 6340 2006-10-03 13:23:24Z nwalsh $
+
+ Permission to use, copy, modify and distribute the DocBook DTD
+ and its accompanying documentation for any purpose and without fee
+ is hereby granted in perpetuity, provided that the above copyright
+ notice and this paragraph appear in all copies. The copyright
+ holders make no representation about the suitability of the DTD for
+ any purpose. It is provided "as is" without expressed or implied
+ warranty.
+
+ If you modify the DocBook DTD in any way, except for declaring and
+ referencing additional sets of general entities and declaring
+ additional notations, label your DTD as a variant of DocBook. See
+ the maintenance documentation for more information.
+
+ Please direct all questions, bug reports, or suggestions for
+ changes to the docbook@lists.oasis-open.org mailing list. For more
+ information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This module contains the definitions for the CALS Table Model
+ converted to XML. It has been modified slightly for use in the
+ combined HTML/CALS models supported by DocBook V4.5.
+-->
+
+<!-- These definitions are not directly related to the table model, but are
+ used in the default CALS table model and are usually defined elsewhere
+ (and prior to the inclusion of this table module) in a CALS DTD. -->
+
+<!ENTITY % bodyatt "">
+<!ENTITY % secur "">
+
+<!-- no if zero(s),
+ yes if any other digits value -->
+
+<!ENTITY % yesorno 'CDATA'>
+<!ENTITY % titles 'title?'>
+
+<!-- default for use in entry content -->
+
+<!ENTITY % paracon '#PCDATA'>
+
+<!--
+The parameter entities as defined below provide the CALS table model
+as published (as part of the Example DTD) in MIL-HDBK-28001.
+
+These following declarations provide the CALS-compliant default definitions
+for these entities. However, these entities can and should be redefined
+(by giving the appropriate parameter entity declaration(s) prior to the
+reference to this Table Model declaration set entity) to fit the needs
+of the current application.
+-->
+
+<!ENTITY % tbl.table.name "(table|chart)">
+<!ENTITY % tbl.table-titles.mdl "%titles;,">
+<!ENTITY % tbl.table-main.mdl "(tgroup+|graphic+)">
+<!ENTITY % tbl.table.mdl "%tbl.table-titles.mdl; %tbl.table-main.mdl;">
+<!ENTITY % tbl.table.att '
+ tabstyle CDATA #IMPLIED
+ tocentry %yesorno; #IMPLIED
+ shortentry %yesorno; #IMPLIED
+ orient (port|land) #IMPLIED
+ pgwide %yesorno; #IMPLIED '>
+<!ENTITY % tbl.tgroup.mdl "colspec*,spanspec*,thead?,tfoot?,tbody">
+<!ENTITY % tbl.tgroup.att '
+ tgroupstyle CDATA #IMPLIED '>
+<!ENTITY % tbl.hdft.mdl "colspec*,row+">
+<!ENTITY % tbl.row.mdl "(entry|entrytbl)+">
+<!ENTITY % tbl.entrytbl.mdl "colspec*,spanspec*,thead?,tbody">
+<!ENTITY % tbl.entry.mdl "(para|warning|caution|note|legend|%paracon;)*">
+
+<!ENTITY % tbl.frame.attval "top|bottom|topbot|all|sides|none">
+<!ENTITY % tbl.tbody.mdl "row+">
+
+<!-- ===== Element and attribute declarations follow. ===== -->
+
+<!--doc:A formal table in a document.-->
+<!ELEMENT table %ho; (%tbl.table.mdl;)>
+
+<!ATTLIST table
+ frame (%tbl.frame.attval;) #IMPLIED
+ colsep %yesorno; #IMPLIED
+ rowsep %yesorno; #IMPLIED
+ %tbl.table.att;
+ %bodyatt;
+ %secur;
+>
+
+<!--doc:A wrapper for the main content of a table, or part of a table.-->
+<!ELEMENT tgroup %ho; (%tbl.tgroup.mdl;) >
+
+<!ATTLIST tgroup
+ cols CDATA #REQUIRED
+ %tbl.tgroup.att;
+ colsep %yesorno; #IMPLIED
+ rowsep %yesorno; #IMPLIED
+ align (left|right|center|justify|char) #IMPLIED
+ char CDATA #IMPLIED
+ charoff CDATA #IMPLIED
+ %secur;
+>
+
+<!--doc:Specifications for a column in a table.-->
+<!ELEMENT colspec %ho; EMPTY >
+
+<!ATTLIST colspec
+ colnum CDATA #IMPLIED
+ colname CDATA #IMPLIED
+ colwidth CDATA #IMPLIED
+ colsep %yesorno; #IMPLIED
+ rowsep %yesorno; #IMPLIED
+ align (left|right|center|justify|char) #IMPLIED
+ char CDATA #IMPLIED
+ charoff CDATA #IMPLIED
+>
+
+<!--doc:Formatting information for a spanned column in a table.-->
+<!ELEMENT spanspec %ho; EMPTY >
+
+<!ATTLIST spanspec
+ namest CDATA #REQUIRED
+ nameend CDATA #REQUIRED
+ spanname CDATA #REQUIRED
+ colsep %yesorno; #IMPLIED
+ rowsep %yesorno; #IMPLIED
+ align (left|right|center|justify|char) #IMPLIED
+ char CDATA #IMPLIED
+ charoff CDATA #IMPLIED
+>
+
+<!--doc:A table header consisting of one or more rows.-->
+<!ELEMENT thead %ho; (%tbl.hdft.mdl;)>
+<!ATTLIST thead
+ valign (top|middle|bottom) #IMPLIED
+ %secur;
+>
+
+<!--doc:A table footer consisting of one or more rows.-->
+<!ELEMENT tfoot %ho; (%tbl.hdft.mdl;)>
+<!ATTLIST tfoot
+ valign (top|middle|bottom) #IMPLIED
+ %secur;
+>
+
+<!--doc:A wrapper for the rows of a table or informal table.-->
+<!ELEMENT tbody %ho; (%tbl.tbody.mdl;)>
+
+<!ATTLIST tbody
+ valign (top|middle|bottom) #IMPLIED
+ %secur;
+>
+
+<!--doc:A row in a table.-->
+<!ELEMENT row %ho; (%tbl.row.mdl;)>
+
+<!ATTLIST row
+ rowsep %yesorno; #IMPLIED
+ valign (top|middle|bottom) #IMPLIED
+ %secur;
+>
+
+<!--doc:A subtable appearing in place of an Entry in a table.-->
+<!ELEMENT entrytbl %ho; (%tbl.entrytbl.mdl;)>
+
+<!ATTLIST entrytbl
+ cols CDATA #REQUIRED
+ %tbl.tgroup.att;
+ colname CDATA #IMPLIED
+ spanname CDATA #IMPLIED
+ namest CDATA #IMPLIED
+ nameend CDATA #IMPLIED
+ colsep %yesorno; #IMPLIED
+ rowsep %yesorno; #IMPLIED
+ align (left|right|center|justify|char) #IMPLIED
+ char CDATA #IMPLIED
+ charoff CDATA #IMPLIED
+ %secur;
+>
+
+<!--doc:A cell in a table.-->
+<!ELEMENT entry %ho; (%tbl.entry.mdl;)*>
+
+<!ATTLIST entry
+ colname CDATA #IMPLIED
+ namest CDATA #IMPLIED
+ nameend CDATA #IMPLIED
+ spanname CDATA #IMPLIED
+ morerows CDATA #IMPLIED
+ colsep %yesorno; #IMPLIED
+ rowsep %yesorno; #IMPLIED
+ align (left|right|center|justify|char) #IMPLIED
+ char CDATA #IMPLIED
+ charoff CDATA #IMPLIED
+ rotate %yesorno; #IMPLIED
+ valign (top|middle|bottom) #IMPLIED
+ %secur;
+>
+
+<!-- End of DocBook CALS Table Model V4.5 ................................. -->
+<!-- ...................................................................... -->
diff --git a/Utilities/xml/docbook-4.5/catalog.xml b/Utilities/xml/docbook-4.5/catalog.xml
new file mode 100644
index 000000000..f75c1d764
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/catalog.xml
@@ -0,0 +1,124 @@
+<?xml version='1.0'?>
+<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="public">
+
+<!-- ...................................................................... -->
+<!-- XML Catalog data for DocBook XML V4.5 ................................ -->
+<!-- File catalog.xml ..................................................... -->
+
+<!-- Please direct all questions, bug reports, or suggestions for
+ changes to the docbook@lists.oasis-open.org mailing list. For more
+ information, see http://www.oasis-open.org/.
+ -->
+
+<!-- This is the catalog data file for DocBook V4.5. It is provided as
+ a convenience in building your own catalog files. You need not use
+ the filenames listed here, and need not use the filename method of
+ identifying storage objects at all. See the documentation for
+ detailed information on the files associated with the DocBook DTD.
+ See XML Catalogs at http://www.oasis-open.org/committees/entity/ for
+ detailed information on supplying and using catalog data.
+ -->
+
+<!-- ...................................................................... -->
+<!-- DocBook driver file .................................................. -->
+
+<public publicId="-//OASIS//DTD DocBook XML V4.5//EN"
+ uri="docbookx.dtd"/>
+
+<system systemId="http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
+ uri="docbookx.dtd"/>
+
+<system systemId="http://docbook.org/xml/4.5/docbookx.dtd"
+ uri="docbookx.dtd"/>
+
+<!-- ...................................................................... -->
+<!-- DocBook modules ...................................................... -->
+
+<public publicId="-//OASIS//DTD DocBook CALS Table Model V4.5//EN"
+ uri="calstblx.dtd"/>
+
+<public publicId="-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN"
+ uri="htmltblx.mod"/>
+
+<public publicId="-//OASIS//DTD XML Exchange Table Model 19990315//EN"
+ uri="soextblx.dtd"/>
+
+<public publicId="-//OASIS//ELEMENTS DocBook Information Pool V4.5//EN"
+ uri="dbpoolx.mod"/>
+
+<public publicId="-//OASIS//ELEMENTS DocBook Document Hierarchy V4.5//EN"
+ uri="dbhierx.mod"/>
+
+<public publicId="-//OASIS//ENTITIES DocBook Additional General Entities V4.5//EN"
+ uri="dbgenent.mod"/>
+
+<public publicId="-//OASIS//ENTITIES DocBook Notations V4.5//EN"
+ uri="dbnotnx.mod"/>
+
+<public publicId="-//OASIS//ENTITIES DocBook Character Entities V4.5//EN"
+ uri="dbcentx.mod"/>
+
+<!-- ...................................................................... -->
+<!-- ISO entity sets ...................................................... -->
+
+<public publicId="ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML"
+ uri="ent/isodia.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"
+ uri="ent/isonum.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Publishing//EN//XML"
+ uri="ent/isopub.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES General Technical//EN//XML"
+ uri="ent/isotech.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
+ uri="ent/isolat1.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Latin 2//EN//XML"
+ uri="ent/isolat2.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Greek Letters//EN//XML"
+ uri="ent/isogrk1.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Monotoniko Greek//EN//XML"
+ uri="ent/isogrk2.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Greek Symbols//EN//XML"
+ uri="ent/isogrk3.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN//XML"
+ uri="ent/isogrk4.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN//XML"
+ uri="ent/isoamsa.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN//XML"
+ uri="ent/isoamsb.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN//XML"
+ uri="ent/isoamsc.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN//XML"
+ uri="ent/isoamsn.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN//XML"
+ uri="ent/isoamso.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN//XML"
+ uri="ent/isoamsr.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Box and Line Drawing//EN//XML"
+ uri="ent/isobox.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Russian Cyrillic//EN//XML"
+ uri="ent/isocyr1.ent"/>
+
+<public publicId="ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN//XML"
+ uri="ent/isocyr2.ent"/>
+
+<!-- End of catalog data for DocBook XML V4.5 ............................. -->
+<!-- ...................................................................... -->
+
+</catalog>
diff --git a/Utilities/xml/docbook-4.5/dbcentx.mod b/Utilities/xml/docbook-4.5/dbcentx.mod
new file mode 100644
index 000000000..60de99f86
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/dbcentx.mod
@@ -0,0 +1,384 @@
+<!-- ...................................................................... -->
+<!-- DocBook character entities module V4.5 ............................... -->
+<!-- File dbcentx.mod ..................................................... -->
+
+<!-- Copyright 1992-2004 HaL Computer Systems, Inc.,
+ O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+ Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+ Organization for the Advancement of Structured Information
+ Standards (OASIS).
+
+ $Id: dbcentx.mod 6340 2006-10-03 13:23:24Z nwalsh $
+
+ Permission to use, copy, modify and distribute the DocBook DTD
+ and its accompanying documentation for any purpose and without fee
+ is hereby granted in perpetuity, provided that the above copyright
+ notice and this paragraph appear in all copies. The copyright
+ holders make no representation about the suitability of the DTD for
+ any purpose. It is provided "as is" without expressed or implied
+ warranty.
+
+ If you modify the DocBook DTD in any way, except for declaring and
+ referencing additional sets of general entities and declaring
+ additional notations, label your DTD as a variant of DocBook. See
+ the maintenance documentation for more information.
+
+ Please direct all questions, bug reports, or suggestions for
+ changes to the docbook@lists.oasis-open.org mailing list. For more
+ information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This module contains the entity declarations for the standard ISO
+ entity sets used by DocBook.
+
+ In DTD driver files referring to this module, please use an entity
+ declaration that uses the public identifier shown below:
+
+ <!ENTITY % dbcent PUBLIC
+ "-//OASIS//ENTITIES DocBook Character Entities V4.5//EN"
+ "dbcentx.mod">
+ %dbcent;
+
+ See the documentation for detailed information on the parameter
+ entity and module scheme used in DocBook, customizing DocBook and
+ planning for interchange, and changes made since the last release
+ of DocBook.
+-->
+
+<!-- ...................................................................... -->
+
+<![%sgml.features;[
+
+<!ENTITY % ISOamsa.module "INCLUDE">
+<![ %ISOamsa.module; [
+<!ENTITY % ISOamsa PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN">
+<!--end of ISOamsa.module-->]]>
+
+<!ENTITY % ISOamsb.module "INCLUDE">
+<![ %ISOamsb.module; [
+<!ENTITY % ISOamsb PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN">
+<!--end of ISOamsb.module-->]]>
+
+<!ENTITY % ISOamsc.module "INCLUDE">
+<![ %ISOamsc.module; [
+<!ENTITY % ISOamsc PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN">
+<!--end of ISOamsc.module-->]]>
+
+<!ENTITY % ISOamsn.module "INCLUDE">
+<![ %ISOamsn.module; [
+<!ENTITY % ISOamsn PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN">
+<!--end of ISOamsn.module-->]]>
+
+<!ENTITY % ISOamso.module "INCLUDE">
+<![ %ISOamso.module; [
+<!ENTITY % ISOamso PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN">
+<!--end of ISOamso.module-->]]>
+
+<!ENTITY % ISOamsr.module "INCLUDE">
+<![ %ISOamsr.module; [
+<!ENTITY % ISOamsr PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN">
+<!--end of ISOamsr.module-->]]>
+
+<!ENTITY % ISObox.module "INCLUDE">
+<![ %ISObox.module; [
+<!ENTITY % ISObox PUBLIC
+"ISO 8879:1986//ENTITIES Box and Line Drawing//EN">
+<!--end of ISObox.module-->]]>
+
+<!ENTITY % ISOcyr1.module "INCLUDE">
+<![ %ISOcyr1.module; [
+<!ENTITY % ISOcyr1 PUBLIC
+"ISO 8879:1986//ENTITIES Russian Cyrillic//EN">
+<!--end of ISOcyr1.module-->]]>
+
+<!ENTITY % ISOcyr2.module "INCLUDE">
+<![ %ISOcyr2.module; [
+<!ENTITY % ISOcyr2 PUBLIC
+"ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN">
+<!--end of ISOcyr2.module-->]]>
+
+<!ENTITY % ISOdia.module "INCLUDE">
+<![ %ISOdia.module; [
+<!ENTITY % ISOdia PUBLIC
+"ISO 8879:1986//ENTITIES Diacritical Marks//EN">
+<!--end of ISOdia.module-->]]>
+
+<!ENTITY % ISOgrk1.module "INCLUDE">
+<![ %ISOgrk1.module; [
+<!ENTITY % ISOgrk1 PUBLIC
+"ISO 8879:1986//ENTITIES Greek Letters//EN">
+<!--end of ISOgrk1.module-->]]>
+
+<!ENTITY % ISOgrk2.module "INCLUDE">
+<![ %ISOgrk2.module; [
+<!ENTITY % ISOgrk2 PUBLIC
+"ISO 8879:1986//ENTITIES Monotoniko Greek//EN">
+<!--end of ISOgrk2.module-->]]>
+
+<!ENTITY % ISOgrk3.module "INCLUDE">
+<![ %ISOgrk3.module; [
+<!ENTITY % ISOgrk3 PUBLIC
+"ISO 8879:1986//ENTITIES Greek Symbols//EN">
+<!--end of ISOgrk3.module-->]]>
+
+<!ENTITY % ISOgrk4.module "INCLUDE">
+<![ %ISOgrk4.module; [
+<!ENTITY % ISOgrk4 PUBLIC
+"ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN">
+<!--end of ISOgrk4.module-->]]>
+
+<!ENTITY % ISOlat1.module "INCLUDE">
+<![ %ISOlat1.module; [
+<!ENTITY % ISOlat1 PUBLIC
+"ISO 8879:1986//ENTITIES Added Latin 1//EN">
+<!--end of ISOlat1.module-->]]>
+
+<!ENTITY % ISOlat2.module "INCLUDE">
+<![ %ISOlat2.module; [
+<!ENTITY % ISOlat2 PUBLIC
+"ISO 8879:1986//ENTITIES Added Latin 2//EN">
+<!--end of ISOlat2.module-->]]>
+
+<!ENTITY % ISOnum.module "INCLUDE">
+<![ %ISOnum.module; [
+<!ENTITY % ISOnum PUBLIC
+"ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN">
+<!--end of ISOnum.module-->]]>
+
+<!ENTITY % ISOpub.module "INCLUDE">
+<![ %ISOpub.module; [
+<!ENTITY % ISOpub PUBLIC
+"ISO 8879:1986//ENTITIES Publishing//EN">
+<!--end of ISOpub.module-->]]>
+
+<!ENTITY % ISOtech.module "INCLUDE">
+<![ %ISOtech.module; [
+<!ENTITY % ISOtech PUBLIC
+"ISO 8879:1986//ENTITIES General Technical//EN">
+<!--end of ISOtech.module-->]]>
+
+<!--end of sgml.features-->]]>
+
+<![%xml.features;[
+
+<!ENTITY % ISOamsa.module "INCLUDE">
+<![%ISOamsa.module;[
+<!ENTITY % ISOamsa PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN//XML"
+"ent/isoamsa.ent">
+<!--end of ISOamsa.module-->]]>
+
+<!ENTITY % ISOamsb.module "INCLUDE">
+<![%ISOamsb.module;[
+<!ENTITY % ISOamsb PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN//XML"
+"ent/isoamsb.ent">
+<!--end of ISOamsb.module-->]]>
+
+<!ENTITY % ISOamsc.module "INCLUDE">
+<![%ISOamsc.module;[
+<!ENTITY % ISOamsc PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN//XML"
+"ent/isoamsc.ent">
+<!--end of ISOamsc.module-->]]>
+
+<!ENTITY % ISOamsn.module "INCLUDE">
+<![%ISOamsn.module;[
+<!ENTITY % ISOamsn PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN//XML"
+"ent/isoamsn.ent">
+<!--end of ISOamsn.module-->]]>
+
+<!ENTITY % ISOamso.module "INCLUDE">
+<![%ISOamso.module;[
+<!ENTITY % ISOamso PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN//XML"
+"ent/isoamso.ent">
+<!--end of ISOamso.module-->]]>
+
+<!ENTITY % ISOamsr.module "INCLUDE">
+<![%ISOamsr.module;[
+<!ENTITY % ISOamsr PUBLIC
+"ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN//XML"
+"ent/isoamsr.ent">
+<!--end of ISOamsr.module-->]]>
+
+<!ENTITY % ISObox.module "INCLUDE">
+<![%ISObox.module;[
+<!ENTITY % ISObox PUBLIC
+"ISO 8879:1986//ENTITIES Box and Line Drawing//EN//XML"
+"ent/isobox.ent">
+<!--end of ISObox.module-->]]>
+
+<!ENTITY % ISOcyr1.module "INCLUDE">
+<![%ISOcyr1.module;[
+<!ENTITY % ISOcyr1 PUBLIC
+"ISO 8879:1986//ENTITIES Russian Cyrillic//EN//XML"
+"ent/isocyr1.ent">
+<!--end of ISOcyr1.module-->]]>
+
+<!ENTITY % ISOcyr2.module "INCLUDE">
+<![%ISOcyr2.module;[
+<!ENTITY % ISOcyr2 PUBLIC
+"ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN//XML"
+"ent/isocyr2.ent">
+<!--end of ISOcyr2.module-->]]>
+
+<!ENTITY % ISOdia.module "INCLUDE">
+<![%ISOdia.module;[
+<!ENTITY % ISOdia PUBLIC
+"ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML"
+"ent/isodia.ent">
+<!--end of ISOdia.module-->]]>
+
+<!ENTITY % ISOgrk1.module "INCLUDE">
+<![%ISOgrk1.module;[
+<!ENTITY % ISOgrk1 PUBLIC
+"ISO 8879:1986//ENTITIES Greek Letters//EN//XML"
+"ent/isogrk1.ent">
+<!--end of ISOgrk1.module-->]]>
+
+<!ENTITY % ISOgrk2.module "INCLUDE">
+<![%ISOgrk2.module;[
+<!ENTITY % ISOgrk2 PUBLIC
+"ISO 8879:1986//ENTITIES Monotoniko Greek//EN//XML"
+"ent/isogrk2.ent">
+<!--end of ISOgrk2.module-->]]>
+
+<!ENTITY % ISOgrk3.module "INCLUDE">
+<![%ISOgrk3.module;[
+<!ENTITY % ISOgrk3 PUBLIC
+"ISO 8879:1986//ENTITIES Greek Symbols//EN//XML"
+"ent/isogrk3.ent">
+<!--end of ISOgrk3.module-->]]>
+
+<!ENTITY % ISOgrk4.module "INCLUDE">
+<![%ISOgrk4.module;[
+<!ENTITY % ISOgrk4 PUBLIC
+"ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN//XML"
+"ent/isogrk4.ent">
+<!--end of ISOgrk4.module-->]]>
+
+<!ENTITY % ISOlat1.module "INCLUDE">
+<![%ISOlat1.module;[
+<!ENTITY % ISOlat1 PUBLIC
+"ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
+"ent/isolat1.ent">
+<!--end of ISOlat1.module-->]]>
+
+<!ENTITY % ISOlat2.module "INCLUDE">
+<![%ISOlat2.module;[
+<!ENTITY % ISOlat2 PUBLIC
+"ISO 8879:1986//ENTITIES Added Latin 2//EN//XML"
+"ent/isolat2.ent">
+<!--end of ISOlat2.module-->]]>
+
+<!ENTITY % ISOnum.module "INCLUDE">
+<![%ISOnum.module;[
+<!ENTITY % ISOnum PUBLIC
+"ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"
+"ent/isonum.ent">
+<!--end of ISOnum.module-->]]>
+
+<!ENTITY % ISOpub.module "INCLUDE">
+<![%ISOpub.module;[
+<!ENTITY % ISOpub PUBLIC
+"ISO 8879:1986//ENTITIES Publishing//EN//XML"
+"ent/isopub.ent">
+<!--end of ISOpub.module-->]]>
+
+<!ENTITY % ISOtech.module "INCLUDE">
+<![%ISOtech.module;[
+<!ENTITY % ISOtech PUBLIC
+"ISO 8879:1986//ENTITIES General Technical//EN//XML"
+"ent/isotech.ent">
+<!--end of ISOtech.module-->]]>
+
+<!--end of xml.features-->]]>
+
+<![ %ISOamsa.module; [
+%ISOamsa;
+]]>
+
+<![ %ISOamsb.module; [
+%ISOamsb;
+]]>
+
+<![ %ISOamsc.module; [
+%ISOamsc;
+]]>
+
+<![ %ISOamsn.module; [
+%ISOamsn;
+]]>
+
+<![ %ISOamso.module; [
+%ISOamso;
+]]>
+
+<![ %ISOamsr.module; [
+%ISOamsr;
+]]>
+
+<![ %ISObox.module; [
+%ISObox;
+]]>
+
+<![ %ISOcyr1.module; [
+%ISOcyr1;
+]]>
+
+<![ %ISOcyr2.module; [
+%ISOcyr2;
+]]>
+
+<![ %ISOdia.module; [
+%ISOdia;
+]]>
+
+<![ %ISOgrk1.module; [
+%ISOgrk1;
+]]>
+
+<![ %ISOgrk2.module; [
+%ISOgrk2;
+]]>
+
+<![ %ISOgrk3.module; [
+%ISOgrk3;
+]]>
+
+<![ %ISOgrk4.module; [
+%ISOgrk4;
+]]>
+
+<![ %ISOlat1.module; [
+%ISOlat1;
+]]>
+
+<![ %ISOlat2.module; [
+%ISOlat2;
+]]>
+
+<![ %ISOnum.module; [
+%ISOnum;
+]]>
+
+<![ %ISOpub.module; [
+%ISOpub;
+]]>
+
+<![ %ISOtech.module; [
+%ISOtech;
+]]>
+
+<!-- End of DocBook character entity sets module V4.5 ..................... -->
+<!-- ...................................................................... -->
diff --git a/Utilities/xml/docbook-4.5/dbgenent.mod b/Utilities/xml/docbook-4.5/dbgenent.mod
new file mode 100644
index 000000000..ff5ba90d1
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/dbgenent.mod
@@ -0,0 +1,41 @@
+<!-- ...................................................................... -->
+<!-- DocBook additional general entities V4.5 ............................. -->
+
+<!-- Copyright 1992-2004 HaL Computer Systems, Inc.,
+ O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+ Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+ Organization for the Advancement of Structured Information
+ Standards (OASIS).
+
+ In DTD driver files referring to this module, please use an entity
+ declaration that uses the public identifier shown below:
+
+ <!ENTITY % dbgenent PUBLIC
+ "-//OASIS//ENTITIES DocBook Additional General Entities V4.5//EN"
+ "dbgenent.mod">
+ %dbgenent;
+-->
+
+<!-- File dbgenent.mod .................................................... -->
+
+<!-- You can edit this file to add the following:
+
+ o General entity declarations of any kind. For example:
+
+ <!ENTITY productname "WinWidget"> (small boilerplate)
+ <!ENTITY legal-notice SYSTEM "notice.sgm"> (large boilerplate)
+
+ o Notation declarations. For example:
+
+ <!NOTATION chicken-scratch SYSTEM>
+
+ o Declarations for and references to external parameter entities
+ containing collections of any of the above. For example:
+
+ <!ENTITY % all-titles PUBLIC "-//DocTools//ELEMENTS Book Titles//EN"
+ "booktitles.ent">
+ %all-titles;
+-->
+
+<!-- End of DocBook additional general entities V4.5 ...................... -->
+<!-- ...................................................................... -->
diff --git a/Utilities/xml/docbook-4.5/dbhierx.mod b/Utilities/xml/docbook-4.5/dbhierx.mod
new file mode 100644
index 000000000..5f839f567
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/dbhierx.mod
@@ -0,0 +1,2193 @@
+<!-- ...................................................................... -->
+<!-- DocBook document hierarchy module V4.5 ............................... -->
+<!-- File dbhierx.mod ..................................................... -->
+
+<!-- Copyright 1992-2004 HaL Computer Systems, Inc.,
+ O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+ Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+ Organization for the Advancement of Structured Information
+ Standards (OASIS).
+
+ $Id: dbhierx.mod 6340 2006-10-03 13:23:24Z nwalsh $
+
+ Permission to use, copy, modify and distribute the DocBook DTD
+ and its accompanying documentation for any purpose and without fee
+ is hereby granted in perpetuity, provided that the above copyright
+ notice and this paragraph appear in all copies. The copyright
+ holders make no representation about the suitability of the DTD for
+ any purpose. It is provided "as is" without expressed or implied
+ warranty.
+
+ If you modify the DocBook DTD in any way, except for declaring and
+ referencing additional sets of general entities and declaring
+ additional notations, label your DTD as a variant of DocBook. See
+ the maintenance documentation for more information.
+
+ Please direct all questions, bug reports, or suggestions for
+ changes to the docbook@lists.oasis-open.org mailing list. For more
+ information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This module contains the definitions for the overall document
+ hierarchies of DocBook documents. It covers computer documentation
+ manuals and manual fragments, as well as reference entries (such as
+ man pages) and technical journals or anthologies containing
+ articles.
+
+ This module depends on the DocBook information pool module. All
+ elements and entities referenced but not defined here are assumed
+ to be defined in the information pool module.
+
+ In DTD driver files referring to this module, please use an entity
+ declaration that uses the public identifier shown below:
+
+ <!ENTITY % dbhier PUBLIC
+ "-//OASIS//ELEMENTS DocBook Document Hierarchy V4.5//EN"
+ "dbhierx.mod">
+ %dbhier;
+
+ See the documentation for detailed information on the parameter
+ entity and module scheme used in DocBook, customizing DocBook and
+ planning for interchange, and changes made since the last release
+ of DocBook.
+-->
+
+<!-- ...................................................................... -->
+<!-- Entities for module inclusions ....................................... -->
+
+<!ENTITY % dbhier.redecl.module "IGNORE">
+<!ENTITY % dbhier.redecl2.module "IGNORE">
+
+<!-- ...................................................................... -->
+<!-- Entities for element classes ......................................... -->
+
+<!ENTITY % local.appendix.class "">
+<!ENTITY % appendix.class "appendix %local.appendix.class;">
+
+<!ENTITY % local.article.class "">
+<!ENTITY % article.class "article %local.article.class;">
+
+<!ENTITY % local.book.class "">
+<!ENTITY % book.class "book %local.book.class;">
+
+<!ENTITY % local.chapter.class "">
+<!ENTITY % chapter.class "chapter %local.chapter.class;">
+
+<!ENTITY % local.index.class "">
+<!ENTITY % index.class "index|setindex %local.index.class;">
+
+<!ENTITY % local.refentry.class "">
+<!ENTITY % refentry.class "refentry %local.refentry.class;">
+
+<!ENTITY % local.section.class "">
+<!ENTITY % section.class "section %local.section.class;">
+
+<!ENTITY % local.nav.class "">
+<!ENTITY % nav.class "toc|lot|index|glossary|bibliography
+ %local.nav.class;">
+
+<!-- Redeclaration placeholder ............................................ -->
+
+<!-- For redeclaring entities that are declared after this point while
+ retaining their references to the entities that are declared before
+ this point -->
+
+<![%dbhier.redecl.module;[
+<!-- Defining rdbhier here makes some buggy XML parsers happy. -->
+<!ENTITY % rdbhier "">
+%rdbhier;
+<!--end of dbhier.redecl.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Entities for element mixtures ........................................ -->
+
+<!ENTITY % local.divcomponent.mix "">
+<!ENTITY % divcomponent.mix
+ "%list.class; |%admon.class;
+ |%linespecific.class; |%synop.class;
+ |%para.class; |%informal.class;
+ |%formal.class; |%compound.class;
+ |%genobj.class; |%descobj.class;
+ |%ndxterm.class; |beginpage
+ %forms.hook;
+ %local.divcomponent.mix;">
+
+<!ENTITY % local.refcomponent.mix "">
+<!ENTITY % refcomponent.mix
+ "%list.class; |%admon.class;
+ |%linespecific.class; |%synop.class;
+ |%para.class; |%informal.class;
+ |%formal.class; |%compound.class;
+ |%genobj.class; |%descobj.class;
+ |%ndxterm.class; |beginpage
+ %forms.hook;
+ %local.refcomponent.mix;">
+
+<!ENTITY % local.indexdivcomponent.mix "">
+<!ENTITY % indexdivcomponent.mix
+ "itemizedlist|orderedlist|variablelist|simplelist
+ |%linespecific.class; |%synop.class;
+ |%para.class; |%informal.class;
+ |anchor|remark
+ |%link.char.class;
+ |beginpage
+ %local.indexdivcomponent.mix;">
+
+<!ENTITY % local.refname.char.mix "">
+<!ENTITY % refname.char.mix
+ "#PCDATA
+ |%tech.char.class;
+ %local.refname.char.mix;">
+
+<!ENTITY % local.partcontent.mix "">
+<!ENTITY % partcontent.mix
+ "%appendix.class;|%chapter.class;|%nav.class;|%article.class;
+ |preface|%refentry.class;|reference %local.partcontent.mix;">
+
+<!ENTITY % local.refinline.char.mix "">
+<!ENTITY % refinline.char.mix
+ "#PCDATA
+ |%xref.char.class; |%gen.char.class;
+ |%link.char.class; |%tech.char.class;
+ |%base.char.class; |%docinfo.char.class;
+ |%other.char.class;
+ |%ndxterm.class; |beginpage
+ %local.refinline.char.mix;">
+
+<!ENTITY % local.refclass.char.mix "">
+<!ENTITY % refclass.char.mix
+ "#PCDATA
+ |application
+ %local.refclass.char.mix;">
+
+<!-- Redeclaration placeholder 2 .......................................... -->
+
+<!-- For redeclaring entities that are declared after this point while
+ retaining their references to the entities that are declared before
+ this point -->
+
+<![%dbhier.redecl2.module;[
+<!-- Defining rdbhier2 here makes some buggy XML parsers happy. -->
+<!ENTITY % rdbhier2 "">
+%rdbhier2;
+<!--end of dbhier.redecl2.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Entities for content models .......................................... -->
+
+<!ENTITY % div.title.content
+ "title, subtitle?, titleabbrev?">
+
+<!ENTITY % bookcomponent.title.content
+ "title, subtitle?, titleabbrev?">
+
+<!ENTITY % sect.title.content
+ "title, subtitle?, titleabbrev?">
+
+<!ENTITY % refsect.title.content
+ "title, subtitle?, titleabbrev?">
+
+<!ENTITY % bookcomponent.content
+ "((%divcomponent.mix;)+,
+ (sect1*|(%refentry.class;)*|simplesect*|(%section.class;)*))
+ | (sect1+|(%refentry.class;)+|simplesect+|(%section.class;)+)">
+
+<!-- ...................................................................... -->
+<!-- Set and SetInfo ...................................................... -->
+
+<!ENTITY % set.content.module "INCLUDE">
+<![%set.content.module;[
+<!ENTITY % set.module "INCLUDE">
+<![%set.module;[
+<!ENTITY % local.set.attrib "">
+<!ENTITY % set.role.attrib "%role.attrib;">
+
+<!ENTITY % set.element "INCLUDE">
+<![%set.element;[
+<!--doc:A collection of books.-->
+<!ELEMENT set %ho; ((%div.title.content;)?, setinfo?, toc?, (set|%book.class;)+,
+ setindex?)
+ %ubiq.inclusion;>
+<!--end of set.element-->]]>
+
+<!-- FPI: SGML formal public identifier -->
+
+
+<!ENTITY % set.attlist "INCLUDE">
+<![%set.attlist;[
+<!ATTLIST set
+ fpi CDATA #IMPLIED
+ %status.attrib;
+ %common.attrib;
+ %set.role.attrib;
+ %local.set.attrib;
+>
+<!--end of set.attlist-->]]>
+<!--end of set.module-->]]>
+
+<!ENTITY % setinfo.module "INCLUDE">
+<![%setinfo.module;[
+<!ENTITY % local.setinfo.attrib "">
+<!ENTITY % setinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % setinfo.element "INCLUDE">
+<![%setinfo.element;[
+<!--doc:Meta-information for a Set.-->
+<!ELEMENT setinfo %ho; ((%info.class;)+)
+ %beginpage.exclusion;>
+<!--end of setinfo.element-->]]>
+
+<!-- Contents: IDs of the ToC, Books, and SetIndex that comprise
+ the set, in the order of their appearance -->
+
+
+<!ENTITY % setinfo.attlist "INCLUDE">
+<![%setinfo.attlist;[
+<!ATTLIST setinfo
+ contents IDREFS #IMPLIED
+ %common.attrib;
+ %setinfo.role.attrib;
+ %local.setinfo.attrib;
+>
+<!--end of setinfo.attlist-->]]>
+<!--end of setinfo.module-->]]>
+<!--end of set.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Book and BookInfo .................................................... -->
+
+<!ENTITY % book.content.module "INCLUDE">
+<![%book.content.module;[
+<!ENTITY % book.module "INCLUDE">
+<![%book.module;[
+
+<!ENTITY % local.book.attrib "">
+<!ENTITY % book.role.attrib "%role.attrib;">
+
+<!ENTITY % book.element "INCLUDE">
+<![%book.element;[
+<!--doc:A book.-->
+<!ELEMENT book %ho; ((%div.title.content;)?, bookinfo?,
+ (dedication | toc | lot
+ | glossary | bibliography | preface
+ | %chapter.class; | reference | part
+ | %article.class;
+ | %appendix.class;
+ | %index.class;
+ | colophon)*)
+ %ubiq.inclusion;>
+<!--end of book.element-->]]>
+
+<!-- FPI: SGML formal public identifier -->
+
+
+<!ENTITY % book.attlist "INCLUDE">
+<![%book.attlist;[
+<!ATTLIST book fpi CDATA #IMPLIED
+ %label.attrib;
+ %status.attrib;
+ %common.attrib;
+ %book.role.attrib;
+ %local.book.attrib;
+>
+<!--end of book.attlist-->]]>
+<!--end of book.module-->]]>
+
+<!ENTITY % bookinfo.module "INCLUDE">
+<![%bookinfo.module;[
+<!ENTITY % local.bookinfo.attrib "">
+<!ENTITY % bookinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % bookinfo.element "INCLUDE">
+<![%bookinfo.element;[
+<!--doc:Meta-information for a Book.-->
+<!ELEMENT bookinfo %ho; ((%info.class;)+)
+ %beginpage.exclusion;>
+<!--end of bookinfo.element-->]]>
+
+<!-- Contents: IDs of the ToC, LoTs, Prefaces, Parts, Chapters,
+ Appendixes, References, GLossary, Bibliography, and indexes
+ comprising the Book, in the order of their appearance -->
+
+
+<!ENTITY % bookinfo.attlist "INCLUDE">
+<![%bookinfo.attlist;[
+<!ATTLIST bookinfo
+ contents IDREFS #IMPLIED
+ %common.attrib;
+ %bookinfo.role.attrib;
+ %local.bookinfo.attrib;
+>
+<!--end of bookinfo.attlist-->]]>
+<!--end of bookinfo.module-->]]>
+<!--end of book.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Dedication, ToC, and LoT ............................................. -->
+
+<!ENTITY % dedication.module "INCLUDE">
+<![%dedication.module;[
+<!ENTITY % local.dedication.attrib "">
+<!ENTITY % dedication.role.attrib "%role.attrib;">
+
+<!ENTITY % dedication.element "INCLUDE">
+<![%dedication.element;[
+<!--doc:A wrapper for the dedication section of a book.-->
+<!ELEMENT dedication %ho; ((%sect.title.content;)?, (%legalnotice.mix;)+)>
+<!--end of dedication.element-->]]>
+
+<!ENTITY % dedication.attlist "INCLUDE">
+<![%dedication.attlist;[
+<!ATTLIST dedication
+ %status.attrib;
+ %common.attrib;
+ %dedication.role.attrib;
+ %local.dedication.attrib;
+>
+<!--end of dedication.attlist-->]]>
+<!--end of dedication.module-->]]>
+
+<!ENTITY % colophon.module "INCLUDE">
+<![ %colophon.module; [
+<!ENTITY % local.colophon.attrib "">
+<!ENTITY % colophon.role.attrib "%role.attrib;">
+
+<!ENTITY % colophon.element "INCLUDE">
+<![ %colophon.element; [
+<!--doc:Text at the back of a book describing facts about its production.-->
+<!ELEMENT colophon %ho; ((%sect.title.content;)?, (%textobject.mix;)+)>
+<!--end of colophon.element-->]]>
+
+<!ENTITY % colophon.attlist "INCLUDE">
+<![ %colophon.attlist; [
+<!ATTLIST colophon
+ %status.attrib;
+ %common.attrib;
+ %colophon.role.attrib;
+ %local.colophon.attrib;>
+<!--end of colophon.attlist-->]]>
+<!--end of colophon.module-->]]>
+
+<!ENTITY % toc.content.module "INCLUDE">
+<![%toc.content.module;[
+<!ENTITY % toc.module "INCLUDE">
+<![%toc.module;[
+<!ENTITY % local.toc.attrib "">
+<!ENTITY % toc.role.attrib "%role.attrib;">
+
+<!ENTITY % toc.element "INCLUDE">
+<![%toc.element;[
+<!--doc:A table of contents.-->
+<!ELEMENT toc %ho; (beginpage?,
+ (%bookcomponent.title.content;)?,
+ tocfront*,
+ (tocpart | tocchap)*, tocback*)>
+<!--end of toc.element-->]]>
+
+<!ENTITY % toc.attlist "INCLUDE">
+<![%toc.attlist;[
+<!ATTLIST toc
+ %pagenum.attrib;
+ %common.attrib;
+ %toc.role.attrib;
+ %local.toc.attrib;
+>
+<!--end of toc.attlist-->]]>
+<!--end of toc.module-->]]>
+
+<!ENTITY % tocfront.module "INCLUDE">
+<![%tocfront.module;[
+<!ENTITY % local.tocfront.attrib "">
+<!ENTITY % tocfront.role.attrib "%role.attrib;">
+
+<!ENTITY % tocfront.element "INCLUDE">
+<![%tocfront.element;[
+<!--doc:An entry in a table of contents for a front matter component.-->
+<!ELEMENT tocfront %ho; (%para.char.mix;)*>
+<!--end of tocfront.element-->]]>
+
+<!-- to element that this entry represents -->
+
+
+<!ENTITY % tocfront.attlist "INCLUDE">
+<![%tocfront.attlist;[
+<!ATTLIST tocfront
+ %label.attrib;
+ %linkend.attrib; %pagenum.attrib;
+ %common.attrib;
+ %tocfront.role.attrib;
+ %local.tocfront.attrib;
+>
+<!--end of tocfront.attlist-->]]>
+<!--end of tocfront.module-->]]>
+
+<!ENTITY % tocentry.module "INCLUDE">
+<![%tocentry.module;[
+<!ENTITY % local.tocentry.attrib "">
+<!ENTITY % tocentry.role.attrib "%role.attrib;">
+
+<!ENTITY % tocentry.element "INCLUDE">
+<![%tocentry.element;[
+<!--doc:A component title in a table of contents.-->
+<!ELEMENT tocentry %ho; (%para.char.mix;)*>
+<!--end of tocentry.element-->]]>
+
+<!-- to element that this entry represents -->
+
+
+<!ENTITY % tocentry.attlist "INCLUDE">
+<![%tocentry.attlist;[
+<!ATTLIST tocentry
+ %linkend.attrib; %pagenum.attrib;
+ %common.attrib;
+ %tocentry.role.attrib;
+ %local.tocentry.attrib;
+>
+<!--end of tocentry.attlist-->]]>
+<!--end of tocentry.module-->]]>
+
+<!ENTITY % tocpart.module "INCLUDE">
+<![%tocpart.module;[
+<!ENTITY % local.tocpart.attrib "">
+<!ENTITY % tocpart.role.attrib "%role.attrib;">
+
+<!ENTITY % tocpart.element "INCLUDE">
+<![%tocpart.element;[
+<!--doc:An entry in a table of contents for a part of a book.-->
+<!ELEMENT tocpart %ho; (tocentry+, tocchap*)>
+<!--end of tocpart.element-->]]>
+
+<!ENTITY % tocpart.attlist "INCLUDE">
+<![%tocpart.attlist;[
+<!ATTLIST tocpart
+ %common.attrib;
+ %tocpart.role.attrib;
+ %local.tocpart.attrib;
+>
+<!--end of tocpart.attlist-->]]>
+<!--end of tocpart.module-->]]>
+
+<!ENTITY % tocchap.module "INCLUDE">
+<![%tocchap.module;[
+<!ENTITY % local.tocchap.attrib "">
+<!ENTITY % tocchap.role.attrib "%role.attrib;">
+
+<!ENTITY % tocchap.element "INCLUDE">
+<![%tocchap.element;[
+<!--doc:An entry in a table of contents for a component in the body of a document.-->
+<!ELEMENT tocchap %ho; (tocentry+, toclevel1*)>
+<!--end of tocchap.element-->]]>
+
+<!ENTITY % tocchap.attlist "INCLUDE">
+<![%tocchap.attlist;[
+<!ATTLIST tocchap
+ %label.attrib;
+ %common.attrib;
+ %tocchap.role.attrib;
+ %local.tocchap.attrib;
+>
+<!--end of tocchap.attlist-->]]>
+<!--end of tocchap.module-->]]>
+
+<!ENTITY % toclevel1.module "INCLUDE">
+<![%toclevel1.module;[
+<!ENTITY % local.toclevel1.attrib "">
+<!ENTITY % toclevel1.role.attrib "%role.attrib;">
+
+<!ENTITY % toclevel1.element "INCLUDE">
+<![%toclevel1.element;[
+<!--doc:A top-level entry within a table of contents entry for a chapter-like component.-->
+<!ELEMENT toclevel1 %ho; (tocentry+, toclevel2*)>
+<!--end of toclevel1.element-->]]>
+
+<!ENTITY % toclevel1.attlist "INCLUDE">
+<![%toclevel1.attlist;[
+<!ATTLIST toclevel1
+ %common.attrib;
+ %toclevel1.role.attrib;
+ %local.toclevel1.attrib;
+>
+<!--end of toclevel1.attlist-->]]>
+<!--end of toclevel1.module-->]]>
+
+<!ENTITY % toclevel2.module "INCLUDE">
+<![%toclevel2.module;[
+<!ENTITY % local.toclevel2.attrib "">
+<!ENTITY % toclevel2.role.attrib "%role.attrib;">
+
+<!ENTITY % toclevel2.element "INCLUDE">
+<![%toclevel2.element;[
+<!--doc:A second-level entry within a table of contents entry for a chapter-like component.-->
+<!ELEMENT toclevel2 %ho; (tocentry+, toclevel3*)>
+<!--end of toclevel2.element-->]]>
+
+<!ENTITY % toclevel2.attlist "INCLUDE">
+<![%toclevel2.attlist;[
+<!ATTLIST toclevel2
+ %common.attrib;
+ %toclevel2.role.attrib;
+ %local.toclevel2.attrib;
+>
+<!--end of toclevel2.attlist-->]]>
+<!--end of toclevel2.module-->]]>
+
+<!ENTITY % toclevel3.module "INCLUDE">
+<![%toclevel3.module;[
+<!ENTITY % local.toclevel3.attrib "">
+<!ENTITY % toclevel3.role.attrib "%role.attrib;">
+
+<!ENTITY % toclevel3.element "INCLUDE">
+<![%toclevel3.element;[
+<!--doc:A third-level entry within a table of contents entry for a chapter-like component.-->
+<!ELEMENT toclevel3 %ho; (tocentry+, toclevel4*)>
+<!--end of toclevel3.element-->]]>
+
+<!ENTITY % toclevel3.attlist "INCLUDE">
+<![%toclevel3.attlist;[
+<!ATTLIST toclevel3
+ %common.attrib;
+ %toclevel3.role.attrib;
+ %local.toclevel3.attrib;
+>
+<!--end of toclevel3.attlist-->]]>
+<!--end of toclevel3.module-->]]>
+
+<!ENTITY % toclevel4.module "INCLUDE">
+<![%toclevel4.module;[
+<!ENTITY % local.toclevel4.attrib "">
+<!ENTITY % toclevel4.role.attrib "%role.attrib;">
+
+<!ENTITY % toclevel4.element "INCLUDE">
+<![%toclevel4.element;[
+<!--doc:A fourth-level entry within a table of contents entry for a chapter-like component.-->
+<!ELEMENT toclevel4 %ho; (tocentry+, toclevel5*)>
+<!--end of toclevel4.element-->]]>
+
+<!ENTITY % toclevel4.attlist "INCLUDE">
+<![%toclevel4.attlist;[
+<!ATTLIST toclevel4
+ %common.attrib;
+ %toclevel4.role.attrib;
+ %local.toclevel4.attrib;
+>
+<!--end of toclevel4.attlist-->]]>
+<!--end of toclevel4.module-->]]>
+
+<!ENTITY % toclevel5.module "INCLUDE">
+<![%toclevel5.module;[
+<!ENTITY % local.toclevel5.attrib "">
+<!ENTITY % toclevel5.role.attrib "%role.attrib;">
+
+<!ENTITY % toclevel5.element "INCLUDE">
+<![%toclevel5.element;[
+<!--doc:A fifth-level entry within a table of contents entry for a chapter-like component.-->
+<!ELEMENT toclevel5 %ho; (tocentry+)>
+<!--end of toclevel5.element-->]]>
+
+<!ENTITY % toclevel5.attlist "INCLUDE">
+<![%toclevel5.attlist;[
+<!ATTLIST toclevel5
+ %common.attrib;
+ %toclevel5.role.attrib;
+ %local.toclevel5.attrib;
+>
+<!--end of toclevel5.attlist-->]]>
+<!--end of toclevel5.module-->]]>
+
+<!ENTITY % tocback.module "INCLUDE">
+<![%tocback.module;[
+<!ENTITY % local.tocback.attrib "">
+<!ENTITY % tocback.role.attrib "%role.attrib;">
+
+<!ENTITY % tocback.element "INCLUDE">
+<![%tocback.element;[
+<!--doc:An entry in a table of contents for a back matter component.-->
+<!ELEMENT tocback %ho; (%para.char.mix;)*>
+<!--end of tocback.element-->]]>
+
+<!-- to element that this entry represents -->
+
+
+<!ENTITY % tocback.attlist "INCLUDE">
+<![%tocback.attlist;[
+<!ATTLIST tocback
+ %label.attrib;
+ %linkend.attrib; %pagenum.attrib;
+ %common.attrib;
+ %tocback.role.attrib;
+ %local.tocback.attrib;
+>
+<!--end of tocback.attlist-->]]>
+<!--end of tocback.module-->]]>
+<!--end of toc.content.module-->]]>
+
+<!ENTITY % lot.content.module "INCLUDE">
+<![%lot.content.module;[
+<!ENTITY % lot.module "INCLUDE">
+<![%lot.module;[
+<!ENTITY % local.lot.attrib "">
+<!ENTITY % lot.role.attrib "%role.attrib;">
+
+<!ENTITY % lot.element "INCLUDE">
+<![%lot.element;[
+<!--doc:A list of the titles of formal objects (as tables or figures) in a document.-->
+<!ELEMENT lot %ho; (beginpage?, (%bookcomponent.title.content;)?, lotentry*)>
+<!--end of lot.element-->]]>
+
+<!ENTITY % lot.attlist "INCLUDE">
+<![%lot.attlist;[
+<!ATTLIST lot
+ %label.attrib;
+ %common.attrib;
+ %lot.role.attrib;
+ %local.lot.attrib;
+>
+<!--end of lot.attlist-->]]>
+<!--end of lot.module-->]]>
+
+<!ENTITY % lotentry.module "INCLUDE">
+<![%lotentry.module;[
+<!ENTITY % local.lotentry.attrib "">
+<!ENTITY % lotentry.role.attrib "%role.attrib;">
+
+<!ENTITY % lotentry.element "INCLUDE">
+<![%lotentry.element;[
+<!--doc:An entry in a list of titles.-->
+<!ELEMENT lotentry %ho; (%para.char.mix;)*>
+<!--end of lotentry.element-->]]>
+
+<!-- SrcCredit: Information about the source of the entry,
+ as for a list of illustrations -->
+<!-- linkend: to element that this entry represents-->
+<!ENTITY % lotentry.attlist "INCLUDE">
+<![%lotentry.attlist;[
+<!ATTLIST lotentry
+ %linkend.attrib;
+ %pagenum.attrib;
+ srccredit CDATA #IMPLIED
+ %common.attrib;
+ %lotentry.role.attrib;
+ %local.lotentry.attrib;
+>
+<!--end of lotentry.attlist-->]]>
+<!--end of lotentry.module-->]]>
+<!--end of lot.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Appendix, Chapter, Part, Preface, Reference, PartIntro ............... -->
+
+<!ENTITY % appendix.module "INCLUDE">
+<![%appendix.module;[
+<!ENTITY % local.appendix.attrib "">
+<!ENTITY % appendix.role.attrib "%role.attrib;">
+
+<!ENTITY % appendix.element "INCLUDE">
+<![%appendix.element;[
+<!--doc:An appendix in a Book or Article.-->
+<!ELEMENT appendix %ho; (beginpage?,
+ appendixinfo?,
+ (%bookcomponent.title.content;),
+ (%nav.class;)*,
+ tocchap?,
+ (%bookcomponent.content;),
+ (%nav.class;)*)
+ %ubiq.inclusion;>
+<!--end of appendix.element-->]]>
+
+<!ENTITY % appendix.attlist "INCLUDE">
+<![%appendix.attlist;[
+<!ATTLIST appendix
+ %label.attrib;
+ %status.attrib;
+ %common.attrib;
+ %appendix.role.attrib;
+ %local.appendix.attrib;
+>
+<!--end of appendix.attlist-->]]>
+<!--end of appendix.module-->]]>
+
+<!ENTITY % chapter.module "INCLUDE">
+<![%chapter.module;[
+<!ENTITY % local.chapter.attrib "">
+<!ENTITY % chapter.role.attrib "%role.attrib;">
+
+<!ENTITY % chapter.element "INCLUDE">
+<![%chapter.element;[
+<!--doc:A chapter, as of a book.-->
+<!ELEMENT chapter %ho; (beginpage?,
+ chapterinfo?,
+ (%bookcomponent.title.content;),
+ (%nav.class;)*,
+ tocchap?,
+ (%bookcomponent.content;),
+ (%nav.class;)*)
+ %ubiq.inclusion;>
+<!--end of chapter.element-->]]>
+
+<!ENTITY % chapter.attlist "INCLUDE">
+<![%chapter.attlist;[
+<!ATTLIST chapter
+ %label.attrib;
+ %status.attrib;
+ %common.attrib;
+ %chapter.role.attrib;
+ %local.chapter.attrib;
+>
+<!--end of chapter.attlist-->]]>
+<!--end of chapter.module-->]]>
+
+<!ENTITY % part.module "INCLUDE">
+<![%part.module;[
+
+<!-- Note that Part was to have its content model reduced in V4.5. This
+change will not be made after all. -->
+
+<!ENTITY % local.part.attrib "">
+<!ENTITY % part.role.attrib "%role.attrib;">
+
+<!ENTITY % part.element "INCLUDE">
+<![%part.element;[
+<!--doc:A division in a book.-->
+<!ELEMENT part %ho; (beginpage?,
+ partinfo?, (%bookcomponent.title.content;), partintro?,
+ (%partcontent.mix;)+)
+ %ubiq.inclusion;>
+<!--end of part.element-->]]>
+
+<!ENTITY % part.attlist "INCLUDE">
+<![%part.attlist;[
+<!ATTLIST part
+ %label.attrib;
+ %status.attrib;
+ %common.attrib;
+ %part.role.attrib;
+ %local.part.attrib;
+>
+<!--end of part.attlist-->]]>
+<!--ELEMENT PartIntro (defined below)-->
+<!--end of part.module-->]]>
+
+<!ENTITY % preface.module "INCLUDE">
+<![%preface.module;[
+<!ENTITY % local.preface.attrib "">
+<!ENTITY % preface.role.attrib "%role.attrib;">
+
+<!ENTITY % preface.element "INCLUDE">
+<![%preface.element;[
+<!--doc:Introductory matter preceding the first chapter of a book.-->
+<!ELEMENT preface %ho; (beginpage?,
+ prefaceinfo?,
+ (%bookcomponent.title.content;),
+ (%nav.class;)*,
+ tocchap?,
+ (%bookcomponent.content;),
+ (%nav.class;)*)
+ %ubiq.inclusion;>
+<!--end of preface.element-->]]>
+
+<!ENTITY % preface.attlist "INCLUDE">
+<![%preface.attlist;[
+<!ATTLIST preface
+ %status.attrib;
+ %common.attrib;
+ %preface.role.attrib;
+ %local.preface.attrib;
+>
+<!--end of preface.attlist-->]]>
+<!--end of preface.module-->]]>
+
+<!ENTITY % reference.module "INCLUDE">
+<![%reference.module;[
+<!ENTITY % local.reference.attrib "">
+<!ENTITY % reference.role.attrib "%role.attrib;">
+
+<!ENTITY % reference.element "INCLUDE">
+<![%reference.element;[
+<!--doc:A collection of reference entries.-->
+<!ELEMENT reference %ho; (beginpage?,
+ referenceinfo?,
+ (%bookcomponent.title.content;), partintro?,
+ (%refentry.class;)+)
+ %ubiq.inclusion;>
+<!--end of reference.element-->]]>
+
+<!ENTITY % reference.attlist "INCLUDE">
+<![%reference.attlist;[
+<!ATTLIST reference
+ %label.attrib;
+ %status.attrib;
+ %common.attrib;
+ %reference.role.attrib;
+ %local.reference.attrib;
+>
+<!--end of reference.attlist-->]]>
+<!--ELEMENT PartIntro (defined below)-->
+<!--end of reference.module-->]]>
+
+<!ENTITY % partintro.module "INCLUDE">
+<![%partintro.module;[
+<!ENTITY % local.partintro.attrib "">
+<!ENTITY % partintro.role.attrib "%role.attrib;">
+
+<!ENTITY % partintro.element "INCLUDE">
+<![%partintro.element;[
+<!--doc:An introduction to the contents of a part.-->
+<!ELEMENT partintro %ho; ((%div.title.content;)?, (%bookcomponent.content;))
+ %ubiq.inclusion;>
+<!--end of partintro.element-->]]>
+
+<!ENTITY % partintro.attlist "INCLUDE">
+<![%partintro.attlist;[
+<!ATTLIST partintro
+ %label.attrib;
+ %common.attrib;
+ %partintro.role.attrib;
+ %local.partintro.attrib;
+>
+<!--end of partintro.attlist-->]]>
+<!--end of partintro.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Other Info elements .................................................. -->
+
+<!ENTITY % appendixinfo.module "INCLUDE">
+<![ %appendixinfo.module; [
+<!ENTITY % local.appendixinfo.attrib "">
+<!ENTITY % appendixinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % appendixinfo.element "INCLUDE">
+<![ %appendixinfo.element; [
+<!--doc:Meta-information for an Appendix.-->
+<!ELEMENT appendixinfo %ho; ((%info.class;)+)
+ %beginpage.exclusion;>
+<!--end of appendixinfo.element-->]]>
+
+<!ENTITY % appendixinfo.attlist "INCLUDE">
+<![ %appendixinfo.attlist; [
+<!ATTLIST appendixinfo
+ %common.attrib;
+ %appendixinfo.role.attrib;
+ %local.appendixinfo.attrib;
+>
+<!--end of appendixinfo.attlist-->]]>
+<!--end of appendixinfo.module-->]]>
+
+<!ENTITY % bibliographyinfo.module "INCLUDE">
+<![ %bibliographyinfo.module; [
+<!ENTITY % local.bibliographyinfo.attrib "">
+<!ENTITY % bibliographyinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliographyinfo.element "INCLUDE">
+<![ %bibliographyinfo.element; [
+<!--doc:Meta-information for a Bibliography.-->
+<!ELEMENT bibliographyinfo %ho; ((%info.class;)+)
+ %beginpage.exclusion;>
+<!--end of bibliographyinfo.element-->]]>
+
+<!ENTITY % bibliographyinfo.attlist "INCLUDE">
+<![ %bibliographyinfo.attlist; [
+<!ATTLIST bibliographyinfo
+ %common.attrib;
+ %bibliographyinfo.role.attrib;
+ %local.bibliographyinfo.attrib;
+>
+<!--end of bibliographyinfo.attlist-->]]>
+<!--end of bibliographyinfo.module-->]]>
+
+<!ENTITY % chapterinfo.module "INCLUDE">
+<![ %chapterinfo.module; [
+<!ENTITY % local.chapterinfo.attrib "">
+<!ENTITY % chapterinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % chapterinfo.element "INCLUDE">
+<![ %chapterinfo.element; [
+<!--doc:Meta-information for a Chapter.-->
+<!ELEMENT chapterinfo %ho; ((%info.class;)+)
+ %beginpage.exclusion;>
+<!--end of chapterinfo.element-->]]>
+
+<!ENTITY % chapterinfo.attlist "INCLUDE">
+<![ %chapterinfo.attlist; [
+<!ATTLIST chapterinfo
+ %common.attrib;
+ %chapterinfo.role.attrib;
+ %local.chapterinfo.attrib;
+>
+<!--end of chapterinfo.attlist-->]]>
+<!--end of chapterinfo.module-->]]>
+
+<!ENTITY % glossaryinfo.module "INCLUDE">
+<![ %glossaryinfo.module; [
+<!ENTITY % local.glossaryinfo.attrib "">
+<!ENTITY % glossaryinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % glossaryinfo.element "INCLUDE">
+<![ %glossaryinfo.element; [
+<!--doc:Meta-information for a Glossary.-->
+<!ELEMENT glossaryinfo %ho; ((%info.class;)+)
+ %beginpage.exclusion;>
+<!--end of glossaryinfo.element-->]]>
+
+<!ENTITY % glossaryinfo.attlist "INCLUDE">
+<![ %glossaryinfo.attlist; [
+<!ATTLIST glossaryinfo
+ %common.attrib;
+ %glossaryinfo.role.attrib;
+ %local.glossaryinfo.attrib;
+>
+<!--end of glossaryinfo.attlist-->]]>
+<!--end of glossaryinfo.module-->]]>
+
+<!ENTITY % indexinfo.module "INCLUDE">
+<![ %indexinfo.module; [
+<!ENTITY % local.indexinfo.attrib "">
+<!ENTITY % indexinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % indexinfo.element "INCLUDE">
+<![ %indexinfo.element; [
+<!--doc:Meta-information for an Index.-->
+<!ELEMENT indexinfo %ho; ((%info.class;)+)>
+<!--end of indexinfo.element-->]]>
+
+<!ENTITY % indexinfo.attlist "INCLUDE">
+<![ %indexinfo.attlist; [
+<!ATTLIST indexinfo
+ %common.attrib;
+ %indexinfo.role.attrib;
+ %local.indexinfo.attrib;
+>
+<!--end of indexinfo.attlist-->]]>
+<!--end of indexinfo.module-->]]>
+
+<!ENTITY % setindexinfo.module "INCLUDE">
+<![ %setindexinfo.module; [
+<!ENTITY % local.setindexinfo.attrib "">
+<!ENTITY % setindexinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % setindexinfo.element "INCLUDE">
+<![ %setindexinfo.element; [
+<!--doc:Meta-information for a SetIndex.-->
+<!ELEMENT setindexinfo %ho; ((%info.class;)+)
+ %beginpage.exclusion;>
+<!--end of setindexinfo.element-->]]>
+
+<!ENTITY % setindexinfo.attlist "INCLUDE">
+<![ %setindexinfo.attlist; [
+<!ATTLIST setindexinfo
+ %common.attrib;
+ %setindexinfo.role.attrib;
+ %local.setindexinfo.attrib;
+>
+<!--end of setindexinfo.attlist-->]]>
+<!--end of setindexinfo.module-->]]>
+
+<!ENTITY % partinfo.module "INCLUDE">
+<![ %partinfo.module; [
+<!ENTITY % local.partinfo.attrib "">
+<!ENTITY % partinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % partinfo.element "INCLUDE">
+<![ %partinfo.element; [
+<!--doc:Meta-information for a Part.-->
+<!ELEMENT partinfo %ho; ((%info.class;)+)
+ %beginpage.exclusion;>
+<!--end of partinfo.element-->]]>
+
+<!ENTITY % partinfo.attlist "INCLUDE">
+<![ %partinfo.attlist; [
+<!ATTLIST partinfo
+ %common.attrib;
+ %partinfo.role.attrib;
+ %local.partinfo.attrib;
+>
+<!--end of partinfo.attlist-->]]>
+<!--end of partinfo.module-->]]>
+
+<!ENTITY % prefaceinfo.module "INCLUDE">
+<![ %prefaceinfo.module; [
+<!ENTITY % local.prefaceinfo.attrib "">
+<!ENTITY % prefaceinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % prefaceinfo.element "INCLUDE">
+<![ %prefaceinfo.element; [
+<!--doc:Meta-information for a Preface.-->
+<!ELEMENT prefaceinfo %ho; ((%info.class;)+)
+ %beginpage.exclusion;>
+<!--end of prefaceinfo.element-->]]>
+
+<!ENTITY % prefaceinfo.attlist "INCLUDE">
+<![ %prefaceinfo.attlist; [
+<!ATTLIST prefaceinfo
+ %common.attrib;
+ %prefaceinfo.role.attrib;
+ %local.prefaceinfo.attrib;
+>
+<!--end of prefaceinfo.attlist-->]]>
+<!--end of prefaceinfo.module-->]]>
+
+<!ENTITY % refentryinfo.module "INCLUDE">
+<![ %refentryinfo.module; [
+<!ENTITY % local.refentryinfo.attrib "">
+<!ENTITY % refentryinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % refentryinfo.element "INCLUDE">
+<![ %refentryinfo.element; [
+<!--doc:Meta-information for a Refentry.-->
+<!ELEMENT refentryinfo %ho; ((%info.class;)+)
+ %beginpage.exclusion;>
+<!--end of refentryinfo.element-->]]>
+
+<!ENTITY % refentryinfo.attlist "INCLUDE">
+<![ %refentryinfo.attlist; [
+<!ATTLIST refentryinfo
+ %common.attrib;
+ %refentryinfo.role.attrib;
+ %local.refentryinfo.attrib;
+>
+<!--end of refentryinfo.attlist-->]]>
+<!--end of refentryinfo.module-->]]>
+
+<!ENTITY % refsectioninfo.module "INCLUDE">
+<![ %refsectioninfo.module; [
+<!ENTITY % local.refsectioninfo.attrib "">
+<!ENTITY % refsectioninfo.role.attrib "%role.attrib;">
+
+<!ENTITY % refsectioninfo.element "INCLUDE">
+<![ %refsectioninfo.element; [
+<!--doc:Meta-information for a refsection.-->
+<!ELEMENT refsectioninfo %ho; ((%info.class;)+)
+ %beginpage.exclusion;>
+<!--end of refsectioninfo.element-->]]>
+
+<!ENTITY % refsectioninfo.attlist "INCLUDE">
+<![ %refsectioninfo.attlist; [
+<!ATTLIST refsectioninfo
+ %common.attrib;
+ %refsectioninfo.role.attrib;
+ %local.refsectioninfo.attrib;
+>
+<!--end of refsectioninfo.attlist-->]]>
+<!--end of refsectioninfo.module-->]]>
+
+<!ENTITY % refsect1info.module "INCLUDE">
+<![ %refsect1info.module; [
+<!ENTITY % local.refsect1info.attrib "">
+<!ENTITY % refsect1info.role.attrib "%role.attrib;">
+
+<!ENTITY % refsect1info.element "INCLUDE">
+<![ %refsect1info.element; [
+<!--doc:Meta-information for a RefSect1.-->
+<!ELEMENT refsect1info %ho; ((%info.class;)+)
+ %beginpage.exclusion;>
+<!--end of refsect1info.element-->]]>
+
+<!ENTITY % refsect1info.attlist "INCLUDE">
+<![ %refsect1info.attlist; [
+<!ATTLIST refsect1info
+ %common.attrib;
+ %refsect1info.role.attrib;
+ %local.refsect1info.attrib;
+>
+<!--end of refsect1info.attlist-->]]>
+<!--end of refsect1info.module-->]]>
+
+<!ENTITY % refsect2info.module "INCLUDE">
+<![ %refsect2info.module; [
+<!ENTITY % local.refsect2info.attrib "">
+<!ENTITY % refsect2info.role.attrib "%role.attrib;">
+
+<!ENTITY % refsect2info.element "INCLUDE">
+<![ %refsect2info.element; [
+<!--doc:Meta-information for a RefSect2.-->
+<!ELEMENT refsect2info %ho; ((%info.class;)+)
+ %beginpage.exclusion;>
+<!--end of refsect2info.element-->]]>
+
+<!ENTITY % refsect2info.attlist "INCLUDE">
+<![ %refsect2info.attlist; [
+<!ATTLIST refsect2info
+ %common.attrib;
+ %refsect2info.role.attrib;
+ %local.refsect2info.attrib;
+>
+<!--end of refsect2info.attlist-->]]>
+<!--end of refsect2info.module-->]]>
+
+<!ENTITY % refsect3info.module "INCLUDE">
+<![ %refsect3info.module; [
+<!ENTITY % local.refsect3info.attrib "">
+<!ENTITY % refsect3info.role.attrib "%role.attrib;">
+
+<!ENTITY % refsect3info.element "INCLUDE">
+<![ %refsect3info.element; [
+<!--doc:Meta-information for a RefSect3.-->
+<!ELEMENT refsect3info %ho; ((%info.class;)+)
+ %beginpage.exclusion;>
+<!--end of refsect3info.element-->]]>
+
+<!ENTITY % refsect3info.attlist "INCLUDE">
+<![ %refsect3info.attlist; [
+<!ATTLIST refsect3info
+ %common.attrib;
+ %refsect3info.role.attrib;
+ %local.refsect3info.attrib;
+>
+<!--end of refsect3info.attlist-->]]>
+<!--end of refsect3info.module-->]]>
+
+<!ENTITY % refsynopsisdivinfo.module "INCLUDE">
+<![ %refsynopsisdivinfo.module; [
+<!ENTITY % local.refsynopsisdivinfo.attrib "">
+<!ENTITY % refsynopsisdivinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % refsynopsisdivinfo.element "INCLUDE">
+<![ %refsynopsisdivinfo.element; [
+<!--doc:Meta-information for a RefSynopsisDiv.-->
+<!ELEMENT refsynopsisdivinfo %ho; ((%info.class;)+)
+ %beginpage.exclusion;>
+<!--end of refsynopsisdivinfo.element-->]]>
+
+<!ENTITY % refsynopsisdivinfo.attlist "INCLUDE">
+<![ %refsynopsisdivinfo.attlist; [
+<!ATTLIST refsynopsisdivinfo
+ %common.attrib;
+ %refsynopsisdivinfo.role.attrib;
+ %local.refsynopsisdivinfo.attrib;
+>
+<!--end of refsynopsisdivinfo.attlist-->]]>
+<!--end of refsynopsisdivinfo.module-->]]>
+
+<!ENTITY % referenceinfo.module "INCLUDE">
+<![ %referenceinfo.module; [
+<!ENTITY % local.referenceinfo.attrib "">
+<!ENTITY % referenceinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % referenceinfo.element "INCLUDE">
+<![ %referenceinfo.element; [
+<!--doc:Meta-information for a Reference.-->
+<!ELEMENT referenceinfo %ho; ((%info.class;)+)
+ %beginpage.exclusion;>
+<!--end of referenceinfo.element-->]]>
+
+<!ENTITY % referenceinfo.attlist "INCLUDE">
+<![ %referenceinfo.attlist; [
+<!ATTLIST referenceinfo
+ %common.attrib;
+ %referenceinfo.role.attrib;
+ %local.referenceinfo.attrib;
+>
+<!--end of referenceinfo.attlist-->]]>
+<!--end of referenceinfo.module-->]]>
+
+<!ENTITY % local.sect1info.attrib "">
+<!ENTITY % sect1info.role.attrib "%role.attrib;">
+
+<!ENTITY % sect1info.element "INCLUDE">
+<![%sect1info.element;[
+<!--doc:Meta-information for a Sect1.-->
+<!ELEMENT sect1info %ho; ((%info.class;)+)
+ %beginpage.exclusion;>
+<!--end of sect1info.element-->]]>
+
+<!ENTITY % sect1info.attlist "INCLUDE">
+<![%sect1info.attlist;[
+<!ATTLIST sect1info
+ %common.attrib;
+ %sect1info.role.attrib;
+ %local.sect1info.attrib;
+>
+<!--end of sect1info.attlist-->]]>
+
+<!ENTITY % local.sect2info.attrib "">
+<!ENTITY % sect2info.role.attrib "%role.attrib;">
+
+<!ENTITY % sect2info.element "INCLUDE">
+<![%sect2info.element;[
+<!--doc:Meta-information for a Sect2.-->
+<!ELEMENT sect2info %ho; ((%info.class;)+)
+ %beginpage.exclusion;>
+<!--end of sect2info.element-->]]>
+
+<!ENTITY % sect2info.attlist "INCLUDE">
+<![%sect2info.attlist;[
+<!ATTLIST sect2info
+ %common.attrib;
+ %sect2info.role.attrib;
+ %local.sect2info.attrib;
+>
+<!--end of sect2info.attlist-->]]>
+
+<!ENTITY % local.sect3info.attrib "">
+<!ENTITY % sect3info.role.attrib "%role.attrib;">
+
+<!ENTITY % sect3info.element "INCLUDE">
+<![%sect3info.element;[
+<!--doc:Meta-information for a Sect3.-->
+<!ELEMENT sect3info %ho; ((%info.class;)+)
+ %beginpage.exclusion;>
+<!--end of sect3info.element-->]]>
+
+<!ENTITY % sect3info.attlist "INCLUDE">
+<![%sect3info.attlist;[
+<!ATTLIST sect3info
+ %common.attrib;
+ %sect3info.role.attrib;
+ %local.sect3info.attrib;
+>
+<!--end of sect3info.attlist-->]]>
+
+<!ENTITY % local.sect4info.attrib "">
+<!ENTITY % sect4info.role.attrib "%role.attrib;">
+
+<!ENTITY % sect4info.element "INCLUDE">
+<![%sect4info.element;[
+<!--doc:Meta-information for a Sect4.-->
+<!ELEMENT sect4info %ho; ((%info.class;)+)
+ %beginpage.exclusion;>
+<!--end of sect4info.element-->]]>
+
+<!ENTITY % sect4info.attlist "INCLUDE">
+<![%sect4info.attlist;[
+<!ATTLIST sect4info
+ %common.attrib;
+ %sect4info.role.attrib;
+ %local.sect4info.attrib;
+>
+<!--end of sect4info.attlist-->]]>
+
+<!ENTITY % local.sect5info.attrib "">
+<!ENTITY % sect5info.role.attrib "%role.attrib;">
+
+<!ENTITY % sect5info.element "INCLUDE">
+<![%sect5info.element;[
+<!--doc:Meta-information for a Sect5.-->
+<!ELEMENT sect5info %ho; ((%info.class;)+)
+ %beginpage.exclusion;>
+<!--end of sect5info.element-->]]>
+
+<!ENTITY % sect5info.attlist "INCLUDE">
+<![%sect5info.attlist;[
+<!ATTLIST sect5info
+ %common.attrib;
+ %sect5info.role.attrib;
+ %local.sect5info.attrib;
+>
+<!--end of sect5info.attlist-->]]>
+
+<!-- ...................................................................... -->
+<!-- Section (parallel to Sect*) ......................................... -->
+
+<!ENTITY % section.content.module "INCLUDE">
+<![ %section.content.module; [
+<!ENTITY % section.module "INCLUDE">
+<![ %section.module; [
+<!ENTITY % local.section.attrib "">
+<!ENTITY % section.role.attrib "%role.attrib;">
+
+<!ENTITY % section.element "INCLUDE">
+<![ %section.element; [
+<!--doc:A recursive section.-->
+<!ELEMENT section %ho; (sectioninfo?,
+ (%sect.title.content;),
+ (%nav.class;)*,
+ (((%divcomponent.mix;)+,
+ ((%refentry.class;)*|(%section.class;)*|simplesect*))
+ | (%refentry.class;)+|(%section.class;)+|simplesect+),
+ (%nav.class;)*)
+ %ubiq.inclusion;>
+<!--end of section.element-->]]>
+
+<!ENTITY % section.attlist "INCLUDE">
+<![ %section.attlist; [
+<!ATTLIST section
+ %label.attrib;
+ %status.attrib;
+ %common.attrib;
+ %section.role.attrib;
+ %local.section.attrib;
+>
+<!--end of section.attlist-->]]>
+<!--end of section.module-->]]>
+
+<!ENTITY % sectioninfo.module "INCLUDE">
+<![ %sectioninfo.module; [
+<!ENTITY % sectioninfo.role.attrib "%role.attrib;">
+<!ENTITY % local.sectioninfo.attrib "">
+
+<!ENTITY % sectioninfo.element "INCLUDE">
+<![ %sectioninfo.element; [
+<!--doc:Meta-information for a recursive section.-->
+<!ELEMENT sectioninfo %ho; ((%info.class;)+)
+ %beginpage.exclusion;>
+<!--end of sectioninfo.element-->]]>
+
+<!ENTITY % sectioninfo.attlist "INCLUDE">
+<![ %sectioninfo.attlist; [
+<!ATTLIST sectioninfo
+ %common.attrib;
+ %sectioninfo.role.attrib;
+ %local.sectioninfo.attrib;
+>
+<!--end of sectioninfo.attlist-->]]>
+<!--end of sectioninfo.module-->]]>
+<!--end of section.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Sect1, Sect2, Sect3, Sect4, Sect5 .................................... -->
+
+<!ENTITY % sect1.module "INCLUDE">
+<![%sect1.module;[
+<!ENTITY % local.sect1.attrib "">
+<!ENTITY % sect1.role.attrib "%role.attrib;">
+
+<!ENTITY % sect1.element "INCLUDE">
+<![%sect1.element;[
+<!--doc:A top-level section of document.-->
+<!ELEMENT sect1 %ho; (sect1info?, (%sect.title.content;), (%nav.class;)*,
+ (((%divcomponent.mix;)+,
+ ((%refentry.class;)* | sect2* | simplesect*))
+ | (%refentry.class;)+ | sect2+ | simplesect+), (%nav.class;)*)
+ %ubiq.inclusion;>
+<!--end of sect1.element-->]]>
+
+<!-- Renderas: Indicates the format in which the heading should
+ appear -->
+
+
+<!ENTITY % sect1.attlist "INCLUDE">
+<![%sect1.attlist;[
+<!ATTLIST sect1
+ renderas (sect2
+ |sect3
+ |sect4
+ |sect5) #IMPLIED
+ %label.attrib;
+ %status.attrib;
+ %common.attrib;
+ %sect1.role.attrib;
+ %local.sect1.attrib;
+>
+<!--end of sect1.attlist-->]]>
+<!--end of sect1.module-->]]>
+
+<!ENTITY % sect2.module "INCLUDE">
+<![%sect2.module;[
+<!ENTITY % local.sect2.attrib "">
+<!ENTITY % sect2.role.attrib "%role.attrib;">
+
+<!ENTITY % sect2.element "INCLUDE">
+<![%sect2.element;[
+<!--doc:A subsection within a Sect1.-->
+<!ELEMENT sect2 %ho; (sect2info?, (%sect.title.content;), (%nav.class;)*,
+ (((%divcomponent.mix;)+,
+ ((%refentry.class;)* | sect3* | simplesect*))
+ | (%refentry.class;)+ | sect3+ | simplesect+), (%nav.class;)*)>
+<!--end of sect2.element-->]]>
+
+<!-- Renderas: Indicates the format in which the heading should
+ appear -->
+
+
+<!ENTITY % sect2.attlist "INCLUDE">
+<![%sect2.attlist;[
+<!ATTLIST sect2
+ renderas (sect1
+ |sect3
+ |sect4
+ |sect5) #IMPLIED
+ %label.attrib;
+ %status.attrib;
+ %common.attrib;
+ %sect2.role.attrib;
+ %local.sect2.attrib;
+>
+<!--end of sect2.attlist-->]]>
+<!--end of sect2.module-->]]>
+
+<!ENTITY % sect3.module "INCLUDE">
+<![%sect3.module;[
+<!ENTITY % local.sect3.attrib "">
+<!ENTITY % sect3.role.attrib "%role.attrib;">
+
+<!ENTITY % sect3.element "INCLUDE">
+<![%sect3.element;[
+<!--doc:A subsection within a Sect2.-->
+<!ELEMENT sect3 %ho; (sect3info?, (%sect.title.content;), (%nav.class;)*,
+ (((%divcomponent.mix;)+,
+ ((%refentry.class;)* | sect4* | simplesect*))
+ | (%refentry.class;)+ | sect4+ | simplesect+), (%nav.class;)*)>
+<!--end of sect3.element-->]]>
+
+<!-- Renderas: Indicates the format in which the heading should
+ appear -->
+
+
+<!ENTITY % sect3.attlist "INCLUDE">
+<![%sect3.attlist;[
+<!ATTLIST sect3
+ renderas (sect1
+ |sect2
+ |sect4
+ |sect5) #IMPLIED
+ %label.attrib;
+ %status.attrib;
+ %common.attrib;
+ %sect3.role.attrib;
+ %local.sect3.attrib;
+>
+<!--end of sect3.attlist-->]]>
+<!--end of sect3.module-->]]>
+
+<!ENTITY % sect4.module "INCLUDE">
+<![%sect4.module;[
+<!ENTITY % local.sect4.attrib "">
+<!ENTITY % sect4.role.attrib "%role.attrib;">
+
+<!ENTITY % sect4.element "INCLUDE">
+<![%sect4.element;[
+<!--doc:A subsection within a Sect3.-->
+<!ELEMENT sect4 %ho; (sect4info?, (%sect.title.content;), (%nav.class;)*,
+ (((%divcomponent.mix;)+,
+ ((%refentry.class;)* | sect5* | simplesect*))
+ | (%refentry.class;)+ | sect5+ | simplesect+), (%nav.class;)*)>
+<!--end of sect4.element-->]]>
+
+<!-- Renderas: Indicates the format in which the heading should
+ appear -->
+
+
+<!ENTITY % sect4.attlist "INCLUDE">
+<![%sect4.attlist;[
+<!ATTLIST sect4
+ renderas (sect1
+ |sect2
+ |sect3
+ |sect5) #IMPLIED
+ %label.attrib;
+ %status.attrib;
+ %common.attrib;
+ %sect4.role.attrib;
+ %local.sect4.attrib;
+>
+<!--end of sect4.attlist-->]]>
+<!--end of sect4.module-->]]>
+
+<!ENTITY % sect5.module "INCLUDE">
+<![%sect5.module;[
+<!ENTITY % local.sect5.attrib "">
+<!ENTITY % sect5.role.attrib "%role.attrib;">
+
+<!ENTITY % sect5.element "INCLUDE">
+<![%sect5.element;[
+<!--doc:A subsection within a Sect4.-->
+<!ELEMENT sect5 %ho; (sect5info?, (%sect.title.content;), (%nav.class;)*,
+ (((%divcomponent.mix;)+, ((%refentry.class;)* | simplesect*))
+ | (%refentry.class;)+ | simplesect+), (%nav.class;)*)>
+<!--end of sect5.element-->]]>
+
+<!-- Renderas: Indicates the format in which the heading should
+ appear -->
+
+
+<!ENTITY % sect5.attlist "INCLUDE">
+<![%sect5.attlist;[
+<!ATTLIST sect5
+ renderas (sect1
+ |sect2
+ |sect3
+ |sect4) #IMPLIED
+ %label.attrib;
+ %status.attrib;
+ %common.attrib;
+ %sect5.role.attrib;
+ %local.sect5.attrib;
+>
+<!--end of sect5.attlist-->]]>
+<!--end of sect5.module-->]]>
+
+<!ENTITY % simplesect.module "INCLUDE">
+<![%simplesect.module;[
+<!ENTITY % local.simplesect.attrib "">
+<!ENTITY % simplesect.role.attrib "%role.attrib;">
+
+<!ENTITY % simplesect.element "INCLUDE">
+<![%simplesect.element;[
+<!--doc:A section of a document with no subdivisions.-->
+<!ELEMENT simplesect %ho; ((%sect.title.content;), (%divcomponent.mix;)+)
+ %ubiq.inclusion;>
+<!--end of simplesect.element-->]]>
+
+<!ENTITY % simplesect.attlist "INCLUDE">
+<![%simplesect.attlist;[
+<!ATTLIST simplesect
+ %common.attrib;
+ %simplesect.role.attrib;
+ %local.simplesect.attrib;
+>
+<!--end of simplesect.attlist-->]]>
+<!--end of simplesect.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Bibliography ......................................................... -->
+
+<!ENTITY % bibliography.content.module "INCLUDE">
+<![%bibliography.content.module;[
+<!ENTITY % bibliography.module "INCLUDE">
+<![%bibliography.module;[
+<!ENTITY % local.bibliography.attrib "">
+<!ENTITY % bibliography.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliography.element "INCLUDE">
+<![%bibliography.element;[
+<!--doc:A bibliography.-->
+<!ELEMENT bibliography %ho; (bibliographyinfo?,
+ (%bookcomponent.title.content;)?,
+ (%component.mix;)*,
+ (bibliodiv+ | (biblioentry|bibliomixed)+))>
+<!--end of bibliography.element-->]]>
+
+<!ENTITY % bibliography.attlist "INCLUDE">
+<![%bibliography.attlist;[
+<!ATTLIST bibliography
+ %status.attrib;
+ %common.attrib;
+ %bibliography.role.attrib;
+ %local.bibliography.attrib;
+>
+<!--end of bibliography.attlist-->]]>
+<!--end of bibliography.module-->]]>
+
+<!ENTITY % bibliodiv.module "INCLUDE">
+<![%bibliodiv.module;[
+<!ENTITY % local.bibliodiv.attrib "">
+<!ENTITY % bibliodiv.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliodiv.element "INCLUDE">
+<![%bibliodiv.element;[
+<!--doc:A section of a Bibliography.-->
+<!ELEMENT bibliodiv %ho; ((%sect.title.content;)?, (%component.mix;)*,
+ (biblioentry|bibliomixed)+)>
+<!--end of bibliodiv.element-->]]>
+
+<!ENTITY % bibliodiv.attlist "INCLUDE">
+<![%bibliodiv.attlist;[
+<!ATTLIST bibliodiv
+ %status.attrib;
+ %common.attrib;
+ %bibliodiv.role.attrib;
+ %local.bibliodiv.attrib;
+>
+<!--end of bibliodiv.attlist-->]]>
+<!--end of bibliodiv.module-->]]>
+<!--end of bibliography.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Glossary ............................................................. -->
+
+<!ENTITY % glossary.content.module "INCLUDE">
+<![%glossary.content.module;[
+<!ENTITY % glossary.module "INCLUDE">
+<![%glossary.module;[
+<!ENTITY % local.glossary.attrib "">
+<!ENTITY % glossary.role.attrib "%role.attrib;">
+
+<!ENTITY % glossary.element "INCLUDE">
+<![%glossary.element;[
+<!--doc:A glossary.-->
+<!ELEMENT glossary %ho; (glossaryinfo?,
+ (%bookcomponent.title.content;)?,
+ (%component.mix;)*,
+ (glossdiv+ | glossentry+), bibliography?)>
+<!--end of glossary.element-->]]>
+
+<!ENTITY % glossary.attlist "INCLUDE">
+<![%glossary.attlist;[
+<!ATTLIST glossary
+ %status.attrib;
+ %common.attrib;
+ %glossary.role.attrib;
+ %local.glossary.attrib;
+>
+<!--end of glossary.attlist-->]]>
+<!--end of glossary.module-->]]>
+
+<!ENTITY % glossdiv.module "INCLUDE">
+<![%glossdiv.module;[
+<!ENTITY % local.glossdiv.attrib "">
+<!ENTITY % glossdiv.role.attrib "%role.attrib;">
+
+<!ENTITY % glossdiv.element "INCLUDE">
+<![%glossdiv.element;[
+<!--doc:A division in a Glossary.-->
+<!ELEMENT glossdiv %ho; ((%sect.title.content;), (%component.mix;)*,
+ glossentry+)>
+<!--end of glossdiv.element-->]]>
+
+<!ENTITY % glossdiv.attlist "INCLUDE">
+<![%glossdiv.attlist;[
+<!ATTLIST glossdiv
+ %status.attrib;
+ %common.attrib;
+ %glossdiv.role.attrib;
+ %local.glossdiv.attrib;
+>
+<!--end of glossdiv.attlist-->]]>
+<!--end of glossdiv.module-->]]>
+<!--end of glossary.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Index and SetIndex ................................................... -->
+
+<!ENTITY % index.content.module "INCLUDE">
+<![%index.content.module;[
+<!ENTITY % indexes.module "INCLUDE">
+<![%indexes.module;[
+<!ENTITY % local.indexes.attrib "">
+<!ENTITY % indexes.role.attrib "%role.attrib;">
+
+<!ENTITY % index.element "INCLUDE">
+<![%index.element;[
+<!--doc:An index.-->
+<!ELEMENT index %ho; (indexinfo?,
+ (%bookcomponent.title.content;)?,
+ (%component.mix;)*,
+ (indexdiv* | indexentry*))
+ %ndxterm.exclusion;>
+<!--end of index.element-->]]>
+
+<!ENTITY % index.attlist "INCLUDE">
+<![%index.attlist;[
+<!ATTLIST index
+ type CDATA #IMPLIED
+ %common.attrib;
+ %indexes.role.attrib;
+ %local.indexes.attrib;
+>
+<!--end of index.attlist-->]]>
+
+<!ENTITY % setindex.element "INCLUDE">
+<![%setindex.element;[
+<!--doc:An index to a set of books.-->
+<!ELEMENT setindex %ho; (setindexinfo?,
+ (%bookcomponent.title.content;)?,
+ (%component.mix;)*,
+ (indexdiv* | indexentry*))
+ %ndxterm.exclusion;>
+<!--end of setindex.element-->]]>
+
+<!ENTITY % setindex.attlist "INCLUDE">
+<![%setindex.attlist;[
+<!ATTLIST setindex
+ %common.attrib;
+ %indexes.role.attrib;
+ %local.indexes.attrib;
+>
+<!--end of setindex.attlist-->]]>
+<!--end of indexes.module-->]]>
+
+<!ENTITY % indexdiv.module "INCLUDE">
+<![%indexdiv.module;[
+
+<!-- SegmentedList in this content is useful for marking up permuted
+ indices. -->
+
+<!ENTITY % local.indexdiv.attrib "">
+<!ENTITY % indexdiv.role.attrib "%role.attrib;">
+
+<!ENTITY % indexdiv.element "INCLUDE">
+<![%indexdiv.element;[
+<!--doc:A division in an index.-->
+<!ELEMENT indexdiv %ho; ((%sect.title.content;)?, ((%indexdivcomponent.mix;)*,
+ (indexentry+ | segmentedlist)))>
+<!--end of indexdiv.element-->]]>
+
+<!ENTITY % indexdiv.attlist "INCLUDE">
+<![%indexdiv.attlist;[
+<!ATTLIST indexdiv
+ %common.attrib;
+ %indexdiv.role.attrib;
+ %local.indexdiv.attrib;
+>
+<!--end of indexdiv.attlist-->]]>
+<!--end of indexdiv.module-->]]>
+
+<!ENTITY % indexentry.module "INCLUDE">
+<![%indexentry.module;[
+<!-- Index entries appear in the index, not the text. -->
+
+<!ENTITY % local.indexentry.attrib "">
+<!ENTITY % indexentry.role.attrib "%role.attrib;">
+
+<!ENTITY % indexentry.element "INCLUDE">
+<![%indexentry.element;[
+<!--doc:An entry in an index.-->
+<!ELEMENT indexentry %ho; (primaryie, (seeie|seealsoie)*,
+ (secondaryie, (seeie|seealsoie|tertiaryie)*)*)>
+<!--end of indexentry.element-->]]>
+
+<!ENTITY % indexentry.attlist "INCLUDE">
+<![%indexentry.attlist;[
+<!ATTLIST indexentry
+ %common.attrib;
+ %indexentry.role.attrib;
+ %local.indexentry.attrib;
+>
+<!--end of indexentry.attlist-->]]>
+<!--end of indexentry.module-->]]>
+
+<!ENTITY % primsecterie.module "INCLUDE">
+<![%primsecterie.module;[
+<!ENTITY % local.primsecterie.attrib "">
+<!ENTITY % primsecterie.role.attrib "%role.attrib;">
+
+<!ENTITY % primaryie.element "INCLUDE">
+<![%primaryie.element;[
+<!--doc:A primary term in an index entry, not in the text.-->
+<!ELEMENT primaryie %ho; (%ndxterm.char.mix;)*>
+<!--end of primaryie.element-->]]>
+
+<!-- to IndexTerms that these entries represent -->
+
+<!ENTITY % primaryie.attlist "INCLUDE">
+<![%primaryie.attlist;[
+<!ATTLIST primaryie
+ %linkends.attrib; %common.attrib;
+ %primsecterie.role.attrib;
+ %local.primsecterie.attrib;
+>
+<!--end of primaryie.attlist-->]]>
+
+<!ENTITY % secondaryie.element "INCLUDE">
+<![%secondaryie.element;[
+<!--doc:A secondary term in an index entry, rather than in the text.-->
+<!ELEMENT secondaryie %ho; (%ndxterm.char.mix;)*>
+<!--end of secondaryie.element-->]]>
+
+<!-- to IndexTerms that these entries represent -->
+
+<!ENTITY % secondaryie.attlist "INCLUDE">
+<![%secondaryie.attlist;[
+<!ATTLIST secondaryie
+ %linkends.attrib; %common.attrib;
+ %primsecterie.role.attrib;
+ %local.primsecterie.attrib;
+>
+<!--end of secondaryie.attlist-->]]>
+
+<!ENTITY % tertiaryie.element "INCLUDE">
+<![%tertiaryie.element;[
+<!--doc:A tertiary term in an index entry, rather than in the text.-->
+<!ELEMENT tertiaryie %ho; (%ndxterm.char.mix;)*>
+<!--end of tertiaryie.element-->]]>
+
+<!-- to IndexTerms that these entries represent -->
+
+<!ENTITY % tertiaryie.attlist "INCLUDE">
+<![%tertiaryie.attlist;[
+<!ATTLIST tertiaryie
+ %linkends.attrib; %common.attrib;
+ %primsecterie.role.attrib;
+ %local.primsecterie.attrib;
+>
+<!--end of tertiaryie.attlist-->]]>
+
+<!--end of primsecterie.module-->]]>
+
+<!ENTITY % seeie.module "INCLUDE">
+<![%seeie.module;[
+<!ENTITY % local.seeie.attrib "">
+<!ENTITY % seeie.role.attrib "%role.attrib;">
+
+<!ENTITY % seeie.element "INCLUDE">
+<![%seeie.element;[
+<!--doc:A See entry in an index, rather than in the text.-->
+<!ELEMENT seeie %ho; (%ndxterm.char.mix;)*>
+<!--end of seeie.element-->]]>
+
+<!-- to IndexEntry to look up -->
+
+
+<!ENTITY % seeie.attlist "INCLUDE">
+<![%seeie.attlist;[
+<!ATTLIST seeie
+ %linkend.attrib; %common.attrib;
+ %seeie.role.attrib;
+ %local.seeie.attrib;
+>
+<!--end of seeie.attlist-->]]>
+<!--end of seeie.module-->]]>
+
+<!ENTITY % seealsoie.module "INCLUDE">
+<![%seealsoie.module;[
+<!ENTITY % local.seealsoie.attrib "">
+<!ENTITY % seealsoie.role.attrib "%role.attrib;">
+
+<!ENTITY % seealsoie.element "INCLUDE">
+<![%seealsoie.element;[
+<!--doc:A See also entry in an index, rather than in the text.-->
+<!ELEMENT seealsoie %ho; (%ndxterm.char.mix;)*>
+<!--end of seealsoie.element-->]]>
+
+<!-- to related IndexEntries -->
+
+
+<!ENTITY % seealsoie.attlist "INCLUDE">
+<![%seealsoie.attlist;[
+<!ATTLIST seealsoie
+ %linkends.attrib; %common.attrib;
+ %seealsoie.role.attrib;
+ %local.seealsoie.attrib;
+>
+<!--end of seealsoie.attlist-->]]>
+<!--end of seealsoie.module-->]]>
+<!--end of index.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- RefEntry ............................................................. -->
+
+<!ENTITY % refentry.content.module "INCLUDE">
+<![%refentry.content.module;[
+<!ENTITY % refentry.module "INCLUDE">
+<![%refentry.module;[
+<!ENTITY % local.refentry.attrib "">
+<!ENTITY % refentry.role.attrib "%role.attrib;">
+
+<!ENTITY % refentry.element "INCLUDE">
+<![%refentry.element;[
+<!--doc:A reference page (originally a UNIX man-style reference page).-->
+<!ELEMENT refentry %ho; (beginpage?,
+ (%ndxterm.class;)*,
+ refentryinfo?, refmeta?, (remark|%link.char.class;)*,
+ refnamediv+, refsynopsisdiv?, (refsect1+|refsection+))
+ %ubiq.inclusion;>
+<!--end of refentry.element-->]]>
+
+<!ENTITY % refentry.attlist "INCLUDE">
+<![%refentry.attlist;[
+<!ATTLIST refentry
+ %status.attrib;
+ %common.attrib;
+ %refentry.role.attrib;
+ %local.refentry.attrib;
+>
+<!--end of refentry.attlist-->]]>
+<!--end of refentry.module-->]]>
+
+<!ENTITY % refmeta.module "INCLUDE">
+<![%refmeta.module;[
+<!ENTITY % local.refmeta.attrib "">
+<!ENTITY % refmeta.role.attrib "%role.attrib;">
+
+<!ENTITY % refmeta.element "INCLUDE">
+<![%refmeta.element;[
+<!--doc:Meta-information for a reference entry.-->
+<!ELEMENT refmeta %ho; ((%ndxterm.class;)*,
+ refentrytitle, manvolnum?, refmiscinfo*,
+ (%ndxterm.class;)*)
+ %beginpage.exclusion;>
+<!--end of refmeta.element-->]]>
+
+<!ENTITY % refmeta.attlist "INCLUDE">
+<![%refmeta.attlist;[
+<!ATTLIST refmeta
+ %common.attrib;
+ %refmeta.role.attrib;
+ %local.refmeta.attrib;
+>
+<!--end of refmeta.attlist-->]]>
+<!--end of refmeta.module-->]]>
+
+<!ENTITY % refmiscinfo.module "INCLUDE">
+<![%refmiscinfo.module;[
+<!ENTITY % local.refmiscinfo.attrib "">
+<!ENTITY % refmiscinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % refmiscinfo.element "INCLUDE">
+<![%refmiscinfo.element;[
+<!--doc:Meta-information for a reference entry other than the title and volume number.-->
+<!ELEMENT refmiscinfo %ho; (%docinfo.char.mix;)*>
+<!--end of refmiscinfo.element-->]]>
+
+<!-- Class: Freely assignable parameter; no default -->
+
+
+<!ENTITY % refmiscinfo.attlist "INCLUDE">
+<![%refmiscinfo.attlist;[
+<!ATTLIST refmiscinfo
+ class CDATA #IMPLIED
+ %common.attrib;
+ %refmiscinfo.role.attrib;
+ %local.refmiscinfo.attrib;
+>
+<!--end of refmiscinfo.attlist-->]]>
+<!--end of refmiscinfo.module-->]]>
+
+<!ENTITY % refnamediv.module "INCLUDE">
+<![%refnamediv.module;[
+<!ENTITY % local.refnamediv.attrib "">
+<!ENTITY % refnamediv.role.attrib "%role.attrib;">
+
+<!ENTITY % refnamediv.element "INCLUDE">
+<![%refnamediv.element;[
+<!--doc:The name, purpose, and classification of a reference page.-->
+<!ELEMENT refnamediv %ho; (refdescriptor?, refname+, refpurpose, refclass*,
+ (remark|%link.char.class;)*)>
+<!--end of refnamediv.element-->]]>
+
+<!ENTITY % refnamediv.attlist "INCLUDE">
+<![%refnamediv.attlist;[
+<!ATTLIST refnamediv
+ %common.attrib;
+ %refnamediv.role.attrib;
+ %local.refnamediv.attrib;
+>
+<!--end of refnamediv.attlist-->]]>
+<!--end of refnamediv.module-->]]>
+
+<!ENTITY % refdescriptor.module "INCLUDE">
+<![%refdescriptor.module;[
+<!ENTITY % local.refdescriptor.attrib "">
+<!ENTITY % refdescriptor.role.attrib "%role.attrib;">
+
+<!ENTITY % refdescriptor.element "INCLUDE">
+<![%refdescriptor.element;[
+<!--doc:A description of the topic of a reference page.-->
+<!ELEMENT refdescriptor %ho; (%refname.char.mix;)*>
+<!--end of refdescriptor.element-->]]>
+
+<!ENTITY % refdescriptor.attlist "INCLUDE">
+<![%refdescriptor.attlist;[
+<!ATTLIST refdescriptor
+ %common.attrib;
+ %refdescriptor.role.attrib;
+ %local.refdescriptor.attrib;
+>
+<!--end of refdescriptor.attlist-->]]>
+<!--end of refdescriptor.module-->]]>
+
+<!ENTITY % refname.module "INCLUDE">
+<![%refname.module;[
+<!ENTITY % local.refname.attrib "">
+<!ENTITY % refname.role.attrib "%role.attrib;">
+
+<!ENTITY % refname.element "INCLUDE">
+<![%refname.element;[
+<!--doc:The name of (one of) the subject(s) of a reference page.-->
+<!ELEMENT refname %ho; (%refname.char.mix;)*>
+<!--end of refname.element-->]]>
+
+<!ENTITY % refname.attlist "INCLUDE">
+<![%refname.attlist;[
+<!ATTLIST refname
+ %common.attrib;
+ %refname.role.attrib;
+ %local.refname.attrib;
+>
+<!--end of refname.attlist-->]]>
+<!--end of refname.module-->]]>
+
+<!ENTITY % refpurpose.module "INCLUDE">
+<![%refpurpose.module;[
+<!ENTITY % local.refpurpose.attrib "">
+<!ENTITY % refpurpose.role.attrib "%role.attrib;">
+
+<!ENTITY % refpurpose.element "INCLUDE">
+<![%refpurpose.element;[
+<!--doc:A short (one sentence) synopsis of the topic of a reference page.-->
+<!ELEMENT refpurpose %ho; (%refinline.char.mix;)*>
+<!--end of refpurpose.element-->]]>
+
+<!ENTITY % refpurpose.attlist "INCLUDE">
+<![%refpurpose.attlist;[
+<!ATTLIST refpurpose
+ %common.attrib;
+ %refpurpose.role.attrib;
+ %local.refpurpose.attrib;
+>
+<!--end of refpurpose.attlist-->]]>
+<!--end of refpurpose.module-->]]>
+
+<!ENTITY % refclass.module "INCLUDE">
+<![%refclass.module;[
+<!ENTITY % local.refclass.attrib "">
+<!ENTITY % refclass.role.attrib "%role.attrib;">
+
+<!ENTITY % refclass.element "INCLUDE">
+<![%refclass.element;[
+<!--doc:The scope or other indication of applicability of a reference entry.-->
+<!ELEMENT refclass %ho; (%refclass.char.mix;)*>
+<!--end of refclass.element-->]]>
+
+<!ENTITY % refclass.attlist "INCLUDE">
+<![%refclass.attlist;[
+<!ATTLIST refclass
+ %common.attrib;
+ %refclass.role.attrib;
+ %local.refclass.attrib;
+>
+<!--end of refclass.attlist-->]]>
+<!--end of refclass.module-->]]>
+
+<!ENTITY % refsynopsisdiv.module "INCLUDE">
+<![%refsynopsisdiv.module;[
+<!ENTITY % local.refsynopsisdiv.attrib "">
+<!ENTITY % refsynopsisdiv.role.attrib "%role.attrib;">
+
+<!ENTITY % refsynopsisdiv.element "INCLUDE">
+<![%refsynopsisdiv.element;[
+<!--doc:A syntactic synopsis of the subject of the reference page.-->
+<!ELEMENT refsynopsisdiv %ho; (refsynopsisdivinfo?, (%refsect.title.content;)?,
+ (((%refcomponent.mix;)+, refsect2*) | (refsect2+)))>
+<!--end of refsynopsisdiv.element-->]]>
+
+<!ENTITY % refsynopsisdiv.attlist "INCLUDE">
+<![%refsynopsisdiv.attlist;[
+<!ATTLIST refsynopsisdiv
+ %common.attrib;
+ %refsynopsisdiv.role.attrib;
+ %local.refsynopsisdiv.attrib;
+>
+<!--end of refsynopsisdiv.attlist-->]]>
+<!--end of refsynopsisdiv.module-->]]>
+
+<!ENTITY % refsection.module "INCLUDE">
+<![%refsection.module;[
+<!ENTITY % local.refsection.attrib "">
+<!ENTITY % refsection.role.attrib "%role.attrib;">
+
+<!ENTITY % refsection.element "INCLUDE">
+<![%refsection.element;[
+<!--doc:A recursive section in a refentry.-->
+<!ELEMENT refsection %ho; (refsectioninfo?, (%refsect.title.content;),
+ (((%refcomponent.mix;)+, refsection*) | refsection+))>
+<!--end of refsection.element-->]]>
+
+<!ENTITY % refsection.attlist "INCLUDE">
+<![%refsection.attlist;[
+<!ATTLIST refsection
+ %status.attrib;
+ %common.attrib;
+ %refsection.role.attrib;
+ %local.refsection.attrib;
+>
+<!--end of refsection.attlist-->]]>
+<!--end of refsection.module-->]]>
+
+<!ENTITY % refsect1.module "INCLUDE">
+<![%refsect1.module;[
+<!ENTITY % local.refsect1.attrib "">
+<!ENTITY % refsect1.role.attrib "%role.attrib;">
+
+<!ENTITY % refsect1.element "INCLUDE">
+<![%refsect1.element;[
+<!--doc:A major subsection of a reference entry.-->
+<!ELEMENT refsect1 %ho; (refsect1info?, (%refsect.title.content;),
+ (((%refcomponent.mix;)+, refsect2*) | refsect2+))>
+<!--end of refsect1.element-->]]>
+
+<!ENTITY % refsect1.attlist "INCLUDE">
+<![%refsect1.attlist;[
+<!ATTLIST refsect1
+ %status.attrib;
+ %common.attrib;
+ %refsect1.role.attrib;
+ %local.refsect1.attrib;
+>
+<!--end of refsect1.attlist-->]]>
+<!--end of refsect1.module-->]]>
+
+<!ENTITY % refsect2.module "INCLUDE">
+<![%refsect2.module;[
+<!ENTITY % local.refsect2.attrib "">
+<!ENTITY % refsect2.role.attrib "%role.attrib;">
+
+<!ENTITY % refsect2.element "INCLUDE">
+<![%refsect2.element;[
+<!--doc:A subsection of a RefSect1.-->
+<!ELEMENT refsect2 %ho; (refsect2info?, (%refsect.title.content;),
+ (((%refcomponent.mix;)+, refsect3*) | refsect3+))>
+<!--end of refsect2.element-->]]>
+
+<!ENTITY % refsect2.attlist "INCLUDE">
+<![%refsect2.attlist;[
+<!ATTLIST refsect2
+ %status.attrib;
+ %common.attrib;
+ %refsect2.role.attrib;
+ %local.refsect2.attrib;
+>
+<!--end of refsect2.attlist-->]]>
+<!--end of refsect2.module-->]]>
+
+<!ENTITY % refsect3.module "INCLUDE">
+<![%refsect3.module;[
+<!ENTITY % local.refsect3.attrib "">
+<!ENTITY % refsect3.role.attrib "%role.attrib;">
+
+<!ENTITY % refsect3.element "INCLUDE">
+<![%refsect3.element;[
+<!--doc:A subsection of a RefSect2.-->
+<!ELEMENT refsect3 %ho; (refsect3info?, (%refsect.title.content;),
+ (%refcomponent.mix;)+)>
+<!--end of refsect3.element-->]]>
+
+<!ENTITY % refsect3.attlist "INCLUDE">
+<![%refsect3.attlist;[
+<!ATTLIST refsect3
+ %status.attrib;
+ %common.attrib;
+ %refsect3.role.attrib;
+ %local.refsect3.attrib;
+>
+<!--end of refsect3.attlist-->]]>
+<!--end of refsect3.module-->]]>
+<!--end of refentry.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Article .............................................................. -->
+
+<!ENTITY % article.module "INCLUDE">
+<![%article.module;[
+<!-- An Article is a chapter-level, stand-alone document that is often,
+ but need not be, collected into a Book. -->
+
+<!ENTITY % local.article.attrib "">
+<!ENTITY % article.role.attrib "%role.attrib;">
+
+<!ENTITY % article.element "INCLUDE">
+<![%article.element;[
+<!--doc:An article.-->
+<!ELEMENT article %ho; ((%div.title.content;)?, articleinfo?, tocchap?, lot*,
+ (%bookcomponent.content;),
+ (%nav.class;|%appendix.class;|colophon|ackno)*)
+ %ubiq.inclusion;>
+<!--end of article.element-->]]>
+
+<!-- Class: Indicates the type of a particular article;
+ all articles have the same structure and general purpose.
+ No default. -->
+<!-- ParentBook: ID of the enclosing Book -->
+
+
+<!ENTITY % article.attlist "INCLUDE">
+<![%article.attlist;[
+<!ATTLIST article
+ class (journalarticle
+ |productsheet
+ |whitepaper
+ |techreport
+ |specification
+ |faq) #IMPLIED
+ parentbook IDREF #IMPLIED
+ %status.attrib;
+ %common.attrib;
+ %article.role.attrib;
+ %local.article.attrib;
+>
+<!--end of article.attlist-->]]>
+<!--end of article.module-->]]>
+
+<!-- End of DocBook document hierarchy module V4.5 ........................ -->
+<!-- ...................................................................... -->
diff --git a/Utilities/xml/docbook-4.5/dbnotnx.mod b/Utilities/xml/docbook-4.5/dbnotnx.mod
new file mode 100644
index 000000000..2416049bf
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/dbnotnx.mod
@@ -0,0 +1,101 @@
+<!-- ...................................................................... -->
+<!-- DocBook notations module V4.5 ........................................ -->
+<!-- File dbnotnx.mod ..................................................... -->
+
+<!-- Copyright 1992-2004 HaL Computer Systems, Inc.,
+ O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+ Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+ Organization for the Advancement of Structured Information
+ Standards (OASIS).
+
+ $Id: dbnotnx.mod 6340 2006-10-03 13:23:24Z nwalsh $
+
+ Permission to use, copy, modify and distribute the DocBook DTD
+ and its accompanying documentation for any purpose and without fee
+ is hereby granted in perpetuity, provided that the above copyright
+ notice and this paragraph appear in all copies. The copyright
+ holders make no representation about the suitability of the DTD for
+ any purpose. It is provided "as is" without expressed or implied
+ warranty.
+
+ If you modify the DocBook DTD in any way, except for declaring and
+ referencing additional sets of general entities and declaring
+ additional notations, label your DTD as a variant of DocBook. See
+ the maintenance documentation for more information.
+
+ Please direct all questions, bug reports, or suggestions for
+ changes to the docbook@lists.oasis-open.org mailing list. For more
+ information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This module contains the notation declarations used by DocBook.
+
+ In DTD driver files referring to this module, please use an entity
+ declaration that uses the public identifier shown below:
+
+ <!ENTITY % dbnotn PUBLIC
+ "-//OASIS//ENTITIES DocBook Notations V4.5//EN"
+ "dbnotnx.mod">
+ %dbnotn;
+
+ See the documentation for detailed information on the parameter
+ entity and module scheme used in DocBook, customizing DocBook and
+ planning for interchange, and changes made since the last release
+ of DocBook.
+-->
+
+<!ENTITY % local.notation.class "">
+<!ENTITY % notation.class
+ "BMP| CGM-CHAR | CGM-BINARY | CGM-CLEAR | DITROFF | DVI
+ | EPS | EQN | FAX | GIF | GIF87a | GIF89a
+ | JPG | JPEG | IGES | PCX
+ | PIC | PNG | PS | SGML | TBL | TEX | TIFF | WMF | WPG
+ | SVG | PDF | SWF
+ | linespecific
+ %local.notation.class;">
+
+<!NOTATION BMP PUBLIC
+"+//ISBN 0-7923-94.2-1::Graphic Notation//NOTATION Microsoft Windows bitmap//EN">
+<!NOTATION CGM-CHAR PUBLIC "ISO 8632/2//NOTATION Character encoding//EN">
+<!NOTATION CGM-BINARY PUBLIC "ISO 8632/3//NOTATION Binary encoding//EN">
+<!NOTATION CGM-CLEAR PUBLIC "ISO 8632/4//NOTATION Clear text encoding//EN">
+<!NOTATION DITROFF SYSTEM "DITROFF">
+<!NOTATION DVI SYSTEM "DVI">
+<!NOTATION EPS PUBLIC
+"+//ISBN 0-201-18127-4::Adobe//NOTATION PostScript Language Ref. Manual//EN">
+<!NOTATION EQN SYSTEM "EQN">
+<!NOTATION FAX PUBLIC
+"-//USA-DOD//NOTATION CCITT Group 4 Facsimile Type 1 Untiled Raster//EN">
+<!NOTATION GIF SYSTEM "GIF">
+<!NOTATION GIF87a PUBLIC
+"-//CompuServe//NOTATION Graphics Interchange Format 87a//EN">
+
+<!NOTATION GIF89a PUBLIC
+"-//CompuServe//NOTATION Graphics Interchange Format 89a//EN">
+<!NOTATION JPG SYSTEM "JPG">
+<!NOTATION JPEG SYSTEM "JPG">
+<!NOTATION IGES PUBLIC
+"-//USA-DOD//NOTATION (ASME/ANSI Y14.26M-1987) Initial Graphics Exchange Specification//EN">
+<!NOTATION PCX PUBLIC
+"+//ISBN 0-7923-94.2-1::Graphic Notation//NOTATION ZSoft PCX bitmap//EN">
+<!NOTATION PIC SYSTEM "PIC">
+<!NOTATION PNG SYSTEM "http://www.w3.org/TR/REC-png">
+<!NOTATION PS SYSTEM "PS">
+<!NOTATION SGML PUBLIC
+"ISO 8879:1986//NOTATION Standard Generalized Markup Language//EN">
+<!NOTATION TBL SYSTEM "TBL">
+<!NOTATION TEX PUBLIC
+"+//ISBN 0-201-13448-9::Knuth//NOTATION The TeXbook//EN">
+<!NOTATION TIFF SYSTEM "TIFF">
+<!NOTATION WMF PUBLIC
+"+//ISBN 0-7923-94.2-1::Graphic Notation//NOTATION Microsoft Windows Metafile//EN">
+<!NOTATION WPG SYSTEM "WPG"> <!--WordPerfect Graphic format-->
+<!NOTATION SVG SYSTEM "http://www.w3.org/TR/SVG/">
+<!NOTATION PDF SYSTEM "http://www.adobe.com/products/acrobat/adobepdf.html">
+<!NOTATION SWF SYSTEM "http://www.macromedia.com/software/flash">
+<!NOTATION linespecific SYSTEM "linespecific">
+
+<!-- End of DocBook notations module V4.5 ................................. -->
+<!-- ...................................................................... -->
diff --git a/Utilities/xml/docbook-4.5/dbpoolx.mod b/Utilities/xml/docbook-4.5/dbpoolx.mod
new file mode 100644
index 000000000..53b07044a
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/dbpoolx.mod
@@ -0,0 +1,8701 @@
+<!-- ...................................................................... -->
+<!-- DocBook XML information pool module V4.5 ............................. -->
+<!-- File dbpoolx.mod ..................................................... -->
+
+<!-- Copyright 1992-2004 HaL Computer Systems, Inc.,
+ O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+ Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+ Organization for the Advancement of Structured Information
+ Standards (OASIS).
+
+ $Id: dbpoolx.mod 6340 2006-10-03 13:23:24Z nwalsh $
+
+ Permission to use, copy, modify and distribute the DocBook XML DTD
+ and its accompanying documentation for any purpose and without fee
+ is hereby granted in perpetuity, provided that the above copyright
+ notice and this paragraph appear in all copies. The copyright
+ holders make no representation about the suitability of the DTD for
+ any purpose. It is provided "as is" without expressed or implied
+ warranty.
+
+ If you modify the DocBook XML DTD in any way, except for declaring and
+ referencing additional sets of general entities and declaring
+ additional notations, label your DTD as a variant of DocBook. See
+ the maintenance documentation for more information.
+
+ Please direct all questions, bug reports, or suggestions for
+ changes to the docbook@lists.oasis-open.org mailing list. For more
+ information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This module contains the definitions for the objects, inline
+ elements, and so on that are available to be used as the main
+ content of DocBook documents. Some elements are useful for general
+ publishing, and others are useful specifically for computer
+ documentation.
+
+ This module has the following dependencies on other modules:
+
+ o It assumes that a %notation.class; entity is defined by the
+ driver file or other high-level module. This entity is
+ referenced in the NOTATION attributes for the graphic-related and
+ ModeSpec elements.
+
+ o It assumes that an appropriately parameterized table module is
+ available for use with the table-related elements.
+
+ In DTD driver files referring to this module, please use an entity
+ declaration that uses the public identifier shown below:
+
+ <!ENTITY % dbpool PUBLIC
+ "-//OASIS//ELEMENTS DocBook XML Information Pool V4.5//EN"
+ "dbpoolx.mod">
+ %dbpool;
+
+ See the documentation for detailed information on the parameter
+ entity and module scheme used in DocBook, customizing DocBook and
+ planning for interchange, and changes made since the last release
+ of DocBook.
+-->
+
+<!-- ...................................................................... -->
+<!-- Forms entities ....................................................... -->
+<!-- These PEs provide the hook by which the forms module can be inserted -->
+<!-- into the DTD. -->
+<!ENTITY % forminlines.hook "">
+<!ENTITY % forms.hook "">
+
+<!-- ...................................................................... -->
+<!-- General-purpose semantics entities ................................... -->
+
+<!ENTITY % yesorno.attvals "CDATA">
+
+<!-- ...................................................................... -->
+<!-- Entities for module inclusions ....................................... -->
+
+<!ENTITY % dbpool.redecl.module "IGNORE">
+
+<!-- ...................................................................... -->
+<!-- Entities for element classes and mixtures ............................ -->
+
+<!-- "Ubiquitous" classes: ndxterm.class and beginpage -->
+
+<!ENTITY % local.ndxterm.class "">
+<!ENTITY % ndxterm.class
+ "indexterm %local.ndxterm.class;">
+
+<!-- Object-level classes ................................................. -->
+
+<!ENTITY % local.list.class "">
+<!ENTITY % list.class
+ "calloutlist|glosslist|bibliolist|itemizedlist|orderedlist|segmentedlist
+ |simplelist|variablelist %local.list.class;">
+
+<!ENTITY % local.admon.class "">
+<!ENTITY % admon.class
+ "caution|important|note|tip|warning %local.admon.class;">
+
+<!ENTITY % local.linespecific.class "">
+<!ENTITY % linespecific.class
+ "literallayout|programlisting|programlistingco|screen
+ |screenco|screenshot %local.linespecific.class;">
+
+<!ENTITY % local.method.synop.class "">
+<!ENTITY % method.synop.class
+ "constructorsynopsis
+ |destructorsynopsis
+ |methodsynopsis %local.method.synop.class;">
+
+<!ENTITY % local.synop.class "">
+<!ENTITY % synop.class
+ "synopsis|cmdsynopsis|funcsynopsis
+ |classsynopsis|fieldsynopsis
+ |%method.synop.class; %local.synop.class;">
+
+<!ENTITY % local.para.class "">
+<!ENTITY % para.class
+ "formalpara|para|simpara %local.para.class;">
+
+<!ENTITY % local.informal.class "">
+<!ENTITY % informal.class
+ "address|blockquote
+ |graphic|graphicco|mediaobject|mediaobjectco
+ |informalequation
+ |informalexample
+ |informalfigure
+ |informaltable %local.informal.class;">
+
+<!ENTITY % local.formal.class "">
+<!ENTITY % formal.class
+ "equation|example|figure|table %local.formal.class;">
+
+<!-- The DocBook TC may produce an official EBNF module for DocBook. -->
+<!-- This PE provides the hook by which it can be inserted into the DTD. -->
+<!ENTITY % ebnf.block.hook "">
+
+<!ENTITY % local.compound.class "">
+<!ENTITY % compound.class
+ "msgset|procedure|sidebar|qandaset|task
+ %ebnf.block.hook;
+ %local.compound.class;">
+
+<!ENTITY % local.genobj.class "">
+<!ENTITY % genobj.class
+ "anchor|bridgehead|remark|highlights
+ %local.genobj.class;">
+
+<!ENTITY % local.descobj.class "">
+<!ENTITY % descobj.class
+ "abstract|authorblurb|epigraph
+ %local.descobj.class;">
+
+<!-- Character-level classes .............................................. -->
+
+<!ENTITY % local.xref.char.class "">
+<!ENTITY % xref.char.class
+ "footnoteref|xref|biblioref %local.xref.char.class;">
+
+<!ENTITY % local.gen.char.class "">
+<!ENTITY % gen.char.class
+ "abbrev|acronym|citation|citerefentry|citetitle|citebiblioid|emphasis
+ |firstterm|foreignphrase|glossterm|termdef|footnote|phrase
+ |orgname|quote|trademark|wordasword
+ |personname %local.gen.char.class;">
+
+<!ENTITY % local.link.char.class "">
+<!ENTITY % link.char.class
+ "link|olink|ulink %local.link.char.class;">
+
+<!-- The DocBook TC may produce an official EBNF module for DocBook. -->
+<!-- This PE provides the hook by which it can be inserted into the DTD. -->
+<!ENTITY % ebnf.inline.hook "">
+
+<!ENTITY % local.tech.char.class "">
+<!ENTITY % tech.char.class
+ "action|application
+ |classname|methodname|interfacename|exceptionname
+ |ooclass|oointerface|ooexception
+ |package
+ |command|computeroutput
+ |database|email|envar|errorcode|errorname|errortype|errortext|filename
+ |function|guibutton|guiicon|guilabel|guimenu|guimenuitem
+ |guisubmenu|hardware|interface|keycap
+ |keycode|keycombo|keysym|literal|code|constant|markup|medialabel
+ |menuchoice|mousebutton|option|optional|parameter
+ |prompt|property|replaceable|returnvalue|sgmltag|structfield
+ |structname|symbol|systemitem|uri|token|type|userinput|varname
+ %ebnf.inline.hook;
+ %local.tech.char.class;">
+
+<!ENTITY % local.base.char.class "">
+<!ENTITY % base.char.class
+ "anchor %local.base.char.class;">
+
+<!ENTITY % local.docinfo.char.class "">
+<!ENTITY % docinfo.char.class
+ "author|authorinitials|corpauthor|corpcredit|modespec|othercredit
+ |productname|productnumber|revhistory
+ %local.docinfo.char.class;">
+
+<!ENTITY % local.other.char.class "">
+<!ENTITY % other.char.class
+ "remark|subscript|superscript %local.other.char.class;">
+
+<!ENTITY % local.inlineobj.char.class "">
+<!ENTITY % inlineobj.char.class
+ "inlinegraphic|inlinemediaobject|inlineequation %local.inlineobj.char.class;">
+
+<!-- ...................................................................... -->
+<!-- Entities for content models .......................................... -->
+
+<!ENTITY % formalobject.title.content "title, titleabbrev?">
+
+<!-- Redeclaration placeholder ............................................ -->
+
+<!-- For redeclaring entities that are declared after this point while
+ retaining their references to the entities that are declared before
+ this point -->
+
+<![%dbpool.redecl.module;[
+<!-- Defining rdbpool here makes some buggy XML parsers happy. -->
+<!ENTITY % rdbpool "">
+%rdbpool;
+<!--end of dbpool.redecl.module-->]]>
+
+<!-- Object-level mixtures ................................................ -->
+
+<!--
+ list admn line synp para infm form cmpd gen desc
+Component mixture X X X X X X X X X X
+Sidebar mixture X X X X X X X a X
+Footnote mixture X X X X X
+Example mixture X X X X X
+Highlights mixture X X X
+Paragraph mixture X X X X
+Admonition mixture X X X X X X b c
+Figure mixture X X X
+Table entry mixture X X X X d
+Glossary def mixture X X X X X e
+Legal notice mixture X X X X f
+
+a. Just Procedure; not Sidebar itself or MsgSet.
+b. No MsgSet.
+c. No Highlights.
+d. Just Graphic; no other informal objects.
+e. No Anchor, BridgeHead, or Highlights.
+f. Just BlockQuote; no other informal objects.
+-->
+
+<!ENTITY % local.component.mix "">
+<!ENTITY % component.mix
+ "%list.class; |%admon.class;
+ |%linespecific.class; |%synop.class;
+ |%para.class; |%informal.class;
+ |%formal.class; |%compound.class;
+ |%genobj.class; |%descobj.class;
+ |%ndxterm.class; |beginpage
+ %forms.hook;
+ %local.component.mix;">
+
+<!ENTITY % local.sidebar.mix "">
+<!ENTITY % sidebar.mix
+ "%list.class; |%admon.class;
+ |%linespecific.class; |%synop.class;
+ |%para.class; |%informal.class;
+ |%formal.class; |procedure
+ |%genobj.class;
+ |%ndxterm.class; |beginpage
+ %forms.hook;
+ %local.sidebar.mix;">
+
+<!ENTITY % local.qandaset.mix "">
+<!ENTITY % qandaset.mix
+ "%list.class; |%admon.class;
+ |%linespecific.class; |%synop.class;
+ |%para.class; |%informal.class;
+ |%formal.class; |procedure
+ |%genobj.class;
+ |%ndxterm.class;
+ %forms.hook;
+ %local.qandaset.mix;">
+
+<!ENTITY % local.revdescription.mix "">
+<!ENTITY % revdescription.mix
+ "%list.class; |%admon.class;
+ |%linespecific.class; |%synop.class;
+ |%para.class; |%informal.class;
+ |%formal.class; |procedure
+ |%genobj.class;
+ |%ndxterm.class;
+ %local.revdescription.mix;">
+
+<!ENTITY % local.footnote.mix "">
+<!ENTITY % footnote.mix
+ "%list.class;
+ |%linespecific.class; |%synop.class;
+ |%para.class; |%informal.class;
+ %local.footnote.mix;">
+
+<!ENTITY % local.example.mix "">
+<!ENTITY % example.mix
+ "%list.class;
+ |%linespecific.class; |%synop.class;
+ |%para.class; |%informal.class;
+ |%ndxterm.class; |beginpage
+ |procedure
+ %forms.hook;
+ %local.example.mix;">
+
+<!ENTITY % local.highlights.mix "">
+<!ENTITY % highlights.mix
+ "%list.class; |%admon.class;
+ |%para.class;
+ |%ndxterm.class;
+ %local.highlights.mix;">
+
+<!-- %formal.class; is explicitly excluded from many contexts in which
+ paragraphs are used -->
+<!ENTITY % local.para.mix "">
+<!ENTITY % para.mix
+ "%list.class; |%admon.class;
+ |%linespecific.class;
+ |%informal.class;
+ |%formal.class;
+ %local.para.mix;">
+
+<!ENTITY % local.admon.mix "">
+<!ENTITY % admon.mix
+ "%list.class;
+ |%linespecific.class; |%synop.class;
+ |%para.class; |%informal.class;
+ |%formal.class; |procedure|sidebar
+ |anchor|bridgehead|remark
+ |%ndxterm.class; |beginpage
+ %forms.hook;
+ %local.admon.mix;">
+
+<!ENTITY % local.figure.mix "">
+<!ENTITY % figure.mix
+ "%linespecific.class; |%synop.class;
+ |%informal.class;
+ |%ndxterm.class; |beginpage
+ %forms.hook;
+ %local.figure.mix;">
+
+<!ENTITY % local.tabentry.mix "">
+<!ENTITY % tabentry.mix
+ "%list.class; |%admon.class;
+ |%linespecific.class;
+ |%para.class; |graphic|mediaobject
+ %forms.hook;
+ %local.tabentry.mix;">
+
+<!ENTITY % local.glossdef.mix "">
+<!ENTITY % glossdef.mix
+ "%list.class;
+ |%linespecific.class; |%synop.class;
+ |%para.class; |%informal.class;
+ |%formal.class;
+ |remark
+ |%ndxterm.class; |beginpage
+ %local.glossdef.mix;">
+
+<!ENTITY % local.legalnotice.mix "">
+<!ENTITY % legalnotice.mix
+ "%list.class; |%admon.class;
+ |%linespecific.class;
+ |%para.class; |blockquote
+ |%ndxterm.class; |beginpage
+ %local.legalnotice.mix;">
+
+<!ENTITY % local.textobject.mix "">
+<!ENTITY % textobject.mix
+ "%list.class; |%admon.class;
+ |%linespecific.class;
+ |%para.class; |blockquote
+ %local.textobject.mix;">
+
+<!ENTITY % local.mediaobject.mix "">
+<!ENTITY % mediaobject.mix
+ "videoobject|audioobject|imageobject|imageobjectco|textobject %local.mediaobject.mix;">
+
+<!ENTITY % local.listpreamble.mix "">
+<!ENTITY % listpreamble.mix
+ " %admon.class;
+ |%linespecific.class; |%synop.class;
+ |%para.class; |%informal.class;
+ |%genobj.class; |%descobj.class;
+ |%ndxterm.class; |beginpage
+ %forms.hook;
+ %local.listpreamble.mix;">
+
+<!-- Character-level mixtures ............................................. -->
+
+<![%sgml.features;[
+<!ENTITY % local.ubiq.mix "">
+<!ENTITY % ubiq.mix "%ndxterm.class;|beginpage %local.ubiq.mix;">
+
+<!ENTITY % ubiq.exclusion "-(%ubiq.mix)">
+<!ENTITY % ubiq.inclusion "+(%ubiq.mix)">
+
+<!ENTITY % footnote.exclusion "-(footnote|%formal.class;)">
+<!ENTITY % highlights.exclusion "-(%ubiq.mix;|%formal.class;)">
+<!ENTITY % admon.exclusion "-(%admon.class;)">
+<!ENTITY % formal.exclusion "-(%formal.class;)">
+<!ENTITY % acronym.exclusion "-(acronym)">
+<!ENTITY % beginpage.exclusion "-(beginpage)">
+<!ENTITY % ndxterm.exclusion "-(%ndxterm.class;)">
+<!ENTITY % blockquote.exclusion "-(epigraph)">
+<!ENTITY % remark.exclusion "-(remark|%ubiq.mix;)">
+<!ENTITY % glossterm.exclusion "-(glossterm)">
+<!ENTITY % links.exclusion "-(link|olink|ulink|xref|biblioref)">
+]]><!-- sgml.features -->
+
+<!-- not [sgml.features[ -->
+<!ENTITY % local.ubiq.mix "">
+<!ENTITY % ubiq.mix "">
+
+<!ENTITY % ubiq.exclusion "">
+<!ENTITY % ubiq.inclusion "">
+
+<!ENTITY % footnote.exclusion "">
+<!ENTITY % highlights.exclusion "">
+<!ENTITY % admon.exclusion "">
+<!ENTITY % formal.exclusion "">
+<!ENTITY % acronym.exclusion "">
+<!ENTITY % beginpage.exclusion "">
+<!ENTITY % ndxterm.exclusion "">
+<!ENTITY % blockquote.exclusion "">
+<!ENTITY % remark.exclusion "">
+<!ENTITY % glossterm.exclusion "">
+<!ENTITY % links.exclusion "">
+<!-- ]] not sgml.features -->
+
+<!--
+ #PCD xref word link cptr base dnfo othr inob (synop)
+para.char.mix X X X X X X X X X
+title.char.mix X X X X X X X X X
+ndxterm.char.mix X X X X X X X X a
+cptr.char.mix X X X X X a
+smallcptr.char.mix X b a
+word.char.mix X c X X X a
+docinfo.char.mix X d X b X a
+
+a. Just InlineGraphic; no InlineEquation.
+b. Just Replaceable; no other computer terms.
+c. Just Emphasis and Trademark; no other word elements.
+d. Just Acronym, Emphasis, and Trademark; no other word elements.
+-->
+
+<!ENTITY % local.para.char.mix "">
+<!ENTITY % para.char.mix
+ "#PCDATA
+ |%xref.char.class; |%gen.char.class;
+ |%link.char.class; |%tech.char.class;
+ |%base.char.class; |%docinfo.char.class;
+ |%other.char.class; |%inlineobj.char.class;
+ |%synop.class;
+ |%ndxterm.class; |beginpage
+ %forminlines.hook;
+ %local.para.char.mix;">
+
+<!ENTITY % local.title.char.mix "">
+<!ENTITY % title.char.mix
+ "#PCDATA
+ |%xref.char.class; |%gen.char.class;
+ |%link.char.class; |%tech.char.class;
+ |%base.char.class; |%docinfo.char.class;
+ |%other.char.class; |%inlineobj.char.class;
+ |%ndxterm.class;
+ %local.title.char.mix;">
+
+<!ENTITY % local.ndxterm.char.mix "">
+<!ENTITY % ndxterm.char.mix
+ "#PCDATA
+ |%xref.char.class; |%gen.char.class;
+ |%link.char.class; |%tech.char.class;
+ |%base.char.class; |%docinfo.char.class;
+ |%other.char.class; |inlinegraphic|inlinemediaobject
+ %local.ndxterm.char.mix;">
+
+<!ENTITY % local.cptr.char.mix "">
+<!ENTITY % cptr.char.mix
+ "#PCDATA
+ |%link.char.class; |%tech.char.class;
+ |%base.char.class;
+ |%other.char.class; |inlinegraphic|inlinemediaobject
+ |%ndxterm.class; |beginpage
+ %local.cptr.char.mix;">
+
+<!ENTITY % local.smallcptr.char.mix "">
+<!ENTITY % smallcptr.char.mix
+ "#PCDATA
+ |replaceable
+ |inlinegraphic|inlinemediaobject
+ |%ndxterm.class; |beginpage
+ %local.smallcptr.char.mix;">
+
+<!ENTITY % local.word.char.mix "">
+<!ENTITY % word.char.mix
+ "#PCDATA
+ |acronym|emphasis|trademark
+ |%link.char.class;
+ |%base.char.class;
+ |%other.char.class; |inlinegraphic|inlinemediaobject
+ |%ndxterm.class; |beginpage
+ %local.word.char.mix;">
+
+<!ENTITY % local.docinfo.char.mix "">
+<!ENTITY % docinfo.char.mix
+ "#PCDATA
+ |%link.char.class;
+ |emphasis|trademark
+ |replaceable
+ |%other.char.class; |inlinegraphic|inlinemediaobject
+ |%ndxterm.class;
+ %local.docinfo.char.mix;">
+<!--ENTITY % bibliocomponent.mix (see Bibliographic section, below)-->
+<!--ENTITY % person.ident.mix (see Bibliographic section, below)-->
+
+<!-- ...................................................................... -->
+<!-- Entities for attributes and attribute components ..................... -->
+
+<!-- Effectivity attributes ............................................... -->
+
+
+<!-- Arch: Computer or chip architecture to which element applies; no
+ default -->
+
+<!ENTITY % arch.attrib
+ "arch CDATA #IMPLIED">
+
+<!-- Condition: General-purpose effectivity attribute -->
+
+<!ENTITY % condition.attrib
+ "condition CDATA #IMPLIED">
+
+<!-- Conformance: Standards conformance characteristics -->
+
+<!ENTITY % conformance.attrib
+ "conformance NMTOKENS #IMPLIED">
+
+
+<!-- OS: Operating system to which element applies; no default -->
+
+<!ENTITY % os.attrib
+ "os CDATA #IMPLIED">
+
+
+<!-- Revision: Editorial revision to which element belongs; no default -->
+
+<!ENTITY % revision.attrib
+ "revision CDATA #IMPLIED">
+
+<!-- Security: Security classification; no default -->
+
+<!ENTITY % security.attrib
+ "security CDATA #IMPLIED">
+
+<!-- UserLevel: Level of user experience to which element applies; no
+ default -->
+
+<!ENTITY % userlevel.attrib
+ "userlevel CDATA #IMPLIED">
+
+<!-- Vendor: Computer vendor to which element applies; no default -->
+
+<!ENTITY % vendor.attrib
+ "vendor CDATA #IMPLIED">
+
+<!-- Wordsize: Computer word size (32 bit, 64 bit, etc.); no default -->
+
+<!ENTITY % wordsize.attrib
+ "wordsize CDATA #IMPLIED">
+
+<!ENTITY % local.effectivity.attrib "">
+<!ENTITY % effectivity.attrib
+ "%arch.attrib;
+ %condition.attrib;
+ %conformance.attrib;
+ %os.attrib;
+ %revision.attrib;
+ %security.attrib;
+ %userlevel.attrib;
+ %vendor.attrib;
+ %wordsize.attrib;
+ %local.effectivity.attrib;"
+>
+
+<!-- Common attributes .................................................... -->
+
+
+<!-- Id: Unique identifier of element; no default -->
+
+<!ENTITY % id.attrib
+ "id ID #IMPLIED">
+
+
+<!-- Id: Unique identifier of element; a value must be supplied; no
+ default -->
+
+<!ENTITY % idreq.attrib
+ "id ID #REQUIRED">
+
+
+<!-- Lang: Indicator of language in which element is written, for
+ translation, character set management, etc.; no default -->
+
+<!ENTITY % lang.attrib
+ "lang CDATA #IMPLIED">
+
+
+<!-- Remap: Previous role of element before conversion; no default -->
+
+<!ENTITY % remap.attrib
+ "remap CDATA #IMPLIED">
+
+
+<!-- Role: New role of element in local environment; no default -->
+
+<!ENTITY % role.attrib
+ "role CDATA #IMPLIED">
+
+
+<!-- XRefLabel: Alternate labeling string for XRef text generation;
+ default is usually title or other appropriate label text already
+ contained in element -->
+
+<!ENTITY % xreflabel.attrib
+ "xreflabel CDATA #IMPLIED">
+
+
+<!-- RevisionFlag: Revision status of element; default is that element
+ wasn't revised -->
+
+<!ENTITY % revisionflag.attrib
+ "revisionflag (changed
+ |added
+ |deleted
+ |off) #IMPLIED">
+
+<!ENTITY % local.common.attrib "">
+
+<!-- dir: Bidirectional override -->
+
+<!ENTITY % dir.attrib
+ "dir (ltr
+ |rtl
+ |lro
+ |rlo) #IMPLIED">
+
+<!-- xml:base: base URI -->
+
+<![%sgml.features;[
+<!ENTITY % xml-base.attrib "">
+]]>
+<!ENTITY % xml-base.attrib
+ "xml:base CDATA #IMPLIED">
+
+<!-- Role is included explicitly on each element -->
+
+<!ENTITY % common.attrib
+ "%id.attrib;
+ %lang.attrib;
+ %remap.attrib;
+ %xreflabel.attrib;
+ %revisionflag.attrib;
+ %effectivity.attrib;
+ %dir.attrib;
+ %xml-base.attrib;
+ %local.common.attrib;"
+>
+
+<!-- Role is included explicitly on each element -->
+
+<!ENTITY % idreq.common.attrib
+ "%idreq.attrib;
+ %lang.attrib;
+ %remap.attrib;
+ %xreflabel.attrib;
+ %revisionflag.attrib;
+ %effectivity.attrib;
+ %dir.attrib;
+ %xml-base.attrib;
+ %local.common.attrib;"
+>
+
+<!-- Semi-common attributes and other attribute entities .................. -->
+
+<!ENTITY % local.graphics.attrib "">
+
+<!-- EntityRef: Name of an external entity containing the content
+ of the graphic -->
+<!-- FileRef: Filename, qualified by a pathname if desired,
+ designating the file containing the content of the graphic -->
+<!-- Format: Notation of the element content, if any -->
+<!-- SrcCredit: Information about the source of the Graphic -->
+<!-- Width: Same as CALS reprowid (desired width) -->
+<!-- Depth: Same as CALS reprodep (desired depth) -->
+<!-- Align: Same as CALS hplace with 'none' removed; #IMPLIED means
+ application-specific -->
+<!-- Scale: Conflation of CALS hscale and vscale -->
+<!-- Scalefit: Same as CALS scalefit -->
+
+<!ENTITY % graphics.attrib
+ "
+ entityref ENTITY #IMPLIED
+ fileref CDATA #IMPLIED
+ format (%notation.class;) #IMPLIED
+ srccredit CDATA #IMPLIED
+ width CDATA #IMPLIED
+ contentwidth CDATA #IMPLIED
+ depth CDATA #IMPLIED
+ contentdepth CDATA #IMPLIED
+ align (left
+ |right
+ |center) #IMPLIED
+ valign (top
+ |middle
+ |bottom) #IMPLIED
+ scale CDATA #IMPLIED
+ scalefit %yesorno.attvals;
+ #IMPLIED
+ %local.graphics.attrib;"
+>
+
+<!ENTITY % local.keyaction.attrib "">
+
+<!-- Action: Key combination type; default is unspecified if one
+ child element, Simul if there is more than one; if value is
+ Other, the OtherAction attribute must have a nonempty value -->
+<!-- OtherAction: User-defined key combination type -->
+
+<!ENTITY % keyaction.attrib
+ "
+ action (click
+ |double-click
+ |press
+ |seq
+ |simul
+ |other) #IMPLIED
+ otheraction CDATA #IMPLIED
+ %local.keyaction.attrib;"
+>
+
+
+<!-- Label: Identifying number or string; default is usually the
+ appropriate number or string autogenerated by a formatter -->
+
+<!ENTITY % label.attrib
+ "label CDATA #IMPLIED">
+
+
+<!-- xml:space: whitespace treatment -->
+
+<![%sgml.features;[
+<!ENTITY % xml-space.attrib "">
+]]>
+<!ENTITY % xml-space.attrib
+ "xml:space (preserve) #IMPLIED">
+
+<!-- Format: whether element is assumed to contain significant white
+ space -->
+
+<!ENTITY % linespecific.attrib
+ "format NOTATION
+ (linespecific) 'linespecific'
+ %xml-space.attrib;
+ linenumbering (numbered|unnumbered) #IMPLIED
+ continuation (continues|restarts) #IMPLIED
+ startinglinenumber CDATA #IMPLIED
+ language CDATA #IMPLIED">
+
+<!-- Linkend: link to related information; no default -->
+
+<!ENTITY % linkend.attrib
+ "linkend IDREF #IMPLIED">
+
+
+<!-- Linkend: required link to related information -->
+
+<!ENTITY % linkendreq.attrib
+ "linkend IDREF #REQUIRED">
+
+
+<!-- Linkends: link to one or more sets of related information; no
+ default -->
+
+<!ENTITY % linkends.attrib
+ "linkends IDREFS #IMPLIED">
+
+
+<!ENTITY % local.mark.attrib "">
+<!ENTITY % mark.attrib
+ "mark CDATA #IMPLIED
+ %local.mark.attrib;"
+>
+
+
+<!-- MoreInfo: whether element's content has an associated RefEntry -->
+
+<!ENTITY % moreinfo.attrib
+ "moreinfo (refentry|none) 'none'">
+
+
+<!-- Pagenum: number of page on which element appears; no default -->
+
+<!ENTITY % pagenum.attrib
+ "pagenum CDATA #IMPLIED">
+
+<!ENTITY % local.status.attrib "">
+
+<!-- Status: Editorial or publication status of the element
+ it applies to, such as "in review" or "approved for distribution" -->
+
+<!ENTITY % status.attrib
+ "status CDATA #IMPLIED
+ %local.status.attrib;"
+>
+
+
+<!-- Width: width of the longest line in the element to which it
+ pertains, in number of characters -->
+
+<!ENTITY % width.attrib
+ "width CDATA #IMPLIED">
+
+<!-- ...................................................................... -->
+<!-- Title elements ....................................................... -->
+
+<!ENTITY % title.module "INCLUDE">
+<![%title.module;[
+<!ENTITY % local.title.attrib "">
+<!ENTITY % title.role.attrib "%role.attrib;">
+
+<!ENTITY % title.element "INCLUDE">
+<![%title.element;[
+<!--doc:The text of the title of a section of a document or of a formal block-level element.-->
+<!ELEMENT title %ho; (%title.char.mix;)*>
+<!--end of title.element-->]]>
+
+<!ENTITY % title.attlist "INCLUDE">
+<![%title.attlist;[
+<!ATTLIST title
+ %pagenum.attrib;
+ %common.attrib;
+ %title.role.attrib;
+ %local.title.attrib;
+>
+<!--end of title.attlist-->]]>
+<!--end of title.module-->]]>
+
+<!ENTITY % titleabbrev.module "INCLUDE">
+<![%titleabbrev.module;[
+<!ENTITY % local.titleabbrev.attrib "">
+<!ENTITY % titleabbrev.role.attrib "%role.attrib;">
+
+<!ENTITY % titleabbrev.element "INCLUDE">
+<![%titleabbrev.element;[
+<!--doc:The abbreviation of a Title.-->
+<!ELEMENT titleabbrev %ho; (%title.char.mix;)*>
+<!--end of titleabbrev.element-->]]>
+
+<!ENTITY % titleabbrev.attlist "INCLUDE">
+<![%titleabbrev.attlist;[
+<!ATTLIST titleabbrev
+ %common.attrib;
+ %titleabbrev.role.attrib;
+ %local.titleabbrev.attrib;
+>
+<!--end of titleabbrev.attlist-->]]>
+<!--end of titleabbrev.module-->]]>
+
+<!ENTITY % subtitle.module "INCLUDE">
+<![%subtitle.module;[
+<!ENTITY % local.subtitle.attrib "">
+<!ENTITY % subtitle.role.attrib "%role.attrib;">
+
+<!ENTITY % subtitle.element "INCLUDE">
+<![%subtitle.element;[
+<!--doc:The subtitle of a document.-->
+<!ELEMENT subtitle %ho; (%title.char.mix;)*>
+<!--end of subtitle.element-->]]>
+
+<!ENTITY % subtitle.attlist "INCLUDE">
+<![%subtitle.attlist;[
+<!ATTLIST subtitle
+ %common.attrib;
+ %subtitle.role.attrib;
+ %local.subtitle.attrib;
+>
+<!--end of subtitle.attlist-->]]>
+<!--end of subtitle.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Bibliographic entities and elements .................................. -->
+
+<!-- The bibliographic elements are typically used in the document
+ hierarchy. They do not appear in content models of information
+ pool elements. See also the document information elements,
+ below. -->
+
+<!ENTITY % local.person.ident.mix "">
+<!ENTITY % person.ident.mix
+ "honorific|firstname|surname|lineage|othername|affiliation
+ |authorblurb|contrib %local.person.ident.mix;">
+
+<!ENTITY % local.bibliocomponent.mix "">
+<!ENTITY % bibliocomponent.mix
+ "abbrev|abstract|address|artpagenums|author
+ |authorgroup|authorinitials|bibliomisc|biblioset
+ |collab|confgroup|contractnum|contractsponsor
+ |copyright|corpauthor|corpname|corpcredit|date|edition
+ |editor|invpartnumber|isbn|issn|issuenum|orgname
+ |biblioid|citebiblioid|bibliosource|bibliorelation|bibliocoverage
+ |othercredit|pagenums|printhistory|productname
+ |productnumber|pubdate|publisher|publishername
+ |pubsnumber|releaseinfo|revhistory|seriesvolnums
+ |subtitle|title|titleabbrev|volumenum|citetitle
+ |personname|%person.ident.mix;
+ |%ndxterm.class;
+ %local.bibliocomponent.mix;">
+
+<!-- I don't think this is well placed, but it needs to be here because of -->
+<!-- the reference to bibliocomponent.mix -->
+<!ENTITY % local.info.class "">
+<!ENTITY % info.class
+ "graphic | mediaobject | legalnotice | modespec
+ | subjectset | keywordset | itermset | %bibliocomponent.mix;
+ %local.info.class;">
+
+
+<!-- BiblioList ........................ -->
+
+<!ENTITY % bibliolist.module "INCLUDE">
+<![%bibliolist.module;[
+<!ENTITY % local.bibliolist.attrib "">
+<!ENTITY % bibliolist.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliolist.element "INCLUDE">
+<![%bibliolist.element;[
+<!--doc:A wrapper for a set of bibliography entries.-->
+<!ELEMENT bibliolist %ho; (blockinfo?, (%formalobject.title.content;)?,
+ (biblioentry|bibliomixed)+)>
+<!--end of bibliolist.element-->]]>
+
+<!ENTITY % bibliolist.attlist "INCLUDE">
+<![%bibliolist.attlist;[
+<!ATTLIST bibliolist
+ %common.attrib;
+ %bibliolist.role.attrib;
+ %local.bibliolist.attrib;
+>
+<!--end of bibliolist.attlist-->]]>
+<!--end of bibliolist.module-->]]>
+
+<!ENTITY % biblioentry.module "INCLUDE">
+<![%biblioentry.module;[
+<!ENTITY % local.biblioentry.attrib "">
+<!ENTITY % biblioentry.role.attrib "%role.attrib;">
+
+<!ENTITY % biblioentry.element "INCLUDE">
+<![%biblioentry.element;[
+<!--doc:An entry in a Bibliography.-->
+<!ELEMENT biblioentry %ho; ((articleinfo | (%bibliocomponent.mix;))+)
+ %ubiq.exclusion;>
+<!--end of biblioentry.element-->]]>
+
+<!ENTITY % biblioentry.attlist "INCLUDE">
+<![%biblioentry.attlist;[
+<!ATTLIST biblioentry
+ %common.attrib;
+ %biblioentry.role.attrib;
+ %local.biblioentry.attrib;
+>
+<!--end of biblioentry.attlist-->]]>
+<!--end of biblioentry.module-->]]>
+
+<!ENTITY % bibliomixed.module "INCLUDE">
+<![%bibliomixed.module;[
+<!ENTITY % local.bibliomixed.attrib "">
+<!ENTITY % bibliomixed.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliomixed.element "INCLUDE">
+<![%bibliomixed.element;[
+<!--doc:An entry in a Bibliography.-->
+<!ELEMENT bibliomixed %ho; (#PCDATA | %bibliocomponent.mix; | bibliomset)*
+ %ubiq.exclusion;>
+<!--end of bibliomixed.element-->]]>
+
+<!ENTITY % bibliomixed.attlist "INCLUDE">
+<![%bibliomixed.attlist;[
+<!ATTLIST bibliomixed
+ %common.attrib;
+ %bibliomixed.role.attrib;
+ %local.bibliomixed.attrib;
+>
+<!--end of bibliomixed.attlist-->]]>
+<!--end of bibliomixed.module-->]]>
+
+<!ENTITY % articleinfo.module "INCLUDE">
+<![%articleinfo.module;[
+<!ENTITY % local.articleinfo.attrib "">
+<!ENTITY % articleinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % articleinfo.element "INCLUDE">
+<![%articleinfo.element;[
+<!--doc:Meta-information for an Article.-->
+<!ELEMENT articleinfo %ho; ((%info.class;)+)
+ %beginpage.exclusion;>
+<!--end of articleinfo.element-->]]>
+
+<!ENTITY % articleinfo.attlist "INCLUDE">
+<![%articleinfo.attlist;[
+<!ATTLIST articleinfo
+ %common.attrib;
+ %articleinfo.role.attrib;
+ %local.articleinfo.attrib;
+>
+<!--end of articleinfo.attlist-->]]>
+<!--end of articleinfo.module-->]]>
+
+<!ENTITY % biblioset.module "INCLUDE">
+<![%biblioset.module;[
+<!ENTITY % local.biblioset.attrib "">
+<!ENTITY % biblioset.role.attrib "%role.attrib;">
+
+<!ENTITY % biblioset.element "INCLUDE">
+<![%biblioset.element;[
+<!--doc:A "raw" container for related bibliographic information.-->
+<!ELEMENT biblioset %ho; ((%bibliocomponent.mix;)+)
+ %ubiq.exclusion;>
+<!--end of biblioset.element-->]]>
+
+<!-- Relation: Relationship of elements contained within BiblioSet -->
+
+
+<!ENTITY % biblioset.attlist "INCLUDE">
+<![%biblioset.attlist;[
+<!ATTLIST biblioset
+ relation CDATA #IMPLIED
+ %common.attrib;
+ %biblioset.role.attrib;
+ %local.biblioset.attrib;
+>
+<!--end of biblioset.attlist-->]]>
+<!--end of biblioset.module-->]]>
+
+<!ENTITY % bibliomset.module "INCLUDE">
+<![%bibliomset.module;[
+<!ENTITY % bibliomset.role.attrib "%role.attrib;">
+<!ENTITY % local.bibliomset.attrib "">
+
+<!ENTITY % bibliomset.element "INCLUDE">
+<![%bibliomset.element;[
+<!--doc:A "cooked" container for related bibliographic information.-->
+<!ELEMENT bibliomset %ho; (#PCDATA | %bibliocomponent.mix; | bibliomset)*
+ %ubiq.exclusion;>
+<!--end of bibliomset.element-->]]>
+
+<!-- Relation: Relationship of elements contained within BiblioMSet -->
+
+
+<!ENTITY % bibliomset.attlist "INCLUDE">
+<![%bibliomset.attlist;[
+<!ATTLIST bibliomset
+ relation CDATA #IMPLIED
+ %common.attrib;
+ %bibliomset.role.attrib;
+ %local.bibliomset.attrib;
+>
+<!--end of bibliomset.attlist-->]]>
+<!--end of bibliomset.module-->]]>
+
+<!ENTITY % bibliomisc.module "INCLUDE">
+<![%bibliomisc.module;[
+<!ENTITY % local.bibliomisc.attrib "">
+<!ENTITY % bibliomisc.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliomisc.element "INCLUDE">
+<![%bibliomisc.element;[
+<!--doc:Untyped bibliographic information.-->
+<!ELEMENT bibliomisc %ho; (%para.char.mix;)*>
+<!--end of bibliomisc.element-->]]>
+
+<!ENTITY % bibliomisc.attlist "INCLUDE">
+<![%bibliomisc.attlist;[
+<!ATTLIST bibliomisc
+ %common.attrib;
+ %bibliomisc.role.attrib;
+ %local.bibliomisc.attrib;
+>
+<!--end of bibliomisc.attlist-->]]>
+<!--end of bibliomisc.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Subject, Keyword, and ITermSet elements .............................. -->
+
+<!ENTITY % subjectset.content.module "INCLUDE">
+<![%subjectset.content.module;[
+<!ENTITY % subjectset.module "INCLUDE">
+<![%subjectset.module;[
+<!ENTITY % local.subjectset.attrib "">
+<!ENTITY % subjectset.role.attrib "%role.attrib;">
+
+<!ENTITY % subjectset.element "INCLUDE">
+<![%subjectset.element;[
+<!--doc:A set of terms describing the subject matter of a document.-->
+<!ELEMENT subjectset %ho; (subject+)>
+<!--end of subjectset.element-->]]>
+
+<!-- Scheme: Controlled vocabulary employed in SubjectTerms -->
+
+
+<!ENTITY % subjectset.attlist "INCLUDE">
+<![%subjectset.attlist;[
+<!ATTLIST subjectset
+ scheme NMTOKEN #IMPLIED
+ %common.attrib;
+ %subjectset.role.attrib;
+ %local.subjectset.attrib;
+>
+<!--end of subjectset.attlist-->]]>
+<!--end of subjectset.module-->]]>
+
+<!ENTITY % subject.module "INCLUDE">
+<![%subject.module;[
+<!ENTITY % local.subject.attrib "">
+<!ENTITY % subject.role.attrib "%role.attrib;">
+
+<!ENTITY % subject.element "INCLUDE">
+<![%subject.element;[
+<!--doc:One of a group of terms describing the subject matter of a document.-->
+<!ELEMENT subject %ho; (subjectterm+)>
+<!--end of subject.element-->]]>
+
+<!-- Weight: Ranking of this group of SubjectTerms relative
+ to others, 0 is low, no highest value specified -->
+
+
+<!ENTITY % subject.attlist "INCLUDE">
+<![%subject.attlist;[
+<!ATTLIST subject
+ weight CDATA #IMPLIED
+ %common.attrib;
+ %subject.role.attrib;
+ %local.subject.attrib;
+>
+<!--end of subject.attlist-->]]>
+<!--end of subject.module-->]]>
+
+<!ENTITY % subjectterm.module "INCLUDE">
+<![%subjectterm.module;[
+<!ENTITY % local.subjectterm.attrib "">
+<!ENTITY % subjectterm.role.attrib "%role.attrib;">
+
+<!ENTITY % subjectterm.element "INCLUDE">
+<![%subjectterm.element;[
+<!--doc:A term in a group of terms describing the subject matter of a document.-->
+<!ELEMENT subjectterm %ho; (#PCDATA)>
+<!--end of subjectterm.element-->]]>
+
+<!ENTITY % subjectterm.attlist "INCLUDE">
+<![%subjectterm.attlist;[
+<!ATTLIST subjectterm
+ %common.attrib;
+ %subjectterm.role.attrib;
+ %local.subjectterm.attrib;
+>
+<!--end of subjectterm.attlist-->]]>
+<!--end of subjectterm.module-->]]>
+<!--end of subjectset.content.module-->]]>
+
+<!ENTITY % keywordset.content.module "INCLUDE">
+<![%keywordset.content.module;[
+<!ENTITY % keywordset.module "INCLUDE">
+<![%keywordset.module;[
+<!ENTITY % local.keywordset.attrib "">
+<!ENTITY % keywordset.role.attrib "%role.attrib;">
+
+<!ENTITY % keywordset.element "INCLUDE">
+<![%keywordset.element;[
+<!--doc:A set of keywords describing the content of a document.-->
+<!ELEMENT keywordset %ho; (keyword+)>
+<!--end of keywordset.element-->]]>
+
+<!ENTITY % keywordset.attlist "INCLUDE">
+<![%keywordset.attlist;[
+<!ATTLIST keywordset
+ %common.attrib;
+ %keywordset.role.attrib;
+ %local.keywordset.attrib;
+>
+<!--end of keywordset.attlist-->]]>
+<!--end of keywordset.module-->]]>
+
+<!ENTITY % keyword.module "INCLUDE">
+<![%keyword.module;[
+<!ENTITY % local.keyword.attrib "">
+<!ENTITY % keyword.role.attrib "%role.attrib;">
+
+<!ENTITY % keyword.element "INCLUDE">
+<![%keyword.element;[
+<!--doc:One of a set of keywords describing the content of a document.-->
+<!ELEMENT keyword %ho; (#PCDATA)>
+<!--end of keyword.element-->]]>
+
+<!ENTITY % keyword.attlist "INCLUDE">
+<![%keyword.attlist;[
+<!ATTLIST keyword
+ %common.attrib;
+ %keyword.role.attrib;
+ %local.keyword.attrib;
+>
+<!--end of keyword.attlist-->]]>
+<!--end of keyword.module-->]]>
+<!--end of keywordset.content.module-->]]>
+
+<!ENTITY % itermset.module "INCLUDE">
+<![%itermset.module;[
+<!ENTITY % local.itermset.attrib "">
+<!ENTITY % itermset.role.attrib "%role.attrib;">
+
+<!ENTITY % itermset.element "INCLUDE">
+<![%itermset.element;[
+<!--doc:A set of index terms in the meta-information of a document.-->
+<!ELEMENT itermset %ho; (indexterm+)>
+<!--end of itermset.element-->]]>
+
+<!ENTITY % itermset.attlist "INCLUDE">
+<![%itermset.attlist;[
+<!ATTLIST itermset
+ %common.attrib;
+ %itermset.role.attrib;
+ %local.itermset.attrib;
+>
+<!--end of itermset.attlist-->]]>
+<!--end of itermset.module-->]]>
+
+<!-- Bibliographic info for "blocks" -->
+
+<!ENTITY % blockinfo.module "INCLUDE">
+<![ %blockinfo.module; [
+<!ENTITY % local.blockinfo.attrib "">
+<!ENTITY % blockinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % blockinfo.element "INCLUDE">
+<![ %blockinfo.element; [
+<!--doc:Meta-information for a block element.-->
+<!ELEMENT blockinfo %ho; ((%info.class;)+)
+ %beginpage.exclusion;>
+<!--end of blockinfo.element-->]]>
+
+<!ENTITY % blockinfo.attlist "INCLUDE">
+<![ %blockinfo.attlist; [
+<!ATTLIST blockinfo
+ %common.attrib;
+ %blockinfo.role.attrib;
+ %local.blockinfo.attrib;
+>
+<!--end of blockinfo.attlist-->]]>
+<!--end of blockinfo.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Compound (section-ish) elements ...................................... -->
+
+<!-- Message set ...................... -->
+
+<!ENTITY % msgset.content.module "INCLUDE">
+<![%msgset.content.module;[
+<!ENTITY % msgset.module "INCLUDE">
+<![%msgset.module;[
+<!ENTITY % local.msgset.attrib "">
+<!ENTITY % msgset.role.attrib "%role.attrib;">
+
+<!ENTITY % msgset.element "INCLUDE">
+<![%msgset.element;[
+<!--doc:A detailed set of messages, usually error messages.-->
+<!ELEMENT msgset %ho; (blockinfo?, (%formalobject.title.content;)?,
+ (msgentry+|simplemsgentry+))>
+<!--end of msgset.element-->]]>
+
+<!ENTITY % msgset.attlist "INCLUDE">
+<![%msgset.attlist;[
+<!ATTLIST msgset
+ %common.attrib;
+ %msgset.role.attrib;
+ %local.msgset.attrib;
+>
+<!--end of msgset.attlist-->]]>
+<!--end of msgset.module-->]]>
+
+<!ENTITY % msgentry.module "INCLUDE">
+<![%msgentry.module;[
+<!ENTITY % local.msgentry.attrib "">
+<!ENTITY % msgentry.role.attrib "%role.attrib;">
+
+<!ENTITY % msgentry.element "INCLUDE">
+<![%msgentry.element;[
+<!--doc:A wrapper for an entry in a message set.-->
+<!ELEMENT msgentry %ho; (msg+, msginfo?, msgexplan*)>
+<!--end of msgentry.element-->]]>
+
+<!ENTITY % msgentry.attlist "INCLUDE">
+<![%msgentry.attlist;[
+<!ATTLIST msgentry
+ %common.attrib;
+ %msgentry.role.attrib;
+ %local.msgentry.attrib;
+>
+<!--end of msgentry.attlist-->]]>
+<!--end of msgentry.module-->]]>
+
+<!ENTITY % simplemsgentry.module "INCLUDE">
+<![ %simplemsgentry.module; [
+<!ENTITY % local.simplemsgentry.attrib "">
+<!ENTITY % simplemsgentry.role.attrib "%role.attrib;">
+
+<!ENTITY % simplemsgentry.element "INCLUDE">
+<![ %simplemsgentry.element; [
+<!--doc:A wrapper for a simpler entry in a message set.-->
+<!ELEMENT simplemsgentry %ho; (msgtext, msgexplan+)>
+<!--end of simplemsgentry.element-->]]>
+
+<!ENTITY % simplemsgentry.attlist "INCLUDE">
+<![ %simplemsgentry.attlist; [
+<!ATTLIST simplemsgentry
+ audience CDATA #IMPLIED
+ level CDATA #IMPLIED
+ origin CDATA #IMPLIED
+ %common.attrib;
+ %simplemsgentry.role.attrib;
+ %local.simplemsgentry.attrib;
+>
+<!--end of simplemsgentry.attlist-->]]>
+<!--end of simplemsgentry.module-->]]>
+
+<!ENTITY % msg.module "INCLUDE">
+<![%msg.module;[
+<!ENTITY % local.msg.attrib "">
+<!ENTITY % msg.role.attrib "%role.attrib;">
+
+<!ENTITY % msg.element "INCLUDE">
+<![%msg.element;[
+<!--doc:A message in a message set.-->
+<!ELEMENT msg %ho; (title?, msgmain, (msgsub | msgrel)*)>
+<!--end of msg.element-->]]>
+
+<!ENTITY % msg.attlist "INCLUDE">
+<![%msg.attlist;[
+<!ATTLIST msg
+ %common.attrib;
+ %msg.role.attrib;
+ %local.msg.attrib;
+>
+<!--end of msg.attlist-->]]>
+<!--end of msg.module-->]]>
+
+<!ENTITY % msgmain.module "INCLUDE">
+<![%msgmain.module;[
+<!ENTITY % local.msgmain.attrib "">
+<!ENTITY % msgmain.role.attrib "%role.attrib;">
+
+<!ENTITY % msgmain.element "INCLUDE">
+<![%msgmain.element;[
+<!--doc:The primary component of a message in a message set.-->
+<!ELEMENT msgmain %ho; (title?, msgtext)>
+<!--end of msgmain.element-->]]>
+
+<!ENTITY % msgmain.attlist "INCLUDE">
+<![%msgmain.attlist;[
+<!ATTLIST msgmain
+ %common.attrib;
+ %msgmain.role.attrib;
+ %local.msgmain.attrib;
+>
+<!--end of msgmain.attlist-->]]>
+<!--end of msgmain.module-->]]>
+
+<!ENTITY % msgsub.module "INCLUDE">
+<![%msgsub.module;[
+<!ENTITY % local.msgsub.attrib "">
+<!ENTITY % msgsub.role.attrib "%role.attrib;">
+
+<!ENTITY % msgsub.element "INCLUDE">
+<![%msgsub.element;[
+<!--doc:A subcomponent of a message in a message set.-->
+<!ELEMENT msgsub %ho; (title?, msgtext)>
+<!--end of msgsub.element-->]]>
+
+<!ENTITY % msgsub.attlist "INCLUDE">
+<![%msgsub.attlist;[
+<!ATTLIST msgsub
+ %common.attrib;
+ %msgsub.role.attrib;
+ %local.msgsub.attrib;
+>
+<!--end of msgsub.attlist-->]]>
+<!--end of msgsub.module-->]]>
+
+<!ENTITY % msgrel.module "INCLUDE">
+<![%msgrel.module;[
+<!ENTITY % local.msgrel.attrib "">
+<!ENTITY % msgrel.role.attrib "%role.attrib;">
+
+<!ENTITY % msgrel.element "INCLUDE">
+<![%msgrel.element;[
+<!--doc:A related component of a message in a message set.-->
+<!ELEMENT msgrel %ho; (title?, msgtext)>
+<!--end of msgrel.element-->]]>
+
+<!ENTITY % msgrel.attlist "INCLUDE">
+<![%msgrel.attlist;[
+<!ATTLIST msgrel
+ %common.attrib;
+ %msgrel.role.attrib;
+ %local.msgrel.attrib;
+>
+<!--end of msgrel.attlist-->]]>
+<!--end of msgrel.module-->]]>
+
+<!-- MsgText (defined in the Inlines section, below)-->
+
+<!ENTITY % msginfo.module "INCLUDE">
+<![%msginfo.module;[
+<!ENTITY % local.msginfo.attrib "">
+<!ENTITY % msginfo.role.attrib "%role.attrib;">
+
+<!ENTITY % msginfo.element "INCLUDE">
+<![%msginfo.element;[
+<!--doc:Information about a message in a message set.-->
+<!ELEMENT msginfo %ho; ((msglevel | msgorig | msgaud)*)>
+<!--end of msginfo.element-->]]>
+
+<!ENTITY % msginfo.attlist "INCLUDE">
+<![%msginfo.attlist;[
+<!ATTLIST msginfo
+ %common.attrib;
+ %msginfo.role.attrib;
+ %local.msginfo.attrib;
+>
+<!--end of msginfo.attlist-->]]>
+<!--end of msginfo.module-->]]>
+
+<!ENTITY % msglevel.module "INCLUDE">
+<![%msglevel.module;[
+<!ENTITY % local.msglevel.attrib "">
+<!ENTITY % msglevel.role.attrib "%role.attrib;">
+
+<!ENTITY % msglevel.element "INCLUDE">
+<![%msglevel.element;[
+<!--doc:The level of importance or severity of a message in a message set.-->
+<!ELEMENT msglevel %ho; (%smallcptr.char.mix;)*>
+<!--end of msglevel.element-->]]>
+
+<!ENTITY % msglevel.attlist "INCLUDE">
+<![%msglevel.attlist;[
+<!ATTLIST msglevel
+ %common.attrib;
+ %msglevel.role.attrib;
+ %local.msglevel.attrib;
+>
+<!--end of msglevel.attlist-->]]>
+<!--end of msglevel.module-->]]>
+
+<!ENTITY % msgorig.module "INCLUDE">
+<![%msgorig.module;[
+<!ENTITY % local.msgorig.attrib "">
+<!ENTITY % msgorig.role.attrib "%role.attrib;">
+
+<!ENTITY % msgorig.element "INCLUDE">
+<![%msgorig.element;[
+<!--doc:The origin of a message in a message set.-->
+<!ELEMENT msgorig %ho; (%smallcptr.char.mix;)*>
+<!--end of msgorig.element-->]]>
+
+<!ENTITY % msgorig.attlist "INCLUDE">
+<![%msgorig.attlist;[
+<!ATTLIST msgorig
+ %common.attrib;
+ %msgorig.role.attrib;
+ %local.msgorig.attrib;
+>
+<!--end of msgorig.attlist-->]]>
+<!--end of msgorig.module-->]]>
+
+<!ENTITY % msgaud.module "INCLUDE">
+<![%msgaud.module;[
+<!ENTITY % local.msgaud.attrib "">
+<!ENTITY % msgaud.role.attrib "%role.attrib;">
+
+<!ENTITY % msgaud.element "INCLUDE">
+<![%msgaud.element;[
+<!--doc:The audience to which a message in a message set is relevant.-->
+<!ELEMENT msgaud %ho; (%para.char.mix;)*>
+<!--end of msgaud.element-->]]>
+
+<!ENTITY % msgaud.attlist "INCLUDE">
+<![%msgaud.attlist;[
+<!ATTLIST msgaud
+ %common.attrib;
+ %msgaud.role.attrib;
+ %local.msgaud.attrib;
+>
+<!--end of msgaud.attlist-->]]>
+<!--end of msgaud.module-->]]>
+
+<!ENTITY % msgexplan.module "INCLUDE">
+<![%msgexplan.module;[
+<!ENTITY % local.msgexplan.attrib "">
+<!ENTITY % msgexplan.role.attrib "%role.attrib;">
+
+<!ENTITY % msgexplan.element "INCLUDE">
+<![%msgexplan.element;[
+<!--doc:Explanatory material relating to a message in a message set.-->
+<!ELEMENT msgexplan %ho; (title?, (%component.mix;)+)>
+<!--end of msgexplan.element-->]]>
+
+<!ENTITY % msgexplan.attlist "INCLUDE">
+<![%msgexplan.attlist;[
+<!ATTLIST msgexplan
+ %common.attrib;
+ %msgexplan.role.attrib;
+ %local.msgexplan.attrib;
+>
+<!--end of msgexplan.attlist-->]]>
+<!--end of msgexplan.module-->]]>
+<!--end of msgset.content.module-->]]>
+
+<!ENTITY % task.content.module "INCLUDE">
+<![%task.content.module;[
+<!ENTITY % task.module "INCLUDE">
+<![%task.module;[
+<!ENTITY % local.task.attrib "">
+<!ENTITY % task.role.attrib "%role.attrib;">
+
+<!ENTITY % task.element "INCLUDE">
+<![%task.element;[
+<!--doc:A task to be completed.-->
+<!ELEMENT task %ho; (blockinfo?,(%ndxterm.class;)*,
+ (%formalobject.title.content;),
+ tasksummary?,
+ taskprerequisites?,
+ procedure,
+ example*,
+ taskrelated?)>
+<!--end of task.element-->]]>
+
+<!ENTITY % task.attlist "INCLUDE">
+<![%task.attlist;[
+<!ATTLIST task
+ %common.attrib;
+ %task.role.attrib;
+ %local.task.attrib;
+>
+<!--end of task.attlist-->]]>
+<!--end of task.module-->]]>
+
+<!ENTITY % tasksummary.module "INCLUDE">
+<![%tasksummary.module;[
+<!ENTITY % local.tasksummary.attrib "">
+<!ENTITY % tasksummary.role.attrib "%role.attrib;">
+
+<!ENTITY % tasksummary.element "INCLUDE">
+<![%tasksummary.element;[
+<!--doc:A summary of a task.-->
+<!ELEMENT tasksummary %ho; (blockinfo?,
+ (%formalobject.title.content;)?,
+ (%component.mix;)+)>
+<!--end of tasksummary.element-->]]>
+
+<!ENTITY % tasksummary.attlist "INCLUDE">
+<![%tasksummary.attlist;[
+<!ATTLIST tasksummary
+ %common.attrib;
+ %tasksummary.role.attrib;
+ %local.tasksummary.attrib;
+>
+<!--end of tasksummary.attlist-->]]>
+<!--end of tasksummary.module-->]]>
+
+<!ENTITY % taskprerequisites.module "INCLUDE">
+<![%taskprerequisites.module;[
+<!ENTITY % local.taskprerequisites.attrib "">
+<!ENTITY % taskprerequisites.role.attrib "%role.attrib;">
+
+<!ENTITY % taskprerequisites.element "INCLUDE">
+<![%taskprerequisites.element;[
+<!--doc:The prerequisites for a task.-->
+<!ELEMENT taskprerequisites %ho; (blockinfo?,
+ (%formalobject.title.content;)?,
+ (%component.mix;)+)>
+<!--end of taskprerequisites.element-->]]>
+
+<!ENTITY % taskprerequisites.attlist "INCLUDE">
+<![%taskprerequisites.attlist;[
+<!ATTLIST taskprerequisites
+ %common.attrib;
+ %taskprerequisites.role.attrib;
+ %local.taskprerequisites.attrib;
+>
+<!--end of taskprerequisites.attlist-->]]>
+<!--end of taskprerequisites.module-->]]>
+
+<!ENTITY % taskrelated.module "INCLUDE">
+<![%taskrelated.module;[
+<!ENTITY % local.taskrelated.attrib "">
+<!ENTITY % taskrelated.role.attrib "%role.attrib;">
+
+<!ENTITY % taskrelated.element "INCLUDE">
+<![%taskrelated.element;[
+<!--doc:Information related to a task.-->
+<!ELEMENT taskrelated %ho; (blockinfo?,
+ (%formalobject.title.content;)?,
+ (%component.mix;)+)>
+<!--end of taskrelated.element-->]]>
+
+<!ENTITY % taskrelated.attlist "INCLUDE">
+<![%taskrelated.attlist;[
+<!ATTLIST taskrelated
+ %common.attrib;
+ %taskrelated.role.attrib;
+ %local.taskrelated.attrib;
+>
+<!--end of taskrelated.attlist-->]]>
+<!--end of taskrelated.module-->]]>
+<!--end of task.content.module-->]]>
+
+<!-- QandASet ........................ -->
+<!ENTITY % qandaset.content.module "INCLUDE">
+<![ %qandaset.content.module; [
+<!ENTITY % qandaset.module "INCLUDE">
+<![ %qandaset.module; [
+<!ENTITY % local.qandaset.attrib "">
+<!ENTITY % qandaset.role.attrib "%role.attrib;">
+
+<!ENTITY % qandaset.element "INCLUDE">
+<![ %qandaset.element; [
+<!--doc:A question-and-answer set.-->
+<!ELEMENT qandaset %ho; (blockinfo?, (%formalobject.title.content;)?,
+ (%qandaset.mix;)*,
+ (qandadiv+|qandaentry+))>
+<!--end of qandaset.element-->]]>
+
+<!ENTITY % qandaset.attlist "INCLUDE">
+<![ %qandaset.attlist; [
+<!ATTLIST qandaset
+ defaultlabel (qanda|number|none) #IMPLIED
+ %common.attrib;
+ %qandaset.role.attrib;
+ %local.qandaset.attrib;>
+<!--end of qandaset.attlist-->]]>
+<!--end of qandaset.module-->]]>
+
+<!ENTITY % qandadiv.module "INCLUDE">
+<![ %qandadiv.module; [
+<!ENTITY % local.qandadiv.attrib "">
+<!ENTITY % qandadiv.role.attrib "%role.attrib;">
+
+<!ENTITY % qandadiv.element "INCLUDE">
+<![ %qandadiv.element; [
+<!--doc:A titled division in a QandASet.-->
+<!ELEMENT qandadiv %ho; (blockinfo?, (%formalobject.title.content;)?,
+ (%qandaset.mix;)*,
+ (qandadiv+|qandaentry+))>
+<!--end of qandadiv.element-->]]>
+
+<!ENTITY % qandadiv.attlist "INCLUDE">
+<![ %qandadiv.attlist; [
+<!ATTLIST qandadiv
+ %common.attrib;
+ %qandadiv.role.attrib;
+ %local.qandadiv.attrib;>
+<!--end of qandadiv.attlist-->]]>
+<!--end of qandadiv.module-->]]>
+
+<!ENTITY % qandaentry.module "INCLUDE">
+<![ %qandaentry.module; [
+<!ENTITY % local.qandaentry.attrib "">
+<!ENTITY % qandaentry.role.attrib "%role.attrib;">
+
+<!ENTITY % qandaentry.element "INCLUDE">
+<![ %qandaentry.element; [
+<!--doc:A question/answer set within a QandASet.-->
+<!ELEMENT qandaentry %ho; (blockinfo?, revhistory?, question, answer*)>
+<!--end of qandaentry.element-->]]>
+
+<!ENTITY % qandaentry.attlist "INCLUDE">
+<![ %qandaentry.attlist; [
+<!ATTLIST qandaentry
+ %common.attrib;
+ %qandaentry.role.attrib;
+ %local.qandaentry.attrib;>
+<!--end of qandaentry.attlist-->]]>
+<!--end of qandaentry.module-->]]>
+
+<!ENTITY % question.module "INCLUDE">
+<![ %question.module; [
+<!ENTITY % local.question.attrib "">
+<!ENTITY % question.role.attrib "%role.attrib;">
+
+<!ENTITY % question.element "INCLUDE">
+<![ %question.element; [
+<!--doc:A question in a QandASet.-->
+<!ELEMENT question %ho; (label?, (%qandaset.mix;)+)>
+<!--end of question.element-->]]>
+
+<!ENTITY % question.attlist "INCLUDE">
+<![ %question.attlist; [
+<!ATTLIST question
+ %common.attrib;
+ %question.role.attrib;
+ %local.question.attrib;
+>
+<!--end of question.attlist-->]]>
+<!--end of question.module-->]]>
+
+<!ENTITY % answer.module "INCLUDE">
+<![ %answer.module; [
+<!ENTITY % local.answer.attrib "">
+<!ENTITY % answer.role.attrib "%role.attrib;">
+
+<!ENTITY % answer.element "INCLUDE">
+<![ %answer.element; [
+<!--doc:An answer to a question posed in a QandASet.-->
+<!ELEMENT answer %ho; (label?, (%qandaset.mix;)*, qandaentry*)>
+<!--end of answer.element-->]]>
+
+<!ENTITY % answer.attlist "INCLUDE">
+<![ %answer.attlist; [
+<!ATTLIST answer
+ %common.attrib;
+ %answer.role.attrib;
+ %local.answer.attrib;
+>
+<!--end of answer.attlist-->]]>
+<!--end of answer.module-->]]>
+
+<!ENTITY % label.module "INCLUDE">
+<![ %label.module; [
+<!ENTITY % local.label.attrib "">
+<!ENTITY % label.role.attrib "%role.attrib;">
+
+<!ENTITY % label.element "INCLUDE">
+<![ %label.element; [
+<!--doc:A label on a Question or Answer.-->
+<!ELEMENT label %ho; (%word.char.mix;)*>
+<!--end of label.element-->]]>
+
+<!ENTITY % label.attlist "INCLUDE">
+<![ %label.attlist; [
+<!ATTLIST label
+ %common.attrib;
+ %label.role.attrib;
+ %local.label.attrib;
+>
+<!--end of label.attlist-->]]>
+<!--end of label.module-->]]>
+<!--end of qandaset.content.module-->]]>
+
+<!-- Procedure ........................ -->
+
+<!ENTITY % procedure.content.module "INCLUDE">
+<![%procedure.content.module;[
+<!ENTITY % procedure.module "INCLUDE">
+<![%procedure.module;[
+<!ENTITY % local.procedure.attrib "">
+<!ENTITY % procedure.role.attrib "%role.attrib;">
+
+<!ENTITY % procedure.element "INCLUDE">
+<![%procedure.element;[
+<!--doc:A list of operations to be performed in a well-defined sequence.-->
+<!ELEMENT procedure %ho; (blockinfo?, (%formalobject.title.content;)?,
+ (%component.mix;)*, step+)>
+<!--end of procedure.element-->]]>
+
+<!ENTITY % procedure.attlist "INCLUDE">
+<![%procedure.attlist;[
+<!ATTLIST procedure
+ %common.attrib;
+ %procedure.role.attrib;
+ %local.procedure.attrib;
+>
+<!--end of procedure.attlist-->]]>
+<!--end of procedure.module-->]]>
+
+<!ENTITY % step.module "INCLUDE">
+<![%step.module;[
+<!ENTITY % local.step.attrib "">
+<!ENTITY % step.role.attrib "%role.attrib;">
+
+<!ENTITY % step.element "INCLUDE">
+<![%step.element;[
+<!--doc:A unit of action in a procedure.-->
+<!ELEMENT step %ho; (title?, (((%component.mix;)+, ((substeps|stepalternatives), (%component.mix;)*)?)
+ | ((substeps|stepalternatives), (%component.mix;)*)))>
+<!--end of step.element-->]]>
+
+<!-- Performance: Whether the Step must be performed -->
+<!-- not #REQUIRED! -->
+
+
+<!ENTITY % step.attlist "INCLUDE">
+<![%step.attlist;[
+<!ATTLIST step
+ performance (optional
+ |required) "required"
+ %common.attrib;
+ %step.role.attrib;
+ %local.step.attrib;
+>
+<!--end of step.attlist-->]]>
+<!--end of step.module-->]]>
+
+<!ENTITY % substeps.module "INCLUDE">
+<![%substeps.module;[
+<!ENTITY % local.substeps.attrib "">
+<!ENTITY % substeps.role.attrib "%role.attrib;">
+
+<!ENTITY % substeps.element "INCLUDE">
+<![%substeps.element;[
+<!--doc:A wrapper for steps that occur within steps in a procedure.-->
+<!ELEMENT substeps %ho; (step+)>
+<!--end of substeps.element-->]]>
+
+<!-- Performance: whether entire set of substeps must be performed -->
+<!-- not #REQUIRED! -->
+
+<!ENTITY % substeps.attlist "INCLUDE">
+<![%substeps.attlist;[
+<!ATTLIST substeps
+ performance (optional
+ |required) "required"
+ %common.attrib;
+ %substeps.role.attrib;
+ %local.substeps.attrib;
+>
+<!--end of substeps.attlist-->]]>
+<!--end of substeps.module-->]]>
+
+<!ENTITY % stepalternatives.module "INCLUDE">
+<![%stepalternatives.module;[
+<!ENTITY % local.stepalternatives.attrib "">
+<!ENTITY % stepalternatives.role.attrib "%role.attrib;">
+
+<!ENTITY % stepalternatives.element "INCLUDE">
+<![%stepalternatives.element;[
+<!--doc:Alternative steps in a procedure.-->
+<!ELEMENT stepalternatives %ho; (step+)>
+<!--end of stepalternatives.element-->]]>
+
+<!-- Performance: Whether (one of) the alternatives must be performed -->
+<!-- not #REQUIRED! -->
+
+<!ENTITY % stepalternatives.attlist "INCLUDE">
+<![%stepalternatives.attlist;[
+<!ATTLIST stepalternatives
+ performance (optional
+ |required) "required"
+ %common.attrib;
+ %stepalternatives.role.attrib;
+ %local.stepalternatives.attrib;
+>
+<!--end of stepalternatives.attlist-->]]>
+<!--end of stepalternatives.module-->]]>
+<!--end of procedure.content.module-->]]>
+
+<!-- Sidebar .......................... -->
+
+<!ENTITY % sidebar.content.model "INCLUDE">
+<![ %sidebar.content.model; [
+
+<!ENTITY % sidebarinfo.module "INCLUDE">
+<![ %sidebarinfo.module; [
+<!ENTITY % local.sidebarinfo.attrib "">
+<!ENTITY % sidebarinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % sidebarinfo.element "INCLUDE">
+<![ %sidebarinfo.element; [
+<!--doc:Meta-information for a Sidebar.-->
+<!ELEMENT sidebarinfo %ho; ((%info.class;)+)
+ %beginpage.exclusion;>
+<!--end of sidebarinfo.element-->]]>
+
+<!ENTITY % sidebarinfo.attlist "INCLUDE">
+<![ %sidebarinfo.attlist; [
+<!ATTLIST sidebarinfo
+ %common.attrib;
+ %sidebarinfo.role.attrib;
+ %local.sidebarinfo.attrib;
+>
+<!--end of sidebarinfo.attlist-->]]>
+<!--end of sidebarinfo.module-->]]>
+
+<!ENTITY % sidebar.module "INCLUDE">
+<![%sidebar.module;[
+<!ENTITY % local.sidebar.attrib "">
+<!ENTITY % sidebar.role.attrib "%role.attrib;">
+
+<!ENTITY % sidebar.element "INCLUDE">
+<![%sidebar.element;[
+<!--doc:A portion of a document that is isolated from the main narrative flow.-->
+<!ELEMENT sidebar %ho; (sidebarinfo?,
+ (%formalobject.title.content;)?,
+ (%sidebar.mix;)+)>
+<!--end of sidebar.element-->]]>
+
+<!ENTITY % sidebar.attlist "INCLUDE">
+<![%sidebar.attlist;[
+<!ATTLIST sidebar
+ %common.attrib;
+ %sidebar.role.attrib;
+ %local.sidebar.attrib;
+>
+<!--end of sidebar.attlist-->]]>
+<!--end of sidebar.module-->]]>
+<!--end of sidebar.content.model-->]]>
+
+<!-- ...................................................................... -->
+<!-- Paragraph-related elements ........................................... -->
+
+<!ENTITY % abstract.module "INCLUDE">
+<![%abstract.module;[
+<!ENTITY % local.abstract.attrib "">
+<!ENTITY % abstract.role.attrib "%role.attrib;">
+
+<!ENTITY % abstract.element "INCLUDE">
+<![%abstract.element;[
+<!--doc:A summary.-->
+<!ELEMENT abstract %ho; (title?, (%para.class;)+)>
+<!--end of abstract.element-->]]>
+
+<!ENTITY % abstract.attlist "INCLUDE">
+<![%abstract.attlist;[
+<!ATTLIST abstract
+ %common.attrib;
+ %abstract.role.attrib;
+ %local.abstract.attrib;
+>
+<!--end of abstract.attlist-->]]>
+<!--end of abstract.module-->]]>
+
+<!ENTITY % authorblurb.module "INCLUDE">
+<![%authorblurb.module;[
+<!ENTITY % local.authorblurb.attrib "">
+<!ENTITY % authorblurb.role.attrib "%role.attrib;">
+
+<!ENTITY % authorblurb.element "INCLUDE">
+<![%authorblurb.element;[
+<!--doc:A short description or note about an author.-->
+<!ELEMENT authorblurb %ho; (title?, (%para.class;)+)>
+<!--end of authorblurb.element-->]]>
+
+<!ENTITY % authorblurb.attlist "INCLUDE">
+<![%authorblurb.attlist;[
+<!ATTLIST authorblurb
+ %common.attrib;
+ %authorblurb.role.attrib;
+ %local.authorblurb.attrib;
+>
+<!--end of authorblurb.attlist-->]]>
+<!--end of authorblurb.module-->]]>
+
+<!ENTITY % personblurb.module "INCLUDE">
+<![%personblurb.module;[
+<!ENTITY % local.personblurb.attrib "">
+<!ENTITY % personblurb.role.attrib "%role.attrib;">
+
+<!ENTITY % personblurb.element "INCLUDE">
+<![%personblurb.element;[
+<!--doc:A short description or note about a person.-->
+<!ELEMENT personblurb %ho; (title?, (%para.class;)+)>
+<!--end of personblurb.element-->]]>
+
+<!ENTITY % personblurb.attlist "INCLUDE">
+<![%personblurb.attlist;[
+<!ATTLIST personblurb
+ %common.attrib;
+ %personblurb.role.attrib;
+ %local.personblurb.attrib;
+>
+<!--end of personblurb.attlist-->]]>
+<!--end of personblurb.module-->]]>
+
+<!ENTITY % blockquote.module "INCLUDE">
+<![%blockquote.module;[
+
+<!ENTITY % local.blockquote.attrib "">
+<!ENTITY % blockquote.role.attrib "%role.attrib;">
+
+<!ENTITY % blockquote.element "INCLUDE">
+<![%blockquote.element;[
+<!--doc:A quotation set off from the main text.-->
+<!ELEMENT blockquote %ho; (blockinfo?, title?, attribution?, (%component.mix;)+)
+ %blockquote.exclusion;>
+<!--end of blockquote.element-->]]>
+
+<!ENTITY % blockquote.attlist "INCLUDE">
+<![%blockquote.attlist;[
+<!ATTLIST blockquote
+ %common.attrib;
+ %blockquote.role.attrib;
+ %local.blockquote.attrib;
+>
+<!--end of blockquote.attlist-->]]>
+<!--end of blockquote.module-->]]>
+
+<!ENTITY % attribution.module "INCLUDE">
+<![%attribution.module;[
+<!ENTITY % local.attribution.attrib "">
+<!ENTITY % attribution.role.attrib "%role.attrib;">
+
+<!ENTITY % attribution.element "INCLUDE">
+<![%attribution.element;[
+<!--doc:The source of a block quote or epigraph.-->
+<!ELEMENT attribution %ho; (%para.char.mix;)*>
+<!--end of attribution.element-->]]>
+
+<!ENTITY % attribution.attlist "INCLUDE">
+<![%attribution.attlist;[
+<!ATTLIST attribution
+ %common.attrib;
+ %attribution.role.attrib;
+ %local.attribution.attrib;
+>
+<!--end of attribution.attlist-->]]>
+<!--end of attribution.module-->]]>
+
+<!ENTITY % bridgehead.module "INCLUDE">
+<![%bridgehead.module;[
+<!ENTITY % local.bridgehead.attrib "">
+<!ENTITY % bridgehead.role.attrib "%role.attrib;">
+
+<!ENTITY % bridgehead.element "INCLUDE">
+<![%bridgehead.element;[
+<!--doc:A free-floating heading.-->
+<!ELEMENT bridgehead %ho; (%title.char.mix;)*>
+<!--end of bridgehead.element-->]]>
+
+<!-- Renderas: Indicates the format in which the BridgeHead
+ should appear -->
+
+
+<!ENTITY % bridgehead.attlist "INCLUDE">
+<![%bridgehead.attlist;[
+<!ATTLIST bridgehead
+ renderas (other
+ |sect1
+ |sect2
+ |sect3
+ |sect4
+ |sect5) #IMPLIED
+ %common.attrib;
+ %bridgehead.role.attrib;
+ %local.bridgehead.attrib;
+>
+<!--end of bridgehead.attlist-->]]>
+<!--end of bridgehead.module-->]]>
+
+<!ENTITY % remark.module "INCLUDE">
+<![%remark.module;[
+<!ENTITY % local.remark.attrib "">
+<!ENTITY % remark.role.attrib "%role.attrib;">
+
+<!ENTITY % remark.element "INCLUDE">
+<![%remark.element;[
+<!--doc:A remark (or comment) intended for presentation in a draft manuscript.-->
+<!ELEMENT remark %ho; (%para.char.mix;)*
+ %remark.exclusion;>
+<!--end of remark.element-->]]>
+
+<!ENTITY % remark.attlist "INCLUDE">
+<![%remark.attlist;[
+<!ATTLIST remark
+ %common.attrib;
+ %remark.role.attrib;
+ %local.remark.attrib;
+>
+<!--end of remark.attlist-->]]>
+<!--end of remark.module-->]]>
+
+<!ENTITY % epigraph.module "INCLUDE">
+<![%epigraph.module;[
+<!ENTITY % local.epigraph.attrib "">
+<!ENTITY % epigraph.role.attrib "%role.attrib;">
+
+<!ENTITY % epigraph.element "INCLUDE">
+<![%epigraph.element;[
+<!--doc:A short inscription at the beginning of a document or component.-->
+<!ELEMENT epigraph %ho; (attribution?, ((%para.class;)|literallayout)+)>
+<!--end of epigraph.element-->]]>
+
+<!ENTITY % epigraph.attlist "INCLUDE">
+<![%epigraph.attlist;[
+<!ATTLIST epigraph
+ %common.attrib;
+ %epigraph.role.attrib;
+ %local.epigraph.attrib;
+>
+<!--end of epigraph.attlist-->]]>
+<!-- Attribution (defined above)-->
+<!--end of epigraph.module-->]]>
+
+<!ENTITY % footnote.module "INCLUDE">
+<![%footnote.module;[
+<!ENTITY % local.footnote.attrib "">
+<!ENTITY % footnote.role.attrib "%role.attrib;">
+
+<!ENTITY % footnote.element "INCLUDE">
+<![%footnote.element;[
+<!--doc:A footnote.-->
+<!ELEMENT footnote %ho; ((%footnote.mix;)+)
+ %footnote.exclusion;>
+<!--end of footnote.element-->]]>
+
+<!ENTITY % footnote.attlist "INCLUDE">
+<![%footnote.attlist;[
+<!ATTLIST footnote
+ %label.attrib;
+ %common.attrib;
+ %footnote.role.attrib;
+ %local.footnote.attrib;
+>
+<!--end of footnote.attlist-->]]>
+<!--end of footnote.module-->]]>
+
+<!ENTITY % highlights.module "INCLUDE">
+<![%highlights.module;[
+<!ENTITY % local.highlights.attrib "">
+<!ENTITY % highlights.role.attrib "%role.attrib;">
+
+<!ENTITY % highlights.element "INCLUDE">
+<![%highlights.element;[
+<!--doc:A summary of the main points of the discussed component.-->
+<!ELEMENT highlights %ho; ((%highlights.mix;)+)
+ %highlights.exclusion;>
+<!--end of highlights.element-->]]>
+
+<!ENTITY % highlights.attlist "INCLUDE">
+<![%highlights.attlist;[
+<!ATTLIST highlights
+ %common.attrib;
+ %highlights.role.attrib;
+ %local.highlights.attrib;
+>
+<!--end of highlights.attlist-->]]>
+<!--end of highlights.module-->]]>
+
+<!ENTITY % formalpara.module "INCLUDE">
+<![%formalpara.module;[
+<!ENTITY % local.formalpara.attrib "">
+<!ENTITY % formalpara.role.attrib "%role.attrib;">
+
+<!ENTITY % formalpara.element "INCLUDE">
+<![%formalpara.element;[
+<!--doc:A paragraph with a title.-->
+<!ELEMENT formalpara %ho; (title, (%ndxterm.class;)*, para)>
+<!--end of formalpara.element-->]]>
+
+<!ENTITY % formalpara.attlist "INCLUDE">
+<![%formalpara.attlist;[
+<!ATTLIST formalpara
+ %common.attrib;
+ %formalpara.role.attrib;
+ %local.formalpara.attrib;
+>
+<!--end of formalpara.attlist-->]]>
+<!--end of formalpara.module-->]]>
+
+<!ENTITY % para.module "INCLUDE">
+<![%para.module;[
+<!ENTITY % local.para.attrib "">
+<!ENTITY % para.role.attrib "%role.attrib;">
+
+<!ENTITY % para.element "INCLUDE">
+<![%para.element;[
+<!--doc:A paragraph.-->
+<!ELEMENT para %ho; (%para.char.mix; | %para.mix;)*>
+<!--end of para.element-->]]>
+
+<!ENTITY % para.attlist "INCLUDE">
+<![%para.attlist;[
+<!ATTLIST para
+ %common.attrib;
+ %para.role.attrib;
+ %local.para.attrib;
+>
+<!--end of para.attlist-->]]>
+<!--end of para.module-->]]>
+
+<!ENTITY % simpara.module "INCLUDE">
+<![%simpara.module;[
+<!ENTITY % local.simpara.attrib "">
+<!ENTITY % simpara.role.attrib "%role.attrib;">
+
+<!ENTITY % simpara.element "INCLUDE">
+<![%simpara.element;[
+<!--doc:A paragraph that contains only text and inline markup, no block elements.-->
+<!ELEMENT simpara %ho; (%para.char.mix;)*>
+<!--end of simpara.element-->]]>
+
+<!ENTITY % simpara.attlist "INCLUDE">
+<![%simpara.attlist;[
+<!ATTLIST simpara
+ %common.attrib;
+ %simpara.role.attrib;
+ %local.simpara.attrib;
+>
+<!--end of simpara.attlist-->]]>
+<!--end of simpara.module-->]]>
+
+<!ENTITY % admon.module "INCLUDE">
+<![%admon.module;[
+<!ENTITY % local.admon.attrib "">
+<!ENTITY % admon.role.attrib "%role.attrib;">
+
+
+<!ENTITY % caution.element "INCLUDE">
+<![%caution.element;[
+<!--doc:A note of caution.-->
+<!ELEMENT caution %ho; (title?, (%admon.mix;)+)
+ %admon.exclusion;>
+<!--end of caution.element-->]]>
+
+<!ENTITY % caution.attlist "INCLUDE">
+<![%caution.attlist;[
+<!ATTLIST caution
+ %common.attrib;
+ %admon.role.attrib;
+ %local.admon.attrib;
+>
+<!--end of caution.attlist-->]]>
+
+
+<!ENTITY % important.element "INCLUDE">
+<![%important.element;[
+<!--doc:An admonition set off from the text.-->
+<!ELEMENT important %ho; (title?, (%admon.mix;)+)
+ %admon.exclusion;>
+<!--end of important.element-->]]>
+
+<!ENTITY % important.attlist "INCLUDE">
+<![%important.attlist;[
+<!ATTLIST important
+ %common.attrib;
+ %admon.role.attrib;
+ %local.admon.attrib;
+>
+<!--end of important.attlist-->]]>
+
+
+<!ENTITY % note.element "INCLUDE">
+<![%note.element;[
+<!--doc:A message set off from the text.-->
+<!ELEMENT note %ho; (title?, (%admon.mix;)+)
+ %admon.exclusion;>
+<!--end of note.element-->]]>
+
+<!ENTITY % note.attlist "INCLUDE">
+<![%note.attlist;[
+<!ATTLIST note
+ %common.attrib;
+ %admon.role.attrib;
+ %local.admon.attrib;
+>
+<!--end of note.attlist-->]]>
+
+<!ENTITY % tip.element "INCLUDE">
+<![%tip.element;[
+<!--doc:A suggestion to the user, set off from the text.-->
+<!ELEMENT tip %ho; (title?, (%admon.mix;)+)
+ %admon.exclusion;>
+<!--end of tip.element-->]]>
+
+<!ENTITY % tip.attlist "INCLUDE">
+<![%tip.attlist;[
+<!ATTLIST tip
+ %common.attrib;
+ %admon.role.attrib;
+ %local.admon.attrib;
+>
+<!--end of tip.attlist-->]]>
+
+
+<!ENTITY % warning.element "INCLUDE">
+<![%warning.element;[
+<!--doc:An admonition set off from the text.-->
+<!ELEMENT warning %ho; (title?, (%admon.mix;)+)
+ %admon.exclusion;>
+<!--end of warning.element-->]]>
+
+<!ENTITY % warning.attlist "INCLUDE">
+<![%warning.attlist;[
+<!ATTLIST warning
+ %common.attrib;
+ %admon.role.attrib;
+ %local.admon.attrib;
+>
+<!--end of warning.attlist-->]]>
+
+<!--end of admon.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Lists ................................................................ -->
+
+<!-- GlossList ........................ -->
+
+<!ENTITY % glosslist.module "INCLUDE">
+<![%glosslist.module;[
+<!ENTITY % local.glosslist.attrib "">
+<!ENTITY % glosslist.role.attrib "%role.attrib;">
+
+<!ENTITY % glosslist.element "INCLUDE">
+<![%glosslist.element;[
+<!--doc:A wrapper for a set of GlossEntrys.-->
+<!ELEMENT glosslist %ho; (blockinfo?, (%formalobject.title.content;)?, glossentry+)>
+<!--end of glosslist.element-->]]>
+
+<!ENTITY % glosslist.attlist "INCLUDE">
+<![%glosslist.attlist;[
+<!ATTLIST glosslist
+ %common.attrib;
+ %glosslist.role.attrib;
+ %local.glosslist.attrib;
+>
+<!--end of glosslist.attlist-->]]>
+<!--end of glosslist.module-->]]>
+
+<!ENTITY % glossentry.content.module "INCLUDE">
+<![%glossentry.content.module;[
+<!ENTITY % glossentry.module "INCLUDE">
+<![%glossentry.module;[
+<!ENTITY % local.glossentry.attrib "">
+<!ENTITY % glossentry.role.attrib "%role.attrib;">
+
+<!ENTITY % glossentry.element "INCLUDE">
+<![%glossentry.element;[
+<!--doc:An entry in a Glossary or GlossList.-->
+<!ELEMENT glossentry %ho; (glossterm, acronym?, abbrev?,
+ (%ndxterm.class;)*,
+ revhistory?, (glosssee|glossdef+))>
+<!--end of glossentry.element-->]]>
+
+<!-- SortAs: String by which the GlossEntry is to be sorted
+ (alphabetized) in lieu of its proper content -->
+
+
+<!ENTITY % glossentry.attlist "INCLUDE">
+<![%glossentry.attlist;[
+<!ATTLIST glossentry
+ sortas CDATA #IMPLIED
+ %common.attrib;
+ %glossentry.role.attrib;
+ %local.glossentry.attrib;
+>
+<!--end of glossentry.attlist-->]]>
+<!--end of glossentry.module-->]]>
+
+<!-- GlossTerm (defined in the Inlines section, below)-->
+<!ENTITY % glossdef.module "INCLUDE">
+<![%glossdef.module;[
+<!ENTITY % local.glossdef.attrib "">
+<!ENTITY % glossdef.role.attrib "%role.attrib;">
+
+<!ENTITY % glossdef.element "INCLUDE">
+<![%glossdef.element;[
+<!--doc:A definition in a GlossEntry.-->
+<!ELEMENT glossdef %ho; ((%glossdef.mix;)+, glossseealso*)>
+<!--end of glossdef.element-->]]>
+
+<!-- Subject: List of subjects; keywords for the definition -->
+
+
+<!ENTITY % glossdef.attlist "INCLUDE">
+<![%glossdef.attlist;[
+<!ATTLIST glossdef
+ subject CDATA #IMPLIED
+ %common.attrib;
+ %glossdef.role.attrib;
+ %local.glossdef.attrib;
+>
+<!--end of glossdef.attlist-->]]>
+<!--end of glossdef.module-->]]>
+
+<!ENTITY % glosssee.module "INCLUDE">
+<![%glosssee.module;[
+<!ENTITY % local.glosssee.attrib "">
+<!ENTITY % glosssee.role.attrib "%role.attrib;">
+
+<!ENTITY % glosssee.element "INCLUDE">
+<![%glosssee.element;[
+<!--doc:A cross-reference from one GlossEntry to another.-->
+<!ELEMENT glosssee %ho; (%para.char.mix;)*>
+<!--end of glosssee.element-->]]>
+
+<!-- OtherTerm: Reference to the GlossEntry whose GlossTerm
+ should be displayed at the point of the GlossSee -->
+
+
+<!ENTITY % glosssee.attlist "INCLUDE">
+<![%glosssee.attlist;[
+<!ATTLIST glosssee
+ otherterm IDREF #IMPLIED
+ %common.attrib;
+ %glosssee.role.attrib;
+ %local.glosssee.attrib;
+>
+<!--end of glosssee.attlist-->]]>
+<!--end of glosssee.module-->]]>
+
+<!ENTITY % glossseealso.module "INCLUDE">
+<![%glossseealso.module;[
+<!ENTITY % local.glossseealso.attrib "">
+<!ENTITY % glossseealso.role.attrib "%role.attrib;">
+
+<!ENTITY % glossseealso.element "INCLUDE">
+<![%glossseealso.element;[
+<!--doc:A cross-reference from one GlossEntry to another.-->
+<!ELEMENT glossseealso %ho; (%para.char.mix;)*>
+<!--end of glossseealso.element-->]]>
+
+<!-- OtherTerm: Reference to the GlossEntry whose GlossTerm
+ should be displayed at the point of the GlossSeeAlso -->
+
+
+<!ENTITY % glossseealso.attlist "INCLUDE">
+<![%glossseealso.attlist;[
+<!ATTLIST glossseealso
+ otherterm IDREF #IMPLIED
+ %common.attrib;
+ %glossseealso.role.attrib;
+ %local.glossseealso.attrib;
+>
+<!--end of glossseealso.attlist-->]]>
+<!--end of glossseealso.module-->]]>
+<!--end of glossentry.content.module-->]]>
+
+<!-- ItemizedList and OrderedList ..... -->
+
+<!ENTITY % itemizedlist.module "INCLUDE">
+<![%itemizedlist.module;[
+<!ENTITY % local.itemizedlist.attrib "">
+<!ENTITY % itemizedlist.role.attrib "%role.attrib;">
+
+<!ENTITY % itemizedlist.element "INCLUDE">
+<![%itemizedlist.element;[
+<!--doc:A list in which each entry is marked with a bullet or other dingbat.-->
+<!ELEMENT itemizedlist %ho; (blockinfo?, (%formalobject.title.content;)?,
+ (%listpreamble.mix;)*, listitem+)>
+
+<!--end of itemizedlist.element-->]]>
+
+<!-- Spacing: Whether the vertical space in the list should be
+ compressed -->
+<!-- Mark: Keyword, e.g., bullet, dash, checkbox, none;
+ list of keywords and defaults are implementation specific -->
+
+
+<!ENTITY % itemizedlist.attlist "INCLUDE">
+<![%itemizedlist.attlist;[
+<!ATTLIST itemizedlist
+ spacing (normal
+ |compact) #IMPLIED
+ %mark.attrib;
+ %common.attrib;
+ %itemizedlist.role.attrib;
+ %local.itemizedlist.attrib;
+>
+<!--end of itemizedlist.attlist-->]]>
+<!--end of itemizedlist.module-->]]>
+
+<!ENTITY % orderedlist.module "INCLUDE">
+<![%orderedlist.module;[
+<!ENTITY % local.orderedlist.attrib "">
+<!ENTITY % orderedlist.role.attrib "%role.attrib;">
+
+<!ENTITY % orderedlist.element "INCLUDE">
+<![%orderedlist.element;[
+<!--doc:A list in which each entry is marked with a sequentially incremented label.-->
+<!ELEMENT orderedlist %ho; (blockinfo?, (%formalobject.title.content;)?,
+ (%listpreamble.mix;)*, listitem+)>
+
+<!--end of orderedlist.element-->]]>
+
+<!-- Numeration: Style of ListItem numbered; default is expected
+ to be Arabic -->
+<!-- InheritNum: Specifies for a nested list that the numbering
+ of ListItems should include the number of the item
+ within which they are nested (e.g., 1a and 1b within 1,
+ rather than a and b) -->
+<!-- Continuation: Where list numbering begins afresh (Restarts,
+ the default) or continues that of the immediately preceding
+ list (Continues) -->
+<!-- Spacing: Whether the vertical space in the list should be
+ compressed -->
+
+
+<!ENTITY % orderedlist.attlist "INCLUDE">
+<![%orderedlist.attlist;[
+<!ATTLIST orderedlist
+ numeration (arabic
+ |upperalpha
+ |loweralpha
+ |upperroman
+ |lowerroman) #IMPLIED
+ inheritnum (inherit
+ |ignore) "ignore"
+ continuation (continues
+ |restarts) "restarts"
+ spacing (normal
+ |compact) #IMPLIED
+ %common.attrib;
+ %orderedlist.role.attrib;
+ %local.orderedlist.attrib;
+>
+<!--end of orderedlist.attlist-->]]>
+<!--end of orderedlist.module-->]]>
+
+<!ENTITY % listitem.module "INCLUDE">
+<![%listitem.module;[
+<!ENTITY % local.listitem.attrib "">
+<!ENTITY % listitem.role.attrib "%role.attrib;">
+
+<!ENTITY % listitem.element "INCLUDE">
+<![%listitem.element;[
+<!--doc:A wrapper for the elements of a list item.-->
+<!ELEMENT listitem %ho; ((%component.mix;)+)>
+<!--end of listitem.element-->]]>
+
+<!-- Override: Indicates the mark to be used for this ListItem
+ instead of the default mark or the mark specified by
+ the Mark attribute on the enclosing ItemizedList -->
+
+
+<!ENTITY % listitem.attlist "INCLUDE">
+<![%listitem.attlist;[
+<!ATTLIST listitem
+ override CDATA #IMPLIED
+ %common.attrib;
+ %listitem.role.attrib;
+ %local.listitem.attrib;
+>
+<!--end of listitem.attlist-->]]>
+<!--end of listitem.module-->]]>
+
+<!-- SegmentedList .................... -->
+<!ENTITY % segmentedlist.content.module "INCLUDE">
+<![%segmentedlist.content.module;[
+<!ENTITY % segmentedlist.module "INCLUDE">
+<![%segmentedlist.module;[
+<!ENTITY % local.segmentedlist.attrib "">
+<!ENTITY % segmentedlist.role.attrib "%role.attrib;">
+
+<!ENTITY % segmentedlist.element "INCLUDE">
+<![%segmentedlist.element;[
+<!--doc:A segmented list, a list of sets of elements.-->
+<!ELEMENT segmentedlist %ho; ((%formalobject.title.content;)?,
+ segtitle+,
+ seglistitem+)>
+<!--end of segmentedlist.element-->]]>
+
+<!ENTITY % segmentedlist.attlist "INCLUDE">
+<![%segmentedlist.attlist;[
+<!ATTLIST segmentedlist
+ %common.attrib;
+ %segmentedlist.role.attrib;
+ %local.segmentedlist.attrib;
+>
+<!--end of segmentedlist.attlist-->]]>
+<!--end of segmentedlist.module-->]]>
+
+<!ENTITY % segtitle.module "INCLUDE">
+<![%segtitle.module;[
+<!ENTITY % local.segtitle.attrib "">
+<!ENTITY % segtitle.role.attrib "%role.attrib;">
+
+<!ENTITY % segtitle.element "INCLUDE">
+<![%segtitle.element;[
+<!--doc:The title of an element of a list item in a segmented list.-->
+<!ELEMENT segtitle %ho; (%title.char.mix;)*>
+<!--end of segtitle.element-->]]>
+
+<!ENTITY % segtitle.attlist "INCLUDE">
+<![%segtitle.attlist;[
+<!ATTLIST segtitle
+ %common.attrib;
+ %segtitle.role.attrib;
+ %local.segtitle.attrib;
+>
+<!--end of segtitle.attlist-->]]>
+<!--end of segtitle.module-->]]>
+
+<!ENTITY % seglistitem.module "INCLUDE">
+<![%seglistitem.module;[
+<!ENTITY % local.seglistitem.attrib "">
+<!ENTITY % seglistitem.role.attrib "%role.attrib;">
+
+<!ENTITY % seglistitem.element "INCLUDE">
+<![%seglistitem.element;[
+<!--doc:A list item in a segmented list.-->
+<!ELEMENT seglistitem %ho; (seg+)>
+<!--end of seglistitem.element-->]]>
+
+<!ENTITY % seglistitem.attlist "INCLUDE">
+<![%seglistitem.attlist;[
+<!ATTLIST seglistitem
+ %common.attrib;
+ %seglistitem.role.attrib;
+ %local.seglistitem.attrib;
+>
+<!--end of seglistitem.attlist-->]]>
+<!--end of seglistitem.module-->]]>
+
+<!ENTITY % seg.module "INCLUDE">
+<![%seg.module;[
+<!ENTITY % local.seg.attrib "">
+<!ENTITY % seg.role.attrib "%role.attrib;">
+
+<!ENTITY % seg.element "INCLUDE">
+<![%seg.element;[
+<!--doc:An element of a list item in a segmented list.-->
+<!ELEMENT seg %ho; (%para.char.mix;)*>
+<!--end of seg.element-->]]>
+
+<!ENTITY % seg.attlist "INCLUDE">
+<![%seg.attlist;[
+<!ATTLIST seg
+ %common.attrib;
+ %seg.role.attrib;
+ %local.seg.attrib;
+>
+<!--end of seg.attlist-->]]>
+<!--end of seg.module-->]]>
+<!--end of segmentedlist.content.module-->]]>
+
+<!-- SimpleList ....................... -->
+
+<!ENTITY % simplelist.content.module "INCLUDE">
+<![%simplelist.content.module;[
+<!ENTITY % simplelist.module "INCLUDE">
+<![%simplelist.module;[
+<!ENTITY % local.simplelist.attrib "">
+<!ENTITY % simplelist.role.attrib "%role.attrib;">
+
+<!ENTITY % simplelist.element "INCLUDE">
+<![%simplelist.element;[
+<!--doc:An undecorated list of single words or short phrases.-->
+<!ELEMENT simplelist %ho; (member+)>
+<!--end of simplelist.element-->]]>
+
+<!-- Columns: The number of columns the array should contain -->
+<!-- Type: How the Members of the SimpleList should be
+ formatted: Inline (members separated with commas etc.
+ inline), Vert (top to bottom in n Columns), or Horiz (in
+ the direction of text flow) in n Columns. If Column
+ is 1 or implied, Type=Vert and Type=Horiz give the same
+ results. -->
+
+
+<!ENTITY % simplelist.attlist "INCLUDE">
+<![%simplelist.attlist;[
+<!ATTLIST simplelist
+ columns CDATA #IMPLIED
+ type (inline
+ |vert
+ |horiz) "vert"
+ %common.attrib;
+ %simplelist.role.attrib;
+ %local.simplelist.attrib;
+>
+<!--end of simplelist.attlist-->]]>
+<!--end of simplelist.module-->]]>
+
+<!ENTITY % member.module "INCLUDE">
+<![%member.module;[
+<!ENTITY % local.member.attrib "">
+<!ENTITY % member.role.attrib "%role.attrib;">
+
+<!ENTITY % member.element "INCLUDE">
+<![%member.element;[
+<!--doc:An element of a simple list.-->
+<!ELEMENT member %ho; (%para.char.mix;)*>
+<!--end of member.element-->]]>
+
+<!ENTITY % member.attlist "INCLUDE">
+<![%member.attlist;[
+<!ATTLIST member
+ %common.attrib;
+ %member.role.attrib;
+ %local.member.attrib;
+>
+<!--end of member.attlist-->]]>
+<!--end of member.module-->]]>
+<!--end of simplelist.content.module-->]]>
+
+<!-- VariableList ..................... -->
+
+<!ENTITY % variablelist.content.module "INCLUDE">
+<![%variablelist.content.module;[
+<!ENTITY % variablelist.module "INCLUDE">
+<![%variablelist.module;[
+<!ENTITY % local.variablelist.attrib "">
+<!ENTITY % variablelist.role.attrib "%role.attrib;">
+
+<!ENTITY % variablelist.element "INCLUDE">
+<![%variablelist.element;[
+<!--doc:A list in which each entry is composed of a set of one or more terms and an associated description.-->
+<!ELEMENT variablelist %ho; (blockinfo?, (%formalobject.title.content;)?,
+ (%listpreamble.mix;)*, varlistentry+)>
+<!--end of variablelist.element-->]]>
+
+<!-- TermLength: Length beyond which the presentation engine
+ may consider the Term too long and select an alternate
+ presentation of the Term and, or, its associated ListItem. -->
+
+
+<!ENTITY % variablelist.attlist "INCLUDE">
+<![%variablelist.attlist;[
+<!ATTLIST variablelist
+ termlength CDATA #IMPLIED
+ spacing (normal
+ |compact) #IMPLIED
+ %common.attrib;
+ %variablelist.role.attrib;
+ %local.variablelist.attrib;
+>
+<!--end of variablelist.attlist-->]]>
+<!--end of variablelist.module-->]]>
+
+<!ENTITY % varlistentry.module "INCLUDE">
+<![%varlistentry.module;[
+<!ENTITY % local.varlistentry.attrib "">
+<!ENTITY % varlistentry.role.attrib "%role.attrib;">
+
+<!ENTITY % varlistentry.element "INCLUDE">
+<![%varlistentry.element;[
+<!--doc:A wrapper for a set of terms and the associated description in a variable list.-->
+<!ELEMENT varlistentry %ho; (term+, listitem)>
+<!--end of varlistentry.element-->]]>
+
+<!ENTITY % varlistentry.attlist "INCLUDE">
+<![%varlistentry.attlist;[
+<!ATTLIST varlistentry
+ %common.attrib;
+ %varlistentry.role.attrib;
+ %local.varlistentry.attrib;
+>
+<!--end of varlistentry.attlist-->]]>
+<!--end of varlistentry.module-->]]>
+
+<!ENTITY % term.module "INCLUDE">
+<![%term.module;[
+<!ENTITY % local.term.attrib "">
+<!ENTITY % term.role.attrib "%role.attrib;">
+
+<!ENTITY % term.element "INCLUDE">
+<![%term.element;[
+<!--doc:The word or phrase being defined or described in a variable list.-->
+<!ELEMENT term %ho; (%para.char.mix;)*>
+<!--end of term.element-->]]>
+
+<!ENTITY % term.attlist "INCLUDE">
+<![%term.attlist;[
+<!ATTLIST term
+ %common.attrib;
+ %term.role.attrib;
+ %local.term.attrib;
+>
+<!--end of term.attlist-->]]>
+<!--end of term.module-->]]>
+
+<!-- ListItem (defined above)-->
+<!--end of variablelist.content.module-->]]>
+
+<!-- CalloutList ...................... -->
+
+<!ENTITY % calloutlist.content.module "INCLUDE">
+<![%calloutlist.content.module;[
+<!ENTITY % calloutlist.module "INCLUDE">
+<![%calloutlist.module;[
+<!ENTITY % local.calloutlist.attrib "">
+<!ENTITY % calloutlist.role.attrib "%role.attrib;">
+
+<!ENTITY % calloutlist.element "INCLUDE">
+<![%calloutlist.element;[
+<!--doc:A list of Callouts.-->
+<!ELEMENT calloutlist %ho; ((%formalobject.title.content;)?, callout+)>
+<!--end of calloutlist.element-->]]>
+
+<!ENTITY % calloutlist.attlist "INCLUDE">
+<![%calloutlist.attlist;[
+<!ATTLIST calloutlist
+ %common.attrib;
+ %calloutlist.role.attrib;
+ %local.calloutlist.attrib;
+>
+<!--end of calloutlist.attlist-->]]>
+<!--end of calloutlist.module-->]]>
+
+<!ENTITY % callout.module "INCLUDE">
+<![%callout.module;[
+<!ENTITY % local.callout.attrib "">
+<!ENTITY % callout.role.attrib "%role.attrib;">
+
+<!ENTITY % callout.element "INCLUDE">
+<![%callout.element;[
+<!--doc:A &ldquo;called out&rdquo; description of a marked Area.-->
+<!ELEMENT callout %ho; ((%component.mix;)+)>
+<!--end of callout.element-->]]>
+
+<!-- AreaRefs: IDs of one or more Areas or AreaSets described
+ by this Callout -->
+
+
+<!ENTITY % callout.attlist "INCLUDE">
+<![%callout.attlist;[
+<!ATTLIST callout
+ arearefs IDREFS #REQUIRED
+ %common.attrib;
+ %callout.role.attrib;
+ %local.callout.attrib;
+>
+<!--end of callout.attlist-->]]>
+<!--end of callout.module-->]]>
+<!--end of calloutlist.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Objects .............................................................. -->
+
+<!-- Examples etc. .................... -->
+
+<!ENTITY % example.module "INCLUDE">
+<![%example.module;[
+<!ENTITY % local.example.attrib "">
+<!ENTITY % example.role.attrib "%role.attrib;">
+
+<!ENTITY % example.element "INCLUDE">
+<![%example.element;[
+<!--doc:A formal example, with a title.-->
+<!ELEMENT example %ho; (blockinfo?, (%formalobject.title.content;), (%example.mix;)+)
+ %formal.exclusion;>
+<!--end of example.element-->]]>
+
+<!ENTITY % example.attlist "INCLUDE">
+<![%example.attlist;[
+<!ATTLIST example
+ floatstyle CDATA #IMPLIED
+ %label.attrib;
+ %width.attrib;
+ %common.attrib;
+ %example.role.attrib;
+ %local.example.attrib;
+>
+<!--end of example.attlist-->]]>
+<!--end of example.module-->]]>
+
+<!ENTITY % informalexample.module "INCLUDE">
+<![%informalexample.module;[
+<!ENTITY % local.informalexample.attrib "">
+<!ENTITY % informalexample.role.attrib "%role.attrib;">
+
+<!ENTITY % informalexample.element "INCLUDE">
+<![%informalexample.element;[
+<!--doc:A displayed example without a title.-->
+<!ELEMENT informalexample %ho; (blockinfo?, (%example.mix;)+)>
+<!--end of informalexample.element-->]]>
+
+<!ENTITY % informalexample.attlist "INCLUDE">
+<![%informalexample.attlist;[
+<!ATTLIST informalexample
+ floatstyle CDATA #IMPLIED
+ %width.attrib;
+ %common.attrib;
+ %informalexample.role.attrib;
+ %local.informalexample.attrib;
+>
+<!--end of informalexample.attlist-->]]>
+<!--end of informalexample.module-->]]>
+
+<!ENTITY % programlistingco.module "INCLUDE">
+<![%programlistingco.module;[
+<!ENTITY % local.programlistingco.attrib "">
+<!ENTITY % programlistingco.role.attrib "%role.attrib;">
+
+<!ENTITY % programlistingco.element "INCLUDE">
+<![%programlistingco.element;[
+<!--doc:A program listing with associated areas used in callouts.-->
+<!ELEMENT programlistingco %ho; (areaspec, programlisting, calloutlist*)>
+<!--end of programlistingco.element-->]]>
+
+<!ENTITY % programlistingco.attlist "INCLUDE">
+<![%programlistingco.attlist;[
+<!ATTLIST programlistingco
+ %common.attrib;
+ %programlistingco.role.attrib;
+ %local.programlistingco.attrib;
+>
+<!--end of programlistingco.attlist-->]]>
+<!-- CalloutList (defined above in Lists)-->
+<!--end of informalexample.module-->]]>
+
+<!ENTITY % areaspec.content.module "INCLUDE">
+<![%areaspec.content.module;[
+<!ENTITY % areaspec.module "INCLUDE">
+<![%areaspec.module;[
+<!ENTITY % local.areaspec.attrib "">
+<!ENTITY % areaspec.role.attrib "%role.attrib;">
+
+<!ENTITY % areaspec.element "INCLUDE">
+<![%areaspec.element;[
+<!--doc:A collection of regions in a graphic or code example.-->
+<!ELEMENT areaspec %ho; ((area|areaset)+)>
+<!--end of areaspec.element-->]]>
+
+<!-- Units: global unit of measure in which coordinates in
+ this spec are expressed:
+
+ - CALSPair "x1,y1 x2,y2": lower-left and upper-right
+ coordinates in a rectangle describing repro area in which
+ graphic is placed, where X and Y dimensions are each some
+ number 0..10000 (taken from CALS graphic attributes)
+
+ - LineColumn "line column": line number and column number
+ at which to start callout text in "linespecific" content
+
+ - LineRange "startline endline": whole lines from startline
+ to endline in "linespecific" content
+
+ - LineColumnPair "line1 col1 line2 col2": starting and ending
+ points of area in "linespecific" content that starts at
+ first position and ends at second position (including the
+ beginnings of any intervening lines)
+
+ - Other: directive to look at value of OtherUnits attribute
+ to get implementation-specific keyword
+
+ The default is implementation-specific; usually dependent on
+ the parent element (GraphicCO gets CALSPair, ProgramListingCO
+ and ScreenCO get LineColumn) -->
+<!-- OtherUnits: User-defined units -->
+
+
+<!ENTITY % areaspec.attlist "INCLUDE">
+<![%areaspec.attlist;[
+<!ATTLIST areaspec
+ units (calspair
+ |linecolumn
+ |linerange
+ |linecolumnpair
+ |other) #IMPLIED
+ otherunits NMTOKEN #IMPLIED
+ %common.attrib;
+ %areaspec.role.attrib;
+ %local.areaspec.attrib;
+>
+<!--end of areaspec.attlist-->]]>
+<!--end of areaspec.module-->]]>
+
+<!ENTITY % area.module "INCLUDE">
+<![%area.module;[
+<!ENTITY % local.area.attrib "">
+<!ENTITY % area.role.attrib "%role.attrib;">
+
+<!ENTITY % area.element "INCLUDE">
+<![%area.element;[
+<!--doc:A region defined for a Callout in a graphic or code example.-->
+<!ELEMENT area %ho; EMPTY>
+<!--end of area.element-->]]>
+
+<!-- bug number/symbol override or initialization -->
+<!-- to any related information -->
+<!-- Units: unit of measure in which coordinates in this
+ area are expressed; inherits from AreaSet and AreaSpec -->
+<!-- OtherUnits: User-defined units -->
+
+
+<!ENTITY % area.attlist "INCLUDE">
+<![%area.attlist;[
+<!ATTLIST area
+ %label.attrib;
+ %linkends.attrib;
+ units (calspair
+ |linecolumn
+ |linerange
+ |linecolumnpair
+ |other) #IMPLIED
+ otherunits NMTOKEN #IMPLIED
+ coords CDATA #REQUIRED
+ %idreq.common.attrib;
+ %area.role.attrib;
+ %local.area.attrib;
+>
+<!--end of area.attlist-->]]>
+<!--end of area.module-->]]>
+
+<!ENTITY % areaset.module "INCLUDE">
+<![%areaset.module;[
+<!ENTITY % local.areaset.attrib "">
+<!ENTITY % areaset.role.attrib "%role.attrib;">
+
+<!ENTITY % areaset.element "INCLUDE">
+<![%areaset.element;[
+<!--doc:A set of related areas in a graphic or code example.-->
+<!ELEMENT areaset %ho; (area+)>
+<!--end of areaset.element-->]]>
+
+<!-- bug number/symbol override or initialization -->
+<!-- Units: unit of measure in which coordinates in this
+ area are expressed; inherits from AreaSpec -->
+
+
+<!ENTITY % areaset.attlist "INCLUDE">
+<![%areaset.attlist;[
+<!ATTLIST areaset
+ %label.attrib;
+ units (calspair
+ |linecolumn
+ |linerange
+ |linecolumnpair
+ |other) #IMPLIED
+ otherunits NMTOKEN #IMPLIED
+ coords CDATA #REQUIRED
+ %idreq.common.attrib;
+ %areaset.role.attrib;
+ %local.areaset.attrib;
+>
+<!--end of areaset.attlist-->]]>
+<!--end of areaset.module-->]]>
+<!--end of areaspec.content.module-->]]>
+
+<!ENTITY % programlisting.module "INCLUDE">
+<![%programlisting.module;[
+<!ENTITY % local.programlisting.attrib "">
+<!ENTITY % programlisting.role.attrib "%role.attrib;">
+
+<!ENTITY % programlisting.element "INCLUDE">
+<![%programlisting.element;[
+<!--doc:A literal listing of all or part of a program.-->
+<!ELEMENT programlisting %ho; (%para.char.mix;|co|coref|lineannotation|textobject)*>
+<!--end of programlisting.element-->]]>
+
+<!ENTITY % programlisting.attlist "INCLUDE">
+<![%programlisting.attlist;[
+<!ATTLIST programlisting
+ %width.attrib;
+ %linespecific.attrib;
+ %common.attrib;
+ %programlisting.role.attrib;
+ %local.programlisting.attrib;
+>
+<!--end of programlisting.attlist-->]]>
+<!--end of programlisting.module-->]]>
+
+<!ENTITY % literallayout.module "INCLUDE">
+<![%literallayout.module;[
+<!ENTITY % local.literallayout.attrib "">
+<!ENTITY % literallayout.role.attrib "%role.attrib;">
+
+<!ENTITY % literallayout.element "INCLUDE">
+<![%literallayout.element;[
+<!--doc:A block of text in which line breaks and white space are to be reproduced faithfully.-->
+<!ELEMENT literallayout %ho; (%para.char.mix;|co|coref|textobject|lineannotation)*>
+<!--end of literallayout.element-->]]>
+
+<!ENTITY % literallayout.attlist "INCLUDE">
+<![%literallayout.attlist;[
+<!ATTLIST literallayout
+ %width.attrib;
+ %linespecific.attrib;
+ class (monospaced|normal) "normal"
+ %common.attrib;
+ %literallayout.role.attrib;
+ %local.literallayout.attrib;
+>
+<!--end of literallayout.attlist-->]]>
+<!-- LineAnnotation (defined in the Inlines section, below)-->
+<!--end of literallayout.module-->]]>
+
+<!ENTITY % screenco.module "INCLUDE">
+<![%screenco.module;[
+<!ENTITY % local.screenco.attrib "">
+<!ENTITY % screenco.role.attrib "%role.attrib;">
+
+<!ENTITY % screenco.element "INCLUDE">
+<![%screenco.element;[
+<!--doc:A screen with associated areas used in callouts.-->
+<!ELEMENT screenco %ho; (areaspec, screen, calloutlist*)>
+<!--end of screenco.element-->]]>
+
+<!ENTITY % screenco.attlist "INCLUDE">
+<![%screenco.attlist;[
+<!ATTLIST screenco
+ %common.attrib;
+ %screenco.role.attrib;
+ %local.screenco.attrib;
+>
+<!--end of screenco.attlist-->]]>
+<!-- AreaSpec (defined above)-->
+<!-- CalloutList (defined above in Lists)-->
+<!--end of screenco.module-->]]>
+
+<!ENTITY % screen.module "INCLUDE">
+<![%screen.module;[
+<!ENTITY % local.screen.attrib "">
+<!ENTITY % screen.role.attrib "%role.attrib;">
+
+<!ENTITY % screen.element "INCLUDE">
+<![%screen.element;[
+<!--doc:Text that a user sees or might see on a computer screen.-->
+<!ELEMENT screen %ho; (%para.char.mix;|co|coref|textobject|lineannotation)*>
+<!--end of screen.element-->]]>
+
+<!ENTITY % screen.attlist "INCLUDE">
+<![%screen.attlist;[
+<!ATTLIST screen
+ %width.attrib;
+ %linespecific.attrib;
+ %common.attrib;
+ %screen.role.attrib;
+ %local.screen.attrib;
+>
+<!--end of screen.attlist-->]]>
+<!--end of screen.module-->]]>
+
+<!ENTITY % screenshot.content.module "INCLUDE">
+<![%screenshot.content.module;[
+<!ENTITY % screenshot.module "INCLUDE">
+<![%screenshot.module;[
+<!ENTITY % local.screenshot.attrib "">
+<!ENTITY % screenshot.role.attrib "%role.attrib;">
+
+<!ENTITY % screenshot.element "INCLUDE">
+<![%screenshot.element;[
+<!--doc:A representation of what the user sees or might see on a computer screen.-->
+<!ELEMENT screenshot %ho; (screeninfo?,
+ (graphic|graphicco
+ |mediaobject|mediaobjectco))>
+<!--end of screenshot.element-->]]>
+
+<!ENTITY % screenshot.attlist "INCLUDE">
+<![%screenshot.attlist;[
+<!ATTLIST screenshot
+ %common.attrib;
+ %screenshot.role.attrib;
+ %local.screenshot.attrib;
+>
+<!--end of screenshot.attlist-->]]>
+<!--end of screenshot.module-->]]>
+
+<!ENTITY % screeninfo.module "INCLUDE">
+<![%screeninfo.module;[
+<!ENTITY % local.screeninfo.attrib "">
+<!ENTITY % screeninfo.role.attrib "%role.attrib;">
+
+<!ENTITY % screeninfo.element "INCLUDE">
+<![%screeninfo.element;[
+<!--doc:Information about how a screen shot was produced.-->
+<!ELEMENT screeninfo %ho; (%para.char.mix;)*
+ %ubiq.exclusion;>
+<!--end of screeninfo.element-->]]>
+
+<!ENTITY % screeninfo.attlist "INCLUDE">
+<![%screeninfo.attlist;[
+<!ATTLIST screeninfo
+ %common.attrib;
+ %screeninfo.role.attrib;
+ %local.screeninfo.attrib;
+>
+<!--end of screeninfo.attlist-->]]>
+<!--end of screeninfo.module-->]]>
+<!--end of screenshot.content.module-->]]>
+
+<!-- Figures etc. ..................... -->
+
+<!ENTITY % figure.module "INCLUDE">
+<![%figure.module;[
+<!ENTITY % local.figure.attrib "">
+<!ENTITY % figure.role.attrib "%role.attrib;">
+
+<!ENTITY % figure.element "INCLUDE">
+<![%figure.element;[
+<!--doc:A formal figure, generally an illustration, with a title.-->
+<!ELEMENT figure %ho; (blockinfo?, (%formalobject.title.content;),
+ (%figure.mix; | %link.char.class;)+)>
+<!--end of figure.element-->]]>
+
+<!-- Float: Whether the Figure is supposed to be rendered
+ where convenient (yes (1) value) or at the place it occurs
+ in the text (no (0) value, the default) -->
+
+
+<!ENTITY % figure.attlist "INCLUDE">
+<![%figure.attlist;[
+<!ATTLIST figure
+ float %yesorno.attvals; '0'
+ floatstyle CDATA #IMPLIED
+ pgwide %yesorno.attvals; #IMPLIED
+ %label.attrib;
+ %common.attrib;
+ %figure.role.attrib;
+ %local.figure.attrib;
+>
+<!--end of figure.attlist-->]]>
+<!--end of figure.module-->]]>
+
+<!ENTITY % informalfigure.module "INCLUDE">
+<![ %informalfigure.module; [
+<!ENTITY % local.informalfigure.attrib "">
+<!ENTITY % informalfigure.role.attrib "%role.attrib;">
+
+<!ENTITY % informalfigure.element "INCLUDE">
+<![ %informalfigure.element; [
+<!--doc:A untitled figure.-->
+<!ELEMENT informalfigure %ho; (blockinfo?, (%figure.mix; | %link.char.class;)+)>
+<!--end of informalfigure.element-->]]>
+
+<!ENTITY % informalfigure.attlist "INCLUDE">
+<![ %informalfigure.attlist; [
+<!--
+Float: Whether the Figure is supposed to be rendered
+where convenient (yes (1) value) or at the place it occurs
+in the text (no (0) value, the default)
+-->
+<!ATTLIST informalfigure
+ float %yesorno.attvals; "0"
+ floatstyle CDATA #IMPLIED
+ pgwide %yesorno.attvals; #IMPLIED
+ %label.attrib;
+ %common.attrib;
+ %informalfigure.role.attrib;
+ %local.informalfigure.attrib;
+>
+<!--end of informalfigure.attlist-->]]>
+<!--end of informalfigure.module-->]]>
+
+<!ENTITY % graphicco.module "INCLUDE">
+<![%graphicco.module;[
+<!ENTITY % local.graphicco.attrib "">
+<!ENTITY % graphicco.role.attrib "%role.attrib;">
+
+<!ENTITY % graphicco.element "INCLUDE">
+<![%graphicco.element;[
+<!--doc:A graphic that contains callout areas.-->
+<!ELEMENT graphicco %ho; (areaspec, graphic, calloutlist*)>
+<!--end of graphicco.element-->]]>
+
+<!ENTITY % graphicco.attlist "INCLUDE">
+<![%graphicco.attlist;[
+<!ATTLIST graphicco
+ %common.attrib;
+ %graphicco.role.attrib;
+ %local.graphicco.attrib;
+>
+<!--end of graphicco.attlist-->]]>
+<!-- AreaSpec (defined above in Examples)-->
+<!-- CalloutList (defined above in Lists)-->
+<!--end of graphicco.module-->]]>
+
+<!-- Graphical data can be the content of Graphic, or you can reference
+ an external file either as an entity (Entitref) or a filename
+ (Fileref). -->
+
+<!ENTITY % graphic.module "INCLUDE">
+<![%graphic.module;[
+<!ENTITY % local.graphic.attrib "">
+<!ENTITY % graphic.role.attrib "%role.attrib;">
+
+<!ENTITY % graphic.element "INCLUDE">
+<![%graphic.element;[
+<!--doc:A displayed graphical object (not an inline).-->
+<!ELEMENT graphic %ho; EMPTY>
+<!--end of graphic.element-->]]>
+
+<!ENTITY % graphic.attlist "INCLUDE">
+<![%graphic.attlist;[
+<!ATTLIST graphic
+ %graphics.attrib;
+ %common.attrib;
+ %graphic.role.attrib;
+ %local.graphic.attrib;
+>
+<!--end of graphic.attlist-->]]>
+<!--end of graphic.module-->]]>
+
+<!ENTITY % inlinegraphic.module "INCLUDE">
+<![%inlinegraphic.module;[
+<!ENTITY % local.inlinegraphic.attrib "">
+<!ENTITY % inlinegraphic.role.attrib "%role.attrib;">
+
+<!ENTITY % inlinegraphic.element "INCLUDE">
+<![%inlinegraphic.element;[
+<!--doc:An object containing or pointing to graphical data that will be rendered inline.-->
+<!ELEMENT inlinegraphic %ho; EMPTY>
+<!--end of inlinegraphic.element-->]]>
+
+<!ENTITY % inlinegraphic.attlist "INCLUDE">
+<![%inlinegraphic.attlist;[
+<!ATTLIST inlinegraphic
+ %graphics.attrib;
+ %common.attrib;
+ %inlinegraphic.role.attrib;
+ %local.inlinegraphic.attrib;
+>
+<!--end of inlinegraphic.attlist-->]]>
+<!--end of inlinegraphic.module-->]]>
+
+<!ENTITY % mediaobject.content.module "INCLUDE">
+<![ %mediaobject.content.module; [
+
+<!ENTITY % mediaobject.module "INCLUDE">
+<![ %mediaobject.module; [
+<!ENTITY % local.mediaobject.attrib "">
+<!ENTITY % mediaobject.role.attrib "%role.attrib;">
+
+<!ENTITY % mediaobject.element "INCLUDE">
+<![ %mediaobject.element; [
+<!--doc:A displayed media object (video, audio, image, etc.).-->
+<!ELEMENT mediaobject %ho; (objectinfo?,
+ (%mediaobject.mix;)+,
+ caption?)>
+<!--end of mediaobject.element-->]]>
+
+<!ENTITY % mediaobject.attlist "INCLUDE">
+<![ %mediaobject.attlist; [
+<!ATTLIST mediaobject
+ %common.attrib;
+ %mediaobject.role.attrib;
+ %local.mediaobject.attrib;
+>
+<!--end of mediaobject.attlist-->]]>
+<!--end of mediaobject.module-->]]>
+
+<!ENTITY % inlinemediaobject.module "INCLUDE">
+<![ %inlinemediaobject.module; [
+<!ENTITY % local.inlinemediaobject.attrib "">
+<!ENTITY % inlinemediaobject.role.attrib "%role.attrib;">
+
+<!ENTITY % inlinemediaobject.element "INCLUDE">
+<![ %inlinemediaobject.element; [
+<!--doc:An inline media object (video, audio, image, and so on).-->
+<!ELEMENT inlinemediaobject %ho; (objectinfo?,
+ (%mediaobject.mix;)+)>
+<!--end of inlinemediaobject.element-->]]>
+
+<!ENTITY % inlinemediaobject.attlist "INCLUDE">
+<![ %inlinemediaobject.attlist; [
+<!ATTLIST inlinemediaobject
+ %common.attrib;
+ %inlinemediaobject.role.attrib;
+ %local.inlinemediaobject.attrib;
+>
+<!--end of inlinemediaobject.attlist-->]]>
+<!--end of inlinemediaobject.module-->]]>
+
+<!ENTITY % videoobject.module "INCLUDE">
+<![ %videoobject.module; [
+<!ENTITY % local.videoobject.attrib "">
+<!ENTITY % videoobject.role.attrib "%role.attrib;">
+
+<!ENTITY % videoobject.element "INCLUDE">
+<![ %videoobject.element; [
+<!--doc:A wrapper for video data and its associated meta-information.-->
+<!ELEMENT videoobject %ho; (objectinfo?, videodata)>
+<!--end of videoobject.element-->]]>
+
+<!ENTITY % videoobject.attlist "INCLUDE">
+<![ %videoobject.attlist; [
+<!ATTLIST videoobject
+ %common.attrib;
+ %videoobject.role.attrib;
+ %local.videoobject.attrib;
+>
+<!--end of videoobject.attlist-->]]>
+<!--end of videoobject.module-->]]>
+
+<!ENTITY % audioobject.module "INCLUDE">
+<![ %audioobject.module; [
+<!ENTITY % local.audioobject.attrib "">
+<!ENTITY % audioobject.role.attrib "%role.attrib;">
+
+<!ENTITY % audioobject.element "INCLUDE">
+<![ %audioobject.element; [
+<!--doc:A wrapper for audio data and its associated meta-information.-->
+<!ELEMENT audioobject %ho; (objectinfo?, audiodata)>
+<!--end of audioobject.element-->]]>
+
+<!ENTITY % audioobject.attlist "INCLUDE">
+<![ %audioobject.attlist; [
+<!ATTLIST audioobject
+ %common.attrib;
+ %audioobject.role.attrib;
+ %local.audioobject.attrib;
+>
+<!--end of audioobject.attlist-->]]>
+<!--end of audioobject.module-->]]>
+
+<!ENTITY % imageobject.module "INCLUDE">
+<![ %imageobject.module; [
+<!ENTITY % local.imageobject.attrib "">
+<!ENTITY % imageobject.role.attrib "%role.attrib;">
+
+<!ENTITY % imageobject.element "INCLUDE">
+<![ %imageobject.element; [
+<!--doc:A wrapper for image data and its associated meta-information.-->
+<!ELEMENT imageobject %ho; (objectinfo?, imagedata)>
+<!--end of imageobject.element-->]]>
+
+<!ENTITY % imageobject.attlist "INCLUDE">
+<![ %imageobject.attlist; [
+<!ATTLIST imageobject
+ %common.attrib;
+ %imageobject.role.attrib;
+ %local.imageobject.attrib;
+>
+<!--end of imageobject.attlist-->]]>
+<!--end of imageobject.module-->]]>
+
+<!ENTITY % textobject.module "INCLUDE">
+<![ %textobject.module; [
+<!ENTITY % local.textobject.attrib "">
+<!ENTITY % textobject.role.attrib "%role.attrib;">
+
+<!ENTITY % textobject.element "INCLUDE">
+<![ %textobject.element; [
+<!--doc:A wrapper for a text description of an object and its associated meta-information.-->
+<!ELEMENT textobject %ho; (objectinfo?, (phrase|textdata|(%textobject.mix;)+))>
+<!--end of textobject.element-->]]>
+
+<!ENTITY % textobject.attlist "INCLUDE">
+<![ %textobject.attlist; [
+<!ATTLIST textobject
+ %common.attrib;
+ %textobject.role.attrib;
+ %local.textobject.attrib;
+>
+<!--end of textobject.attlist-->]]>
+<!--end of textobject.module-->]]>
+
+<!ENTITY % objectinfo.module "INCLUDE">
+<![ %objectinfo.module; [
+<!ENTITY % local.objectinfo.attrib "">
+<!ENTITY % objectinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % objectinfo.element "INCLUDE">
+<![ %objectinfo.element; [
+<!--doc:Meta-information for an object.-->
+<!ELEMENT objectinfo %ho; ((%info.class;)+)
+ %beginpage.exclusion;>
+<!--end of objectinfo.element-->]]>
+
+<!ENTITY % objectinfo.attlist "INCLUDE">
+<![ %objectinfo.attlist; [
+<!ATTLIST objectinfo
+ %common.attrib;
+ %objectinfo.role.attrib;
+ %local.objectinfo.attrib;
+>
+<!--end of objectinfo.attlist-->]]>
+<!--end of objectinfo.module-->]]>
+
+<!--EntityRef: Name of an external entity containing the content
+ of the object data-->
+<!--FileRef: Filename, qualified by a pathname if desired,
+ designating the file containing the content of the object data-->
+<!--Format: Notation of the element content, if any-->
+<!--SrcCredit: Information about the source of the image-->
+<!ENTITY % local.objectdata.attrib "">
+<!ENTITY % objectdata.attrib
+ "
+ entityref ENTITY #IMPLIED
+ fileref CDATA #IMPLIED
+ format (%notation.class;)
+ #IMPLIED
+ srccredit CDATA #IMPLIED
+ %local.objectdata.attrib;"
+>
+
+<!ENTITY % videodata.module "INCLUDE">
+<![ %videodata.module; [
+<!ENTITY % local.videodata.attrib "">
+<!ENTITY % videodata.role.attrib "%role.attrib;">
+
+<!ENTITY % videodata.element "INCLUDE">
+<![ %videodata.element; [
+<!--doc:Pointer to external video data.-->
+<!ELEMENT videodata %ho; EMPTY>
+<!--end of videodata.element-->]]>
+
+<!ENTITY % videodata.attlist "INCLUDE">
+<![ %videodata.attlist; [
+
+<!--Width: Same as CALS reprowid (desired width)-->
+<!--Depth: Same as CALS reprodep (desired depth)-->
+<!--Align: Same as CALS hplace with 'none' removed; #IMPLIED means
+ application-specific-->
+<!--Scale: Conflation of CALS hscale and vscale-->
+<!--Scalefit: Same as CALS scalefit-->
+<!ATTLIST videodata
+ width CDATA #IMPLIED
+ contentwidth CDATA #IMPLIED
+ depth CDATA #IMPLIED
+ contentdepth CDATA #IMPLIED
+ align (left
+ |right
+ |center) #IMPLIED
+ valign (top
+ |middle
+ |bottom) #IMPLIED
+ scale CDATA #IMPLIED
+ scalefit %yesorno.attvals;
+ #IMPLIED
+ %objectdata.attrib;
+ %common.attrib;
+ %videodata.role.attrib;
+ %local.videodata.attrib;
+>
+<!--end of videodata.attlist-->]]>
+<!--end of videodata.module-->]]>
+
+<!ENTITY % audiodata.module "INCLUDE">
+<![ %audiodata.module; [
+<!ENTITY % local.audiodata.attrib "">
+<!ENTITY % audiodata.role.attrib "%role.attrib;">
+
+<!ENTITY % audiodata.element "INCLUDE">
+<![ %audiodata.element; [
+<!--doc:Pointer to external audio data.-->
+<!ELEMENT audiodata %ho; EMPTY>
+<!--end of audiodata.element-->]]>
+
+<!ENTITY % audiodata.attlist "INCLUDE">
+<![ %audiodata.attlist; [
+<!ATTLIST audiodata
+ %objectdata.attrib;
+ %common.attrib;
+ %audiodata.role.attrib;
+ %local.audiodata.attrib;
+>
+<!--end of audiodata.attlist-->]]>
+<!--end of audiodata.module-->]]>
+
+<!ENTITY % imagedata.module "INCLUDE">
+<![ %imagedata.module; [
+<!ENTITY % local.imagedata.attrib "">
+<!ENTITY % imagedata.role.attrib "%role.attrib;">
+
+<!ENTITY % imagedata.element "INCLUDE">
+<![ %imagedata.element; [
+<!--doc:Pointer to external image data.-->
+<!ELEMENT imagedata %ho; EMPTY>
+<!--end of imagedata.element-->]]>
+
+<!ENTITY % imagedata.attlist "INCLUDE">
+<![ %imagedata.attlist; [
+
+<!--Width: Same as CALS reprowid (desired width)-->
+<!--Depth: Same as CALS reprodep (desired depth)-->
+<!--Align: Same as CALS hplace with 'none' removed; #IMPLIED means
+ application-specific-->
+<!--Scale: Conflation of CALS hscale and vscale-->
+<!--Scalefit: Same as CALS scalefit-->
+<!ATTLIST imagedata
+ width CDATA #IMPLIED
+ contentwidth CDATA #IMPLIED
+ depth CDATA #IMPLIED
+ contentdepth CDATA #IMPLIED
+ align (left
+ |right
+ |center) #IMPLIED
+ valign (top
+ |middle
+ |bottom) #IMPLIED
+ scale CDATA #IMPLIED
+ scalefit %yesorno.attvals;
+ #IMPLIED
+ %objectdata.attrib;
+ %common.attrib;
+ %imagedata.role.attrib;
+ %local.imagedata.attrib;
+>
+<!--end of imagedata.attlist-->]]>
+<!--end of imagedata.module-->]]>
+
+<!ENTITY % textdata.module "INCLUDE">
+<![ %textdata.module; [
+<!ENTITY % local.textdata.attrib "">
+<!ENTITY % textdata.role.attrib "%role.attrib;">
+
+<!ENTITY % textdata.element "INCLUDE">
+<![ %textdata.element; [
+<!--doc:Pointer to external text data.-->
+<!ELEMENT textdata %ho; EMPTY>
+<!--end of textdata.element-->]]>
+
+<!ENTITY % textdata.attlist "INCLUDE">
+<![ %textdata.attlist; [
+<!ATTLIST textdata
+ encoding CDATA #IMPLIED
+ %objectdata.attrib;
+ %common.attrib;
+ %textdata.role.attrib;
+ %local.textdata.attrib;
+>
+<!--end of textdata.attlist-->]]>
+<!--end of textdata.module-->]]>
+
+<!ENTITY % mediaobjectco.module "INCLUDE">
+<![ %mediaobjectco.module; [
+<!ENTITY % local.mediaobjectco.attrib "">
+<!ENTITY % mediaobjectco.role.attrib "%role.attrib;">
+
+<!ENTITY % mediaobjectco.element "INCLUDE">
+<![ %mediaobjectco.element; [
+<!--doc:A media object that contains callouts.-->
+<!ELEMENT mediaobjectco %ho; (objectinfo?, imageobjectco,
+ (imageobjectco|textobject)*)>
+<!--end of mediaobjectco.element-->]]>
+
+<!ENTITY % mediaobjectco.attlist "INCLUDE">
+<![ %mediaobjectco.attlist; [
+<!ATTLIST mediaobjectco
+ %common.attrib;
+ %mediaobjectco.role.attrib;
+ %local.mediaobjectco.attrib;
+>
+<!--end of mediaobjectco.attlist-->]]>
+<!--end of mediaobjectco.module-->]]>
+
+<!ENTITY % imageobjectco.module "INCLUDE">
+<![ %imageobjectco.module; [
+<!ENTITY % local.imageobjectco.attrib "">
+<!ENTITY % imageobjectco.role.attrib "%role.attrib;">
+
+<!ENTITY % imageobjectco.element "INCLUDE">
+<![ %imageobjectco.element; [
+<!--doc:A wrapper for an image object with callouts.-->
+<!ELEMENT imageobjectco %ho; (areaspec, imageobject, calloutlist*)>
+<!--end of imageobjectco.element-->]]>
+
+<!ENTITY % imageobjectco.attlist "INCLUDE">
+<![ %imageobjectco.attlist; [
+<!ATTLIST imageobjectco
+ %common.attrib;
+ %imageobjectco.role.attrib;
+ %local.imageobjectco.attrib;
+>
+<!--end of imageobjectco.attlist-->]]>
+<!--end of imageobjectco.module-->]]>
+<!--end of mediaobject.content.module-->]]>
+
+<!-- Equations ........................ -->
+
+<!-- This PE provides a mechanism for replacing equation content, -->
+<!-- perhaps adding a new or different model (e.g., MathML) -->
+<!ENTITY % equation.content "(alt?, (graphic+|mediaobject+|mathphrase+))">
+<!ENTITY % inlineequation.content "(alt?, (graphic+|inlinemediaobject+|mathphrase+))">
+
+<!ENTITY % equation.module "INCLUDE">
+<![%equation.module;[
+<!ENTITY % local.equation.attrib "">
+<!ENTITY % equation.role.attrib "%role.attrib;">
+
+<!ENTITY % equation.element "INCLUDE">
+<![%equation.element;[
+<!--doc:A displayed mathematical equation.-->
+<!ELEMENT equation %ho; (blockinfo?, (%formalobject.title.content;)?,
+ (informalequation | %equation.content;))>
+<!--end of equation.element-->]]>
+
+<!ENTITY % equation.attlist "INCLUDE">
+<![%equation.attlist;[
+<!ATTLIST equation
+ floatstyle CDATA #IMPLIED
+ %label.attrib;
+ %common.attrib;
+ %equation.role.attrib;
+ %local.equation.attrib;
+>
+<!--end of equation.attlist-->]]>
+<!--end of equation.module-->]]>
+
+<!ENTITY % informalequation.module "INCLUDE">
+<![%informalequation.module;[
+<!ENTITY % local.informalequation.attrib "">
+<!ENTITY % informalequation.role.attrib "%role.attrib;">
+
+<!ENTITY % informalequation.element "INCLUDE">
+<![%informalequation.element;[
+<!--doc:A displayed mathematical equation without a title.-->
+<!ELEMENT informalequation %ho; (blockinfo?, %equation.content;) >
+<!--end of informalequation.element-->]]>
+
+<!ENTITY % informalequation.attlist "INCLUDE">
+<![%informalequation.attlist;[
+<!ATTLIST informalequation
+ floatstyle CDATA #IMPLIED
+ %common.attrib;
+ %informalequation.role.attrib;
+ %local.informalequation.attrib;
+>
+<!--end of informalequation.attlist-->]]>
+<!--end of informalequation.module-->]]>
+
+<!ENTITY % inlineequation.module "INCLUDE">
+<![%inlineequation.module;[
+<!ENTITY % local.inlineequation.attrib "">
+<!ENTITY % inlineequation.role.attrib "%role.attrib;">
+
+<!ENTITY % inlineequation.element "INCLUDE">
+<![%inlineequation.element;[
+<!--doc:A mathematical equation or expression occurring inline.-->
+<!ELEMENT inlineequation %ho; (%inlineequation.content;)>
+<!--end of inlineequation.element-->]]>
+
+<!ENTITY % inlineequation.attlist "INCLUDE">
+<![%inlineequation.attlist;[
+<!ATTLIST inlineequation
+ %common.attrib;
+ %inlineequation.role.attrib;
+ %local.inlineequation.attrib;
+>
+<!--end of inlineequation.attlist-->]]>
+<!--end of inlineequation.module-->]]>
+
+<!ENTITY % alt.module "INCLUDE">
+<![%alt.module;[
+<!ENTITY % local.alt.attrib "">
+<!ENTITY % alt.role.attrib "%role.attrib;">
+
+<!ENTITY % alt.element "INCLUDE">
+<![%alt.element;[
+<!--doc:Text representation for a graphical element.-->
+<!ELEMENT alt %ho; (#PCDATA)>
+<!--end of alt.element-->]]>
+
+<!ENTITY % alt.attlist "INCLUDE">
+<![%alt.attlist;[
+<!ATTLIST alt
+ %common.attrib;
+ %alt.role.attrib;
+ %local.alt.attrib;
+>
+<!--end of alt.attlist-->]]>
+<!--end of alt.module-->]]>
+
+<!ENTITY % mathphrase.module "INCLUDE">
+<![%mathphrase.module;[
+<!ENTITY % local.mathphrase.attrib "">
+<!ENTITY % mathphrase.role.attrib "%role.attrib;">
+
+<!ENTITY % mathphrase.element "INCLUDE">
+<![%mathphrase.element;[
+<!--doc:A mathematical phrase, an expression that can be represented with ordinary text and a small amount of markup.-->
+<!ELEMENT mathphrase %ho; (#PCDATA|subscript|superscript|emphasis)*>
+<!--end of mathphrase.element-->]]>
+
+<!ENTITY % mathphrase.attlist "INCLUDE">
+<![%mathphrase.attlist;[
+<!ATTLIST mathphrase
+ %common.attrib;
+ %mathphrase.role.attrib;
+ %local.mathphrase.attrib;
+>
+<!--end of mathphrase.attlist-->]]>
+<!--end of mathphrase.module-->]]>
+
+<!-- Tables ........................... -->
+
+<!ENTITY % table.module "INCLUDE">
+<![%table.module;[
+
+<!-- Choose a table model. CALS or OASIS XML Exchange -->
+
+<!ENTITY % cals.table.module "INCLUDE">
+<![%cals.table.module;[
+<!ENTITY % exchange.table.module "IGNORE">
+]]>
+<!ENTITY % exchange.table.module "INCLUDE">
+
+<!-- Do we allow the HTML table model as well? -->
+<!ENTITY % allow.html.tables "INCLUDE">
+<![%allow.html.tables;[
+ <!-- ====================================================== -->
+ <!-- xhtmltbl.mod defines HTML tables and sets parameter
+ entities so that, when the CALS table module is read,
+ we end up allowing any table to be CALS or HTML.
+ i.e. This include must come first! -->
+ <!-- ====================================================== -->
+
+<!ENTITY % htmltbl
+ PUBLIC "-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN"
+ "htmltblx.mod">
+%htmltbl;
+<!--end of allow.html.tables-->]]>
+
+<!ENTITY % tables.role.attrib "%role.attrib;">
+
+<![%cals.table.module;[
+<!-- Add label and role attributes to table and informaltable -->
+<!ENTITY % bodyatt "
+ floatstyle CDATA #IMPLIED
+ rowheader (firstcol|norowheader) #IMPLIED
+ %label.attrib;"
+>
+
+<!-- Add common attributes to Table, TGroup, TBody, THead, TFoot, Row,
+ EntryTbl, and Entry (and InformalTable element). -->
+<!ENTITY % secur
+ "%common.attrib;
+ %tables.role.attrib;">
+
+<!ENTITY % common.table.attribs
+ "%bodyatt;
+ %secur;">
+
+<!-- Content model for Table. -->
+<!ENTITY % tbl.table.mdl
+ "(blockinfo?, (%formalobject.title.content;), (%ndxterm.class;)*,
+ textobject*,
+ (graphic+|mediaobject+|tgroup+))">
+
+<!-- Allow either objects or inlines; beware of REs between elements. -->
+<!ENTITY % tbl.entry.mdl "%para.char.mix; | %tabentry.mix;">
+
+<!-- Reference CALS Table Model -->
+<!ENTITY % tablemodel
+ PUBLIC "-//OASIS//DTD DocBook CALS Table Model V4.5//EN"
+ "calstblx.dtd">
+]]>
+
+<![%exchange.table.module;[
+<!-- Add common attributes and the Label attribute to Table and -->
+<!-- InformalTable. -->
+<!ENTITY % bodyatt
+ "%common.attrib;
+ rowheader (firstcol|norowheader) #IMPLIED
+ %label.attrib;
+ %tables.role.attrib;">
+
+<!ENTITY % common.table.attribs
+ "%bodyatt;">
+
+<!-- Add common attributes to TGroup, ColSpec, TBody, THead, Row, Entry -->
+
+<!ENTITY % tbl.tgroup.att "%common.attrib;">
+<!ENTITY % tbl.colspec.att "%common.attrib;">
+<!ENTITY % tbl.tbody.att "%common.attrib;">
+<!ENTITY % tbl.thead.att "%common.attrib;">
+<!ENTITY % tbl.row.att "%common.attrib;">
+<!ENTITY % tbl.entry.att "%common.attrib;">
+
+<!-- Content model for Table. -->
+<!ENTITY % tbl.table.mdl
+ "(blockinfo?, (%formalobject.title.content;), (%ndxterm.class;)*,
+ textobject*,
+ (graphic+|mediaobject+|tgroup+))">
+
+<!-- Allow either objects or inlines; beware of REs between elements. -->
+<!ENTITY % tbl.entry.mdl "(%para.char.mix; | %tabentry.mix;)*">
+
+<!-- Reference OASIS Exchange Table Model -->
+<!ENTITY % tablemodel
+ PUBLIC "-//OASIS//DTD XML Exchange Table Model 19990315//EN"
+ "soextblx.dtd">
+]]>
+
+%tablemodel;
+
+<!--end of table.module-->]]>
+
+<!ENTITY % informaltable.module "INCLUDE">
+<![%informaltable.module;[
+
+<!-- Note that InformalTable is dependent on some of the entity
+ declarations that customize Table. -->
+
+<!ENTITY % local.informaltable.attrib "">
+
+<!-- the following entity may have been declared by the XHTML table module -->
+<!ENTITY % informal.tbl.table.mdl "textobject*, (graphic+|mediaobject+|tgroup+)">
+
+<!ENTITY % informaltable.element "INCLUDE">
+<![%informaltable.element;[
+<!--doc:A table without a title.-->
+<!ELEMENT informaltable %ho; (blockinfo?, (%informal.tbl.table.mdl;))>
+<!--end of informaltable.element-->]]>
+
+<!-- Frame, Colsep, and Rowsep must be repeated because
+ they are not in entities in the table module. -->
+<!-- includes TabStyle, ToCentry, ShortEntry,
+ Orient, PgWide -->
+<!-- includes Label -->
+<!-- includes common attributes -->
+
+<!ENTITY % informaltable.attlist "INCLUDE">
+<![%informaltable.attlist;[
+<!ATTLIST informaltable
+ frame (%tbl.frame.attval;) #IMPLIED
+ colsep %yesorno.attvals; #IMPLIED
+ rowsep %yesorno.attvals; #IMPLIED
+ %common.table.attribs;
+ %tbl.table.att;
+ %local.informaltable.attrib;
+>
+<!--end of informaltable.attlist-->]]>
+<!--end of informaltable.module-->]]>
+
+<!ENTITY % caption.module "INCLUDE">
+<![ %caption.module; [
+<!ENTITY % local.caption.attrib "">
+<!ENTITY % caption.role.attrib "%role.attrib;">
+
+<!ENTITY % caption.element "INCLUDE">
+<![ %caption.element; [
+<!--doc:A caption.-->
+<!ELEMENT caption %ho; (#PCDATA | %textobject.mix;)*>
+<!--end of caption.element-->]]>
+
+<!ENTITY % caption.attlist "INCLUDE">
+<![ %caption.attlist; [
+<!-- attrs comes from HTML tables ... -->
+
+<![ %allow.html.tables; [
+<!-- common.attrib, but without ID because ID is in attrs -->
+<!ENTITY % caption.attlist.content "
+ %caption.role.attrib;
+ %attrs;
+ align (top|bottom|left|right) #IMPLIED
+ %local.caption.attrib;
+">
+]]>
+<!ENTITY % caption.attlist.content "
+ %common.attrib;
+ %caption.role.attrib;
+ %local.caption.attrib;
+">
+
+<!ATTLIST caption %caption.attlist.content;>
+
+<!--end of caption.attlist-->]]>
+<!--end of caption.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Synopses ............................................................. -->
+
+<!-- Synopsis ......................... -->
+
+<!ENTITY % synopsis.module "INCLUDE">
+<![%synopsis.module;[
+<!ENTITY % local.synopsis.attrib "">
+<!ENTITY % synopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % synopsis.element "INCLUDE">
+<![%synopsis.element;[
+<!--doc:A general-purpose element for representing the syntax of commands or functions.-->
+<!ELEMENT synopsis %ho; (%para.char.mix;|graphic|mediaobject|co|coref|textobject|lineannotation)*>
+<!--end of synopsis.element-->]]>
+
+<!ENTITY % synopsis.attlist "INCLUDE">
+<![%synopsis.attlist;[
+<!ATTLIST synopsis
+ %label.attrib;
+ %linespecific.attrib;
+ %common.attrib;
+ %synopsis.role.attrib;
+ %local.synopsis.attrib;
+>
+<!--end of synopsis.attlist-->]]>
+
+<!-- LineAnnotation (defined in the Inlines section, below)-->
+<!--end of synopsis.module-->]]>
+
+<!-- CmdSynopsis ...................... -->
+
+<!ENTITY % cmdsynopsis.content.module "INCLUDE">
+<![%cmdsynopsis.content.module;[
+<!ENTITY % cmdsynopsis.module "INCLUDE">
+<![%cmdsynopsis.module;[
+<!ENTITY % local.cmdsynopsis.attrib "">
+<!ENTITY % cmdsynopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % cmdsynopsis.element "INCLUDE">
+<![%cmdsynopsis.element;[
+<!--doc:A syntax summary for a software command.-->
+<!ELEMENT cmdsynopsis %ho; ((command | arg | group | sbr)+, synopfragment*)>
+<!--end of cmdsynopsis.element-->]]>
+
+<!-- Sepchar: Character that should separate command and all
+ top-level arguments; alternate value might be e.g., &Delta; -->
+
+
+<!ENTITY % cmdsynopsis.attlist "INCLUDE">
+<![%cmdsynopsis.attlist;[
+<!ATTLIST cmdsynopsis
+ %label.attrib;
+ sepchar CDATA " "
+ cmdlength CDATA #IMPLIED
+ %common.attrib;
+ %cmdsynopsis.role.attrib;
+ %local.cmdsynopsis.attrib;
+>
+<!--end of cmdsynopsis.attlist-->]]>
+<!--end of cmdsynopsis.module-->]]>
+
+<!ENTITY % arg.module "INCLUDE">
+<![%arg.module;[
+<!ENTITY % local.arg.attrib "">
+<!ENTITY % arg.role.attrib "%role.attrib;">
+
+<!ENTITY % arg.element "INCLUDE">
+<![%arg.element;[
+<!--doc:An argument in a CmdSynopsis.-->
+<!ELEMENT arg %ho; (#PCDATA
+ | arg
+ | group
+ | option
+ | synopfragmentref
+ | replaceable
+ | sbr)*>
+<!--end of arg.element-->]]>
+
+<!-- Choice: Whether Arg must be supplied: Opt (optional to
+ supply, e.g. [arg]; the default), Req (required to supply,
+ e.g. {arg}), or Plain (required to supply, e.g. arg) -->
+<!-- Rep: whether Arg is repeatable: Norepeat (e.g. arg without
+ ellipsis; the default), or Repeat (e.g. arg...) -->
+
+
+<!ENTITY % arg.attlist "INCLUDE">
+<![%arg.attlist;[
+<!ATTLIST arg
+ choice (opt
+ |req
+ |plain) 'opt'
+ rep (norepeat
+ |repeat) 'norepeat'
+ %common.attrib;
+ %arg.role.attrib;
+ %local.arg.attrib;
+>
+<!--end of arg.attlist-->]]>
+<!--end of arg.module-->]]>
+
+<!ENTITY % group.module "INCLUDE">
+<![%group.module;[
+
+<!ENTITY % local.group.attrib "">
+<!ENTITY % group.role.attrib "%role.attrib;">
+
+<!ENTITY % group.element "INCLUDE">
+<![%group.element;[
+<!--doc:A group of elements in a CmdSynopsis.-->
+<!ELEMENT group %ho; ((arg | group | option | synopfragmentref
+ | replaceable | sbr)+)>
+<!--end of group.element-->]]>
+
+<!-- Choice: Whether Group must be supplied: Opt (optional to
+ supply, e.g. [g1|g2|g3]; the default), Req (required to
+ supply, e.g. {g1|g2|g3}), Plain (required to supply,
+ e.g. g1|g2|g3), OptMult (can supply zero or more, e.g.
+ [[g1|g2|g3]]), or ReqMult (must supply one or more, e.g.
+ {{g1|g2|g3}}) -->
+<!-- Rep: whether Group is repeatable: Norepeat (e.g. group
+ without ellipsis; the default), or Repeat (e.g. group...) -->
+
+
+<!ENTITY % group.attlist "INCLUDE">
+<![%group.attlist;[
+<!ATTLIST group
+ choice (opt
+ |req
+ |plain) 'opt'
+ rep (norepeat
+ |repeat) 'norepeat'
+ %common.attrib;
+ %group.role.attrib;
+ %local.group.attrib;
+>
+<!--end of group.attlist-->]]>
+<!--end of group.module-->]]>
+
+<!ENTITY % sbr.module "INCLUDE">
+<![%sbr.module;[
+<!ENTITY % local.sbr.attrib "">
+<!-- Synopsis break -->
+<!ENTITY % sbr.role.attrib "%role.attrib;">
+
+<!ENTITY % sbr.element "INCLUDE">
+<![%sbr.element;[
+<!--doc:An explicit line break in a command synopsis.-->
+<!ELEMENT sbr %ho; EMPTY>
+<!--end of sbr.element-->]]>
+
+<!ENTITY % sbr.attlist "INCLUDE">
+<![%sbr.attlist;[
+<!ATTLIST sbr
+ %common.attrib;
+ %sbr.role.attrib;
+ %local.sbr.attrib;
+>
+<!--end of sbr.attlist-->]]>
+<!--end of sbr.module-->]]>
+
+<!ENTITY % synopfragmentref.module "INCLUDE">
+<![%synopfragmentref.module;[
+<!ENTITY % local.synopfragmentref.attrib "">
+<!ENTITY % synopfragmentref.role.attrib "%role.attrib;">
+
+<!ENTITY % synopfragmentref.element "INCLUDE">
+<![%synopfragmentref.element;[
+<!--doc:A reference to a fragment of a command synopsis.-->
+<!ELEMENT synopfragmentref %ho; (#PCDATA)>
+<!--end of synopfragmentref.element-->]]>
+
+<!-- to SynopFragment of complex synopsis
+ material for separate referencing -->
+
+
+<!ENTITY % synopfragmentref.attlist "INCLUDE">
+<![%synopfragmentref.attlist;[
+<!ATTLIST synopfragmentref
+ %linkendreq.attrib; %common.attrib;
+ %synopfragmentref.role.attrib;
+ %local.synopfragmentref.attrib;
+>
+<!--end of synopfragmentref.attlist-->]]>
+<!--end of synopfragmentref.module-->]]>
+
+<!ENTITY % synopfragment.module "INCLUDE">
+<![%synopfragment.module;[
+<!ENTITY % local.synopfragment.attrib "">
+<!ENTITY % synopfragment.role.attrib "%role.attrib;">
+
+<!ENTITY % synopfragment.element "INCLUDE">
+<![%synopfragment.element;[
+<!--doc:A portion of a CmdSynopsis broken out from the main body of the synopsis.-->
+<!ELEMENT synopfragment %ho; ((arg | group)+)>
+<!--end of synopfragment.element-->]]>
+
+<!ENTITY % synopfragment.attlist "INCLUDE">
+<![%synopfragment.attlist;[
+<!ATTLIST synopfragment
+ %idreq.common.attrib;
+ %synopfragment.role.attrib;
+ %local.synopfragment.attrib;
+>
+<!--end of synopfragment.attlist-->]]>
+<!--end of synopfragment.module-->]]>
+
+<!-- Command (defined in the Inlines section, below)-->
+<!-- Option (defined in the Inlines section, below)-->
+<!-- Replaceable (defined in the Inlines section, below)-->
+<!--end of cmdsynopsis.content.module-->]]>
+
+<!-- FuncSynopsis ..................... -->
+
+<!ENTITY % funcsynopsis.content.module "INCLUDE">
+<![%funcsynopsis.content.module;[
+<!ENTITY % funcsynopsis.module "INCLUDE">
+<![%funcsynopsis.module;[
+
+<!ENTITY % local.funcsynopsis.attrib "">
+<!ENTITY % funcsynopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % funcsynopsis.element "INCLUDE">
+<![%funcsynopsis.element;[
+<!--doc:The syntax summary for a function definition.-->
+<!ELEMENT funcsynopsis %ho; ((funcsynopsisinfo | funcprototype)+)>
+<!--end of funcsynopsis.element-->]]>
+
+<!ENTITY % funcsynopsis.attlist "INCLUDE">
+<![%funcsynopsis.attlist;[
+<!ATTLIST funcsynopsis
+ %label.attrib;
+ %common.attrib;
+ %funcsynopsis.role.attrib;
+ %local.funcsynopsis.attrib;
+>
+<!--end of funcsynopsis.attlist-->]]>
+<!--end of funcsynopsis.module-->]]>
+
+<!ENTITY % funcsynopsisinfo.module "INCLUDE">
+<![%funcsynopsisinfo.module;[
+<!ENTITY % local.funcsynopsisinfo.attrib "">
+<!ENTITY % funcsynopsisinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % funcsynopsisinfo.element "INCLUDE">
+<![%funcsynopsisinfo.element;[
+<!--doc:Information supplementing the FuncDefs of a FuncSynopsis.-->
+<!ELEMENT funcsynopsisinfo %ho; (%cptr.char.mix;|textobject|lineannotation)*>
+<!--end of funcsynopsisinfo.element-->]]>
+
+<!ENTITY % funcsynopsisinfo.attlist "INCLUDE">
+<![%funcsynopsisinfo.attlist;[
+<!ATTLIST funcsynopsisinfo
+ %linespecific.attrib;
+ %common.attrib;
+ %funcsynopsisinfo.role.attrib;
+ %local.funcsynopsisinfo.attrib;
+>
+<!--end of funcsynopsisinfo.attlist-->]]>
+<!--end of funcsynopsisinfo.module-->]]>
+
+<!ENTITY % funcprototype.module "INCLUDE">
+<![%funcprototype.module;[
+<!ENTITY % local.funcprototype.attrib "">
+<!ENTITY % funcprototype.role.attrib "%role.attrib;">
+
+<!ENTITY % funcprototype.element "INCLUDE">
+<![%funcprototype.element;[
+<!--doc:The prototype of a function.-->
+<!ELEMENT funcprototype %ho; (modifier*,
+ funcdef,
+ (void|varargs|(paramdef+, varargs?)),
+ modifier*)>
+
+<!--end of funcprototype.element-->]]>
+
+<!ENTITY % funcprototype.attlist "INCLUDE">
+<![%funcprototype.attlist;[
+<!ATTLIST funcprototype
+ %common.attrib;
+ %funcprototype.role.attrib;
+ %local.funcprototype.attrib;
+>
+<!--end of funcprototype.attlist-->]]>
+<!--end of funcprototype.module-->]]>
+
+<!ENTITY % funcdef.module "INCLUDE">
+<![%funcdef.module;[
+<!ENTITY % local.funcdef.attrib "">
+<!ENTITY % funcdef.role.attrib "%role.attrib;">
+
+<!ENTITY % funcdef.element "INCLUDE">
+<![%funcdef.element;[
+<!--doc:A function (subroutine) name and its return type.-->
+<!ELEMENT funcdef %ho; (#PCDATA
+ | type
+ | replaceable
+ | function)*>
+<!--end of funcdef.element-->]]>
+
+<!ENTITY % funcdef.attlist "INCLUDE">
+<![%funcdef.attlist;[
+<!ATTLIST funcdef
+ %common.attrib;
+ %funcdef.role.attrib;
+ %local.funcdef.attrib;
+>
+<!--end of funcdef.attlist-->]]>
+<!--end of funcdef.module-->]]>
+
+<!ENTITY % void.module "INCLUDE">
+<![%void.module;[
+<!ENTITY % local.void.attrib "">
+<!ENTITY % void.role.attrib "%role.attrib;">
+
+<!ENTITY % void.element "INCLUDE">
+<![%void.element;[
+<!--doc:An empty element in a function synopsis indicating that the function in question takes no arguments.-->
+<!ELEMENT void %ho; EMPTY>
+<!--end of void.element-->]]>
+
+<!ENTITY % void.attlist "INCLUDE">
+<![%void.attlist;[
+<!ATTLIST void
+ %common.attrib;
+ %void.role.attrib;
+ %local.void.attrib;
+>
+<!--end of void.attlist-->]]>
+<!--end of void.module-->]]>
+
+<!ENTITY % varargs.module "INCLUDE">
+<![%varargs.module;[
+<!ENTITY % local.varargs.attrib "">
+<!ENTITY % varargs.role.attrib "%role.attrib;">
+
+<!ENTITY % varargs.element "INCLUDE">
+<![%varargs.element;[
+<!--doc:An empty element in a function synopsis indicating a variable number of arguments.-->
+<!ELEMENT varargs %ho; EMPTY>
+<!--end of varargs.element-->]]>
+
+<!ENTITY % varargs.attlist "INCLUDE">
+<![%varargs.attlist;[
+<!ATTLIST varargs
+ %common.attrib;
+ %varargs.role.attrib;
+ %local.varargs.attrib;
+>
+<!--end of varargs.attlist-->]]>
+<!--end of varargs.module-->]]>
+
+<!-- Processing assumes that only one Parameter will appear in a
+ ParamDef, and that FuncParams will be used at most once, for
+ providing information on the "inner parameters" for parameters that
+ are pointers to functions. -->
+
+<!ENTITY % paramdef.module "INCLUDE">
+<![%paramdef.module;[
+<!ENTITY % local.paramdef.attrib "">
+<!ENTITY % paramdef.role.attrib "%role.attrib;">
+
+<!ENTITY % paramdef.element "INCLUDE">
+<![%paramdef.element;[
+<!--doc:Information about a function parameter in a programming language.-->
+<!ELEMENT paramdef %ho; (#PCDATA
+ | initializer
+ | type
+ | replaceable
+ | parameter
+ | funcparams)*>
+<!--end of paramdef.element-->]]>
+
+<!ENTITY % paramdef.attlist "INCLUDE">
+<![%paramdef.attlist;[
+<!ATTLIST paramdef
+ choice (opt
+ |req) #IMPLIED
+ %common.attrib;
+ %paramdef.role.attrib;
+ %local.paramdef.attrib;
+>
+<!--end of paramdef.attlist-->]]>
+<!--end of paramdef.module-->]]>
+
+<!ENTITY % funcparams.module "INCLUDE">
+<![%funcparams.module;[
+<!ENTITY % local.funcparams.attrib "">
+<!ENTITY % funcparams.role.attrib "%role.attrib;">
+
+<!ENTITY % funcparams.element "INCLUDE">
+<![%funcparams.element;[
+<!--doc:Parameters for a function referenced through a function pointer in a synopsis.-->
+<!ELEMENT funcparams %ho; (%cptr.char.mix;)*>
+<!--end of funcparams.element-->]]>
+
+<!ENTITY % funcparams.attlist "INCLUDE">
+<![%funcparams.attlist;[
+<!ATTLIST funcparams
+ %common.attrib;
+ %funcparams.role.attrib;
+ %local.funcparams.attrib;
+>
+<!--end of funcparams.attlist-->]]>
+<!--end of funcparams.module-->]]>
+
+<!-- LineAnnotation (defined in the Inlines section, below)-->
+<!-- Replaceable (defined in the Inlines section, below)-->
+<!-- Function (defined in the Inlines section, below)-->
+<!-- Parameter (defined in the Inlines section, below)-->
+<!--end of funcsynopsis.content.module-->]]>
+
+<!-- ClassSynopsis ..................... -->
+
+<!ENTITY % classsynopsis.content.module "INCLUDE">
+<![%classsynopsis.content.module;[
+
+<!ENTITY % classsynopsis.module "INCLUDE">
+<![%classsynopsis.module;[
+<!ENTITY % local.classsynopsis.attrib "">
+<!ENTITY % classsynopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % classsynopsis.element "INCLUDE">
+<![%classsynopsis.element;[
+<!--doc:The syntax summary for a class definition.-->
+<!ELEMENT classsynopsis %ho; ((ooclass|oointerface|ooexception)+,
+ (classsynopsisinfo
+ |fieldsynopsis|%method.synop.class;)*)>
+<!--end of classsynopsis.element-->]]>
+
+<!ENTITY % classsynopsis.attlist "INCLUDE">
+<![%classsynopsis.attlist;[
+<!ATTLIST classsynopsis
+ language CDATA #IMPLIED
+ class (class|interface) "class"
+ %common.attrib;
+ %classsynopsis.role.attrib;
+ %local.classsynopsis.attrib;
+>
+<!--end of classsynopsis.attlist-->]]>
+<!--end of classsynopsis.module-->]]>
+
+<!ENTITY % classsynopsisinfo.module "INCLUDE">
+<![ %classsynopsisinfo.module; [
+<!ENTITY % local.classsynopsisinfo.attrib "">
+<!ENTITY % classsynopsisinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % classsynopsisinfo.element "INCLUDE">
+<![ %classsynopsisinfo.element; [
+<!--doc:Information supplementing the contents of a ClassSynopsis.-->
+<!ELEMENT classsynopsisinfo %ho; (%cptr.char.mix;|textobject|lineannotation)*>
+<!--end of classsynopsisinfo.element-->]]>
+
+<!ENTITY % classsynopsisinfo.attlist "INCLUDE">
+<![ %classsynopsisinfo.attlist; [
+<!ATTLIST classsynopsisinfo
+ %linespecific.attrib;
+ %common.attrib;
+ %classsynopsisinfo.role.attrib;
+ %local.classsynopsisinfo.attrib;
+>
+<!--end of classsynopsisinfo.attlist-->]]>
+<!--end of classsynopsisinfo.module-->]]>
+
+<!ENTITY % ooclass.module "INCLUDE">
+<![%ooclass.module;[
+<!ENTITY % local.ooclass.attrib "">
+<!ENTITY % ooclass.role.attrib "%role.attrib;">
+
+<!ENTITY % ooclass.element "INCLUDE">
+<![%ooclass.element;[
+<!--doc:A class in an object-oriented programming language.-->
+<!ELEMENT ooclass %ho; ((modifier|package)*, classname)>
+<!--end of ooclass.element-->]]>
+
+<!ENTITY % ooclass.attlist "INCLUDE">
+<![%ooclass.attlist;[
+<!ATTLIST ooclass
+ %common.attrib;
+ %ooclass.role.attrib;
+ %local.ooclass.attrib;
+>
+<!--end of ooclass.attlist-->]]>
+<!--end of ooclass.module-->]]>
+
+<!ENTITY % oointerface.module "INCLUDE">
+<![%oointerface.module;[
+<!ENTITY % local.oointerface.attrib "">
+<!ENTITY % oointerface.role.attrib "%role.attrib;">
+
+<!ENTITY % oointerface.element "INCLUDE">
+<![%oointerface.element;[
+<!--doc:An interface in an object-oriented programming language.-->
+<!ELEMENT oointerface %ho; ((modifier|package)*, interfacename)>
+<!--end of oointerface.element-->]]>
+
+<!ENTITY % oointerface.attlist "INCLUDE">
+<![%oointerface.attlist;[
+<!ATTLIST oointerface
+ %common.attrib;
+ %oointerface.role.attrib;
+ %local.oointerface.attrib;
+>
+<!--end of oointerface.attlist-->]]>
+<!--end of oointerface.module-->]]>
+
+<!ENTITY % ooexception.module "INCLUDE">
+<![%ooexception.module;[
+<!ENTITY % local.ooexception.attrib "">
+<!ENTITY % ooexception.role.attrib "%role.attrib;">
+
+<!ENTITY % ooexception.element "INCLUDE">
+<![%ooexception.element;[
+<!--doc:An exception in an object-oriented programming language.-->
+<!ELEMENT ooexception %ho; ((modifier|package)*, exceptionname)>
+<!--end of ooexception.element-->]]>
+
+<!ENTITY % ooexception.attlist "INCLUDE">
+<![%ooexception.attlist;[
+<!ATTLIST ooexception
+ %common.attrib;
+ %ooexception.role.attrib;
+ %local.ooexception.attrib;
+>
+<!--end of ooexception.attlist-->]]>
+<!--end of ooexception.module-->]]>
+
+<!ENTITY % modifier.module "INCLUDE">
+<![%modifier.module;[
+<!ENTITY % local.modifier.attrib "">
+<!ENTITY % modifier.role.attrib "%role.attrib;">
+
+<!ENTITY % modifier.element "INCLUDE">
+<![%modifier.element;[
+<!--doc:Modifiers in a synopsis.-->
+<!ELEMENT modifier %ho; (%smallcptr.char.mix;)*>
+<!--end of modifier.element-->]]>
+
+<!ENTITY % modifier.attlist "INCLUDE">
+<![%modifier.attlist;[
+<!ATTLIST modifier
+ %common.attrib;
+ %modifier.role.attrib;
+ %local.modifier.attrib;
+>
+<!--end of modifier.attlist-->]]>
+<!--end of modifier.module-->]]>
+
+<!ENTITY % interfacename.module "INCLUDE">
+<![%interfacename.module;[
+<!ENTITY % local.interfacename.attrib "">
+<!ENTITY % interfacename.role.attrib "%role.attrib;">
+
+<!ENTITY % interfacename.element "INCLUDE">
+<![%interfacename.element;[
+<!--doc:The name of an interface.-->
+<!ELEMENT interfacename %ho; (%cptr.char.mix;)*>
+<!--end of interfacename.element-->]]>
+
+<!ENTITY % interfacename.attlist "INCLUDE">
+<![%interfacename.attlist;[
+<!ATTLIST interfacename
+ %common.attrib;
+ %interfacename.role.attrib;
+ %local.interfacename.attrib;
+>
+<!--end of interfacename.attlist-->]]>
+<!--end of interfacename.module-->]]>
+
+<!ENTITY % exceptionname.module "INCLUDE">
+<![%exceptionname.module;[
+<!ENTITY % local.exceptionname.attrib "">
+<!ENTITY % exceptionname.role.attrib "%role.attrib;">
+
+<!ENTITY % exceptionname.element "INCLUDE">
+<![%exceptionname.element;[
+<!--doc:The name of an exception.-->
+<!ELEMENT exceptionname %ho; (%smallcptr.char.mix;)*>
+<!--end of exceptionname.element-->]]>
+
+<!ENTITY % exceptionname.attlist "INCLUDE">
+<![%exceptionname.attlist;[
+<!ATTLIST exceptionname
+ %common.attrib;
+ %exceptionname.role.attrib;
+ %local.exceptionname.attrib;
+>
+<!--end of exceptionname.attlist-->]]>
+<!--end of exceptionname.module-->]]>
+
+<!ENTITY % fieldsynopsis.module "INCLUDE">
+<![%fieldsynopsis.module;[
+<!ENTITY % local.fieldsynopsis.attrib "">
+<!ENTITY % fieldsynopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % fieldsynopsis.element "INCLUDE">
+<![%fieldsynopsis.element;[
+<!--doc:The name of a field in a class definition.-->
+<!ELEMENT fieldsynopsis %ho; (modifier*, type?, varname, initializer?)>
+<!--end of fieldsynopsis.element-->]]>
+
+<!ENTITY % fieldsynopsis.attlist "INCLUDE">
+<![%fieldsynopsis.attlist;[
+<!ATTLIST fieldsynopsis
+ language CDATA #IMPLIED
+ %common.attrib;
+ %fieldsynopsis.role.attrib;
+ %local.fieldsynopsis.attrib;
+>
+<!--end of fieldsynopsis.attlist-->]]>
+<!--end of fieldsynopsis.module-->]]>
+
+<!ENTITY % initializer.module "INCLUDE">
+<![%initializer.module;[
+<!ENTITY % local.initializer.attrib "">
+<!ENTITY % initializer.role.attrib "%role.attrib;">
+
+<!ENTITY % initializer.element "INCLUDE">
+<![%initializer.element;[
+<!--doc:The initializer for a FieldSynopsis.-->
+<!ELEMENT initializer %ho; (%smallcptr.char.mix;)*>
+<!--end of initializer.element-->]]>
+
+<!ENTITY % initializer.attlist "INCLUDE">
+<![%initializer.attlist;[
+<!ATTLIST initializer
+ %common.attrib;
+ %initializer.role.attrib;
+ %local.initializer.attrib;
+>
+<!--end of initializer.attlist-->]]>
+<!--end of initializer.module-->]]>
+
+<!ENTITY % constructorsynopsis.module "INCLUDE">
+<![%constructorsynopsis.module;[
+<!ENTITY % local.constructorsynopsis.attrib "">
+<!ENTITY % constructorsynopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % constructorsynopsis.element "INCLUDE">
+<![%constructorsynopsis.element;[
+<!--doc:A syntax summary for a constructor.-->
+<!ELEMENT constructorsynopsis %ho; (modifier*,
+ methodname?,
+ (methodparam+|void?),
+ exceptionname*)>
+<!--end of constructorsynopsis.element-->]]>
+
+<!ENTITY % constructorsynopsis.attlist "INCLUDE">
+<![%constructorsynopsis.attlist;[
+<!ATTLIST constructorsynopsis
+ language CDATA #IMPLIED
+ %common.attrib;
+ %constructorsynopsis.role.attrib;
+ %local.constructorsynopsis.attrib;
+>
+<!--end of constructorsynopsis.attlist-->]]>
+<!--end of constructorsynopsis.module-->]]>
+
+<!ENTITY % destructorsynopsis.module "INCLUDE">
+<![%destructorsynopsis.module;[
+<!ENTITY % local.destructorsynopsis.attrib "">
+<!ENTITY % destructorsynopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % destructorsynopsis.element "INCLUDE">
+<![%destructorsynopsis.element;[
+<!--doc:A syntax summary for a destructor.-->
+<!ELEMENT destructorsynopsis %ho; (modifier*,
+ methodname?,
+ (methodparam+|void?),
+ exceptionname*)>
+<!--end of destructorsynopsis.element-->]]>
+
+<!ENTITY % destructorsynopsis.attlist "INCLUDE">
+<![%destructorsynopsis.attlist;[
+<!ATTLIST destructorsynopsis
+ language CDATA #IMPLIED
+ %common.attrib;
+ %destructorsynopsis.role.attrib;
+ %local.destructorsynopsis.attrib;
+>
+<!--end of destructorsynopsis.attlist-->]]>
+<!--end of destructorsynopsis.module-->]]>
+
+<!ENTITY % methodsynopsis.module "INCLUDE">
+<![%methodsynopsis.module;[
+<!ENTITY % local.methodsynopsis.attrib "">
+<!ENTITY % methodsynopsis.role.attrib "%role.attrib;">
+
+<!ENTITY % methodsynopsis.element "INCLUDE">
+<![%methodsynopsis.element;[
+<!--doc:A syntax summary for a method.-->
+<!ELEMENT methodsynopsis %ho; (modifier*,
+ (type|void)?,
+ methodname,
+ (methodparam+|void?),
+ exceptionname*,
+ modifier*)>
+<!--end of methodsynopsis.element-->]]>
+
+<!ENTITY % methodsynopsis.attlist "INCLUDE">
+<![%methodsynopsis.attlist;[
+<!ATTLIST methodsynopsis
+ language CDATA #IMPLIED
+ %common.attrib;
+ %methodsynopsis.role.attrib;
+ %local.methodsynopsis.attrib;
+>
+<!--end of methodsynopsis.attlist-->]]>
+<!--end of methodsynopsis.module-->]]>
+
+<!ENTITY % methodname.module "INCLUDE">
+<![%methodname.module;[
+<!ENTITY % local.methodname.attrib "">
+<!ENTITY % methodname.role.attrib "%role.attrib;">
+
+<!ENTITY % methodname.element "INCLUDE">
+<![%methodname.element;[
+<!--doc:The name of a method.-->
+<!ELEMENT methodname %ho; (%smallcptr.char.mix;)*>
+<!--end of methodname.element-->]]>
+
+<!ENTITY % methodname.attlist "INCLUDE">
+<![%methodname.attlist;[
+<!ATTLIST methodname
+ %common.attrib;
+ %methodname.role.attrib;
+ %local.methodname.attrib;
+>
+<!--end of methodname.attlist-->]]>
+<!--end of methodname.module-->]]>
+
+<!ENTITY % methodparam.module "INCLUDE">
+<![%methodparam.module;[
+<!ENTITY % local.methodparam.attrib "">
+<!ENTITY % methodparam.role.attrib "%role.attrib;">
+
+<!ENTITY % methodparam.element "INCLUDE">
+<![%methodparam.element;[
+<!--doc:Parameters to a method.-->
+<!ELEMENT methodparam %ho; (modifier*,
+ type?,
+ ((parameter,initializer?)|funcparams),
+ modifier*)>
+<!--end of methodparam.element-->]]>
+
+<!ENTITY % methodparam.attlist "INCLUDE">
+<![%methodparam.attlist;[
+<!ATTLIST methodparam
+ choice (opt
+ |req
+ |plain) "req"
+ rep (norepeat
+ |repeat) "norepeat"
+ %common.attrib;
+ %methodparam.role.attrib;
+ %local.methodparam.attrib;
+>
+<!--end of methodparam.attlist-->]]>
+<!--end of methodparam.module-->]]>
+<!--end of classsynopsis.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Document information entities and elements ........................... -->
+
+<!-- The document information elements include some elements that are
+ currently used only in the document hierarchy module. They are
+ defined here so that they will be available for use in customized
+ document hierarchies. -->
+
+<!-- .................................. -->
+
+<!ENTITY % docinfo.content.module "INCLUDE">
+<![%docinfo.content.module;[
+
+<!-- Ackno ............................ -->
+
+<!ENTITY % ackno.module "INCLUDE">
+<![%ackno.module;[
+<!ENTITY % local.ackno.attrib "">
+<!ENTITY % ackno.role.attrib "%role.attrib;">
+
+<!ENTITY % ackno.element "INCLUDE">
+<![%ackno.element;[
+<!--doc:Acknowledgements in an Article.-->
+<!ELEMENT ackno %ho; (%docinfo.char.mix;)*>
+<!--end of ackno.element-->]]>
+
+<!ENTITY % ackno.attlist "INCLUDE">
+<![%ackno.attlist;[
+<!ATTLIST ackno
+ %common.attrib;
+ %ackno.role.attrib;
+ %local.ackno.attrib;
+>
+<!--end of ackno.attlist-->]]>
+<!--end of ackno.module-->]]>
+
+<!-- Address .......................... -->
+
+<!ENTITY % address.content.module "INCLUDE">
+<![%address.content.module;[
+<!ENTITY % address.module "INCLUDE">
+<![%address.module;[
+<!ENTITY % local.address.attrib "">
+<!ENTITY % address.role.attrib "%role.attrib;">
+
+<!ENTITY % address.element "INCLUDE">
+<![%address.element;[
+<!--doc:A real-world address, generally a postal address.-->
+<!ELEMENT address %ho; (#PCDATA|personname|%person.ident.mix;
+ |street|pob|postcode|city|state|country|phone
+ |fax|email|otheraddr)*>
+<!--end of address.element-->]]>
+
+<!ENTITY % address.attlist "INCLUDE">
+<![%address.attlist;[
+<!ATTLIST address
+ %linespecific.attrib;
+ %common.attrib;
+ %address.role.attrib;
+ %local.address.attrib;
+>
+<!--end of address.attlist-->]]>
+<!--end of address.module-->]]>
+
+ <!ENTITY % street.module "INCLUDE">
+ <![%street.module;[
+ <!ENTITY % local.street.attrib "">
+ <!ENTITY % street.role.attrib "%role.attrib;">
+
+<!ENTITY % street.element "INCLUDE">
+<![%street.element;[
+<!--doc:A street address in an address.-->
+<!ELEMENT street %ho; (%docinfo.char.mix;)*>
+<!--end of street.element-->]]>
+
+<!ENTITY % street.attlist "INCLUDE">
+<![%street.attlist;[
+<!ATTLIST street
+ %common.attrib;
+ %street.role.attrib;
+ %local.street.attrib;
+>
+<!--end of street.attlist-->]]>
+ <!--end of street.module-->]]>
+
+ <!ENTITY % pob.module "INCLUDE">
+ <![%pob.module;[
+ <!ENTITY % local.pob.attrib "">
+ <!ENTITY % pob.role.attrib "%role.attrib;">
+
+<!ENTITY % pob.element "INCLUDE">
+<![%pob.element;[
+<!--doc:A post office box in an address.-->
+<!ELEMENT pob %ho; (%docinfo.char.mix;)*>
+<!--end of pob.element-->]]>
+
+<!ENTITY % pob.attlist "INCLUDE">
+<![%pob.attlist;[
+<!ATTLIST pob
+ %common.attrib;
+ %pob.role.attrib;
+ %local.pob.attrib;
+>
+<!--end of pob.attlist-->]]>
+ <!--end of pob.module-->]]>
+
+ <!ENTITY % postcode.module "INCLUDE">
+ <![%postcode.module;[
+ <!ENTITY % local.postcode.attrib "">
+ <!ENTITY % postcode.role.attrib "%role.attrib;">
+
+<!ENTITY % postcode.element "INCLUDE">
+<![%postcode.element;[
+<!--doc:A postal code in an address.-->
+<!ELEMENT postcode %ho; (%docinfo.char.mix;)*>
+<!--end of postcode.element-->]]>
+
+<!ENTITY % postcode.attlist "INCLUDE">
+<![%postcode.attlist;[
+<!ATTLIST postcode
+ %common.attrib;
+ %postcode.role.attrib;
+ %local.postcode.attrib;
+>
+<!--end of postcode.attlist-->]]>
+ <!--end of postcode.module-->]]>
+
+ <!ENTITY % city.module "INCLUDE">
+ <![%city.module;[
+ <!ENTITY % local.city.attrib "">
+ <!ENTITY % city.role.attrib "%role.attrib;">
+
+<!ENTITY % city.element "INCLUDE">
+<![%city.element;[
+<!--doc:The name of a city in an address.-->
+<!ELEMENT city %ho; (%docinfo.char.mix;)*>
+<!--end of city.element-->]]>
+
+<!ENTITY % city.attlist "INCLUDE">
+<![%city.attlist;[
+<!ATTLIST city
+ %common.attrib;
+ %city.role.attrib;
+ %local.city.attrib;
+>
+<!--end of city.attlist-->]]>
+ <!--end of city.module-->]]>
+
+ <!ENTITY % state.module "INCLUDE">
+ <![%state.module;[
+ <!ENTITY % local.state.attrib "">
+ <!ENTITY % state.role.attrib "%role.attrib;">
+
+<!ENTITY % state.element "INCLUDE">
+<![%state.element;[
+<!--doc:A state or province in an address.-->
+<!ELEMENT state %ho; (%docinfo.char.mix;)*>
+<!--end of state.element-->]]>
+
+<!ENTITY % state.attlist "INCLUDE">
+<![%state.attlist;[
+<!ATTLIST state
+ %common.attrib;
+ %state.role.attrib;
+ %local.state.attrib;
+>
+<!--end of state.attlist-->]]>
+ <!--end of state.module-->]]>
+
+ <!ENTITY % country.module "INCLUDE">
+ <![%country.module;[
+ <!ENTITY % local.country.attrib "">
+ <!ENTITY % country.role.attrib "%role.attrib;">
+
+<!ENTITY % country.element "INCLUDE">
+<![%country.element;[
+<!--doc:The name of a country.-->
+<!ELEMENT country %ho; (%docinfo.char.mix;)*>
+<!--end of country.element-->]]>
+
+<!ENTITY % country.attlist "INCLUDE">
+<![%country.attlist;[
+<!ATTLIST country
+ %common.attrib;
+ %country.role.attrib;
+ %local.country.attrib;
+>
+<!--end of country.attlist-->]]>
+ <!--end of country.module-->]]>
+
+ <!ENTITY % phone.module "INCLUDE">
+ <![%phone.module;[
+ <!ENTITY % local.phone.attrib "">
+ <!ENTITY % phone.role.attrib "%role.attrib;">
+
+<!ENTITY % phone.element "INCLUDE">
+<![%phone.element;[
+<!--doc:A telephone number.-->
+<!ELEMENT phone %ho; (%docinfo.char.mix;)*>
+<!--end of phone.element-->]]>
+
+<!ENTITY % phone.attlist "INCLUDE">
+<![%phone.attlist;[
+<!ATTLIST phone
+ %common.attrib;
+ %phone.role.attrib;
+ %local.phone.attrib;
+>
+<!--end of phone.attlist-->]]>
+ <!--end of phone.module-->]]>
+
+ <!ENTITY % fax.module "INCLUDE">
+ <![%fax.module;[
+ <!ENTITY % local.fax.attrib "">
+ <!ENTITY % fax.role.attrib "%role.attrib;">
+
+<!ENTITY % fax.element "INCLUDE">
+<![%fax.element;[
+<!--doc:A fax number.-->
+<!ELEMENT fax %ho; (%docinfo.char.mix;)*>
+<!--end of fax.element-->]]>
+
+<!ENTITY % fax.attlist "INCLUDE">
+<![%fax.attlist;[
+<!ATTLIST fax
+ %common.attrib;
+ %fax.role.attrib;
+ %local.fax.attrib;
+>
+<!--end of fax.attlist-->]]>
+ <!--end of fax.module-->]]>
+
+ <!-- Email (defined in the Inlines section, below)-->
+
+ <!ENTITY % otheraddr.module "INCLUDE">
+ <![%otheraddr.module;[
+ <!ENTITY % local.otheraddr.attrib "">
+ <!ENTITY % otheraddr.role.attrib "%role.attrib;">
+
+<!ENTITY % otheraddr.element "INCLUDE">
+<![%otheraddr.element;[
+<!--doc:Uncategorized information in address.-->
+<!ELEMENT otheraddr %ho; (%docinfo.char.mix;)*>
+<!--end of otheraddr.element-->]]>
+
+<!ENTITY % otheraddr.attlist "INCLUDE">
+<![%otheraddr.attlist;[
+<!ATTLIST otheraddr
+ %common.attrib;
+ %otheraddr.role.attrib;
+ %local.otheraddr.attrib;
+>
+<!--end of otheraddr.attlist-->]]>
+ <!--end of otheraddr.module-->]]>
+<!--end of address.content.module-->]]>
+
+<!-- Affiliation ...................... -->
+
+<!ENTITY % affiliation.content.module "INCLUDE">
+<![%affiliation.content.module;[
+<!ENTITY % affiliation.module "INCLUDE">
+<![%affiliation.module;[
+<!ENTITY % local.affiliation.attrib "">
+<!ENTITY % affiliation.role.attrib "%role.attrib;">
+
+<!ENTITY % affiliation.element "INCLUDE">
+<![%affiliation.element;[
+<!--doc:The institutional affiliation of an individual.-->
+<!ELEMENT affiliation %ho; (shortaffil?, jobtitle*, orgname?, orgdiv*,
+ address*)>
+<!--end of affiliation.element-->]]>
+
+<!ENTITY % affiliation.attlist "INCLUDE">
+<![%affiliation.attlist;[
+<!ATTLIST affiliation
+ %common.attrib;
+ %affiliation.role.attrib;
+ %local.affiliation.attrib;
+>
+<!--end of affiliation.attlist-->]]>
+<!--end of affiliation.module-->]]>
+
+ <!ENTITY % shortaffil.module "INCLUDE">
+ <![%shortaffil.module;[
+ <!ENTITY % local.shortaffil.attrib "">
+ <!ENTITY % shortaffil.role.attrib "%role.attrib;">
+
+<!ENTITY % shortaffil.element "INCLUDE">
+<![%shortaffil.element;[
+<!--doc:A brief description of an affiliation.-->
+<!ELEMENT shortaffil %ho; (%docinfo.char.mix;)*>
+<!--end of shortaffil.element-->]]>
+
+<!ENTITY % shortaffil.attlist "INCLUDE">
+<![%shortaffil.attlist;[
+<!ATTLIST shortaffil
+ %common.attrib;
+ %shortaffil.role.attrib;
+ %local.shortaffil.attrib;
+>
+<!--end of shortaffil.attlist-->]]>
+ <!--end of shortaffil.module-->]]>
+
+ <!ENTITY % jobtitle.module "INCLUDE">
+ <![%jobtitle.module;[
+ <!ENTITY % local.jobtitle.attrib "">
+ <!ENTITY % jobtitle.role.attrib "%role.attrib;">
+
+<!ENTITY % jobtitle.element "INCLUDE">
+<![%jobtitle.element;[
+<!--doc:The title of an individual in an organization.-->
+<!ELEMENT jobtitle %ho; (%docinfo.char.mix;)*>
+<!--end of jobtitle.element-->]]>
+
+<!ENTITY % jobtitle.attlist "INCLUDE">
+<![%jobtitle.attlist;[
+<!ATTLIST jobtitle
+ %common.attrib;
+ %jobtitle.role.attrib;
+ %local.jobtitle.attrib;
+>
+<!--end of jobtitle.attlist-->]]>
+ <!--end of jobtitle.module-->]]>
+
+ <!-- OrgName (defined elsewhere in this section)-->
+
+ <!ENTITY % orgdiv.module "INCLUDE">
+ <![%orgdiv.module;[
+ <!ENTITY % local.orgdiv.attrib "">
+ <!ENTITY % orgdiv.role.attrib "%role.attrib;">
+
+<!ENTITY % orgdiv.element "INCLUDE">
+<![%orgdiv.element;[
+<!--doc:A division of an organization.-->
+<!ELEMENT orgdiv %ho; (%docinfo.char.mix;)*>
+<!--end of orgdiv.element-->]]>
+
+<!ENTITY % orgdiv.attlist "INCLUDE">
+<![%orgdiv.attlist;[
+<!ATTLIST orgdiv
+ %common.attrib;
+ %orgdiv.role.attrib;
+ %local.orgdiv.attrib;
+>
+<!--end of orgdiv.attlist-->]]>
+ <!--end of orgdiv.module-->]]>
+
+ <!-- Address (defined elsewhere in this section)-->
+<!--end of affiliation.content.module-->]]>
+
+<!-- ArtPageNums ...................... -->
+
+<!ENTITY % artpagenums.module "INCLUDE">
+<![%artpagenums.module;[
+<!ENTITY % local.artpagenums.attrib "">
+<!ENTITY % artpagenums.role.attrib "%role.attrib;">
+
+<!ENTITY % artpagenums.element "INCLUDE">
+<![%artpagenums.element;[
+<!--doc:The page numbers of an article as published.-->
+<!ELEMENT artpagenums %ho; (%docinfo.char.mix;)*>
+<!--end of artpagenums.element-->]]>
+
+<!ENTITY % artpagenums.attlist "INCLUDE">
+<![%artpagenums.attlist;[
+<!ATTLIST artpagenums
+ %common.attrib;
+ %artpagenums.role.attrib;
+ %local.artpagenums.attrib;
+>
+<!--end of artpagenums.attlist-->]]>
+<!--end of artpagenums.module-->]]>
+
+<!-- PersonName -->
+
+<!ENTITY % personname.module "INCLUDE">
+<![%personname.module;[
+<!ENTITY % local.personname.attrib "">
+<!ENTITY % personname.role.attrib "%role.attrib;">
+
+<!ENTITY % personname.element "INCLUDE">
+<![%personname.element;[
+<!--doc:The personal name of an individual.-->
+<!ELEMENT personname %ho; ((honorific|firstname|surname|lineage|othername)+)>
+<!--end of personname.element-->]]>
+
+<!ENTITY % personname.attlist "INCLUDE">
+<![%personname.attlist;[
+<!ATTLIST personname
+ %common.attrib;
+ %personname.role.attrib;
+ %local.personname.attrib;
+>
+<!--end of personname.attlist-->]]>
+<!--end of personname.module-->]]>
+
+<!-- Author ........................... -->
+
+<!ENTITY % author.module "INCLUDE">
+<![%author.module;[
+<!ENTITY % local.author.attrib "">
+<!ENTITY % author.role.attrib "%role.attrib;">
+
+<!ENTITY % author.element "INCLUDE">
+<![%author.element;[
+<!--doc:The name of an individual author.-->
+<!ELEMENT author %ho; ((personname|(%person.ident.mix;)+),(personblurb|email|address)*)>
+<!--end of author.element-->]]>
+
+<!ENTITY % author.attlist "INCLUDE">
+<![%author.attlist;[
+<!ATTLIST author
+ %common.attrib;
+ %author.role.attrib;
+ %local.author.attrib;
+>
+<!--end of author.attlist-->]]>
+<!--(see "Personal identity elements" for %person.ident.mix;)-->
+<!--end of author.module-->]]>
+
+<!-- AuthorGroup ...................... -->
+
+<!ENTITY % authorgroup.content.module "INCLUDE">
+<![%authorgroup.content.module;[
+<!ENTITY % authorgroup.module "INCLUDE">
+<![%authorgroup.module;[
+<!ENTITY % local.authorgroup.attrib "">
+<!ENTITY % authorgroup.role.attrib "%role.attrib;">
+
+<!ENTITY % authorgroup.element "INCLUDE">
+<![%authorgroup.element;[
+<!--doc:Wrapper for author information when a document has multiple authors or collabarators.-->
+<!ELEMENT authorgroup %ho; ((author|editor|collab|corpauthor|corpcredit|othercredit)+)>
+<!--end of authorgroup.element-->]]>
+
+<!ENTITY % authorgroup.attlist "INCLUDE">
+<![%authorgroup.attlist;[
+<!ATTLIST authorgroup
+ %common.attrib;
+ %authorgroup.role.attrib;
+ %local.authorgroup.attrib;
+>
+<!--end of authorgroup.attlist-->]]>
+<!--end of authorgroup.module-->]]>
+
+ <!-- Author (defined elsewhere in this section)-->
+ <!-- Editor (defined elsewhere in this section)-->
+
+ <!ENTITY % collab.content.module "INCLUDE">
+ <![%collab.content.module;[
+ <!ENTITY % collab.module "INCLUDE">
+ <![%collab.module;[
+ <!ENTITY % local.collab.attrib "">
+ <!ENTITY % collab.role.attrib "%role.attrib;">
+
+<!ENTITY % collab.element "INCLUDE">
+<![%collab.element;[
+<!--doc:Identifies a collaborator.-->
+<!ELEMENT collab %ho; (collabname, affiliation*)>
+<!--end of collab.element-->]]>
+
+<!ENTITY % collab.attlist "INCLUDE">
+<![%collab.attlist;[
+<!ATTLIST collab
+ %common.attrib;
+ %collab.role.attrib;
+ %local.collab.attrib;
+>
+<!--end of collab.attlist-->]]>
+ <!--end of collab.module-->]]>
+
+ <!ENTITY % collabname.module "INCLUDE">
+ <![%collabname.module;[
+ <!ENTITY % local.collabname.attrib "">
+ <!ENTITY % collabname.role.attrib "%role.attrib;">
+
+<!ENTITY % collabname.element "INCLUDE">
+<![%collabname.element;[
+<!--doc:The name of a collaborator.-->
+<!ELEMENT collabname %ho; (%docinfo.char.mix;)*>
+<!--end of collabname.element-->]]>
+
+<!ENTITY % collabname.attlist "INCLUDE">
+<![%collabname.attlist;[
+<!ATTLIST collabname
+ %common.attrib;
+ %collabname.role.attrib;
+ %local.collabname.attrib;
+>
+<!--end of collabname.attlist-->]]>
+ <!--end of collabname.module-->]]>
+
+ <!-- Affiliation (defined elsewhere in this section)-->
+ <!--end of collab.content.module-->]]>
+
+ <!-- CorpAuthor (defined elsewhere in this section)-->
+ <!-- OtherCredit (defined elsewhere in this section)-->
+
+<!--end of authorgroup.content.module-->]]>
+
+<!-- AuthorInitials ................... -->
+
+<!ENTITY % authorinitials.module "INCLUDE">
+<![%authorinitials.module;[
+<!ENTITY % local.authorinitials.attrib "">
+<!ENTITY % authorinitials.role.attrib "%role.attrib;">
+
+<!ENTITY % authorinitials.element "INCLUDE">
+<![%authorinitials.element;[
+<!--doc:The initials or other short identifier for an author.-->
+<!ELEMENT authorinitials %ho; (%docinfo.char.mix;)*>
+<!--end of authorinitials.element-->]]>
+
+<!ENTITY % authorinitials.attlist "INCLUDE">
+<![%authorinitials.attlist;[
+<!ATTLIST authorinitials
+ %common.attrib;
+ %authorinitials.role.attrib;
+ %local.authorinitials.attrib;
+>
+<!--end of authorinitials.attlist-->]]>
+<!--end of authorinitials.module-->]]>
+
+<!-- ConfGroup ........................ -->
+
+<!ENTITY % confgroup.content.module "INCLUDE">
+<![%confgroup.content.module;[
+<!ENTITY % confgroup.module "INCLUDE">
+<![%confgroup.module;[
+<!ENTITY % local.confgroup.attrib "">
+<!ENTITY % confgroup.role.attrib "%role.attrib;">
+
+<!ENTITY % confgroup.element "INCLUDE">
+<![%confgroup.element;[
+<!--doc:A wrapper for document meta-information about a conference.-->
+<!ELEMENT confgroup %ho; ((confdates|conftitle|confnum|address|confsponsor)*)>
+<!--end of confgroup.element-->]]>
+
+<!ENTITY % confgroup.attlist "INCLUDE">
+<![%confgroup.attlist;[
+<!ATTLIST confgroup
+ %common.attrib;
+ %confgroup.role.attrib;
+ %local.confgroup.attrib;
+>
+<!--end of confgroup.attlist-->]]>
+<!--end of confgroup.module-->]]>
+
+ <!ENTITY % confdates.module "INCLUDE">
+ <![%confdates.module;[
+ <!ENTITY % local.confdates.attrib "">
+ <!ENTITY % confdates.role.attrib "%role.attrib;">
+
+<!ENTITY % confdates.element "INCLUDE">
+<![%confdates.element;[
+<!--doc:The dates of a conference for which a document was written.-->
+<!ELEMENT confdates %ho; (%docinfo.char.mix;)*>
+<!--end of confdates.element-->]]>
+
+<!ENTITY % confdates.attlist "INCLUDE">
+<![%confdates.attlist;[
+<!ATTLIST confdates
+ %common.attrib;
+ %confdates.role.attrib;
+ %local.confdates.attrib;
+>
+<!--end of confdates.attlist-->]]>
+ <!--end of confdates.module-->]]>
+
+ <!ENTITY % conftitle.module "INCLUDE">
+ <![%conftitle.module;[
+ <!ENTITY % local.conftitle.attrib "">
+ <!ENTITY % conftitle.role.attrib "%role.attrib;">
+
+<!ENTITY % conftitle.element "INCLUDE">
+<![%conftitle.element;[
+<!--doc:The title of a conference for which a document was written.-->
+<!ELEMENT conftitle %ho; (%docinfo.char.mix;)*>
+<!--end of conftitle.element-->]]>
+
+<!ENTITY % conftitle.attlist "INCLUDE">
+<![%conftitle.attlist;[
+<!ATTLIST conftitle
+ %common.attrib;
+ %conftitle.role.attrib;
+ %local.conftitle.attrib;
+>
+<!--end of conftitle.attlist-->]]>
+ <!--end of conftitle.module-->]]>
+
+ <!ENTITY % confnum.module "INCLUDE">
+ <![%confnum.module;[
+ <!ENTITY % local.confnum.attrib "">
+ <!ENTITY % confnum.role.attrib "%role.attrib;">
+
+<!ENTITY % confnum.element "INCLUDE">
+<![%confnum.element;[
+<!--doc:An identifier, frequently numerical, associated with a conference for which a document was written.-->
+<!ELEMENT confnum %ho; (%docinfo.char.mix;)*>
+<!--end of confnum.element-->]]>
+
+<!ENTITY % confnum.attlist "INCLUDE">
+<![%confnum.attlist;[
+<!ATTLIST confnum
+ %common.attrib;
+ %confnum.role.attrib;
+ %local.confnum.attrib;
+>
+<!--end of confnum.attlist-->]]>
+ <!--end of confnum.module-->]]>
+
+ <!-- Address (defined elsewhere in this section)-->
+
+ <!ENTITY % confsponsor.module "INCLUDE">
+ <![%confsponsor.module;[
+ <!ENTITY % local.confsponsor.attrib "">
+ <!ENTITY % confsponsor.role.attrib "%role.attrib;">
+
+<!ENTITY % confsponsor.element "INCLUDE">
+<![%confsponsor.element;[
+<!--doc:The sponsor of a conference for which a document was written.-->
+<!ELEMENT confsponsor %ho; (%docinfo.char.mix;)*>
+<!--end of confsponsor.element-->]]>
+
+<!ENTITY % confsponsor.attlist "INCLUDE">
+<![%confsponsor.attlist;[
+<!ATTLIST confsponsor
+ %common.attrib;
+ %confsponsor.role.attrib;
+ %local.confsponsor.attrib;
+>
+<!--end of confsponsor.attlist-->]]>
+ <!--end of confsponsor.module-->]]>
+<!--end of confgroup.content.module-->]]>
+
+<!-- ContractNum ...................... -->
+
+<!ENTITY % contractnum.module "INCLUDE">
+<![%contractnum.module;[
+<!ENTITY % local.contractnum.attrib "">
+<!ENTITY % contractnum.role.attrib "%role.attrib;">
+
+<!ENTITY % contractnum.element "INCLUDE">
+<![%contractnum.element;[
+<!--doc:The contract number of a document.-->
+<!ELEMENT contractnum %ho; (%docinfo.char.mix;)*>
+<!--end of contractnum.element-->]]>
+
+<!ENTITY % contractnum.attlist "INCLUDE">
+<![%contractnum.attlist;[
+<!ATTLIST contractnum
+ %common.attrib;
+ %contractnum.role.attrib;
+ %local.contractnum.attrib;
+>
+<!--end of contractnum.attlist-->]]>
+<!--end of contractnum.module-->]]>
+
+<!-- ContractSponsor .................. -->
+
+<!ENTITY % contractsponsor.module "INCLUDE">
+<![%contractsponsor.module;[
+<!ENTITY % local.contractsponsor.attrib "">
+<!ENTITY % contractsponsor.role.attrib "%role.attrib;">
+
+<!ENTITY % contractsponsor.element "INCLUDE">
+<![%contractsponsor.element;[
+<!--doc:The sponsor of a contract.-->
+<!ELEMENT contractsponsor %ho; (%docinfo.char.mix;)*>
+<!--end of contractsponsor.element-->]]>
+
+<!ENTITY % contractsponsor.attlist "INCLUDE">
+<![%contractsponsor.attlist;[
+<!ATTLIST contractsponsor
+ %common.attrib;
+ %contractsponsor.role.attrib;
+ %local.contractsponsor.attrib;
+>
+<!--end of contractsponsor.attlist-->]]>
+<!--end of contractsponsor.module-->]]>
+
+<!-- Copyright ........................ -->
+
+<!ENTITY % copyright.content.module "INCLUDE">
+<![%copyright.content.module;[
+<!ENTITY % copyright.module "INCLUDE">
+<![%copyright.module;[
+<!ENTITY % local.copyright.attrib "">
+<!ENTITY % copyright.role.attrib "%role.attrib;">
+
+<!ENTITY % copyright.element "INCLUDE">
+<![%copyright.element;[
+<!--doc:Copyright information about a document.-->
+<!ELEMENT copyright %ho; (year+, holder*)>
+<!--end of copyright.element-->]]>
+
+<!ENTITY % copyright.attlist "INCLUDE">
+<![%copyright.attlist;[
+<!ATTLIST copyright
+ %common.attrib;
+ %copyright.role.attrib;
+ %local.copyright.attrib;
+>
+<!--end of copyright.attlist-->]]>
+<!--end of copyright.module-->]]>
+
+ <!ENTITY % year.module "INCLUDE">
+ <![%year.module;[
+ <!ENTITY % local.year.attrib "">
+ <!ENTITY % year.role.attrib "%role.attrib;">
+
+<!ENTITY % year.element "INCLUDE">
+<![%year.element;[
+<!--doc:The year of publication of a document.-->
+<!ELEMENT year %ho; (%docinfo.char.mix;)*>
+<!--end of year.element-->]]>
+
+<!ENTITY % year.attlist "INCLUDE">
+<![%year.attlist;[
+<!ATTLIST year
+ %common.attrib;
+ %year.role.attrib;
+ %local.year.attrib;
+>
+<!--end of year.attlist-->]]>
+ <!--end of year.module-->]]>
+
+ <!ENTITY % holder.module "INCLUDE">
+ <![%holder.module;[
+ <!ENTITY % local.holder.attrib "">
+ <!ENTITY % holder.role.attrib "%role.attrib;">
+
+<!ENTITY % holder.element "INCLUDE">
+<![%holder.element;[
+<!--doc:The name of the individual or organization that holds a copyright.-->
+<!ELEMENT holder %ho; (%docinfo.char.mix;)*>
+<!--end of holder.element-->]]>
+
+<!ENTITY % holder.attlist "INCLUDE">
+<![%holder.attlist;[
+<!ATTLIST holder
+ %common.attrib;
+ %holder.role.attrib;
+ %local.holder.attrib;
+>
+<!--end of holder.attlist-->]]>
+ <!--end of holder.module-->]]>
+<!--end of copyright.content.module-->]]>
+
+<!-- CorpAuthor ....................... -->
+
+<!ENTITY % corpauthor.module "INCLUDE">
+<![%corpauthor.module;[
+<!ENTITY % local.corpauthor.attrib "">
+<!ENTITY % corpauthor.role.attrib "%role.attrib;">
+
+<!ENTITY % corpauthor.element "INCLUDE">
+<![%corpauthor.element;[
+<!--doc:A corporate author, as opposed to an individual.-->
+<!ELEMENT corpauthor %ho; (%docinfo.char.mix;)*>
+<!--end of corpauthor.element-->]]>
+
+<!ENTITY % corpauthor.attlist "INCLUDE">
+<![%corpauthor.attlist;[
+<!ATTLIST corpauthor
+ %common.attrib;
+ %corpauthor.role.attrib;
+ %local.corpauthor.attrib;
+>
+<!--end of corpauthor.attlist-->]]>
+<!--end of corpauthor.module-->]]>
+
+<!-- CorpCredit ...................... -->
+
+<!ENTITY % corpcredit.module "INCLUDE">
+<![%corpcredit.module;[
+<!ENTITY % local.corpcredit.attrib "">
+<!ENTITY % corpcredit.role.attrib "%role.attrib;">
+
+<!ENTITY % corpcredit.element "INCLUDE">
+<![%corpcredit.element;[
+<!--doc:A corporation or organization credited in a document.-->
+<!ELEMENT corpcredit %ho; (%docinfo.char.mix;)*>
+<!--end of corpcredit.element-->]]>
+
+<!ENTITY % corpcredit.attlist "INCLUDE">
+<![%corpcredit.attlist;[
+<!ATTLIST corpcredit
+ class (graphicdesigner
+ |productioneditor
+ |copyeditor
+ |technicaleditor
+ |translator
+ |other) #IMPLIED
+ %common.attrib;
+ %corpcredit.role.attrib;
+ %local.corpcredit.attrib;
+>
+<!--end of corpcredit.attlist-->]]>
+<!--end of corpcredit.module-->]]>
+
+<!-- CorpName ......................... -->
+
+<!ENTITY % corpname.module "INCLUDE">
+<![%corpname.module;[
+<!ENTITY % local.corpname.attrib "">
+
+<!ENTITY % corpname.element "INCLUDE">
+<![%corpname.element;[
+<!--doc:The name of a corporation.-->
+<!ELEMENT corpname %ho; (%docinfo.char.mix;)*>
+<!--end of corpname.element-->]]>
+<!ENTITY % corpname.role.attrib "%role.attrib;">
+
+<!ENTITY % corpname.attlist "INCLUDE">
+<![%corpname.attlist;[
+<!ATTLIST corpname
+ %common.attrib;
+ %corpname.role.attrib;
+ %local.corpname.attrib;
+>
+<!--end of corpname.attlist-->]]>
+<!--end of corpname.module-->]]>
+
+<!-- Date ............................. -->
+
+<!ENTITY % date.module "INCLUDE">
+<![%date.module;[
+<!ENTITY % local.date.attrib "">
+<!ENTITY % date.role.attrib "%role.attrib;">
+
+<!ENTITY % date.element "INCLUDE">
+<![%date.element;[
+<!--doc:The date of publication or revision of a document.-->
+<!ELEMENT date %ho; (%docinfo.char.mix;)*>
+<!--end of date.element-->]]>
+
+<!ENTITY % date.attlist "INCLUDE">
+<![%date.attlist;[
+<!ATTLIST date
+ %common.attrib;
+ %date.role.attrib;
+ %local.date.attrib;
+>
+<!--end of date.attlist-->]]>
+<!--end of date.module-->]]>
+
+<!-- Edition .......................... -->
+
+<!ENTITY % edition.module "INCLUDE">
+<![%edition.module;[
+<!ENTITY % local.edition.attrib "">
+<!ENTITY % edition.role.attrib "%role.attrib;">
+
+<!ENTITY % edition.element "INCLUDE">
+<![%edition.element;[
+<!--doc:The name or number of an edition of a document.-->
+<!ELEMENT edition %ho; (%docinfo.char.mix;)*>
+<!--end of edition.element-->]]>
+
+<!ENTITY % edition.attlist "INCLUDE">
+<![%edition.attlist;[
+<!ATTLIST edition
+ %common.attrib;
+ %edition.role.attrib;
+ %local.edition.attrib;
+>
+<!--end of edition.attlist-->]]>
+<!--end of edition.module-->]]>
+
+<!-- Editor ........................... -->
+
+<!ENTITY % editor.module "INCLUDE">
+<![%editor.module;[
+<!ENTITY % local.editor.attrib "">
+<!ENTITY % editor.role.attrib "%role.attrib;">
+
+<!ENTITY % editor.element "INCLUDE">
+<![%editor.element;[
+<!--doc:The name of the editor of a document.-->
+<!ELEMENT editor %ho; ((personname|(%person.ident.mix;)+),(personblurb|email|address)*)>
+<!--end of editor.element-->]]>
+
+<!ENTITY % editor.attlist "INCLUDE">
+<![%editor.attlist;[
+<!ATTLIST editor
+ %common.attrib;
+ %editor.role.attrib;
+ %local.editor.attrib;
+>
+<!--end of editor.attlist-->]]>
+ <!--(see "Personal identity elements" for %person.ident.mix;)-->
+<!--end of editor.module-->]]>
+
+<!-- ISBN ............................. -->
+
+<!ENTITY % isbn.module "INCLUDE">
+<![%isbn.module;[
+<!ENTITY % local.isbn.attrib "">
+<!ENTITY % isbn.role.attrib "%role.attrib;">
+
+<!ENTITY % isbn.element "INCLUDE">
+<![%isbn.element;[
+<!--doc:The International Standard Book Number of a document.-->
+<!ELEMENT isbn %ho; (%docinfo.char.mix;)*>
+<!--end of isbn.element-->]]>
+
+<!ENTITY % isbn.attlist "INCLUDE">
+<![%isbn.attlist;[
+<!ATTLIST isbn
+ %common.attrib;
+ %isbn.role.attrib;
+ %local.isbn.attrib;
+>
+<!--end of isbn.attlist-->]]>
+<!--end of isbn.module-->]]>
+
+<!-- ISSN ............................. -->
+
+<!ENTITY % issn.module "INCLUDE">
+<![%issn.module;[
+<!ENTITY % local.issn.attrib "">
+<!ENTITY % issn.role.attrib "%role.attrib;">
+
+<!ENTITY % issn.element "INCLUDE">
+<![%issn.element;[
+<!--doc:The International Standard Serial Number of a periodical.-->
+<!ELEMENT issn %ho; (%docinfo.char.mix;)*>
+<!--end of issn.element-->]]>
+
+<!ENTITY % issn.attlist "INCLUDE">
+<![%issn.attlist;[
+<!ATTLIST issn
+ %common.attrib;
+ %issn.role.attrib;
+ %local.issn.attrib;
+>
+<!--end of issn.attlist-->]]>
+<!--end of issn.module-->]]>
+
+<!-- BiblioId ................. -->
+<!ENTITY % biblio.class.attrib
+ "class (uri
+ |doi
+ |isbn
+ |isrn
+ |issn
+ |libraryofcongress
+ |pubnumber
+ |other) #IMPLIED
+ otherclass CDATA #IMPLIED"
+>
+
+<!ENTITY % biblioid.module "INCLUDE">
+<![%biblioid.module;[
+<!ENTITY % local.biblioid.attrib "">
+<!ENTITY % biblioid.role.attrib "%role.attrib;">
+
+<!ENTITY % biblioid.element "INCLUDE">
+<![%biblioid.element;[
+<!--doc:An identifier for a document.-->
+<!ELEMENT biblioid %ho; (%docinfo.char.mix;)*>
+<!--end of biblioid.element-->]]>
+
+<!ENTITY % biblioid.attlist "INCLUDE">
+<![%biblioid.attlist;[
+<!ATTLIST biblioid
+ %biblio.class.attrib;
+ %common.attrib;
+ %biblioid.role.attrib;
+ %local.biblioid.attrib;
+>
+<!--end of biblioid.attlist-->]]>
+<!--end of biblioid.module-->]]>
+
+<!-- CiteBiblioId ................. -->
+
+<!ENTITY % citebiblioid.module "INCLUDE">
+<![%citebiblioid.module;[
+<!ENTITY % local.citebiblioid.attrib "">
+<!ENTITY % citebiblioid.role.attrib "%role.attrib;">
+
+<!ENTITY % citebiblioid.element "INCLUDE">
+<![%citebiblioid.element;[
+<!--doc:A citation of a bibliographic identifier.-->
+<!ELEMENT citebiblioid %ho; (%docinfo.char.mix;)*>
+<!--end of citebiblioid.element-->]]>
+
+<!ENTITY % citebiblioid.attlist "INCLUDE">
+<![%citebiblioid.attlist;[
+<!ATTLIST citebiblioid
+ %biblio.class.attrib;
+ %common.attrib;
+ %citebiblioid.role.attrib;
+ %local.citebiblioid.attrib;
+>
+<!--end of citebiblioid.attlist-->]]>
+<!--end of citebiblioid.module-->]]>
+
+<!-- BiblioSource ................. -->
+
+<!ENTITY % bibliosource.module "INCLUDE">
+<![%bibliosource.module;[
+<!ENTITY % local.bibliosource.attrib "">
+<!ENTITY % bibliosource.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliosource.element "INCLUDE">
+<![%bibliosource.element;[
+<!--doc:The source of a document.-->
+<!ELEMENT bibliosource %ho; (%docinfo.char.mix;)*>
+<!--end of bibliosource.element-->]]>
+
+<!ENTITY % bibliosource.attlist "INCLUDE">
+<![%bibliosource.attlist;[
+<!ATTLIST bibliosource
+ %biblio.class.attrib;
+ %common.attrib;
+ %bibliosource.role.attrib;
+ %local.bibliosource.attrib;
+>
+<!--end of bibliosource.attlist-->]]>
+<!--end of bibliosource.module-->]]>
+
+<!-- BiblioRelation ................. -->
+
+<!ENTITY % bibliorelation.module "INCLUDE">
+<![%bibliorelation.module;[
+<!ENTITY % local.bibliorelation.attrib "">
+<!ENTITY % local.bibliorelation.types "">
+
+<!ENTITY % bibliorelation.type.attrib
+ "type (isversionof
+ |hasversion
+ |isreplacedby
+ |replaces
+ |isrequiredby
+ |requires
+ |ispartof
+ |haspart
+ |isreferencedby
+ |references
+ |isformatof
+ |hasformat
+ |othertype
+ %local.bibliorelation.types;) #IMPLIED
+ othertype CDATA #IMPLIED
+">
+
+<!ENTITY % bibliorelation.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliorelation.element "INCLUDE">
+<![%bibliorelation.element;[
+<!--doc:The relationship of a document to another.-->
+<!ELEMENT bibliorelation %ho; (%docinfo.char.mix;)*>
+<!--end of bibliorelation.element-->]]>
+
+<!ENTITY % bibliorelation.attlist "INCLUDE">
+<![%bibliorelation.attlist;[
+<!ATTLIST bibliorelation
+ %biblio.class.attrib;
+ %bibliorelation.type.attrib;
+ %common.attrib;
+ %bibliorelation.role.attrib;
+ %local.bibliorelation.attrib;
+>
+<!--end of bibliorelation.attlist-->]]>
+<!--end of bibliorelation.module-->]]>
+
+<!-- BiblioCoverage ................. -->
+
+<!ENTITY % bibliocoverage.module "INCLUDE">
+<![%bibliocoverage.module;[
+<!ENTITY % local.bibliocoverage.attrib "">
+<!ENTITY % bibliocoverage.role.attrib "%role.attrib;">
+
+<!ENTITY % bibliocoverage.element "INCLUDE">
+<![%bibliocoverage.element;[
+<!--doc:The spatial or temporal coverage of a document.-->
+<!ELEMENT bibliocoverage %ho; (%docinfo.char.mix;)*>
+<!--end of bibliocoverage.element-->]]>
+
+<!ENTITY % bibliocoverage.attlist "INCLUDE">
+<![%bibliocoverage.attlist;[
+<!ATTLIST bibliocoverage
+ spatial (dcmipoint|iso3166|dcmibox|tgn|otherspatial) #IMPLIED
+ otherspatial CDATA #IMPLIED
+ temporal (dcmiperiod|w3c-dtf|othertemporal) #IMPLIED
+ othertemporal CDATA #IMPLIED
+ %common.attrib;
+ %bibliocoverage.role.attrib;
+ %local.bibliocoverage.attrib;
+>
+<!--end of bibliocoverage.attlist-->]]>
+<!--end of bibliocoverage.module-->]]>
+
+<!-- InvPartNumber .................... -->
+
+<!ENTITY % invpartnumber.module "INCLUDE">
+<![%invpartnumber.module;[
+<!ENTITY % local.invpartnumber.attrib "">
+<!ENTITY % invpartnumber.role.attrib "%role.attrib;">
+
+<!ENTITY % invpartnumber.element "INCLUDE">
+<![%invpartnumber.element;[
+<!--doc:An inventory part number.-->
+<!ELEMENT invpartnumber %ho; (%docinfo.char.mix;)*>
+<!--end of invpartnumber.element-->]]>
+
+<!ENTITY % invpartnumber.attlist "INCLUDE">
+<![%invpartnumber.attlist;[
+<!ATTLIST invpartnumber
+ %common.attrib;
+ %invpartnumber.role.attrib;
+ %local.invpartnumber.attrib;
+>
+<!--end of invpartnumber.attlist-->]]>
+<!--end of invpartnumber.module-->]]>
+
+<!-- IssueNum ......................... -->
+
+<!ENTITY % issuenum.module "INCLUDE">
+<![%issuenum.module;[
+<!ENTITY % local.issuenum.attrib "">
+<!ENTITY % issuenum.role.attrib "%role.attrib;">
+
+<!ENTITY % issuenum.element "INCLUDE">
+<![%issuenum.element;[
+<!--doc:The number of an issue of a journal.-->
+<!ELEMENT issuenum %ho; (%docinfo.char.mix;)*>
+<!--end of issuenum.element-->]]>
+
+<!ENTITY % issuenum.attlist "INCLUDE">
+<![%issuenum.attlist;[
+<!ATTLIST issuenum
+ %common.attrib;
+ %issuenum.role.attrib;
+ %local.issuenum.attrib;
+>
+<!--end of issuenum.attlist-->]]>
+<!--end of issuenum.module-->]]>
+
+<!-- LegalNotice ...................... -->
+
+<!ENTITY % legalnotice.module "INCLUDE">
+<![%legalnotice.module;[
+<!ENTITY % local.legalnotice.attrib "">
+<!ENTITY % legalnotice.role.attrib "%role.attrib;">
+
+<!ENTITY % legalnotice.element "INCLUDE">
+<![%legalnotice.element;[
+<!--doc:A statement of legal obligations or requirements.-->
+<!ELEMENT legalnotice %ho; (blockinfo?, title?, (%legalnotice.mix;)+)
+ %formal.exclusion;>
+<!--end of legalnotice.element-->]]>
+
+<!ENTITY % legalnotice.attlist "INCLUDE">
+<![%legalnotice.attlist;[
+<!ATTLIST legalnotice
+ %common.attrib;
+ %legalnotice.role.attrib;
+ %local.legalnotice.attrib;
+>
+<!--end of legalnotice.attlist-->]]>
+<!--end of legalnotice.module-->]]>
+
+<!-- ModeSpec ......................... -->
+
+<!ENTITY % modespec.module "INCLUDE">
+<![%modespec.module;[
+<!ENTITY % local.modespec.attrib "">
+<!ENTITY % modespec.role.attrib "%role.attrib;">
+
+<!ENTITY % modespec.element "INCLUDE">
+<![%modespec.element;[
+<!--doc:Application-specific information necessary for the completion of an OLink.-->
+<!ELEMENT modespec %ho; (%docinfo.char.mix;)*
+ %ubiq.exclusion;>
+<!--end of modespec.element-->]]>
+
+<!-- Application: Type of action required for completion
+ of the links to which the ModeSpec is relevant (e.g.,
+ retrieval query) -->
+
+
+<!ENTITY % modespec.attlist "INCLUDE">
+<![%modespec.attlist;[
+<!ATTLIST modespec
+ application NOTATION
+ (%notation.class;) #IMPLIED
+ %common.attrib;
+ %modespec.role.attrib;
+ %local.modespec.attrib;
+>
+<!--end of modespec.attlist-->]]>
+<!--end of modespec.module-->]]>
+
+<!-- OrgName .......................... -->
+
+<!ENTITY % orgname.module "INCLUDE">
+<![%orgname.module;[
+<!ENTITY % local.orgname.attrib "">
+<!ENTITY % orgname.role.attrib "%role.attrib;">
+
+<!ENTITY % orgname.element "INCLUDE">
+<![%orgname.element;[
+<!--doc:The name of an organization other than a corporation.-->
+<!ELEMENT orgname %ho; (%docinfo.char.mix;)*>
+<!--end of orgname.element-->]]>
+
+<!ENTITY % orgname.attlist "INCLUDE">
+<![%orgname.attlist;[
+<!ATTLIST orgname
+ %common.attrib;
+ class (corporation|nonprofit|consortium|informal|other) #IMPLIED
+ otherclass CDATA #IMPLIED
+ %orgname.role.attrib;
+ %local.orgname.attrib;
+>
+<!--end of orgname.attlist-->]]>
+<!--end of orgname.module-->]]>
+
+<!-- OtherCredit ...................... -->
+
+<!ENTITY % othercredit.module "INCLUDE">
+<![%othercredit.module;[
+<!ENTITY % local.othercredit.attrib "">
+<!ENTITY % othercredit.role.attrib "%role.attrib;">
+
+<!ENTITY % othercredit.element "INCLUDE">
+<![%othercredit.element;[
+<!--doc:A person or entity, other than an author or editor, credited in a document.-->
+<!ELEMENT othercredit %ho; ((personname|(%person.ident.mix;)+),
+ (personblurb|email|address)*)>
+<!--end of othercredit.element-->]]>
+
+<!ENTITY % othercredit.attlist "INCLUDE">
+<![%othercredit.attlist;[
+<!ATTLIST othercredit
+ class (graphicdesigner
+ |productioneditor
+ |copyeditor
+ |technicaleditor
+ |translator
+ |other) #IMPLIED
+ %common.attrib;
+ %othercredit.role.attrib;
+ %local.othercredit.attrib;
+>
+<!--end of othercredit.attlist-->]]>
+ <!--(see "Personal identity elements" for %person.ident.mix;)-->
+<!--end of othercredit.module-->]]>
+
+<!-- PageNums ......................... -->
+
+<!ENTITY % pagenums.module "INCLUDE">
+<![%pagenums.module;[
+<!ENTITY % local.pagenums.attrib "">
+<!ENTITY % pagenums.role.attrib "%role.attrib;">
+
+<!ENTITY % pagenums.element "INCLUDE">
+<![%pagenums.element;[
+<!--doc:The numbers of the pages in a book, for use in a bibliographic entry.-->
+<!ELEMENT pagenums %ho; (%docinfo.char.mix;)*>
+<!--end of pagenums.element-->]]>
+
+<!ENTITY % pagenums.attlist "INCLUDE">
+<![%pagenums.attlist;[
+<!ATTLIST pagenums
+ %common.attrib;
+ %pagenums.role.attrib;
+ %local.pagenums.attrib;
+>
+<!--end of pagenums.attlist-->]]>
+<!--end of pagenums.module-->]]>
+
+<!-- Personal identity elements ....... -->
+
+<!-- These elements are used only within Author, Editor, and
+OtherCredit. -->
+
+<!ENTITY % person.ident.module "INCLUDE">
+<![%person.ident.module;[
+ <!ENTITY % contrib.module "INCLUDE">
+ <![%contrib.module;[
+ <!ENTITY % local.contrib.attrib "">
+ <!ENTITY % contrib.role.attrib "%role.attrib;">
+
+<!ENTITY % contrib.element "INCLUDE">
+<![%contrib.element;[
+<!--doc:A summary of the contributions made to a document by a credited source.-->
+<!ELEMENT contrib %ho; (%docinfo.char.mix;)*>
+<!--end of contrib.element-->]]>
+
+<!ENTITY % contrib.attlist "INCLUDE">
+<![%contrib.attlist;[
+<!ATTLIST contrib
+ %common.attrib;
+ %contrib.role.attrib;
+ %local.contrib.attrib;
+>
+<!--end of contrib.attlist-->]]>
+ <!--end of contrib.module-->]]>
+
+ <!ENTITY % firstname.module "INCLUDE">
+ <![%firstname.module;[
+ <!ENTITY % local.firstname.attrib "">
+ <!ENTITY % firstname.role.attrib "%role.attrib;">
+
+<!ENTITY % firstname.element "INCLUDE">
+<![%firstname.element;[
+<!--doc:The first name of a person.-->
+<!ELEMENT firstname %ho; (%docinfo.char.mix;)*>
+<!--end of firstname.element-->]]>
+
+<!ENTITY % firstname.attlist "INCLUDE">
+<![%firstname.attlist;[
+<!ATTLIST firstname
+ %common.attrib;
+ %firstname.role.attrib;
+ %local.firstname.attrib;
+>
+<!--end of firstname.attlist-->]]>
+ <!--end of firstname.module-->]]>
+
+ <!ENTITY % honorific.module "INCLUDE">
+ <![%honorific.module;[
+ <!ENTITY % local.honorific.attrib "">
+ <!ENTITY % honorific.role.attrib "%role.attrib;">
+
+<!ENTITY % honorific.element "INCLUDE">
+<![%honorific.element;[
+<!--doc:The title of a person.-->
+<!ELEMENT honorific %ho; (%docinfo.char.mix;)*>
+<!--end of honorific.element-->]]>
+
+<!ENTITY % honorific.attlist "INCLUDE">
+<![%honorific.attlist;[
+<!ATTLIST honorific
+ %common.attrib;
+ %honorific.role.attrib;
+ %local.honorific.attrib;
+>
+<!--end of honorific.attlist-->]]>
+ <!--end of honorific.module-->]]>
+
+ <!ENTITY % lineage.module "INCLUDE">
+ <![%lineage.module;[
+ <!ENTITY % local.lineage.attrib "">
+ <!ENTITY % lineage.role.attrib "%role.attrib;">
+
+<!ENTITY % lineage.element "INCLUDE">
+<![%lineage.element;[
+<!--doc:The portion of a person's name indicating a relationship to ancestors.-->
+<!ELEMENT lineage %ho; (%docinfo.char.mix;)*>
+<!--end of lineage.element-->]]>
+
+<!ENTITY % lineage.attlist "INCLUDE">
+<![%lineage.attlist;[
+<!ATTLIST lineage
+ %common.attrib;
+ %lineage.role.attrib;
+ %local.lineage.attrib;
+>
+<!--end of lineage.attlist-->]]>
+ <!--end of lineage.module-->]]>
+
+ <!ENTITY % othername.module "INCLUDE">
+ <![%othername.module;[
+ <!ENTITY % local.othername.attrib "">
+ <!ENTITY % othername.role.attrib "%role.attrib;">
+
+<!ENTITY % othername.element "INCLUDE">
+<![%othername.element;[
+<!--doc:A component of a persons name that is not a first name, surname, or lineage.-->
+<!ELEMENT othername %ho; (%docinfo.char.mix;)*>
+<!--end of othername.element-->]]>
+
+<!ENTITY % othername.attlist "INCLUDE">
+<![%othername.attlist;[
+<!ATTLIST othername
+ %common.attrib;
+ %othername.role.attrib;
+ %local.othername.attrib;
+>
+<!--end of othername.attlist-->]]>
+ <!--end of othername.module-->]]>
+
+ <!ENTITY % surname.module "INCLUDE">
+ <![%surname.module;[
+ <!ENTITY % local.surname.attrib "">
+ <!ENTITY % surname.role.attrib "%role.attrib;">
+
+<!ENTITY % surname.element "INCLUDE">
+<![%surname.element;[
+<!--doc:A family name; in western cultures the last name.-->
+<!ELEMENT surname %ho; (%docinfo.char.mix;)*>
+<!--end of surname.element-->]]>
+
+<!ENTITY % surname.attlist "INCLUDE">
+<![%surname.attlist;[
+<!ATTLIST surname
+ %common.attrib;
+ %surname.role.attrib;
+ %local.surname.attrib;
+>
+<!--end of surname.attlist-->]]>
+ <!--end of surname.module-->]]>
+<!--end of person.ident.module-->]]>
+
+<!-- PrintHistory ..................... -->
+
+<!ENTITY % printhistory.module "INCLUDE">
+<![%printhistory.module;[
+<!ENTITY % local.printhistory.attrib "">
+<!ENTITY % printhistory.role.attrib "%role.attrib;">
+
+<!ENTITY % printhistory.element "INCLUDE">
+<![%printhistory.element;[
+<!--doc:The printing history of a document.-->
+<!ELEMENT printhistory %ho; ((%para.class;)+)>
+<!--end of printhistory.element-->]]>
+
+<!ENTITY % printhistory.attlist "INCLUDE">
+<![%printhistory.attlist;[
+<!ATTLIST printhistory
+ %common.attrib;
+ %printhistory.role.attrib;
+ %local.printhistory.attrib;
+>
+<!--end of printhistory.attlist-->]]>
+<!--end of printhistory.module-->]]>
+
+<!-- ProductName ...................... -->
+
+<!ENTITY % productname.module "INCLUDE">
+<![%productname.module;[
+<!ENTITY % local.productname.attrib "">
+<!ENTITY % productname.role.attrib "%role.attrib;">
+
+<!ENTITY % productname.element "INCLUDE">
+<![%productname.element;[
+<!--doc:The formal name of a product.-->
+<!ELEMENT productname %ho; (%para.char.mix;)*>
+<!--end of productname.element-->]]>
+
+<!-- Class: More precisely identifies the item the element names -->
+
+
+<!ENTITY % productname.attlist "INCLUDE">
+<![%productname.attlist;[
+<!ATTLIST productname
+ class (service
+ |trade
+ |registered
+ |copyright) 'trade'
+ %common.attrib;
+ %productname.role.attrib;
+ %local.productname.attrib;
+>
+<!--end of productname.attlist-->]]>
+<!--end of productname.module-->]]>
+
+<!-- ProductNumber .................... -->
+
+<!ENTITY % productnumber.module "INCLUDE">
+<![%productnumber.module;[
+<!ENTITY % local.productnumber.attrib "">
+<!ENTITY % productnumber.role.attrib "%role.attrib;">
+
+<!ENTITY % productnumber.element "INCLUDE">
+<![%productnumber.element;[
+<!--doc:A number assigned to a product.-->
+<!ELEMENT productnumber %ho; (%docinfo.char.mix;)*>
+<!--end of productnumber.element-->]]>
+
+<!ENTITY % productnumber.attlist "INCLUDE">
+<![%productnumber.attlist;[
+<!ATTLIST productnumber
+ %common.attrib;
+ %productnumber.role.attrib;
+ %local.productnumber.attrib;
+>
+<!--end of productnumber.attlist-->]]>
+<!--end of productnumber.module-->]]>
+
+<!-- PubDate .......................... -->
+
+<!ENTITY % pubdate.module "INCLUDE">
+<![%pubdate.module;[
+<!ENTITY % local.pubdate.attrib "">
+<!ENTITY % pubdate.role.attrib "%role.attrib;">
+
+<!ENTITY % pubdate.element "INCLUDE">
+<![%pubdate.element;[
+<!--doc:The date of publication of a document.-->
+<!ELEMENT pubdate %ho; (%docinfo.char.mix;)*>
+<!--end of pubdate.element-->]]>
+
+<!ENTITY % pubdate.attlist "INCLUDE">
+<![%pubdate.attlist;[
+<!ATTLIST pubdate
+ %common.attrib;
+ %pubdate.role.attrib;
+ %local.pubdate.attrib;
+>
+<!--end of pubdate.attlist-->]]>
+<!--end of pubdate.module-->]]>
+
+<!-- Publisher ........................ -->
+
+<!ENTITY % publisher.content.module "INCLUDE">
+<![%publisher.content.module;[
+<!ENTITY % publisher.module "INCLUDE">
+<![%publisher.module;[
+<!ENTITY % local.publisher.attrib "">
+<!ENTITY % publisher.role.attrib "%role.attrib;">
+
+<!ENTITY % publisher.element "INCLUDE">
+<![%publisher.element;[
+<!--doc:The publisher of a document.-->
+<!ELEMENT publisher %ho; (publishername, address*)>
+<!--end of publisher.element-->]]>
+
+<!ENTITY % publisher.attlist "INCLUDE">
+<![%publisher.attlist;[
+<!ATTLIST publisher
+ %common.attrib;
+ %publisher.role.attrib;
+ %local.publisher.attrib;
+>
+<!--end of publisher.attlist-->]]>
+<!--end of publisher.module-->]]>
+
+ <!ENTITY % publishername.module "INCLUDE">
+ <![%publishername.module;[
+ <!ENTITY % local.publishername.attrib "">
+ <!ENTITY % publishername.role.attrib "%role.attrib;">
+
+<!ENTITY % publishername.element "INCLUDE">
+<![%publishername.element;[
+<!--doc:The name of the publisher of a document.-->
+<!ELEMENT publishername %ho; (%docinfo.char.mix;)*>
+<!--end of publishername.element-->]]>
+
+<!ENTITY % publishername.attlist "INCLUDE">
+<![%publishername.attlist;[
+<!ATTLIST publishername
+ %common.attrib;
+ %publishername.role.attrib;
+ %local.publishername.attrib;
+>
+<!--end of publishername.attlist-->]]>
+ <!--end of publishername.module-->]]>
+
+ <!-- Address (defined elsewhere in this section)-->
+<!--end of publisher.content.module-->]]>
+
+<!-- PubsNumber ....................... -->
+
+<!ENTITY % pubsnumber.module "INCLUDE">
+<![%pubsnumber.module;[
+<!ENTITY % local.pubsnumber.attrib "">
+<!ENTITY % pubsnumber.role.attrib "%role.attrib;">
+
+<!ENTITY % pubsnumber.element "INCLUDE">
+<![%pubsnumber.element;[
+<!--doc:A number assigned to a publication other than an ISBN or ISSN or inventory part number.-->
+<!ELEMENT pubsnumber %ho; (%docinfo.char.mix;)*>
+<!--end of pubsnumber.element-->]]>
+
+<!ENTITY % pubsnumber.attlist "INCLUDE">
+<![%pubsnumber.attlist;[
+<!ATTLIST pubsnumber
+ %common.attrib;
+ %pubsnumber.role.attrib;
+ %local.pubsnumber.attrib;
+>
+<!--end of pubsnumber.attlist-->]]>
+<!--end of pubsnumber.module-->]]>
+
+<!-- ReleaseInfo ...................... -->
+
+<!ENTITY % releaseinfo.module "INCLUDE">
+<![%releaseinfo.module;[
+<!ENTITY % local.releaseinfo.attrib "">
+<!ENTITY % releaseinfo.role.attrib "%role.attrib;">
+
+<!ENTITY % releaseinfo.element "INCLUDE">
+<![%releaseinfo.element;[
+<!--doc:Information about a particular release of a document.-->
+<!ELEMENT releaseinfo %ho; (%docinfo.char.mix;)*>
+<!--end of releaseinfo.element-->]]>
+
+<!ENTITY % releaseinfo.attlist "INCLUDE">
+<![%releaseinfo.attlist;[
+<!ATTLIST releaseinfo
+ %common.attrib;
+ %releaseinfo.role.attrib;
+ %local.releaseinfo.attrib;
+>
+<!--end of releaseinfo.attlist-->]]>
+<!--end of releaseinfo.module-->]]>
+
+<!-- RevHistory ....................... -->
+
+<!ENTITY % revhistory.content.module "INCLUDE">
+<![%revhistory.content.module;[
+<!ENTITY % revhistory.module "INCLUDE">
+<![%revhistory.module;[
+<!ENTITY % local.revhistory.attrib "">
+<!ENTITY % revhistory.role.attrib "%role.attrib;">
+
+<!ENTITY % revhistory.element "INCLUDE">
+<![%revhistory.element;[
+<!--doc:A history of the revisions to a document.-->
+<!ELEMENT revhistory %ho; (revision+)>
+<!--end of revhistory.element-->]]>
+
+<!ENTITY % revhistory.attlist "INCLUDE">
+<![%revhistory.attlist;[
+<!ATTLIST revhistory
+ %common.attrib;
+ %revhistory.role.attrib;
+ %local.revhistory.attrib;
+>
+<!--end of revhistory.attlist-->]]>
+<!--end of revhistory.module-->]]>
+
+<!ENTITY % revision.module "INCLUDE">
+<![%revision.module;[
+<!ENTITY % local.revision.attrib "">
+<!ENTITY % revision.role.attrib "%role.attrib;">
+
+<!ENTITY % revision.element "INCLUDE">
+<![%revision.element;[
+<!--doc:An entry describing a single revision in the history of the revisions to a document.-->
+<!ELEMENT revision %ho; (revnumber?, date, (author|authorinitials)*,
+ (revremark|revdescription)?)>
+<!--end of revision.element-->]]>
+
+<!ENTITY % revision.attlist "INCLUDE">
+<![%revision.attlist;[
+<!ATTLIST revision
+ %common.attrib;
+ %revision.role.attrib;
+ %local.revision.attrib;
+>
+<!--end of revision.attlist-->]]>
+<!--end of revision.module-->]]>
+
+<!ENTITY % revnumber.module "INCLUDE">
+<![%revnumber.module;[
+<!ENTITY % local.revnumber.attrib "">
+<!ENTITY % revnumber.role.attrib "%role.attrib;">
+
+<!ENTITY % revnumber.element "INCLUDE">
+<![%revnumber.element;[
+<!--doc:A document revision number.-->
+<!ELEMENT revnumber %ho; (%docinfo.char.mix;)*>
+<!--end of revnumber.element-->]]>
+
+<!ENTITY % revnumber.attlist "INCLUDE">
+<![%revnumber.attlist;[
+<!ATTLIST revnumber
+ %common.attrib;
+ %revnumber.role.attrib;
+ %local.revnumber.attrib;
+>
+<!--end of revnumber.attlist-->]]>
+<!--end of revnumber.module-->]]>
+
+<!-- Date (defined elsewhere in this section)-->
+<!-- AuthorInitials (defined elsewhere in this section)-->
+
+<!ENTITY % revremark.module "INCLUDE">
+<![%revremark.module;[
+<!ENTITY % local.revremark.attrib "">
+<!ENTITY % revremark.role.attrib "%role.attrib;">
+
+<!ENTITY % revremark.element "INCLUDE">
+<![%revremark.element;[
+<!--doc:A description of a revision to a document.-->
+<!ELEMENT revremark %ho; (%docinfo.char.mix;)*>
+<!--end of revremark.element-->]]>
+
+<!ENTITY % revremark.attlist "INCLUDE">
+<![%revremark.attlist;[
+<!ATTLIST revremark
+ %common.attrib;
+ %revremark.role.attrib;
+ %local.revremark.attrib;
+>
+<!--end of revremark.attlist-->]]>
+<!--end of revremark.module-->]]>
+
+<!ENTITY % revdescription.module "INCLUDE">
+<![ %revdescription.module; [
+<!ENTITY % local.revdescription.attrib "">
+<!ENTITY % revdescription.role.attrib "%role.attrib;">
+
+<!ENTITY % revdescription.element "INCLUDE">
+<![ %revdescription.element; [
+<!--doc:A extended description of a revision to a document.-->
+<!ELEMENT revdescription %ho; ((%revdescription.mix;)+)>
+<!--end of revdescription.element-->]]>
+
+<!ENTITY % revdescription.attlist "INCLUDE">
+<![ %revdescription.attlist; [
+<!ATTLIST revdescription
+ %common.attrib;
+ %revdescription.role.attrib;
+ %local.revdescription.attrib;
+>
+<!--end of revdescription.attlist-->]]>
+<!--end of revdescription.module-->]]>
+<!--end of revhistory.content.module-->]]>
+
+<!-- SeriesVolNums .................... -->
+
+<!ENTITY % seriesvolnums.module "INCLUDE">
+<![%seriesvolnums.module;[
+<!ENTITY % local.seriesvolnums.attrib "">
+<!ENTITY % seriesvolnums.role.attrib "%role.attrib;">
+
+<!ENTITY % seriesvolnums.element "INCLUDE">
+<![%seriesvolnums.element;[
+<!--doc:Numbers of the volumes in a series of books.-->
+<!ELEMENT seriesvolnums %ho; (%docinfo.char.mix;)*>
+<!--end of seriesvolnums.element-->]]>
+
+<!ENTITY % seriesvolnums.attlist "INCLUDE">
+<![%seriesvolnums.attlist;[
+<!ATTLIST seriesvolnums
+ %common.attrib;
+ %seriesvolnums.role.attrib;
+ %local.seriesvolnums.attrib;
+>
+<!--end of seriesvolnums.attlist-->]]>
+<!--end of seriesvolnums.module-->]]>
+
+<!-- VolumeNum ........................ -->
+
+<!ENTITY % volumenum.module "INCLUDE">
+<![%volumenum.module;[
+<!ENTITY % local.volumenum.attrib "">
+<!ENTITY % volumenum.role.attrib "%role.attrib;">
+
+<!ENTITY % volumenum.element "INCLUDE">
+<![%volumenum.element;[
+<!--doc:The volume number of a document in a set (as of books in a set or articles in a journal).-->
+<!ELEMENT volumenum %ho; (%docinfo.char.mix;)*>
+<!--end of volumenum.element-->]]>
+
+<!ENTITY % volumenum.attlist "INCLUDE">
+<![%volumenum.attlist;[
+<!ATTLIST volumenum
+ %common.attrib;
+ %volumenum.role.attrib;
+ %local.volumenum.attrib;
+>
+<!--end of volumenum.attlist-->]]>
+<!--end of volumenum.module-->]]>
+
+<!-- .................................. -->
+
+<!--end of docinfo.content.module-->]]>
+
+<!-- ...................................................................... -->
+<!-- Inline, link, and ubiquitous elements ................................ -->
+
+<!-- Technical and computer terms ......................................... -->
+
+<!ENTITY % accel.module "INCLUDE">
+<![%accel.module;[
+<!ENTITY % local.accel.attrib "">
+<!ENTITY % accel.role.attrib "%role.attrib;">
+
+<!ENTITY % accel.element "INCLUDE">
+<![%accel.element;[
+<!--doc:A graphical user interface (GUI) keyboard shortcut.-->
+<!ELEMENT accel %ho; (%smallcptr.char.mix;)*>
+<!--end of accel.element-->]]>
+
+<!ENTITY % accel.attlist "INCLUDE">
+<![%accel.attlist;[
+<!ATTLIST accel
+ %common.attrib;
+ %accel.role.attrib;
+ %local.accel.attrib;
+>
+<!--end of accel.attlist-->]]>
+<!--end of accel.module-->]]>
+
+<!ENTITY % action.module "INCLUDE">
+<![%action.module;[
+<!ENTITY % local.action.attrib "">
+<!ENTITY % action.role.attrib "%role.attrib;">
+
+<!ENTITY % action.element "INCLUDE">
+<![%action.element;[
+<!--doc:A response to a user event.-->
+<!ELEMENT action %ho; (%cptr.char.mix;)*>
+<!--end of action.element-->]]>
+
+<!ENTITY % action.attlist "INCLUDE">
+<![%action.attlist;[
+<!ATTLIST action
+ %moreinfo.attrib;
+ %common.attrib;
+ %action.role.attrib;
+ %local.action.attrib;
+>
+<!--end of action.attlist-->]]>
+<!--end of action.module-->]]>
+
+<!ENTITY % application.module "INCLUDE">
+<![%application.module;[
+<!ENTITY % local.application.attrib "">
+<!ENTITY % application.role.attrib "%role.attrib;">
+
+<!ENTITY % application.element "INCLUDE">
+<![%application.element;[
+<!--doc:The name of a software program.-->
+<!ELEMENT application %ho; (%para.char.mix;)*>
+<!--end of application.element-->]]>
+
+<!ENTITY % application.attlist "INCLUDE">
+<![%application.attlist;[
+<!ATTLIST application
+ class (hardware
+ |software) #IMPLIED
+ %moreinfo.attrib;
+ %common.attrib;
+ %application.role.attrib;
+ %local.application.attrib;
+>
+<!--end of application.attlist-->]]>
+<!--end of application.module-->]]>
+
+<!ENTITY % classname.module "INCLUDE">
+<![%classname.module;[
+<!ENTITY % local.classname.attrib "">
+<!ENTITY % classname.role.attrib "%role.attrib;">
+
+<!ENTITY % classname.element "INCLUDE">
+<![%classname.element;[
+<!--doc:The name of a class, in the object-oriented programming sense.-->
+<!ELEMENT classname %ho; (%smallcptr.char.mix;)*>
+<!--end of classname.element-->]]>
+
+<!ENTITY % classname.attlist "INCLUDE">
+<![%classname.attlist;[
+<!ATTLIST classname
+ %common.attrib;
+ %classname.role.attrib;
+ %local.classname.attrib;
+>
+<!--end of classname.attlist-->]]>
+<!--end of classname.module-->]]>
+
+<!ENTITY % package.module "INCLUDE">
+<![%package.module;[
+<!ENTITY % local.package.attrib "">
+<!ENTITY % package.role.attrib "%role.attrib;">
+
+<!ENTITY % package.element "INCLUDE">
+<![%package.element;[
+<!--doc:A package.-->
+<!ELEMENT package %ho; (%smallcptr.char.mix;)*>
+<!--end of package.element-->]]>
+
+<!ENTITY % package.attlist "INCLUDE">
+<![%package.attlist;[
+<!ATTLIST package
+ %common.attrib;
+ %package.role.attrib;
+ %local.package.attrib;
+>
+<!--end of package.attlist-->]]>
+<!--end of package.module-->]]>
+
+<!ENTITY % co.module "INCLUDE">
+<![%co.module;[
+<!ENTITY % local.co.attrib "">
+<!-- CO is a callout area of the LineColumn unit type (a single character
+ position); the position is directly indicated by the location of CO. -->
+<!ENTITY % co.role.attrib "%role.attrib;">
+
+<!ENTITY % co.element "INCLUDE">
+<![%co.element;[
+<!--doc:The location of a callout embedded in text.-->
+<!ELEMENT co %ho; EMPTY>
+<!--end of co.element-->]]>
+
+<!-- bug number/symbol override or initialization -->
+<!-- to any related information -->
+
+
+<!ENTITY % co.attlist "INCLUDE">
+<![%co.attlist;[
+<!ATTLIST co
+ %label.attrib;
+ %linkends.attrib;
+ %idreq.common.attrib;
+ %co.role.attrib;
+ %local.co.attrib;
+>
+<!--end of co.attlist-->]]>
+<!--end of co.module-->]]>
+
+<!ENTITY % coref.module "INCLUDE">
+<![%coref.module;[
+<!ENTITY % local.coref.attrib "">
+<!-- COREF is a reference to a CO -->
+<!ENTITY % coref.role.attrib "%role.attrib;">
+
+<!ENTITY % coref.element "INCLUDE">
+<![%coref.element;[
+<!--doc:A cross reference to a co.-->
+<!ELEMENT coref %ho; EMPTY>
+<!--end of coref.element-->]]>
+
+<!-- bug number/symbol override or initialization -->
+<!-- to any related information -->
+
+<!ENTITY % coref.attlist "INCLUDE">
+<![%coref.attlist;[
+<!ATTLIST coref
+ %label.attrib;
+ %linkendreq.attrib;
+ %common.attrib;
+ %coref.role.attrib;
+ %local.coref.attrib;
+>
+<!--end of coref.attlist-->]]>
+<!--end of coref.module-->]]>
+
+<!ENTITY % command.module "INCLUDE">
+<![%command.module;[
+<!ENTITY % local.command.attrib "">
+<!ENTITY % command.role.attrib "%role.attrib;">
+
+<!ENTITY % command.element "INCLUDE">
+<![%command.element;[
+<!--doc:The name of an executable program or other software command.-->
+<!ELEMENT command %ho; (%cptr.char.mix;)*>
+<!--end of command.element-->]]>
+
+<!ENTITY % command.attlist "INCLUDE">
+<![%command.attlist;[
+<!ATTLIST command
+ %moreinfo.attrib;
+ %common.attrib;
+ %command.role.attrib;
+ %local.command.attrib;
+>
+<!--end of command.attlist-->]]>
+<!--end of command.module-->]]>
+
+<!ENTITY % computeroutput.module "INCLUDE">
+<![%computeroutput.module;[
+<!ENTITY % local.computeroutput.attrib "">
+<!ENTITY % computeroutput.role.attrib "%role.attrib;">
+
+<!ENTITY % computeroutput.element "INCLUDE">
+<![%computeroutput.element;[
+<!--doc:Data, generally text, displayed or presented by a computer.-->
+<!ELEMENT computeroutput %ho; (%cptr.char.mix;|co)*>
+<!--end of computeroutput.element-->]]>
+
+<!ENTITY % computeroutput.attlist "INCLUDE">
+<![%computeroutput.attlist;[
+<!ATTLIST computeroutput
+ %moreinfo.attrib;
+ %common.attrib;
+ %computeroutput.role.attrib;
+ %local.computeroutput.attrib;
+>
+<!--end of computeroutput.attlist-->]]>
+<!--end of computeroutput.module-->]]>
+
+<!ENTITY % database.module "INCLUDE">
+<![%database.module;[
+<!ENTITY % local.database.attrib "">
+<!ENTITY % database.role.attrib "%role.attrib;">
+
+<!ENTITY % database.element "INCLUDE">
+<![%database.element;[
+<!--doc:The name of a database, or part of a database.-->
+<!ELEMENT database %ho; (%cptr.char.mix;)*>
+<!--end of database.element-->]]>
+
+<!-- Class: Type of database the element names; no default -->
+
+
+<!ENTITY % database.attlist "INCLUDE">
+<![%database.attlist;[
+<!ATTLIST database
+ class (name
+ |table
+ |field
+ |key1
+ |key2
+ |record
+ |index
+ |view
+ |primarykey
+ |secondarykey
+ |foreignkey
+ |altkey
+ |procedure
+ |datatype
+ |constraint
+ |rule
+ |user
+ |group) #IMPLIED
+ %moreinfo.attrib;
+ %common.attrib;
+ %database.role.attrib;
+ %local.database.attrib;
+>
+<!--end of database.attlist-->]]>
+<!--end of database.module-->]]>
+
+<!ENTITY % email.module "INCLUDE">
+<![%email.module;[
+<!ENTITY % local.email.attrib "">
+<!ENTITY % email.role.attrib "%role.attrib;">
+
+<!ENTITY % email.element "INCLUDE">
+<![%email.element;[
+<!--doc:An email address.-->
+<!ELEMENT email %ho; (%docinfo.char.mix;)*>
+<!--end of email.element-->]]>
+
+<!ENTITY % email.attlist "INCLUDE">
+<![%email.attlist;[
+<!ATTLIST email
+ %common.attrib;
+ %email.role.attrib;
+ %local.email.attrib;
+>
+<!--end of email.attlist-->]]>
+<!--end of email.module-->]]>
+
+<!ENTITY % envar.module "INCLUDE">
+<![%envar.module;[
+<!ENTITY % local.envar.attrib "">
+<!ENTITY % envar.role.attrib "%role.attrib;">
+
+<!ENTITY % envar.element "INCLUDE">
+<![%envar.element;[
+<!--doc:A software environment variable.-->
+<!ELEMENT envar %ho; (%smallcptr.char.mix;)*>
+<!--end of envar.element-->]]>
+
+<!ENTITY % envar.attlist "INCLUDE">
+<![%envar.attlist;[
+<!ATTLIST envar
+ %common.attrib;
+ %envar.role.attrib;
+ %local.envar.attrib;
+>
+<!--end of envar.attlist-->]]>
+<!--end of envar.module-->]]>
+
+
+<!ENTITY % errorcode.module "INCLUDE">
+<![%errorcode.module;[
+<!ENTITY % local.errorcode.attrib "">
+<!ENTITY % errorcode.role.attrib "%role.attrib;">
+
+<!ENTITY % errorcode.element "INCLUDE">
+<![%errorcode.element;[
+<!--doc:An error code.-->
+<!ELEMENT errorcode %ho; (%smallcptr.char.mix;)*>
+<!--end of errorcode.element-->]]>
+
+<!ENTITY % errorcode.attlist "INCLUDE">
+<![%errorcode.attlist;[
+<!ATTLIST errorcode
+ %moreinfo.attrib;
+ %common.attrib;
+ %errorcode.role.attrib;
+ %local.errorcode.attrib;
+>
+<!--end of errorcode.attlist-->]]>
+<!--end of errorcode.module-->]]>
+
+<!ENTITY % errorname.module "INCLUDE">
+<![%errorname.module;[
+<!ENTITY % local.errorname.attrib "">
+<!ENTITY % errorname.role.attrib "%role.attrib;">
+
+<!ENTITY % errorname.element "INCLUDE">
+<![%errorname.element;[
+<!--doc:An error name.-->
+<!ELEMENT errorname %ho; (%smallcptr.char.mix;)*>
+<!--end of errorname.element-->]]>
+
+<!ENTITY % errorname.attlist "INCLUDE">
+<![%errorname.attlist;[
+<!ATTLIST errorname
+ %common.attrib;
+ %errorname.role.attrib;
+ %local.errorname.attrib;
+>
+<!--end of errorname.attlist-->]]>
+<!--end of errorname.module-->]]>
+
+<!ENTITY % errortext.module "INCLUDE">
+<![%errortext.module;[
+<!ENTITY % local.errortext.attrib "">
+<!ENTITY % errortext.role.attrib "%role.attrib;">
+
+<!ENTITY % errortext.element "INCLUDE">
+<![%errortext.element;[
+<!--doc:An error message..-->
+<!ELEMENT errortext %ho; (%smallcptr.char.mix;)*>
+<!--end of errortext.element-->]]>
+
+<!ENTITY % errortext.attlist "INCLUDE">
+<![%errortext.attlist;[
+<!ATTLIST errortext
+ %common.attrib;
+ %errortext.role.attrib;
+ %local.errortext.attrib;
+>
+<!--end of errortext.attlist-->]]>
+<!--end of errortext.module-->]]>
+
+<!ENTITY % errortype.module "INCLUDE">
+<![%errortype.module;[
+<!ENTITY % local.errortype.attrib "">
+<!ENTITY % errortype.role.attrib "%role.attrib;">
+
+<!ENTITY % errortype.element "INCLUDE">
+<![%errortype.element;[
+<!--doc:The classification of an error message.-->
+<!ELEMENT errortype %ho; (%smallcptr.char.mix;)*>
+<!--end of errortype.element-->]]>
+
+<!ENTITY % errortype.attlist "INCLUDE">
+<![%errortype.attlist;[
+<!ATTLIST errortype
+ %common.attrib;
+ %errortype.role.attrib;
+ %local.errortype.attrib;
+>
+<!--end of errortype.attlist-->]]>
+<!--end of errortype.module-->]]>
+
+<!ENTITY % filename.module "INCLUDE">
+<![%filename.module;[
+<!ENTITY % local.filename.attrib "">
+<!ENTITY % filename.role.attrib "%role.attrib;">
+
+<!ENTITY % filename.element "INCLUDE">
+<![%filename.element;[
+<!--doc:The name of a file.-->
+<!ELEMENT filename %ho; (%cptr.char.mix;)*>
+<!--end of filename.element-->]]>
+
+<!-- Class: Type of filename the element names; no default -->
+<!-- Path: Search path (possibly system-specific) in which
+ file can be found -->
+
+
+<!ENTITY % filename.attlist "INCLUDE">
+<![%filename.attlist;[
+<!ATTLIST filename
+ class (headerfile
+ |partition
+ |devicefile
+ |libraryfile
+ |directory
+ |extension
+ |symlink) #IMPLIED
+ path CDATA #IMPLIED
+ %moreinfo.attrib;
+ %common.attrib;
+ %filename.role.attrib;
+ %local.filename.attrib;
+>
+<!--end of filename.attlist-->]]>
+<!--end of filename.module-->]]>
+
+<!ENTITY % function.module "INCLUDE">
+<![%function.module;[
+<!ENTITY % local.function.attrib "">
+<!ENTITY % function.role.attrib "%role.attrib;">
+
+<!ENTITY % function.element "INCLUDE">
+<![%function.element;[
+<!--doc:The name of a function or subroutine, as in a programming language.-->
+<!ELEMENT function %ho; (%cptr.char.mix;)*>
+<!--end of function.element-->]]>
+
+<!ENTITY % function.attlist "INCLUDE">
+<![%function.attlist;[
+<!ATTLIST function
+ %moreinfo.attrib;
+ %common.attrib;
+ %function.role.attrib;
+ %local.function.attrib;
+>
+<!--end of function.attlist-->]]>
+<!--end of function.module-->]]>
+
+<!ENTITY % guibutton.module "INCLUDE">
+<![%guibutton.module;[
+<!ENTITY % local.guibutton.attrib "">
+<!ENTITY % guibutton.role.attrib "%role.attrib;">
+
+<!ENTITY % guibutton.element "INCLUDE">
+<![%guibutton.element;[
+<!--doc:The text on a button in a GUI.-->
+<!ELEMENT guibutton %ho; (%smallcptr.char.mix;|accel|superscript|subscript)*>
+<!--end of guibutton.element-->]]>
+
+<!ENTITY % guibutton.attlist "INCLUDE">
+<![%guibutton.attlist;[
+<!ATTLIST guibutton
+ %moreinfo.attrib;
+ %common.attrib;
+ %guibutton.role.attrib;
+ %local.guibutton.attrib;
+>
+<!--end of guibutton.attlist-->]]>
+<!--end of guibutton.module-->]]>
+
+<!ENTITY % guiicon.module "INCLUDE">
+<![%guiicon.module;[
+<!ENTITY % local.guiicon.attrib "">
+<!ENTITY % guiicon.role.attrib "%role.attrib;">
+
+<!ENTITY % guiicon.element "INCLUDE">
+<![%guiicon.element;[
+<!--doc:Graphic and/or text appearing as a icon in a GUI.-->
+<!ELEMENT guiicon %ho; (%smallcptr.char.mix;|accel|superscript|subscript)*>
+<!--end of guiicon.element-->]]>
+
+<!ENTITY % guiicon.attlist "INCLUDE">
+<![%guiicon.attlist;[
+<!ATTLIST guiicon
+ %moreinfo.attrib;
+ %common.attrib;
+ %guiicon.role.attrib;
+ %local.guiicon.attrib;
+>
+<!--end of guiicon.attlist-->]]>
+<!--end of guiicon.module-->]]>
+
+<!ENTITY % guilabel.module "INCLUDE">
+<![%guilabel.module;[
+<!ENTITY % local.guilabel.attrib "">
+<!ENTITY % guilabel.role.attrib "%role.attrib;">
+
+<!ENTITY % guilabel.element "INCLUDE">
+<![%guilabel.element;[
+<!--doc:The text of a label in a GUI.-->
+<!ELEMENT guilabel %ho; (%smallcptr.char.mix;|accel|superscript|subscript)*>
+<!--end of guilabel.element-->]]>
+
+<!ENTITY % guilabel.attlist "INCLUDE">
+<![%guilabel.attlist;[
+<!ATTLIST guilabel
+ %moreinfo.attrib;
+ %common.attrib;
+ %guilabel.role.attrib;
+ %local.guilabel.attrib;
+>
+<!--end of guilabel.attlist-->]]>
+<!--end of guilabel.module-->]]>
+
+<!ENTITY % guimenu.module "INCLUDE">
+<![%guimenu.module;[
+<!ENTITY % local.guimenu.attrib "">
+<!ENTITY % guimenu.role.attrib "%role.attrib;">
+
+<!ENTITY % guimenu.element "INCLUDE">
+<![%guimenu.element;[
+<!--doc:The name of a menu in a GUI.-->
+<!ELEMENT guimenu %ho; (%smallcptr.char.mix;|accel|superscript|subscript)*>
+<!--end of guimenu.element-->]]>
+
+<!ENTITY % guimenu.attlist "INCLUDE">
+<![%guimenu.attlist;[
+<!ATTLIST guimenu
+ %moreinfo.attrib;
+ %common.attrib;
+ %guimenu.role.attrib;
+ %local.guimenu.attrib;
+>
+<!--end of guimenu.attlist-->]]>
+<!--end of guimenu.module-->]]>
+
+<!ENTITY % guimenuitem.module "INCLUDE">
+<![%guimenuitem.module;[
+<!ENTITY % local.guimenuitem.attrib "">
+<!ENTITY % guimenuitem.role.attrib "%role.attrib;">
+
+<!ENTITY % guimenuitem.element "INCLUDE">
+<![%guimenuitem.element;[
+<!--doc:The name of a terminal menu item in a GUI.-->
+<!ELEMENT guimenuitem %ho; (%smallcptr.char.mix;|accel|superscript|subscript)*>
+<!--end of guimenuitem.element-->]]>
+
+<!ENTITY % guimenuitem.attlist "INCLUDE">
+<![%guimenuitem.attlist;[
+<!ATTLIST guimenuitem
+ %moreinfo.attrib;
+ %common.attrib;
+ %guimenuitem.role.attrib;
+ %local.guimenuitem.attrib;
+>
+<!--end of guimenuitem.attlist-->]]>
+<!--end of guimenuitem.module-->]]>
+
+<!ENTITY % guisubmenu.module "INCLUDE">
+<![%guisubmenu.module;[
+<!ENTITY % local.guisubmenu.attrib "">
+<!ENTITY % guisubmenu.role.attrib "%role.attrib;">
+
+<!ENTITY % guisubmenu.element "INCLUDE">
+<![%guisubmenu.element;[
+<!--doc:The name of a submenu in a GUI.-->
+<!ELEMENT guisubmenu %ho; (%smallcptr.char.mix;|accel|superscript|subscript)*>
+<!--end of guisubmenu.element-->]]>
+
+<!ENTITY % guisubmenu.attlist "INCLUDE">
+<![%guisubmenu.attlist;[
+<!ATTLIST guisubmenu
+ %moreinfo.attrib;
+ %common.attrib;
+ %guisubmenu.role.attrib;
+ %local.guisubmenu.attrib;
+>
+<!--end of guisubmenu.attlist-->]]>
+<!--end of guisubmenu.module-->]]>
+
+<!ENTITY % hardware.module "INCLUDE">
+<![%hardware.module;[
+<!ENTITY % local.hardware.attrib "">
+<!ENTITY % hardware.role.attrib "%role.attrib;">
+
+<!ENTITY % hardware.element "INCLUDE">
+<![%hardware.element;[
+<!--doc:A physical part of a computer system.-->
+<!ELEMENT hardware %ho; (%cptr.char.mix;)*>
+<!--end of hardware.element-->]]>
+
+<!ENTITY % hardware.attlist "INCLUDE">
+<![%hardware.attlist;[
+<!ATTLIST hardware
+ %moreinfo.attrib;
+ %common.attrib;
+ %hardware.role.attrib;
+ %local.hardware.attrib;
+>
+<!--end of hardware.attlist-->]]>
+<!--end of hardware.module-->]]>
+
+<!ENTITY % interface.module "INCLUDE">
+<![%interface.module;[
+<!ENTITY % local.interface.attrib "">
+<!ENTITY % interface.role.attrib "%role.attrib;">
+
+<!ENTITY % interface.element "INCLUDE">
+<![%interface.element;[
+<!--doc:An element of a GUI.-->
+<!ELEMENT interface %ho; (%smallcptr.char.mix;|accel)*>
+<!--end of interface.element-->]]>
+
+<!-- Class: Type of the Interface item; no default -->
+
+
+<!ENTITY % interface.attlist "INCLUDE">
+<![%interface.attlist;[
+<!ATTLIST interface
+ %moreinfo.attrib;
+ %common.attrib;
+ %interface.role.attrib;
+ %local.interface.attrib;
+>
+<!--end of interface.attlist-->]]>
+<!--end of interface.module-->]]>
+
+<!ENTITY % keycap.module "INCLUDE">
+<![%keycap.module;[
+<!ENTITY % local.keycap.attrib "">
+<!ENTITY % keycap.role.attrib "%role.attrib;">
+
+<!ENTITY % keycap.element "INCLUDE">
+<![%keycap.element;[
+<!--doc:The text printed on a key on a keyboard.-->
+<!ELEMENT keycap %ho; (%cptr.char.mix;)*>
+<!--end of keycap.element-->]]>
+
+<!ENTITY % keycap.attlist "INCLUDE">
+<![%keycap.attlist;[
+<!ATTLIST keycap
+ function (alt
+ |control
+ |shift
+ |meta
+ |escape
+ |enter
+ |tab
+ |backspace
+ |command
+ |option
+ |space
+ |delete
+ |insert
+ |up
+ |down
+ |left
+ |right
+ |home
+ |end
+ |pageup
+ |pagedown
+ |other) #IMPLIED
+ otherfunction CDATA #IMPLIED
+ %moreinfo.attrib;
+ %common.attrib;
+ %keycap.role.attrib;
+ %local.keycap.attrib;
+>
+<!--end of keycap.attlist-->]]>
+<!--end of keycap.module-->]]>
+
+<!ENTITY % keycode.module "INCLUDE">
+<![%keycode.module;[
+<!ENTITY % local.keycode.attrib "">
+<!ENTITY % keycode.role.attrib "%role.attrib;">
+
+<!ENTITY % keycode.element "INCLUDE">
+<![%keycode.element;[
+<!--doc:The internal, frequently numeric, identifier for a key on a keyboard.-->
+<!ELEMENT keycode %ho; (%smallcptr.char.mix;)*>
+<!--end of keycode.element-->]]>
+
+<!ENTITY % keycode.attlist "INCLUDE">
+<![%keycode.attlist;[
+<!ATTLIST keycode
+ %common.attrib;
+ %keycode.role.attrib;
+ %local.keycode.attrib;
+>
+<!--end of keycode.attlist-->]]>
+<!--end of keycode.module-->]]>
+
+<!ENTITY % keycombo.module "INCLUDE">
+<![%keycombo.module;[
+<!ENTITY % local.keycombo.attrib "">
+<!ENTITY % keycombo.role.attrib "%role.attrib;">
+
+<!ENTITY % keycombo.element "INCLUDE">
+<![%keycombo.element;[
+<!--doc:A combination of input actions.-->
+<!ELEMENT keycombo %ho; ((keycap|keycombo|keysym|mousebutton)+)>
+<!--end of keycombo.element-->]]>
+
+<!ENTITY % keycombo.attlist "INCLUDE">
+<![%keycombo.attlist;[
+<!ATTLIST keycombo
+ %keyaction.attrib;
+ %moreinfo.attrib;
+ %common.attrib;
+ %keycombo.role.attrib;
+ %local.keycombo.attrib;
+>
+<!--end of keycombo.attlist-->]]>
+<!--end of keycombo.module-->]]>
+
+<!ENTITY % keysym.module "INCLUDE">
+<![%keysym.module;[
+<!ENTITY % local.keysym.attrib "">
+<!ENTITY % keysysm.role.attrib "%role.attrib;">
+
+<!ENTITY % keysym.element "INCLUDE">
+<![%keysym.element;[
+<!--doc:The symbolic name of a key on a keyboard.-->
+<!ELEMENT keysym %ho; (%smallcptr.char.mix;)*>
+<!--end of keysym.element-->]]>
+
+<!ENTITY % keysym.attlist "INCLUDE">
+<![%keysym.attlist;[
+<!ATTLIST keysym
+ %common.attrib;
+ %keysysm.role.attrib;
+ %local.keysym.attrib;
+>
+<!--end of keysym.attlist-->]]>
+<!--end of keysym.module-->]]>
+
+<!ENTITY % lineannotation.module "INCLUDE">
+<![%lineannotation.module;[
+<!ENTITY % local.lineannotation.attrib "">
+<!ENTITY % lineannotation.role.attrib "%role.attrib;">
+
+<!ENTITY % lineannotation.element "INCLUDE">
+<![%lineannotation.element;[
+<!--doc:A comment on a line in a verbatim listing.-->
+<!ELEMENT lineannotation %ho; (%para.char.mix;)*>
+<!--end of lineannotation.element-->]]>
+
+<!ENTITY % lineannotation.attlist "INCLUDE">
+<![%lineannotation.attlist;[
+<!ATTLIST lineannotation
+ %common.attrib;
+ %lineannotation.role.attrib;
+ %local.lineannotation.attrib;
+>
+<!--end of lineannotation.attlist-->]]>
+<!--end of lineannotation.module-->]]>
+
+<!ENTITY % literal.module "INCLUDE">
+<![%literal.module;[
+<!ENTITY % local.literal.attrib "">
+<!ENTITY % literal.role.attrib "%role.attrib;">
+
+<!ENTITY % literal.element "INCLUDE">
+<![%literal.element;[
+<!--doc:Inline text that is some literal value.-->
+<!ELEMENT literal %ho; (%cptr.char.mix;)*>
+<!--end of literal.element-->]]>
+
+<!ENTITY % literal.attlist "INCLUDE">
+<![%literal.attlist;[
+<!ATTLIST literal
+ %moreinfo.attrib;
+ %common.attrib;
+ %literal.role.attrib;
+ %local.literal.attrib;
+>
+<!--end of literal.attlist-->]]>
+<!--end of literal.module-->]]>
+
+<!ENTITY % code.module "INCLUDE">
+<![%code.module;[
+<!ENTITY % local.code.attrib "">
+<!ENTITY % code.role.attrib "%role.attrib;">
+
+<!ENTITY % code.element "INCLUDE">
+<![%code.element;[
+<!--doc:An inline code fragment.-->
+<!ELEMENT code %ho; (%cptr.char.mix;)*>
+<!--end of code.element-->]]>
+
+<!ENTITY % code.attlist "INCLUDE">
+<![%code.attlist;[
+<!ATTLIST code
+ language CDATA #IMPLIED
+ %common.attrib;
+ %code.role.attrib;
+ %local.code.attrib;
+>
+<!--end of code.attlist-->]]>
+<!--end of code.module-->]]>
+
+<!ENTITY % constant.module "INCLUDE">
+<![ %constant.module; [
+<!ENTITY % local.constant.attrib "">
+<!ENTITY % constant.role.attrib "%role.attrib;">
+
+<!ENTITY % constant.element "INCLUDE">
+<![ %constant.element; [
+<!--doc:A programming or system constant.-->
+<!ELEMENT constant %ho; (%smallcptr.char.mix;)*>
+<!--end of constant.element-->]]>
+
+<!ENTITY % constant.attlist "INCLUDE">
+<![ %constant.attlist; [
+<!ATTLIST constant
+ class (limit) #IMPLIED
+ %common.attrib;
+ %constant.role.attrib;
+ %local.constant.attrib;
+>
+<!--end of constant.attlist-->]]>
+<!--end of constant.module-->]]>
+
+<!ENTITY % varname.module "INCLUDE">
+<![ %varname.module; [
+<!ENTITY % local.varname.attrib "">
+<!ENTITY % varname.role.attrib "%role.attrib;">
+
+<!ENTITY % varname.element "INCLUDE">
+<![ %varname.element; [
+<!--doc:The name of a variable.-->
+<!ELEMENT varname %ho; (%smallcptr.char.mix;)*>
+<!--end of varname.element-->]]>
+
+<!ENTITY % varname.attlist "INCLUDE">
+<![ %varname.attlist; [
+<!ATTLIST varname
+ %common.attrib;
+ %varname.role.attrib;
+ %local.varname.attrib;
+>
+<!--end of varname.attlist-->]]>
+<!--end of varname.module-->]]>
+
+<!ENTITY % markup.module "INCLUDE">
+<![%markup.module;[
+<!ENTITY % local.markup.attrib "">
+<!ENTITY % markup.role.attrib "%role.attrib;">
+
+<!ENTITY % markup.element "INCLUDE">
+<![%markup.element;[
+<!--doc:A string of formatting markup in text that is to be represented literally.-->
+<!ELEMENT markup %ho; (%smallcptr.char.mix;)*>
+<!--end of markup.element-->]]>
+
+<!ENTITY % markup.attlist "INCLUDE">
+<![%markup.attlist;[
+<!ATTLIST markup
+ %common.attrib;
+ %markup.role.attrib;
+ %local.markup.attrib;
+>
+<!--end of markup.attlist-->]]>
+<!--end of markup.module-->]]>
+
+<!ENTITY % medialabel.module "INCLUDE">
+<![%medialabel.module;[
+<!ENTITY % local.medialabel.attrib "">
+<!ENTITY % medialabel.role.attrib "%role.attrib;">
+
+<!ENTITY % medialabel.element "INCLUDE">
+<![%medialabel.element;[
+<!--doc:A name that identifies the physical medium on which some information resides.-->
+<!ELEMENT medialabel %ho; (%smallcptr.char.mix;)*>
+<!--end of medialabel.element-->]]>
+
+<!-- Class: Type of medium named by the element; no default -->
+
+
+<!ENTITY % medialabel.attlist "INCLUDE">
+<![%medialabel.attlist;[
+<!ATTLIST medialabel
+ class (cartridge
+ |cdrom
+ |disk
+ |tape) #IMPLIED
+ %common.attrib;
+ %medialabel.role.attrib;
+ %local.medialabel.attrib;
+>
+<!--end of medialabel.attlist-->]]>
+<!--end of medialabel.module-->]]>
+
+<!ENTITY % menuchoice.content.module "INCLUDE">
+<![%menuchoice.content.module;[
+<!ENTITY % menuchoice.module "INCLUDE">
+<![%menuchoice.module;[
+<!ENTITY % local.menuchoice.attrib "">
+<!ENTITY % menuchoice.role.attrib "%role.attrib;">
+
+<!ENTITY % menuchoice.element "INCLUDE">
+<![%menuchoice.element;[
+<!--doc:A selection or series of selections from a menu.-->
+<!ELEMENT menuchoice %ho; (shortcut?, (guibutton|guiicon|guilabel
+ |guimenu|guimenuitem|guisubmenu|interface)+)>
+<!--end of menuchoice.element-->]]>
+
+<!ENTITY % menuchoice.attlist "INCLUDE">
+<![%menuchoice.attlist;[
+<!ATTLIST menuchoice
+ %moreinfo.attrib;
+ %common.attrib;
+ %menuchoice.role.attrib;
+ %local.menuchoice.attrib;
+>
+<!--end of menuchoice.attlist-->]]>
+<!--end of menuchoice.module-->]]>
+
+<!ENTITY % shortcut.module "INCLUDE">
+<![%shortcut.module;[
+<!-- See also KeyCombo -->
+<!ENTITY % local.shortcut.attrib "">
+<!ENTITY % shortcut.role.attrib "%role.attrib;">
+
+<!ENTITY % shortcut.element "INCLUDE">
+<![%shortcut.element;[
+<!--doc:A key combination for an action that is also accessible through a menu.-->
+<!ELEMENT shortcut %ho; ((keycap|keycombo|keysym|mousebutton)+)>
+<!--end of shortcut.element-->]]>
+
+<!ENTITY % shortcut.attlist "INCLUDE">
+<![%shortcut.attlist;[
+<!ATTLIST shortcut
+ %keyaction.attrib;
+ %moreinfo.attrib;
+ %common.attrib;
+ %shortcut.role.attrib;
+ %local.shortcut.attrib;
+>
+<!--end of shortcut.attlist-->]]>
+<!--end of shortcut.module-->]]>
+<!--end of menuchoice.content.module-->]]>
+
+<!ENTITY % mousebutton.module "INCLUDE">
+<![%mousebutton.module;[
+<!ENTITY % local.mousebutton.attrib "">
+<!ENTITY % mousebutton.role.attrib "%role.attrib;">
+
+<!ENTITY % mousebutton.element "INCLUDE">
+<![%mousebutton.element;[
+<!--doc:The conventional name of a mouse button.-->
+<!ELEMENT mousebutton %ho; (%smallcptr.char.mix;)*>
+<!--end of mousebutton.element-->]]>
+
+<!ENTITY % mousebutton.attlist "INCLUDE">
+<![%mousebutton.attlist;[
+<!ATTLIST mousebutton
+ %moreinfo.attrib;
+ %common.attrib;
+ %mousebutton.role.attrib;
+ %local.mousebutton.attrib;
+>
+<!--end of mousebutton.attlist-->]]>
+<!--end of mousebutton.module-->]]>
+
+<!ENTITY % msgtext.module "INCLUDE">
+<![%msgtext.module;[
+<!ENTITY % local.msgtext.attrib "">
+<!ENTITY % msgtext.role.attrib "%role.attrib;">
+
+<!ENTITY % msgtext.element "INCLUDE">
+<![%msgtext.element;[
+<!--doc:The actual text of a message component in a message set.-->
+<!ELEMENT msgtext %ho; ((%component.mix;)+)>
+<!--end of msgtext.element-->]]>
+
+<!ENTITY % msgtext.attlist "INCLUDE">
+<![%msgtext.attlist;[
+<!ATTLIST msgtext
+ %common.attrib;
+ %msgtext.role.attrib;
+ %local.msgtext.attrib;
+>
+<!--end of msgtext.attlist-->]]>
+<!--end of msgtext.module-->]]>
+
+<!ENTITY % option.module "INCLUDE">
+<![%option.module;[
+<!ENTITY % local.option.attrib "">
+<!ENTITY % option.role.attrib "%role.attrib;">
+
+<!ENTITY % option.element "INCLUDE">
+<![%option.element;[
+<!--doc:An option for a software command.-->
+<!ELEMENT option %ho; (%cptr.char.mix;)*>
+<!--end of option.element-->]]>
+
+<!ENTITY % option.attlist "INCLUDE">
+<![%option.attlist;[
+<!ATTLIST option
+ %common.attrib;
+ %option.role.attrib;
+ %local.option.attrib;
+>
+<!--end of option.attlist-->]]>
+<!--end of option.module-->]]>
+
+<!ENTITY % optional.module "INCLUDE">
+<![%optional.module;[
+<!ENTITY % local.optional.attrib "">
+<!ENTITY % optional.role.attrib "%role.attrib;">
+
+<!ENTITY % optional.element "INCLUDE">
+<![%optional.element;[
+<!--doc:Optional information.-->
+<!ELEMENT optional %ho; (%cptr.char.mix;)*>
+<!--end of optional.element-->]]>
+
+<!ENTITY % optional.attlist "INCLUDE">
+<![%optional.attlist;[
+<!ATTLIST optional
+ %common.attrib;
+ %optional.role.attrib;
+ %local.optional.attrib;
+>
+<!--end of optional.attlist-->]]>
+<!--end of optional.module-->]]>
+
+<!ENTITY % parameter.module "INCLUDE">
+<![%parameter.module;[
+<!ENTITY % local.parameter.attrib "">
+<!ENTITY % parameter.role.attrib "%role.attrib;">
+
+<!ENTITY % parameter.element "INCLUDE">
+<![%parameter.element;[
+<!--doc:A value or a symbolic reference to a value.-->
+<!ELEMENT parameter %ho; (%cptr.char.mix;)*>
+<!--end of parameter.element-->]]>
+
+<!-- Class: Type of the Parameter; no default -->
+
+
+<!ENTITY % parameter.attlist "INCLUDE">
+<![%parameter.attlist;[
+<!ATTLIST parameter
+ class (command
+ |function
+ |option) #IMPLIED
+ %moreinfo.attrib;
+ %common.attrib;
+ %parameter.role.attrib;
+ %local.parameter.attrib;
+>
+<!--end of parameter.attlist-->]]>
+<!--end of parameter.module-->]]>
+
+<!ENTITY % prompt.module "INCLUDE">
+<![%prompt.module;[
+<!ENTITY % local.prompt.attrib "">
+<!ENTITY % prompt.role.attrib "%role.attrib;">
+
+<!ENTITY % prompt.element "INCLUDE">
+<![%prompt.element;[
+<!--doc:A character or string indicating the start of an input field in a computer display.-->
+<!ELEMENT prompt %ho; (%smallcptr.char.mix;|co)*>
+<!--end of prompt.element-->]]>
+
+<!ENTITY % prompt.attlist "INCLUDE">
+<![%prompt.attlist;[
+<!ATTLIST prompt
+ %moreinfo.attrib;
+ %common.attrib;
+ %prompt.role.attrib;
+ %local.prompt.attrib;
+>
+<!--end of prompt.attlist-->]]>
+<!--end of prompt.module-->]]>
+
+<!ENTITY % property.module "INCLUDE">
+<![%property.module;[
+<!ENTITY % local.property.attrib "">
+<!ENTITY % property.role.attrib "%role.attrib;">
+
+<!ENTITY % property.element "INCLUDE">
+<![%property.element;[
+<!--doc:A unit of data associated with some part of a computer system.-->
+<!ELEMENT property %ho; (%cptr.char.mix;)*>
+<!--end of property.element-->]]>
+
+<!ENTITY % property.attlist "INCLUDE">
+<![%property.attlist;[
+<!ATTLIST property
+ %moreinfo.attrib;
+ %common.attrib;
+ %property.role.attrib;
+ %local.property.attrib;
+>
+<!--end of property.attlist-->]]>
+<!--end of property.module-->]]>
+
+<!ENTITY % replaceable.module "INCLUDE">
+<![%replaceable.module;[
+<!ENTITY % local.replaceable.attrib "">
+<!ENTITY % replaceable.role.attrib "%role.attrib;">
+
+<!ENTITY % replaceable.element "INCLUDE">
+<![%replaceable.element;[
+<!--doc:Content that may or must be replaced by the user.-->
+<!ELEMENT replaceable %ho; (#PCDATA
+ | %link.char.class;
+ | optional
+ | %base.char.class;
+ | %other.char.class;
+ | inlinegraphic
+ | inlinemediaobject
+ | co)*>
+<!--end of replaceable.element-->]]>
+
+<!-- Class: Type of information the element represents; no
+ default -->
+
+
+<!ENTITY % replaceable.attlist "INCLUDE">
+<![%replaceable.attlist;[
+<!ATTLIST replaceable
+ class (command
+ |function
+ |option
+ |parameter) #IMPLIED
+ %common.attrib;
+ %replaceable.role.attrib;
+ %local.replaceable.attrib;
+>
+<!--end of replaceable.attlist-->]]>
+<!--end of replaceable.module-->]]>
+
+<!ENTITY % returnvalue.module "INCLUDE">
+<![%returnvalue.module;[
+<!ENTITY % local.returnvalue.attrib "">
+<!ENTITY % returnvalue.role.attrib "%role.attrib;">
+
+<!ENTITY % returnvalue.element "INCLUDE">
+<![%returnvalue.element;[
+<!--doc:The value returned by a function.-->
+<!ELEMENT returnvalue %ho; (%smallcptr.char.mix;)*>
+<!--end of returnvalue.element-->]]>
+
+<!ENTITY % returnvalue.attlist "INCLUDE">
+<![%returnvalue.attlist;[
+<!ATTLIST returnvalue
+ %common.attrib;
+ %returnvalue.role.attrib;
+ %local.returnvalue.attrib;
+>
+<!--end of returnvalue.attlist-->]]>
+<!--end of returnvalue.module-->]]>
+
+<!ENTITY % sgmltag.module "INCLUDE">
+<![%sgmltag.module;[
+<!ENTITY % local.sgmltag.attrib "">
+<!ENTITY % sgmltag.role.attrib "%role.attrib;">
+
+<!ENTITY % sgmltag.element "INCLUDE">
+<![%sgmltag.element;[
+<!--doc:A component of SGML markup.-->
+<!ELEMENT sgmltag %ho; (%smallcptr.char.mix;)*>
+<!--end of sgmltag.element-->]]>
+
+<!-- Class: Type of SGML construct the element names; no default -->
+
+
+<!ENTITY % sgmltag.attlist "INCLUDE">
+<![%sgmltag.attlist;[
+<!ATTLIST sgmltag
+ class (attribute
+ |attvalue
+ |element
+ |endtag
+ |emptytag
+ |genentity
+ |numcharref
+ |paramentity
+ |pi
+ |xmlpi
+ |starttag
+ |sgmlcomment
+ |prefix
+ |namespace
+ |localname) #IMPLIED
+ namespace CDATA #IMPLIED
+ %common.attrib;
+ %sgmltag.role.attrib;
+ %local.sgmltag.attrib;
+>
+<!--end of sgmltag.attlist-->]]>
+<!--end of sgmltag.module-->]]>
+
+<!ENTITY % structfield.module "INCLUDE">
+<![%structfield.module;[
+<!ENTITY % local.structfield.attrib "">
+<!ENTITY % structfield.role.attrib "%role.attrib;">
+
+<!ENTITY % structfield.element "INCLUDE">
+<![%structfield.element;[
+<!--doc:A field in a structure (in the programming language sense).-->
+<!ELEMENT structfield %ho; (%smallcptr.char.mix;)*>
+<!--end of structfield.element-->]]>
+
+<!ENTITY % structfield.attlist "INCLUDE">
+<![%structfield.attlist;[
+<!ATTLIST structfield
+ %common.attrib;
+ %structfield.role.attrib;
+ %local.structfield.attrib;
+>
+<!--end of structfield.attlist-->]]>
+<!--end of structfield.module-->]]>
+
+<!ENTITY % structname.module "INCLUDE">
+<![%structname.module;[
+<!ENTITY % local.structname.attrib "">
+<!ENTITY % structname.role.attrib "%role.attrib;">
+
+<!ENTITY % structname.element "INCLUDE">
+<![%structname.element;[
+<!--doc:The name of a structure (in the programming language sense).-->
+<!ELEMENT structname %ho; (%smallcptr.char.mix;)*>
+<!--end of structname.element-->]]>
+
+<!ENTITY % structname.attlist "INCLUDE">
+<![%structname.attlist;[
+<!ATTLIST structname
+ %common.attrib;
+ %structname.role.attrib;
+ %local.structname.attrib;
+>
+<!--end of structname.attlist-->]]>
+<!--end of structname.module-->]]>
+
+<!ENTITY % symbol.module "INCLUDE">
+<![%symbol.module;[
+<!ENTITY % local.symbol.attrib "">
+<!ENTITY % symbol.role.attrib "%role.attrib;">
+
+<!ENTITY % symbol.element "INCLUDE">
+<![%symbol.element;[
+<!--doc:A name that is replaced by a value before processing.-->
+<!ELEMENT symbol %ho; (%smallcptr.char.mix;)*>
+<!--end of symbol.element-->]]>
+
+<!-- Class: Type of symbol; no default -->
+
+
+<!ENTITY % symbol.attlist "INCLUDE">
+<![%symbol.attlist;[
+<!ATTLIST symbol
+ class (limit) #IMPLIED
+ %common.attrib;
+ %symbol.role.attrib;
+ %local.symbol.attrib;
+>
+<!--end of symbol.attlist-->]]>
+<!--end of symbol.module-->]]>
+
+<!ENTITY % systemitem.module "INCLUDE">
+<![%systemitem.module;[
+<!ENTITY % local.systemitem.attrib "">
+<!ENTITY % systemitem.role.attrib "%role.attrib;">
+
+<!ENTITY % systemitem.element "INCLUDE">
+<![%systemitem.element;[
+<!--doc:A system-related item or term.-->
+<!ELEMENT systemitem %ho; (%cptr.char.mix; | acronym | co)*>
+<!--end of systemitem.element-->]]>
+
+<!-- Class: Type of system item the element names; no default -->
+
+<!ENTITY % systemitem.attlist "INCLUDE">
+<![%systemitem.attlist;[
+<!ATTLIST systemitem
+ class (constant
+ |daemon
+ |domainname
+ |etheraddress
+ |event
+ |eventhandler
+ |filesystem
+ |fqdomainname
+ |groupname
+ |ipaddress
+ |library
+ |macro
+ |netmask
+ |newsgroup
+ |osname
+ |protocol
+ |resource
+ |systemname
+ |username
+ |process
+ |server
+ |service) #IMPLIED
+ %moreinfo.attrib;
+ %common.attrib;
+ %systemitem.role.attrib;
+ %local.systemitem.attrib;
+>
+<!--end of systemitem.attlist-->]]>
+<!--end of systemitem.module-->]]>
+
+<!ENTITY % uri.module "INCLUDE">
+<![%uri.module;[
+<!ENTITY % local.uri.attrib "">
+<!ENTITY % uri.role.attrib "%role.attrib;">
+
+<!ENTITY % uri.element "INCLUDE">
+<![%uri.element;[
+<!--doc:A Uniform Resource Identifier.-->
+<!ELEMENT uri %ho; (%smallcptr.char.mix;)*>
+<!--end of uri.element-->]]>
+
+<!-- Type: Type of URI; no default -->
+
+<!ENTITY % uri.attlist "INCLUDE">
+<![%uri.attlist;[
+<!ATTLIST uri
+ type CDATA #IMPLIED
+ %common.attrib;
+ %uri.role.attrib;
+ %local.uri.attrib;
+>
+<!--end of uri.attlist-->]]>
+<!--end of uri.module-->]]>
+
+<!ENTITY % token.module "INCLUDE">
+<![%token.module;[
+<!ENTITY % local.token.attrib "">
+<!ENTITY % token.role.attrib "%role.attrib;">
+
+<!ENTITY % token.element "INCLUDE">
+<![%token.element;[
+<!--doc:A unit of information.-->
+<!ELEMENT token %ho; (%smallcptr.char.mix;)*>
+<!--end of token.element-->]]>
+
+<!ENTITY % token.attlist "INCLUDE">
+<![%token.attlist;[
+<!ATTLIST token
+ %common.attrib;
+ %token.role.attrib;
+ %local.token.attrib;
+>
+<!--end of token.attlist-->]]>
+<!--end of token.module-->]]>
+
+<!ENTITY % type.module "INCLUDE">
+<![%type.module;[
+<!ENTITY % local.type.attrib "">
+<!ENTITY % type.role.attrib "%role.attrib;">
+
+<!ENTITY % type.element "INCLUDE">
+<![%type.element;[
+<!--doc:The classification of a value.-->
+<!ELEMENT type %ho; (%smallcptr.char.mix;)*>
+<!--end of type.element-->]]>
+
+<!ENTITY % type.attlist "INCLUDE">
+<![%type.attlist;[
+<!ATTLIST type
+ %common.attrib;
+ %type.role.attrib;
+ %local.type.attrib;
+>
+<!--end of type.attlist-->]]>
+<!--end of type.module-->]]>
+
+<!ENTITY % userinput.module "INCLUDE">
+<![%userinput.module;[
+<!ENTITY % local.userinput.attrib "">
+<!ENTITY % userinput.role.attrib "%role.attrib;">
+
+<!ENTITY % userinput.element "INCLUDE">
+<![%userinput.element;[
+<!--doc:Data entered by the user.-->
+<!ELEMENT userinput %ho; (%cptr.char.mix;|co)*>
+<!--end of userinput.element-->]]>
+
+<!ENTITY % userinput.attlist "INCLUDE">
+<![%userinput.attlist;[
+<!ATTLIST userinput
+ %moreinfo.attrib;
+ %common.attrib;
+ %userinput.role.attrib;
+ %local.userinput.attrib;
+>
+<!--end of userinput.attlist-->]]>
+<!--end of userinput.module-->]]>
+
+<!ENTITY % termdef.module "INCLUDE">
+<![%termdef.module;[
+<!ENTITY % local.termdef.attrib "">
+<!ENTITY % termdef.role.attrib "%role.attrib;">
+
+<!ENTITY % termdef.element "INCLUDE">
+<![%termdef.element;[
+<!--doc:An inline definition of a term.-->
+<!ELEMENT termdef %ho; (%para.char.mix;)*>
+<!--end of termdef.element-->]]>
+
+<!ENTITY % termdef.attlist "INCLUDE">
+<![%termdef.attlist;[
+<!ATTLIST termdef
+ %common.attrib;
+ %termdef.role.attrib;
+ %local.termdef.attrib;
+>
+<!--end of termdef.attlist-->]]>
+<!--end of termdef.module-->]]>
+
+<!-- General words and phrases ............................................ -->
+
+<!ENTITY % abbrev.module "INCLUDE">
+<![%abbrev.module;[
+<!ENTITY % local.abbrev.attrib "">
+<!ENTITY % abbrev.role.attrib "%role.attrib;">
+
+<!ENTITY % abbrev.element "INCLUDE">
+<![%abbrev.element;[
+<!--doc:An abbreviation, especially one followed by a period.-->
+<!ELEMENT abbrev %ho; (%word.char.mix;)*>
+<!--end of abbrev.element-->]]>
+
+<!ENTITY % abbrev.attlist "INCLUDE">
+<![%abbrev.attlist;[
+<!ATTLIST abbrev
+ %common.attrib;
+ %abbrev.role.attrib;
+ %local.abbrev.attrib;
+>
+<!--end of abbrev.attlist-->]]>
+<!--end of abbrev.module-->]]>
+
+<!ENTITY % acronym.module "INCLUDE">
+<![%acronym.module;[
+<!ENTITY % local.acronym.attrib "">
+<!ENTITY % acronym.role.attrib "%role.attrib;">
+
+<!ENTITY % acronym.element "INCLUDE">
+<![%acronym.element;[
+<!--doc:An often pronounceable word made from the initial (or selected) letters of a name or phrase.-->
+<!ELEMENT acronym %ho; (%word.char.mix;)*
+ %acronym.exclusion;>
+<!--end of acronym.element-->]]>
+
+<!ENTITY % acronym.attlist "INCLUDE">
+<![%acronym.attlist;[
+<!ATTLIST acronym
+ %common.attrib;
+ %acronym.role.attrib;
+ %local.acronym.attrib;
+>
+<!--end of acronym.attlist-->]]>
+<!--end of acronym.module-->]]>
+
+<!ENTITY % citation.module "INCLUDE">
+<![%citation.module;[
+<!ENTITY % local.citation.attrib "">
+<!ENTITY % citation.role.attrib "%role.attrib;">
+
+<!ENTITY % citation.element "INCLUDE">
+<![%citation.element;[
+<!--doc:An inline bibliographic reference to another published work.-->
+<!ELEMENT citation %ho; (%para.char.mix;)*>
+<!--end of citation.element-->]]>
+
+<!ENTITY % citation.attlist "INCLUDE">
+<![%citation.attlist;[
+<!ATTLIST citation
+ %common.attrib;
+ %citation.role.attrib;
+ %local.citation.attrib;
+>
+<!--end of citation.attlist-->]]>
+<!--end of citation.module-->]]>
+
+<!ENTITY % citerefentry.module "INCLUDE">
+<![%citerefentry.module;[
+<!ENTITY % local.citerefentry.attrib "">
+<!ENTITY % citerefentry.role.attrib "%role.attrib;">
+
+<!ENTITY % citerefentry.element "INCLUDE">
+<![%citerefentry.element;[
+<!--doc:A citation to a reference page.-->
+<!ELEMENT citerefentry %ho; (refentrytitle, manvolnum?)>
+<!--end of citerefentry.element-->]]>
+
+<!ENTITY % citerefentry.attlist "INCLUDE">
+<![%citerefentry.attlist;[
+<!ATTLIST citerefentry
+ %common.attrib;
+ %citerefentry.role.attrib;
+ %local.citerefentry.attrib;
+>
+<!--end of citerefentry.attlist-->]]>
+<!--end of citerefentry.module-->]]>
+
+<!ENTITY % refentrytitle.module "INCLUDE">
+<![%refentrytitle.module;[
+<!ENTITY % local.refentrytitle.attrib "">
+<!ENTITY % refentrytitle.role.attrib "%role.attrib;">
+
+<!ENTITY % refentrytitle.element "INCLUDE">
+<![%refentrytitle.element;[
+<!--doc:The title of a reference page.-->
+<!ELEMENT refentrytitle %ho; (%para.char.mix;)*>
+<!--end of refentrytitle.element-->]]>
+
+<!ENTITY % refentrytitle.attlist "INCLUDE">
+<![%refentrytitle.attlist;[
+<!ATTLIST refentrytitle
+ %common.attrib;
+ %refentrytitle.role.attrib;
+ %local.refentrytitle.attrib;
+>
+<!--end of refentrytitle.attlist-->]]>
+<!--end of refentrytitle.module-->]]>
+
+<!ENTITY % manvolnum.module "INCLUDE">
+<![%manvolnum.module;[
+<!ENTITY % local.manvolnum.attrib "">
+<!ENTITY % namvolnum.role.attrib "%role.attrib;">
+
+<!ENTITY % manvolnum.element "INCLUDE">
+<![%manvolnum.element;[
+<!--doc:A reference volume number.-->
+<!ELEMENT manvolnum %ho; (%word.char.mix;)*>
+<!--end of manvolnum.element-->]]>
+
+<!ENTITY % manvolnum.attlist "INCLUDE">
+<![%manvolnum.attlist;[
+<!ATTLIST manvolnum
+ %common.attrib;
+ %namvolnum.role.attrib;
+ %local.manvolnum.attrib;
+>
+<!--end of manvolnum.attlist-->]]>
+<!--end of manvolnum.module-->]]>
+
+<!ENTITY % citetitle.module "INCLUDE">
+<![%citetitle.module;[
+<!ENTITY % local.citetitle.attrib "">
+<!ENTITY % citetitle.role.attrib "%role.attrib;">
+
+<!ENTITY % citetitle.element "INCLUDE">
+<![%citetitle.element;[
+<!--doc:The title of a cited work.-->
+<!ELEMENT citetitle %ho; (%para.char.mix;)*>
+<!--end of citetitle.element-->]]>
+
+<!-- Pubwork: Genre of published work cited; no default -->
+
+
+<!ENTITY % citetitle.attlist "INCLUDE">
+<![%citetitle.attlist;[
+<!ATTLIST citetitle
+ pubwork (article
+ |book
+ |chapter
+ |part
+ |refentry
+ |section
+ |journal
+ |series
+ |set
+ |manuscript
+ |cdrom
+ |dvd
+ |wiki
+ |gopher
+ |bbs
+ |emailmessage
+ |webpage
+ |newsposting) #IMPLIED
+ %common.attrib;
+ %citetitle.role.attrib;
+ %local.citetitle.attrib;
+>
+<!--end of citetitle.attlist-->]]>
+<!--end of citetitle.module-->]]>
+
+<!ENTITY % emphasis.module "INCLUDE">
+<![%emphasis.module;[
+<!ENTITY % local.emphasis.attrib "">
+<!ENTITY % emphasis.role.attrib "%role.attrib;">
+
+<!ENTITY % emphasis.element "INCLUDE">
+<![%emphasis.element;[
+<!--doc:Emphasized text.-->
+<!ELEMENT emphasis %ho; (%para.char.mix;)*>
+<!--end of emphasis.element-->]]>
+
+<!ENTITY % emphasis.attlist "INCLUDE">
+<![%emphasis.attlist;[
+<!ATTLIST emphasis
+ %common.attrib;
+ %emphasis.role.attrib;
+ %local.emphasis.attrib;
+>
+<!--end of emphasis.attlist-->]]>
+<!--end of emphasis.module-->]]>
+
+<!ENTITY % foreignphrase.module "INCLUDE">
+<![%foreignphrase.module;[
+<!ENTITY % local.foreignphrase.attrib "">
+<!ENTITY % foreignphrase.role.attrib "%role.attrib;">
+
+<!ENTITY % foreignphrase.element "INCLUDE">
+<![%foreignphrase.element;[
+<!--doc:A word or phrase in a language other than the primary language of the document.-->
+<!ELEMENT foreignphrase %ho; (%para.char.mix;)*>
+<!--end of foreignphrase.element-->]]>
+
+<!ENTITY % foreignphrase.attlist "INCLUDE">
+<![%foreignphrase.attlist;[
+<!ATTLIST foreignphrase
+ %common.attrib;
+ %foreignphrase.role.attrib;
+ %local.foreignphrase.attrib;
+>
+<!--end of foreignphrase.attlist-->]]>
+<!--end of foreignphrase.module-->]]>
+
+<!ENTITY % glossterm.module "INCLUDE">
+<![%glossterm.module;[
+<!ENTITY % local.glossterm.attrib "">
+<!ENTITY % glossterm.role.attrib "%role.attrib;">
+
+<!ENTITY % glossterm.element "INCLUDE">
+<![%glossterm.element;[
+<!--doc:A glossary term.-->
+<!ELEMENT glossterm %ho; (%para.char.mix;)*
+ %glossterm.exclusion;>
+<!--end of glossterm.element-->]]>
+
+<!-- to GlossEntry if Glossterm used in text -->
+<!-- BaseForm: Provides the form of GlossTerm to be used
+ for indexing -->
+
+<!ENTITY % glossterm.attlist "INCLUDE">
+<![%glossterm.attlist;[
+<!ATTLIST glossterm
+ baseform CDATA #IMPLIED
+ %linkend.attrib;
+ %common.attrib;
+ %glossterm.role.attrib;
+ %local.glossterm.attrib;
+>
+<!--end of glossterm.attlist-->]]>
+<!--end of glossterm.module-->]]>
+
+<!ENTITY % firstterm.module "INCLUDE">
+<![%firstterm.module;[
+<!ENTITY % local.firstterm.attrib "">
+<!ENTITY % firstterm.role.attrib "%role.attrib;">
+
+<!ENTITY % firstterm.element "INCLUDE">
+<![%firstterm.element;[
+<!--doc:The first occurrence of a term.-->
+<!ELEMENT firstterm %ho; (%para.char.mix;)*
+ %glossterm.exclusion;>
+<!--end of firstterm.element-->]]>
+
+<!-- to GlossEntry or other explanation -->
+
+
+<!ENTITY % firstterm.attlist "INCLUDE">
+<![%firstterm.attlist;[
+<!ATTLIST firstterm
+ baseform CDATA #IMPLIED
+ %linkend.attrib;
+ %common.attrib;
+ %firstterm.role.attrib;
+ %local.firstterm.attrib;
+>
+<!--end of firstterm.attlist-->]]>
+<!--end of firstterm.module-->]]>
+
+<!ENTITY % phrase.module "INCLUDE">
+<![%phrase.module;[
+<!ENTITY % local.phrase.attrib "">
+<!ENTITY % phrase.role.attrib "%role.attrib;">
+
+<!ENTITY % phrase.element "INCLUDE">
+<![%phrase.element;[
+<!--doc:A span of text.-->
+<!ELEMENT phrase %ho; (%para.char.mix;)*>
+<!--end of phrase.element-->]]>
+
+<!ENTITY % phrase.attlist "INCLUDE">
+<![%phrase.attlist;[
+<!ATTLIST phrase
+ %common.attrib;
+ %phrase.role.attrib;
+ %local.phrase.attrib;
+>
+<!--end of phrase.attlist-->]]>
+<!--end of phrase.module-->]]>
+
+<!ENTITY % quote.module "INCLUDE">
+<![%quote.module;[
+<!ENTITY % local.quote.attrib "">
+<!ENTITY % quote.role.attrib "%role.attrib;">
+
+<!ENTITY % quote.element "INCLUDE">
+<![%quote.element;[
+<!--doc:An inline quotation.-->
+<!ELEMENT quote %ho; (%para.char.mix;)*>
+<!--end of quote.element-->]]>
+
+<!ENTITY % quote.attlist "INCLUDE">
+<![%quote.attlist;[
+<!ATTLIST quote
+ %common.attrib;
+ %quote.role.attrib;
+ %local.quote.attrib;
+>
+<!--end of quote.attlist-->]]>
+<!--end of quote.module-->]]>
+
+<!ENTITY % ssscript.module "INCLUDE">
+<![%ssscript.module;[
+<!ENTITY % local.ssscript.attrib "">
+<!ENTITY % ssscript.role.attrib "%role.attrib;">
+
+<!ENTITY % subscript.element "INCLUDE">
+<![%subscript.element;[
+<!--doc:A subscript (as in H{^2}O, the molecular formula for water).-->
+<!ELEMENT subscript %ho; (#PCDATA
+ | %link.char.class;
+ | emphasis
+ | replaceable
+ | symbol
+ | inlinegraphic
+ | inlinemediaobject
+ | %base.char.class;
+ | %other.char.class;)*
+ %ubiq.exclusion;>
+<!--end of subscript.element-->]]>
+
+<!ENTITY % subscript.attlist "INCLUDE">
+<![%subscript.attlist;[
+<!ATTLIST subscript
+ %common.attrib;
+ %ssscript.role.attrib;
+ %local.ssscript.attrib;
+>
+<!--end of subscript.attlist-->]]>
+
+<!ENTITY % superscript.element "INCLUDE">
+<![%superscript.element;[
+<!--doc:A superscript (as in x^2, the mathematical notation for x multiplied by itself).-->
+<!ELEMENT superscript %ho; (#PCDATA
+ | %link.char.class;
+ | emphasis
+ | replaceable
+ | symbol
+ | inlinegraphic
+ | inlinemediaobject
+ | %base.char.class;
+ | %other.char.class;)*
+ %ubiq.exclusion;>
+<!--end of superscript.element-->]]>
+
+<!ENTITY % superscript.attlist "INCLUDE">
+<![%superscript.attlist;[
+<!ATTLIST superscript
+ %common.attrib;
+ %ssscript.role.attrib;
+ %local.ssscript.attrib;
+>
+<!--end of superscript.attlist-->]]>
+<!--end of ssscript.module-->]]>
+
+<!ENTITY % trademark.module "INCLUDE">
+<![%trademark.module;[
+<!ENTITY % local.trademark.attrib "">
+<!ENTITY % trademark.role.attrib "%role.attrib;">
+
+<!ENTITY % trademark.element "INCLUDE">
+<![%trademark.element;[
+<!--doc:A trademark.-->
+<!ELEMENT trademark %ho; (#PCDATA
+ | %link.char.class;
+ | %tech.char.class;
+ | %base.char.class;
+ | %other.char.class;
+ | inlinegraphic
+ | inlinemediaobject
+ | emphasis)*>
+<!--end of trademark.element-->]]>
+
+<!-- Class: More precisely identifies the item the element names -->
+
+
+<!ENTITY % trademark.attlist "INCLUDE">
+<![%trademark.attlist;[
+<!ATTLIST trademark
+ class (service
+ |trade
+ |registered
+ |copyright) 'trade'
+ %common.attrib;
+ %trademark.role.attrib;
+ %local.trademark.attrib;
+>
+<!--end of trademark.attlist-->]]>
+<!--end of trademark.module-->]]>
+
+<!ENTITY % wordasword.module "INCLUDE">
+<![%wordasword.module;[
+<!ENTITY % local.wordasword.attrib "">
+<!ENTITY % wordasword.role.attrib "%role.attrib;">
+
+<!ENTITY % wordasword.element "INCLUDE">
+<![%wordasword.element;[
+<!--doc:A word meant specifically as a word and not representing anything else.-->
+<!ELEMENT wordasword %ho; (%word.char.mix;)*>
+<!--end of wordasword.element-->]]>
+
+<!ENTITY % wordasword.attlist "INCLUDE">
+<![%wordasword.attlist;[
+<!ATTLIST wordasword
+ %common.attrib;
+ %wordasword.role.attrib;
+ %local.wordasword.attrib;
+>
+<!--end of wordasword.attlist-->]]>
+<!--end of wordasword.module-->]]>
+
+<!-- Links and cross-references ........................................... -->
+
+<!ENTITY % link.module "INCLUDE">
+<![%link.module;[
+<!ENTITY % local.link.attrib "">
+<!ENTITY % link.role.attrib "%role.attrib;">
+
+<!ENTITY % link.element "INCLUDE">
+<![%link.element;[
+<!--doc:A hypertext link.-->
+<!ELEMENT link %ho; (%para.char.mix;)*
+ %links.exclusion;>
+<!--end of link.element-->]]>
+
+<!-- Endterm: ID of element containing text that is to be
+ fetched from elsewhere in the document to appear as
+ the content of this element -->
+<!-- to linked-to object -->
+<!-- Type: Freely assignable parameter -->
+
+
+<!ENTITY % link.attlist "INCLUDE">
+<![%link.attlist;[
+<!ATTLIST link
+ endterm IDREF #IMPLIED
+ xrefstyle CDATA #IMPLIED
+ type CDATA #IMPLIED
+ %linkendreq.attrib;
+ %common.attrib;
+ %link.role.attrib;
+ %local.link.attrib;
+>
+<!--end of link.attlist-->]]>
+<!--end of link.module-->]]>
+
+<!ENTITY % olink.module "INCLUDE">
+<![%olink.module;[
+<!ENTITY % local.olink.attrib "">
+<!ENTITY % olink.role.attrib "%role.attrib;">
+
+<!ENTITY % olink.element "INCLUDE">
+<![%olink.element;[
+<!--doc:A link that addresses its target indirectly, through an entity.-->
+<!ELEMENT olink %ho; (%para.char.mix;)*
+ %links.exclusion;>
+<!--end of olink.element-->]]>
+
+<!-- TargetDocEnt: Name of an entity to be the target of the link -->
+<!-- LinkMode: ID of a ModeSpec containing instructions for
+ operating on the entity named by TargetDocEnt -->
+<!-- LocalInfo: Information that may be passed to ModeSpec -->
+<!-- Type: Freely assignable parameter -->
+
+
+<!ENTITY % olink.attlist "INCLUDE">
+<![%olink.attlist;[
+<!ATTLIST olink
+ targetdocent ENTITY #IMPLIED
+ linkmode IDREF #IMPLIED
+ localinfo CDATA #IMPLIED
+ type CDATA #IMPLIED
+ targetdoc CDATA #IMPLIED
+ targetptr CDATA #IMPLIED
+ xrefstyle CDATA #IMPLIED
+ %common.attrib;
+ %olink.role.attrib;
+ %local.olink.attrib;
+>
+<!--end of olink.attlist-->]]>
+<!--end of olink.module-->]]>
+
+<!ENTITY % ulink.module "INCLUDE">
+<![%ulink.module;[
+<!ENTITY % local.ulink.attrib "">
+<!ENTITY % ulink.role.attrib "%role.attrib;">
+
+<!ENTITY % ulink.element "INCLUDE">
+<![%ulink.element;[
+<!--doc:A link that addresses its target by means of a URL (Uniform Resource Locator).-->
+<!ELEMENT ulink %ho; (%para.char.mix;)*
+ %links.exclusion;>
+<!--end of ulink.element-->]]>
+
+<!-- URL: uniform resource locator; the target of the ULink -->
+<!-- Type: Freely assignable parameter -->
+
+
+<!ENTITY % ulink.attlist "INCLUDE">
+<![%ulink.attlist;[
+<!ATTLIST ulink
+ url CDATA #REQUIRED
+ type CDATA #IMPLIED
+ xrefstyle CDATA #IMPLIED
+ %common.attrib;
+ %ulink.role.attrib;
+ %local.ulink.attrib;
+>
+<!--end of ulink.attlist-->]]>
+<!--end of ulink.module-->]]>
+
+<!ENTITY % footnoteref.module "INCLUDE">
+<![%footnoteref.module;[
+<!ENTITY % local.footnoteref.attrib "">
+<!ENTITY % footnoteref.role.attrib "%role.attrib;">
+
+<!ENTITY % footnoteref.element "INCLUDE">
+<![%footnoteref.element;[
+<!--doc:A cross reference to a footnote (a footnote mark).-->
+<!ELEMENT footnoteref %ho; EMPTY>
+<!--end of footnoteref.element-->]]>
+
+<!-- to footnote content supplied elsewhere -->
+
+
+<!ENTITY % footnoteref.attlist "INCLUDE">
+<![%footnoteref.attlist;[
+<!ATTLIST footnoteref
+ %linkendreq.attrib; %label.attrib;
+ %common.attrib;
+ %footnoteref.role.attrib;
+ %local.footnoteref.attrib;
+>
+<!--end of footnoteref.attlist-->]]>
+<!--end of footnoteref.module-->]]>
+
+<!ENTITY % xref.module "INCLUDE">
+<![%xref.module;[
+<!ENTITY % local.xref.attrib "">
+<!ENTITY % xref.role.attrib "%role.attrib;">
+
+<!ENTITY % xref.element "INCLUDE">
+<![%xref.element;[
+<!--doc:A cross reference to another part of the document.-->
+<!ELEMENT xref %ho; EMPTY>
+<!--end of xref.element-->]]>
+
+<!-- Endterm: ID of element containing text that is to be
+ fetched from elsewhere in the document to appear as
+ the content of this element -->
+<!-- to linked-to object -->
+
+
+<!ENTITY % xref.attlist "INCLUDE">
+<![%xref.attlist;[
+<!ATTLIST xref
+ endterm IDREF #IMPLIED
+ xrefstyle CDATA #IMPLIED
+ %common.attrib;
+ %linkendreq.attrib;
+ %xref.role.attrib;
+ %local.xref.attrib;
+>
+<!--end of xref.attlist-->]]>
+<!--end of xref.module-->]]>
+
+<!ENTITY % biblioref.module "INCLUDE">
+<![%biblioref.module;[
+<!ENTITY % local.biblioref.attrib "">
+<!ENTITY % biblioref.role.attrib "%role.attrib;">
+
+<!ENTITY % biblioref.element "INCLUDE">
+<![%biblioref.element;[
+<!--doc:A cross reference to a bibliographic entry.-->
+<!ELEMENT biblioref %ho; EMPTY>
+<!--end of biblioref.element-->]]>
+
+<!ENTITY % biblioref.attlist "INCLUDE">
+<![%biblioref.attlist;[
+<!ATTLIST biblioref
+ endterm IDREF #IMPLIED
+ xrefstyle CDATA #IMPLIED
+ units CDATA #IMPLIED
+ begin CDATA #IMPLIED
+ end CDATA #IMPLIED
+ %common.attrib;
+ %linkendreq.attrib;
+ %biblioref.role.attrib;
+ %local.biblioref.attrib;
+>
+<!--end of biblioref.attlist-->]]>
+<!--end of biblioref.module-->]]>
+
+<!-- Ubiquitous elements .................................................. -->
+
+<!ENTITY % anchor.module "INCLUDE">
+<![%anchor.module;[
+<!ENTITY % local.anchor.attrib "">
+<!ENTITY % anchor.role.attrib "%role.attrib;">
+
+<!ENTITY % anchor.element "INCLUDE">
+<![%anchor.element;[
+<!--doc:A spot in the document.-->
+<!ELEMENT anchor %ho; EMPTY>
+<!--end of anchor.element-->]]>
+
+<!-- required -->
+<!-- replaces Lang -->
+
+
+<!ENTITY % anchor.attlist "INCLUDE">
+<![%anchor.attlist;[
+<!ATTLIST anchor
+ %idreq.attrib; %pagenum.attrib; %remap.attrib;
+ %xreflabel.attrib;
+ %revisionflag.attrib;
+ %effectivity.attrib;
+ %anchor.role.attrib;
+ %local.anchor.attrib;
+>
+<!--end of anchor.attlist-->]]>
+<!--end of anchor.module-->]]>
+
+<!ENTITY % beginpage.module "INCLUDE">
+<![%beginpage.module;[
+<!ENTITY % local.beginpage.attrib "">
+<!ENTITY % beginpage.role.attrib "%role.attrib;">
+
+<!ENTITY % beginpage.element "INCLUDE">
+<![%beginpage.element;[
+<!--doc:The location of a page break in a print version of the document.-->
+<!ELEMENT beginpage %ho; EMPTY>
+<!--end of beginpage.element-->]]>
+
+<!-- PageNum: Number of page that begins at this point -->
+
+
+<!ENTITY % beginpage.attlist "INCLUDE">
+<![%beginpage.attlist;[
+<!ATTLIST beginpage
+ %pagenum.attrib;
+ %common.attrib;
+ %beginpage.role.attrib;
+ %local.beginpage.attrib;
+>
+<!--end of beginpage.attlist-->]]>
+<!--end of beginpage.module-->]]>
+
+<!-- IndexTerms appear in the text flow for generating or linking an
+ index. -->
+
+<!ENTITY % indexterm.content.module "INCLUDE">
+<![%indexterm.content.module;[
+<!ENTITY % indexterm.module "INCLUDE">
+<![%indexterm.module;[
+<!ENTITY % local.indexterm.attrib "">
+<!ENTITY % indexterm.role.attrib "%role.attrib;">
+
+<!ENTITY % indexterm.element "INCLUDE">
+<![%indexterm.element;[
+<!--doc:A wrapper for terms to be indexed.-->
+<!ELEMENT indexterm %ho; (primary?, ((secondary, ((tertiary, (see|seealso+)?)
+ | see | seealso+)?) | see | seealso+)?)
+ %ubiq.exclusion;>
+<!--end of indexterm.element-->]]>
+
+<!-- Scope: Indicates which generated indices the IndexTerm
+ should appear in: Global (whole document set), Local (this
+ document only), or All (both) -->
+<!-- Significance: Whether this IndexTerm is the most pertinent
+ of its series (Preferred) or not (Normal, the default) -->
+<!-- Class: Indicates type of IndexTerm; default is Singular,
+ or EndOfRange if StartRef is supplied; StartOfRange value
+ must be supplied explicitly on starts of ranges -->
+<!-- StartRef: ID of the IndexTerm that starts the indexing
+ range ended by this IndexTerm -->
+<!-- Zone: IDs of the elements to which the IndexTerm applies,
+ and indicates that the IndexTerm applies to those entire
+ elements rather than the point at which the IndexTerm
+ occurs -->
+
+
+<!ENTITY % indexterm.attlist "INCLUDE">
+<![%indexterm.attlist;[
+<!ATTLIST indexterm
+ %pagenum.attrib;
+ scope (all
+ |global
+ |local) #IMPLIED
+ significance (preferred
+ |normal) "normal"
+ class (singular
+ |startofrange
+ |endofrange) #IMPLIED
+ startref IDREF #IMPLIED
+ zone IDREFS #IMPLIED
+ type CDATA #IMPLIED
+ %common.attrib;
+ %indexterm.role.attrib;
+ %local.indexterm.attrib;
+>
+<!--end of indexterm.attlist-->]]>
+<!--end of indexterm.module-->]]>
+
+<!ENTITY % primsecter.module "INCLUDE">
+<![%primsecter.module;[
+<!ENTITY % local.primsecter.attrib "">
+<!ENTITY % primsecter.role.attrib "%role.attrib;">
+
+
+<!ENTITY % primary.element "INCLUDE">
+<![%primary.element;[
+<!--doc:The primary word or phrase under which an index term should be sorted.-->
+<!ELEMENT primary %ho; (%ndxterm.char.mix;)*>
+<!--end of primary.element-->]]>
+<!-- SortAs: Alternate sort string for index sorting, e.g.,
+ "fourteen" for an element containing "14" -->
+
+<!ENTITY % primary.attlist "INCLUDE">
+<![%primary.attlist;[
+<!ATTLIST primary
+ sortas CDATA #IMPLIED
+ %common.attrib;
+ %primsecter.role.attrib;
+ %local.primsecter.attrib;
+>
+<!--end of primary.attlist-->]]>
+
+
+<!ENTITY % secondary.element "INCLUDE">
+<![%secondary.element;[
+<!--doc:A secondary word or phrase in an index term.-->
+<!ELEMENT secondary %ho; (%ndxterm.char.mix;)*>
+<!--end of secondary.element-->]]>
+<!-- SortAs: Alternate sort string for index sorting, e.g.,
+ "fourteen" for an element containing "14" -->
+
+<!ENTITY % secondary.attlist "INCLUDE">
+<![%secondary.attlist;[
+<!ATTLIST secondary
+ sortas CDATA #IMPLIED
+ %common.attrib;
+ %primsecter.role.attrib;
+ %local.primsecter.attrib;
+>
+<!--end of secondary.attlist-->]]>
+
+
+<!ENTITY % tertiary.element "INCLUDE">
+<![%tertiary.element;[
+<!--doc:A tertiary word or phrase in an index term.-->
+<!ELEMENT tertiary %ho; (%ndxterm.char.mix;)*>
+<!--end of tertiary.element-->]]>
+<!-- SortAs: Alternate sort string for index sorting, e.g.,
+ "fourteen" for an element containing "14" -->
+
+<!ENTITY % tertiary.attlist "INCLUDE">
+<![%tertiary.attlist;[
+<!ATTLIST tertiary
+ sortas CDATA #IMPLIED
+ %common.attrib;
+ %primsecter.role.attrib;
+ %local.primsecter.attrib;
+>
+<!--end of tertiary.attlist-->]]>
+
+<!--end of primsecter.module-->]]>
+
+<!ENTITY % seeseealso.module "INCLUDE">
+<![%seeseealso.module;[
+<!ENTITY % local.seeseealso.attrib "">
+<!ENTITY % seeseealso.role.attrib "%role.attrib;">
+
+<!ENTITY % see.element "INCLUDE">
+<![%see.element;[
+<!--doc:Part of an index term directing the reader instead to another entry in the index.-->
+<!ELEMENT see %ho; (%ndxterm.char.mix;)*>
+<!--end of see.element-->]]>
+
+<!ENTITY % see.attlist "INCLUDE">
+<![%see.attlist;[
+<!ATTLIST see
+ %common.attrib;
+ %seeseealso.role.attrib;
+ %local.seeseealso.attrib;
+>
+<!--end of see.attlist-->]]>
+
+<!ENTITY % seealso.element "INCLUDE">
+<![%seealso.element;[
+<!--doc:Part of an index term directing the reader also to another entry in the index.-->
+<!ELEMENT seealso %ho; (%ndxterm.char.mix;)*>
+<!--end of seealso.element-->]]>
+
+<!ENTITY % seealso.attlist "INCLUDE">
+<![%seealso.attlist;[
+<!ATTLIST seealso
+ %common.attrib;
+ %seeseealso.role.attrib;
+ %local.seeseealso.attrib;
+>
+<!--end of seealso.attlist-->]]>
+<!--end of seeseealso.module-->]]>
+<!--end of indexterm.content.module-->]]>
+
+<!-- End of DocBook XML information pool module V4.5 ...................... -->
+<!-- ...................................................................... -->
diff --git a/Utilities/xml/docbook-4.5/docbook.cat b/Utilities/xml/docbook-4.5/docbook.cat
new file mode 100644
index 000000000..25ac4dff0
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/docbook.cat
@@ -0,0 +1,113 @@
+ -- ...................................................................... --
+ -- Catalog data for DocBook XML V4.5 .................................... --
+ -- File docbook.cat ..................................................... --
+
+ -- Please direct all questions, bug reports, or suggestions for
+ changes to the docbook@lists.oasis-open.org mailing list. For more
+ information, see http://www.oasis-open.org/.
+ --
+
+ -- This is the catalog data file for DocBook XML V4.5. It is provided as
+ a convenience in building your own catalog files. You need not use
+ the filenames listed here, and need not use the filename method of
+ identifying storage objects at all. See the documentation for
+ detailed information on the files associated with the DocBook DTD.
+ See SGML Open Technical Resolution 9401 for detailed information
+ on supplying and using catalog data.
+ --
+
+ -- ...................................................................... --
+ -- DocBook driver file .................................................. --
+
+PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+ "docbookx.dtd"
+
+ -- ...................................................................... --
+ -- DocBook modules ...................................................... --
+
+PUBLIC "-//OASIS//DTD DocBook CALS Table Model V4.5//EN"
+ "calstblx.dtd"
+
+PUBLIC "-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN"
+ "htmltblx.mod"
+
+PUBLIC "-//OASIS//DTD XML Exchange Table Model 19990315//EN"
+ "soextblx.dtd"
+
+PUBLIC "-//OASIS//ELEMENTS DocBook Information Pool V4.5//EN"
+ "dbpoolx.mod"
+
+PUBLIC "-//OASIS//ELEMENTS DocBook Document Hierarchy V4.5//EN"
+ "dbhierx.mod"
+
+PUBLIC "-//OASIS//ENTITIES DocBook Additional General Entities V4.5//EN"
+ "dbgenent.mod"
+
+PUBLIC "-//OASIS//ENTITIES DocBook Notations V4.5//EN"
+ "dbnotnx.mod"
+
+PUBLIC "-//OASIS//ENTITIES DocBook Character Entities V4.5//EN"
+ "dbcentx.mod"
+
+ -- ...................................................................... --
+ -- ISO entity sets ...................................................... --
+
+PUBLIC "ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML"
+ "ent/isodia.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"
+ "ent/isonum.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Publishing//EN//XML"
+ "ent/isopub.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES General Technical//EN//XML"
+ "ent/isotech.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
+ "ent/isolat1.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Latin 2//EN//XML"
+ "ent/isolat2.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Greek Letters//EN//XML"
+ "ent/isogrk1.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Monotoniko Greek//EN//XML"
+ "ent/isogrk2.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Greek Symbols//EN//XML"
+ "ent/isogrk3.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN//XML"
+ "ent/isogrk4.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN//XML"
+ "ent/isoamsa.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN//XML"
+ "ent/isoamsb.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN//XML"
+ "ent/isoamsc.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN//XML"
+ "ent/isoamsn.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN//XML"
+ "ent/isoamso.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN//XML"
+ "ent/isoamsr.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Box and Line Drawing//EN//XML"
+ "ent/isobox.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Russian Cyrillic//EN//XML"
+ "ent/isocyr1.ent"
+
+PUBLIC "ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN//XML"
+ "ent/isocyr2.ent"
+
+ -- End of catalog data for DocBook XML V4.5 ............................. --
+ -- ...................................................................... --
diff --git a/Utilities/xml/docbook-4.5/docbookx.dtd b/Utilities/xml/docbook-4.5/docbookx.dtd
new file mode 100644
index 000000000..8b43c59b6
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/docbookx.dtd
@@ -0,0 +1,170 @@
+<!-- ...................................................................... -->
+<!-- DocBook XML DTD V4.5 ................................................. -->
+<!-- File docbookx.dtd .................................................... -->
+
+<!-- Copyright 1992-2006 HaL Computer Systems, Inc.,
+ O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software
+ Corporation, Norman Walsh, Sun Microsystems, Inc., and the
+ Organization for the Advancement of Structured Information
+ Standards (OASIS).
+
+ See also http://docbook.org/specs/
+
+ $Id: docbookx.dtd 6340 2006-10-03 13:23:24Z nwalsh $
+
+ Permission to use, copy, modify and distribute the DocBook XML DTD
+ and its accompanying documentation for any purpose and without fee
+ is hereby granted in perpetuity, provided that the above copyright
+ notice and this paragraph appear in all copies. The copyright
+ holders make no representation about the suitability of the DTD for
+ any purpose. It is provided "as is" without expressed or implied
+ warranty.
+
+ If you modify the DocBook DTD in any way, except for declaring and
+ referencing additional sets of general entities and declaring
+ additional notations, label your DTD as a variant of DocBook. See
+ the maintenance documentation for more information.
+
+ Please direct all questions, bug reports, or suggestions for
+ changes to the docbook@lists.oasis-open.org mailing list. For more
+ information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This is the driver file for V4.5 of the DocBook DTD.
+ Please use the following formal public identifier to identify it:
+
+ "-//OASIS//DTD DocBook XML V4.5//EN"
+
+ For example, if your document's top-level element is Book, and
+ you are using DocBook directly, use the FPI in the DOCTYPE
+ declaration:
+
+ <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
+ [...]>
+
+ Or, if you have a higher-level driver file that customizes DocBook,
+ use the FPI in the parameter entity declaration:
+
+ <!ENTITY % DocBookDTD PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+ %DocBookDTD;
+
+ See the documentation for detailed information on the parameter
+ entity and module scheme used in DocBook, customizing DocBook and
+ planning for interchange, and changes made since the last release
+ of DocBook.
+-->
+
+<!-- ...................................................................... -->
+<!-- Enable SGML features ................................................. -->
+
+<!ENTITY % sgml.features "IGNORE">
+<![%sgml.features;[
+<!ENTITY % xml.features "IGNORE">
+]]>
+<!ENTITY % xml.features "INCLUDE">
+
+<![%sgml.features;[
+<![%xml.features;[
+
+<!-- ERROR: Exactly one of xml.features and sgml.features must be turned on! -->
+<!ENTITY % dbnotn SYSTEM "http://www.oasis-open.org/docbook/xml/configerror.txt">
+<!ENTITY % dbcent SYSTEM "http://www.oasis-open.org/docbook/xml/configerror.txt">
+<!ENTITY % dbpool SYSTEM "http://www.oasis-open.org/docbook/xml/configerror.txt">
+<!ENTITY % dbhier SYSTEM "http://www.oasis-open.org/docbook/xml/configerror.txt">
+<!ENTITY % dbgenent SYSTEM "http://www.oasis-open.org/docbook/xml/configerror.txt">
+
+]]>
+]]>
+
+<![%sgml.features;[
+<!ENTITY % ho "- O">
+<!ENTITY % hh "- -">
+]]>
+
+<![%xml.features;[
+<!ENTITY % ho "">
+<!ENTITY % hh "">
+]]>
+
+<!-- ...................................................................... -->
+<!-- Notation declarations ................................................ -->
+
+<!ENTITY % dbnotn.module "INCLUDE">
+<![%dbnotn.module;[
+<!ENTITY % dbnotn PUBLIC
+"-//OASIS//ENTITIES DocBook Notations V4.5//EN"
+"dbnotnx.mod">
+%dbnotn;
+]]>
+
+<!-- ...................................................................... -->
+<!-- ISO character entity sets ............................................ -->
+
+<!ENTITY % dbcent.module "INCLUDE">
+<![%dbcent.module;[
+
+<!ENTITY % dbcent.euro "INCLUDE">
+<![%dbcent.euro;[
+<![%sgml.features;[
+<!ENTITY euro SDATA "[euro ]"><!-- euro sign -->
+]]>
+<![%xml.features;[
+<!ENTITY euro "&#x20AC;"><!-- euro sign, U+20AC NEW -->
+]]>
+]]>
+
+<!ENTITY % dbcent PUBLIC
+"-//OASIS//ENTITIES DocBook Character Entities V4.5//EN"
+"dbcentx.mod">
+%dbcent;
+]]>
+
+<!-- ...................................................................... -->
+<!-- DTD modules .......................................................... -->
+
+<!-- Information pool .............. -->
+
+<!ENTITY % dbpool.module "INCLUDE">
+<![ %dbpool.module; [
+<!ENTITY % dbpool PUBLIC
+"-//OASIS//ELEMENTS DocBook Information Pool V4.5//EN"
+"dbpoolx.mod">
+%dbpool;
+]]>
+
+<!-- Redeclaration placeholder ..... -->
+
+<!ENTITY % intermod.redecl.module "IGNORE">
+<![%intermod.redecl.module;[
+<!-- Defining rdbmods here makes some buggy XML parsers happy. -->
+<!ENTITY % rdbmods "">
+%rdbmods;
+<!--end of intermod.redecl.module-->]]>
+
+<!-- Document hierarchy ............ -->
+
+<!ENTITY % dbhier.module "INCLUDE">
+<![ %dbhier.module; [
+<!ENTITY % dbhier PUBLIC
+"-//OASIS//ELEMENTS DocBook Document Hierarchy V4.5//EN"
+"dbhierx.mod">
+%dbhier;
+]]>
+
+<!-- ...................................................................... -->
+<!-- Other general entities ............................................... -->
+
+<!ENTITY % dbgenent.module "INCLUDE">
+<![ %dbgenent.module; [
+<!ENTITY % dbgenent PUBLIC
+"-//OASIS//ENTITIES DocBook Additional General Entities V4.5//EN"
+"dbgenent.mod">
+%dbgenent;
+]]>
+
+<!-- End of DocBook XML DTD V4.5 .......................................... -->
+<!-- ...................................................................... -->
diff --git a/Utilities/xml/docbook-4.5/ent/README b/Utilities/xml/docbook-4.5/ent/README
new file mode 100644
index 000000000..c0da542a6
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/ent/README
@@ -0,0 +1,14 @@
+XML Entity Declarations for Characters
+
+The character entity sets distributed with DocBook XML are direct
+copies of the official entities located at
+
+ http://www.w3.org/2003/entities/
+
+They are distributed for historical compatibility and user convenience.
+The DocBook Technical Committee no longer attempts to maintain these
+definitions and will periodically update them from the W3C site if and
+as they are updated there.
+
+Please direct all questions or comments about the entities to the
+individuals or working groups who maintain the official sets.
diff --git a/Utilities/xml/docbook-4.5/ent/isoamsa.ent b/Utilities/xml/docbook-4.5/ent/isoamsa.ent
new file mode 100644
index 000000000..dac3e6242
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/ent/isoamsa.ent
@@ -0,0 +1,97 @@
+
+<!--
+ File isoamsa.ent produced by the XSL script entities.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 4.0.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+
+<!--
+ Version: $Id: isoamsa.ent,v 1.2 2003/12/08 15:14:43 davidc Exp $
+
+ Public identifier: ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN//XML
+ System identifier: http://www.w3.org/2003/entities/iso8879/isoamsa.ent
+
+ The public identifier should always be used verbatim.
+ The system identifier may be changed to suit local requirements.
+
+ Typical invocation:
+
+ <!ENTITY % isoamsa PUBLIC
+ "ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN//XML"
+ "http://www.w3.org/2003/entities/iso8879/isoamsa.ent"
+ >
+ %isoamsa;
+
+-->
+
+<!ENTITY cularr "&#x021B6;" ><!--ANTICLOCKWISE TOP SEMICIRCLE ARROW -->
+<!ENTITY curarr "&#x021B7;" ><!--CLOCKWISE TOP SEMICIRCLE ARROW -->
+<!ENTITY dArr "&#x021D3;" ><!--DOWNWARDS DOUBLE ARROW -->
+<!ENTITY darr2 "&#x021CA;" ><!--DOWNWARDS PAIRED ARROWS -->
+<!ENTITY dharl "&#x021C3;" ><!--DOWNWARDS HARPOON WITH BARB LEFTWARDS -->
+<!ENTITY dharr "&#x021C2;" ><!--DOWNWARDS HARPOON WITH BARB RIGHTWARDS -->
+<!ENTITY dlarr "&#x02199;" ><!--SOUTH WEST ARROW -->
+<!ENTITY drarr "&#x02198;" ><!--SOUTH EAST ARROW -->
+<!ENTITY hArr "&#x021D4;" ><!--LEFT RIGHT DOUBLE ARROW -->
+<!ENTITY harr "&#x02194;" ><!--LEFT RIGHT ARROW -->
+<!ENTITY harrw "&#x021AD;" ><!--LEFT RIGHT WAVE ARROW -->
+<!ENTITY lAarr "&#x021DA;" ><!--LEFTWARDS TRIPLE ARROW -->
+<!ENTITY Larr "&#x0219E;" ><!--LEFTWARDS TWO HEADED ARROW -->
+<!ENTITY larr2 "&#x021C7;" ><!--LEFTWARDS PAIRED ARROWS -->
+<!ENTITY larrhk "&#x021A9;" ><!--LEFTWARDS ARROW WITH HOOK -->
+<!ENTITY larrlp "&#x021AB;" ><!--LEFTWARDS ARROW WITH LOOP -->
+<!ENTITY larrtl "&#x021A2;" ><!--LEFTWARDS ARROW WITH TAIL -->
+<!ENTITY lhard "&#x021BD;" ><!--LEFTWARDS HARPOON WITH BARB DOWNWARDS -->
+<!ENTITY lharu "&#x021BC;" ><!--LEFTWARDS HARPOON WITH BARB UPWARDS -->
+<!ENTITY lrarr2 "&#x021C6;" ><!--LEFTWARDS ARROW OVER RIGHTWARDS ARROW -->
+<!ENTITY lrhar2 "&#x021CB;" ><!--LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON -->
+<!ENTITY lsh "&#x021B0;" ><!--UPWARDS ARROW WITH TIP LEFTWARDS -->
+<!ENTITY map "&#x021A6;" ><!--RIGHTWARDS ARROW FROM BAR -->
+<!ENTITY mumap "&#x022B8;" ><!--MULTIMAP -->
+<!ENTITY nearr "&#x02197;" ><!--NORTH EAST ARROW -->
+<!ENTITY nhArr "&#x021CE;" ><!--LEFT RIGHT DOUBLE ARROW WITH STROKE -->
+<!ENTITY nharr "&#x021AE;" ><!--LEFT RIGHT ARROW WITH STROKE -->
+<!ENTITY nlArr "&#x021CD;" ><!--LEFTWARDS DOUBLE ARROW WITH STROKE -->
+<!ENTITY nlarr "&#x0219A;" ><!--LEFTWARDS ARROW WITH STROKE -->
+<!ENTITY nrArr "&#x021CF;" ><!--RIGHTWARDS DOUBLE ARROW WITH STROKE -->
+<!ENTITY nrarr "&#x0219B;" ><!--RIGHTWARDS ARROW WITH STROKE -->
+<!ENTITY nwarr "&#x02196;" ><!--NORTH WEST ARROW -->
+<!ENTITY olarr "&#x021BA;" ><!--ANTICLOCKWISE OPEN CIRCLE ARROW -->
+<!ENTITY orarr "&#x021BB;" ><!--CLOCKWISE OPEN CIRCLE ARROW -->
+<!ENTITY rAarr "&#x021DB;" ><!--RIGHTWARDS TRIPLE ARROW -->
+<!ENTITY Rarr "&#x021A0;" ><!--RIGHTWARDS TWO HEADED ARROW -->
+<!ENTITY rarr2 "&#x021C9;" ><!--RIGHTWARDS PAIRED ARROWS -->
+<!ENTITY rarrhk "&#x021AA;" ><!--RIGHTWARDS ARROW WITH HOOK -->
+<!ENTITY rarrlp "&#x021AC;" ><!--RIGHTWARDS ARROW WITH LOOP -->
+<!ENTITY rarrtl "&#x021A3;" ><!--RIGHTWARDS ARROW WITH TAIL -->
+<!ENTITY rarrw "&#x0219D;" ><!--RIGHTWARDS WAVE ARROW -->
+<!ENTITY rhard "&#x021C1;" ><!--RIGHTWARDS HARPOON WITH BARB DOWNWARDS -->
+<!ENTITY rharu "&#x021C0;" ><!--RIGHTWARDS HARPOON WITH BARB UPWARDS -->
+<!ENTITY rlarr2 "&#x021C4;" ><!--RIGHTWARDS ARROW OVER LEFTWARDS ARROW -->
+<!ENTITY rlhar2 "&#x021CC;" ><!--RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON -->
+<!ENTITY rsh "&#x021B1;" ><!--UPWARDS ARROW WITH TIP RIGHTWARDS -->
+<!ENTITY uArr "&#x021D1;" ><!--UPWARDS DOUBLE ARROW -->
+<!ENTITY uarr2 "&#x021C8;" ><!--UPWARDS PAIRED ARROWS -->
+<!ENTITY uharl "&#x021BF;" ><!--UPWARDS HARPOON WITH BARB LEFTWARDS -->
+<!ENTITY uharr "&#x021BE;" ><!--UPWARDS HARPOON WITH BARB RIGHTWARDS -->
+<!ENTITY vArr "&#x021D5;" ><!--UP DOWN DOUBLE ARROW -->
+<!ENTITY varr "&#x02195;" ><!--UP DOWN ARROW -->
+<!ENTITY xhArr "&#x027FA;" ><!--LONG LEFT RIGHT DOUBLE ARROW -->
+<!ENTITY xharr "&#x027F7;" ><!--LONG LEFT RIGHT ARROW -->
+<!ENTITY xlArr "&#x027F8;" ><!--LONG LEFTWARDS DOUBLE ARROW -->
+<!ENTITY xrArr "&#x027F9;" ><!--LONG RIGHTWARDS DOUBLE ARROW -->
diff --git a/Utilities/xml/docbook-4.5/ent/isoamsb.ent b/Utilities/xml/docbook-4.5/ent/isoamsb.ent
new file mode 100644
index 000000000..4065b66c4
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/ent/isoamsb.ent
@@ -0,0 +1,83 @@
+
+<!--
+ File isoamsb.ent produced by the XSL script entities.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 4.0.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+
+<!--
+ Version: $Id: isoamsb.ent,v 1.2 2003/12/08 15:14:43 davidc Exp $
+
+ Public identifier: ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN//XML
+ System identifier: http://www.w3.org/2003/entities/iso8879/isoamsb.ent
+
+ The public identifier should always be used verbatim.
+ The system identifier may be changed to suit local requirements.
+
+ Typical invocation:
+
+ <!ENTITY % isoamsb PUBLIC
+ "ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN//XML"
+ "http://www.w3.org/2003/entities/iso8879/isoamsb.ent"
+ >
+ %isoamsb;
+
+-->
+
+<!ENTITY amalg "&#x02A3F;" ><!--AMALGAMATION OR COPRODUCT -->
+<!ENTITY Barwed "&#x02306;" ><!--PERSPECTIVE -->
+<!ENTITY barwed "&#x02305;" ><!--PROJECTIVE -->
+<!ENTITY Cap "&#x022D2;" ><!--DOUBLE INTERSECTION -->
+<!ENTITY coprod "&#x02210;" ><!--N-ARY COPRODUCT -->
+<!ENTITY Cup "&#x022D3;" ><!--DOUBLE UNION -->
+<!ENTITY cuvee "&#x022CE;" ><!--CURLY LOGICAL OR -->
+<!ENTITY cuwed "&#x022CF;" ><!--CURLY LOGICAL AND -->
+<!ENTITY diam "&#x022C4;" ><!--DIAMOND OPERATOR -->
+<!ENTITY divonx "&#x022C7;" ><!--DIVISION TIMES -->
+<!ENTITY intcal "&#x022BA;" ><!--INTERCALATE -->
+<!ENTITY lthree "&#x022CB;" ><!--LEFT SEMIDIRECT PRODUCT -->
+<!ENTITY ltimes "&#x022C9;" ><!--LEFT NORMAL FACTOR SEMIDIRECT PRODUCT -->
+<!ENTITY minusb "&#x0229F;" ><!--SQUARED MINUS -->
+<!ENTITY oast "&#x0229B;" ><!--CIRCLED ASTERISK OPERATOR -->
+<!ENTITY ocir "&#x0229A;" ><!--CIRCLED RING OPERATOR -->
+<!ENTITY odash "&#x0229D;" ><!--CIRCLED DASH -->
+<!ENTITY odot "&#x02299;" ><!--CIRCLED DOT OPERATOR -->
+<!ENTITY ominus "&#x02296;" ><!--CIRCLED MINUS -->
+<!ENTITY oplus "&#x02295;" ><!--CIRCLED PLUS -->
+<!ENTITY osol "&#x02298;" ><!--CIRCLED DIVISION SLASH -->
+<!ENTITY otimes "&#x02297;" ><!--CIRCLED TIMES -->
+<!ENTITY plusb "&#x0229E;" ><!--SQUARED PLUS -->
+<!ENTITY plusdo "&#x02214;" ><!--DOT PLUS -->
+<!ENTITY prod "&#x0220F;" ><!--N-ARY PRODUCT -->
+<!ENTITY rthree "&#x022CC;" ><!--RIGHT SEMIDIRECT PRODUCT -->
+<!ENTITY rtimes "&#x022CA;" ><!--RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT -->
+<!ENTITY sdot "&#x022C5;" ><!--DOT OPERATOR -->
+<!ENTITY sdotb "&#x022A1;" ><!--SQUARED DOT OPERATOR -->
+<!ENTITY setmn "&#x02216;" ><!--SET MINUS -->
+<!ENTITY sqcap "&#x02293;" ><!--SQUARE CAP -->
+<!ENTITY sqcup "&#x02294;" ><!--SQUARE CUP -->
+<!ENTITY ssetmn "&#x02216;" ><!--SET MINUS -->
+<!ENTITY sstarf "&#x022C6;" ><!--STAR OPERATOR -->
+<!ENTITY sum "&#x02211;" ><!--N-ARY SUMMATION -->
+<!ENTITY timesb "&#x022A0;" ><!--SQUARED TIMES -->
+<!ENTITY top "&#x022A4;" ><!--DOWN TACK -->
+<!ENTITY uplus "&#x0228E;" ><!--MULTISET UNION -->
+<!ENTITY wreath "&#x02240;" ><!--WREATH PRODUCT -->
+<!ENTITY xcirc "&#x025EF;" ><!--LARGE CIRCLE -->
+<!ENTITY xdtri "&#x025BD;" ><!--WHITE DOWN-POINTING TRIANGLE -->
+<!ENTITY xutri "&#x025B3;" ><!--WHITE UP-POINTING TRIANGLE -->
diff --git a/Utilities/xml/docbook-4.5/ent/isoamsc.ent b/Utilities/xml/docbook-4.5/ent/isoamsc.ent
new file mode 100644
index 000000000..2fad41752
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/ent/isoamsc.ent
@@ -0,0 +1,51 @@
+
+<!--
+ File isoamsc.ent produced by the XSL script entities.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 4.0.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+
+<!--
+ Version: $Id: isoamsc.ent,v 1.2 2003/12/08 15:14:43 davidc Exp $
+
+ Public identifier: ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN//XML
+ System identifier: http://www.w3.org/2003/entities/iso8879/isoamsc.ent
+
+ The public identifier should always be used verbatim.
+ The system identifier may be changed to suit local requirements.
+
+ Typical invocation:
+
+ <!ENTITY % isoamsc PUBLIC
+ "ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN//XML"
+ "http://www.w3.org/2003/entities/iso8879/isoamsc.ent"
+ >
+ %isoamsc;
+
+-->
+
+<!ENTITY dlcorn "&#x0231E;" ><!--BOTTOM LEFT CORNER -->
+<!ENTITY drcorn "&#x0231F;" ><!--BOTTOM RIGHT CORNER -->
+<!ENTITY lceil "&#x02308;" ><!--LEFT CEILING -->
+<!ENTITY lfloor "&#x0230A;" ><!--LEFT FLOOR -->
+<!ENTITY lpargt "&#x029A0;" ><!--SPHERICAL ANGLE OPENING LEFT -->
+<!ENTITY rceil "&#x02309;" ><!--RIGHT CEILING -->
+<!ENTITY rfloor "&#x0230B;" ><!--RIGHT FLOOR -->
+<!ENTITY rpargt "&#x02994;" ><!--RIGHT ARC GREATER-THAN BRACKET -->
+<!ENTITY ulcorn "&#x0231C;" ><!--TOP LEFT CORNER -->
+<!ENTITY urcorn "&#x0231D;" ><!--TOP RIGHT CORNER -->
diff --git a/Utilities/xml/docbook-4.5/ent/isoamsn.ent b/Utilities/xml/docbook-4.5/ent/isoamsn.ent
new file mode 100644
index 000000000..ddca8d14c
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/ent/isoamsn.ent
@@ -0,0 +1,103 @@
+
+<!--
+ File isoamsn.ent produced by the XSL script entities.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 4.0.
+
+ References to the VARIANT SELECTOR 1 character (&#x0FE00;)
+ should match the uses listed in Unicode Technical Report 25.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+
+<!--
+ Version: $Id: isoamsn.ent,v 1.2 2003/12/08 15:14:43 davidc Exp $
+
+ Public identifier: ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN//XML
+ System identifier: http://www.w3.org/2003/entities/iso8879/isoamsn.ent
+
+ The public identifier should always be used verbatim.
+ The system identifier may be changed to suit local requirements.
+
+ Typical invocation:
+
+ <!ENTITY % isoamsn PUBLIC
+ "ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN//XML"
+ "http://www.w3.org/2003/entities/iso8879/isoamsn.ent"
+ >
+ %isoamsn;
+
+-->
+
+<!ENTITY gnap "&#x02A8A;" ><!--GREATER-THAN AND NOT APPROXIMATE -->
+<!ENTITY gnE "&#x02269;" ><!--GREATER-THAN BUT NOT EQUAL TO -->
+<!ENTITY gne "&#x02A88;" ><!--GREATER-THAN AND SINGLE-LINE NOT EQUAL TO -->
+<!ENTITY gnsim "&#x022E7;" ><!--GREATER-THAN BUT NOT EQUIVALENT TO -->
+<!ENTITY gvnE "&#x02269;&#x0FE00;" ><!--GREATER-THAN BUT NOT EQUAL TO - with vertical stroke -->
+<!ENTITY lnap "&#x02A89;" ><!--LESS-THAN AND NOT APPROXIMATE -->
+<!ENTITY lnE "&#x02268;" ><!--LESS-THAN BUT NOT EQUAL TO -->
+<!ENTITY lne "&#x02A87;" ><!--LESS-THAN AND SINGLE-LINE NOT EQUAL TO -->
+<!ENTITY lnsim "&#x022E6;" ><!--LESS-THAN BUT NOT EQUIVALENT TO -->
+<!ENTITY lvnE "&#x02268;&#x0FE00;" ><!--LESS-THAN BUT NOT EQUAL TO - with vertical stroke -->
+<!ENTITY nap "&#x02249;" ><!--NOT ALMOST EQUAL TO -->
+<!ENTITY ncong "&#x02247;" ><!--NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO -->
+<!ENTITY nequiv "&#x02262;" ><!--NOT IDENTICAL TO -->
+<!ENTITY ngE "&#x02267;&#x00338;" ><!--GREATER-THAN OVER EQUAL TO with slash -->
+<!ENTITY nge "&#x02271;" ><!--NEITHER GREATER-THAN NOR EQUAL TO -->
+<!ENTITY nges "&#x02A7E;&#x00338;" ><!--GREATER-THAN OR SLANTED EQUAL TO with slash -->
+<!ENTITY ngt "&#x0226F;" ><!--NOT GREATER-THAN -->
+<!ENTITY nlE "&#x02266;&#x00338;" ><!--LESS-THAN OVER EQUAL TO with slash -->
+<!ENTITY nle "&#x02270;" ><!--NEITHER LESS-THAN NOR EQUAL TO -->
+<!ENTITY nles "&#x02A7D;&#x00338;" ><!--LESS-THAN OR SLANTED EQUAL TO with slash -->
+<!ENTITY nlt "&#x0226E;" ><!--NOT LESS-THAN -->
+<!ENTITY nltri "&#x022EA;" ><!--NOT NORMAL SUBGROUP OF -->
+<!ENTITY nltrie "&#x022EC;" ><!--NOT NORMAL SUBGROUP OF OR EQUAL TO -->
+<!ENTITY nmid "&#x02224;" ><!--DOES NOT DIVIDE -->
+<!ENTITY npar "&#x02226;" ><!--NOT PARALLEL TO -->
+<!ENTITY npr "&#x02280;" ><!--DOES NOT PRECEDE -->
+<!ENTITY npre "&#x02AAF;&#x00338;" ><!--PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash -->
+<!ENTITY nrtri "&#x022EB;" ><!--DOES NOT CONTAIN AS NORMAL SUBGROUP -->
+<!ENTITY nrtrie "&#x022ED;" ><!--DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL -->
+<!ENTITY nsc "&#x02281;" ><!--DOES NOT SUCCEED -->
+<!ENTITY nsce "&#x02AB0;&#x00338;" ><!--SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash -->
+<!ENTITY nsim "&#x02241;" ><!--NOT TILDE -->
+<!ENTITY nsime "&#x02244;" ><!--NOT ASYMPTOTICALLY EQUAL TO -->
+<!ENTITY nsmid "&#x02224;" ><!--DOES NOT DIVIDE -->
+<!ENTITY nspar "&#x02226;" ><!--NOT PARALLEL TO -->
+<!ENTITY nsub "&#x02284;" ><!--NOT A SUBSET OF -->
+<!ENTITY nsubE "&#x02AC5;&#x00338;" ><!--SUBSET OF ABOVE EQUALS SIGN with slash -->
+<!ENTITY nsube "&#x02288;" ><!--NEITHER A SUBSET OF NOR EQUAL TO -->
+<!ENTITY nsup "&#x02285;" ><!--NOT A SUPERSET OF -->
+<!ENTITY nsupE "&#x02AC6;&#x00338;" ><!--SUPERSET OF ABOVE EQUALS SIGN with slash -->
+<!ENTITY nsupe "&#x02289;" ><!--NEITHER A SUPERSET OF NOR EQUAL TO -->
+<!ENTITY nVDash "&#x022AF;" ><!--NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE -->
+<!ENTITY nVdash "&#x022AE;" ><!--DOES NOT FORCE -->
+<!ENTITY nvDash "&#x022AD;" ><!--NOT TRUE -->
+<!ENTITY nvdash "&#x022AC;" ><!--DOES NOT PROVE -->
+<!ENTITY prnap "&#x02AB9;" ><!--PRECEDES ABOVE NOT ALMOST EQUAL TO -->
+<!ENTITY prnE "&#x02AB5;" ><!--PRECEDES ABOVE NOT EQUAL TO -->
+<!ENTITY prnsim "&#x022E8;" ><!--PRECEDES BUT NOT EQUIVALENT TO -->
+<!ENTITY scnap "&#x02ABA;" ><!--SUCCEEDS ABOVE NOT ALMOST EQUAL TO -->
+<!ENTITY scnE "&#x02AB6;" ><!--SUCCEEDS ABOVE NOT EQUAL TO -->
+<!ENTITY scnsim "&#x022E9;" ><!--SUCCEEDS BUT NOT EQUIVALENT TO -->
+<!ENTITY subnE "&#x02ACB;" ><!--SUBSET OF ABOVE NOT EQUAL TO -->
+<!ENTITY subne "&#x0228A;" ><!--SUBSET OF WITH NOT EQUAL TO -->
+<!ENTITY supnE "&#x02ACC;" ><!--SUPERSET OF ABOVE NOT EQUAL TO -->
+<!ENTITY supne "&#x0228B;" ><!--SUPERSET OF WITH NOT EQUAL TO -->
+<!ENTITY vsubnE "&#x02ACB;&#x0FE00;" ><!--SUBSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members -->
+<!ENTITY vsubne "&#x0228A;&#x0FE00;" ><!--SUBSET OF WITH NOT EQUAL TO - variant with stroke through bottom members -->
+<!ENTITY vsupnE "&#x02ACC;&#x0FE00;" ><!--SUPERSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members -->
+<!ENTITY vsupne "&#x0228B;&#x0FE00;" ><!--SUPERSET OF WITH NOT EQUAL TO - variant with stroke through bottom members -->
diff --git a/Utilities/xml/docbook-4.5/ent/isoamso.ent b/Utilities/xml/docbook-4.5/ent/isoamso.ent
new file mode 100644
index 000000000..278e4b409
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/ent/isoamso.ent
@@ -0,0 +1,59 @@
+
+<!--
+ File isoamso.ent produced by the XSL script entities.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 4.0.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+
+<!--
+ Version: $Id: isoamso.ent,v 1.2 2003/12/08 15:14:43 davidc Exp $
+
+ Public identifier: ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN//XML
+ System identifier: http://www.w3.org/2003/entities/iso8879/isoamso.ent
+
+ The public identifier should always be used verbatim.
+ The system identifier may be changed to suit local requirements.
+
+ Typical invocation:
+
+ <!ENTITY % isoamso PUBLIC
+ "ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN//XML"
+ "http://www.w3.org/2003/entities/iso8879/isoamso.ent"
+ >
+ %isoamso;
+
+-->
+
+<!ENTITY ang "&#x02220;" ><!--ANGLE -->
+<!ENTITY angmsd "&#x02221;" ><!--MEASURED ANGLE -->
+<!ENTITY beth "&#x02136;" ><!--BET SYMBOL -->
+<!ENTITY bprime "&#x02035;" ><!--REVERSED PRIME -->
+<!ENTITY comp "&#x02201;" ><!--COMPLEMENT -->
+<!ENTITY daleth "&#x02138;" ><!--DALET SYMBOL -->
+<!ENTITY ell "&#x02113;" ><!--SCRIPT SMALL L -->
+<!ENTITY empty "&#x02205;" ><!--EMPTY SET -->
+<!ENTITY gimel "&#x02137;" ><!--GIMEL SYMBOL -->
+<!ENTITY inodot "&#x00131;" ><!--LATIN SMALL LETTER DOTLESS I -->
+<!ENTITY jnodot "&#x0006A;" ><!--LATIN SMALL LETTER J -->
+<!ENTITY nexist "&#x02204;" ><!--THERE DOES NOT EXIST -->
+<!ENTITY oS "&#x024C8;" ><!--CIRCLED LATIN CAPITAL LETTER S -->
+<!ENTITY planck "&#x0210F;" ><!--PLANCK CONSTANT OVER TWO PI -->
+<!ENTITY real "&#x0211C;" ><!--BLACK-LETTER CAPITAL R -->
+<!ENTITY sbsol "&#x0FE68;" ><!--SMALL REVERSE SOLIDUS -->
+<!ENTITY vprime "&#x02032;" ><!--PRIME -->
+<!ENTITY weierp "&#x02118;" ><!--SCRIPT CAPITAL P -->
diff --git a/Utilities/xml/docbook-4.5/ent/isoamsr.ent b/Utilities/xml/docbook-4.5/ent/isoamsr.ent
new file mode 100644
index 000000000..18e64bffd
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/ent/isoamsr.ent
@@ -0,0 +1,125 @@
+
+<!--
+ File isoamsr.ent produced by the XSL script entities.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 4.0.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+
+<!--
+ Version: $Id: isoamsr.ent,v 1.2 2003/12/08 15:14:43 davidc Exp $
+
+ Public identifier: ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN//XML
+ System identifier: http://www.w3.org/2003/entities/iso8879/isoamsr.ent
+
+ The public identifier should always be used verbatim.
+ The system identifier may be changed to suit local requirements.
+
+ Typical invocation:
+
+ <!ENTITY % isoamsr PUBLIC
+ "ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN//XML"
+ "http://www.w3.org/2003/entities/iso8879/isoamsr.ent"
+ >
+ %isoamsr;
+
+-->
+
+<!ENTITY ape "&#x0224A;" ><!--ALMOST EQUAL OR EQUAL TO -->
+<!ENTITY asymp "&#x02248;" ><!--ALMOST EQUAL TO -->
+<!ENTITY bcong "&#x0224C;" ><!--ALL EQUAL TO -->
+<!ENTITY bepsi "&#x003F6;" ><!--GREEK REVERSED LUNATE EPSILON SYMBOL -->
+<!ENTITY bowtie "&#x022C8;" ><!--BOWTIE -->
+<!ENTITY bsim "&#x0223D;" ><!--REVERSED TILDE -->
+<!ENTITY bsime "&#x022CD;" ><!--REVERSED TILDE EQUALS -->
+<!ENTITY bump "&#x0224E;" ><!--GEOMETRICALLY EQUIVALENT TO -->
+<!ENTITY bumpe "&#x0224F;" ><!--DIFFERENCE BETWEEN -->
+<!ENTITY cire "&#x02257;" ><!--RING EQUAL TO -->
+<!ENTITY colone "&#x02254;" ><!--COLON EQUALS -->
+<!ENTITY cuepr "&#x022DE;" ><!--EQUAL TO OR PRECEDES -->
+<!ENTITY cuesc "&#x022DF;" ><!--EQUAL TO OR SUCCEEDS -->
+<!ENTITY cupre "&#x0227C;" ><!--PRECEDES OR EQUAL TO -->
+<!ENTITY dashv "&#x022A3;" ><!--LEFT TACK -->
+<!ENTITY ecir "&#x02256;" ><!--RING IN EQUAL TO -->
+<!ENTITY ecolon "&#x02255;" ><!--EQUALS COLON -->
+<!ENTITY eDot "&#x02251;" ><!--GEOMETRICALLY EQUAL TO -->
+<!ENTITY efDot "&#x02252;" ><!--APPROXIMATELY EQUAL TO OR THE IMAGE OF -->
+<!ENTITY egs "&#x02A96;" ><!--SLANTED EQUAL TO OR GREATER-THAN -->
+<!ENTITY els "&#x02A95;" ><!--SLANTED EQUAL TO OR LESS-THAN -->
+<!ENTITY erDot "&#x02253;" ><!--IMAGE OF OR APPROXIMATELY EQUAL TO -->
+<!ENTITY esdot "&#x02250;" ><!--APPROACHES THE LIMIT -->
+<!ENTITY fork "&#x022D4;" ><!--PITCHFORK -->
+<!ENTITY frown "&#x02322;" ><!--FROWN -->
+<!ENTITY gap "&#x02A86;" ><!--GREATER-THAN OR APPROXIMATE -->
+<!ENTITY gE "&#x02267;" ><!--GREATER-THAN OVER EQUAL TO -->
+<!ENTITY gEl "&#x02A8C;" ><!--GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN -->
+<!ENTITY gel "&#x022DB;" ><!--GREATER-THAN EQUAL TO OR LESS-THAN -->
+<!ENTITY ges "&#x02A7E;" ><!--GREATER-THAN OR SLANTED EQUAL TO -->
+<!ENTITY Gg "&#x022D9;" ><!--VERY MUCH GREATER-THAN -->
+<!ENTITY gl "&#x02277;" ><!--GREATER-THAN OR LESS-THAN -->
+<!ENTITY gsdot "&#x022D7;" ><!--GREATER-THAN WITH DOT -->
+<!ENTITY gsim "&#x02273;" ><!--GREATER-THAN OR EQUIVALENT TO -->
+<!ENTITY Gt "&#x0226B;" ><!--MUCH GREATER-THAN -->
+<!ENTITY lap "&#x02A85;" ><!--LESS-THAN OR APPROXIMATE -->
+<!ENTITY ldot "&#x022D6;" ><!--LESS-THAN WITH DOT -->
+<!ENTITY lE "&#x02266;" ><!--LESS-THAN OVER EQUAL TO -->
+<!ENTITY lEg "&#x02A8B;" ><!--LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN -->
+<!ENTITY leg "&#x022DA;" ><!--LESS-THAN EQUAL TO OR GREATER-THAN -->
+<!ENTITY les "&#x02A7D;" ><!--LESS-THAN OR SLANTED EQUAL TO -->
+<!ENTITY lg "&#x02276;" ><!--LESS-THAN OR GREATER-THAN -->
+<!ENTITY Ll "&#x022D8;" ><!--VERY MUCH LESS-THAN -->
+<!ENTITY lsim "&#x02272;" ><!--LESS-THAN OR EQUIVALENT TO -->
+<!ENTITY Lt "&#x0226A;" ><!--MUCH LESS-THAN -->
+<!ENTITY ltrie "&#x022B4;" ><!--NORMAL SUBGROUP OF OR EQUAL TO -->
+<!ENTITY mid "&#x02223;" ><!--DIVIDES -->
+<!ENTITY models "&#x022A7;" ><!--MODELS -->
+<!ENTITY pr "&#x0227A;" ><!--PRECEDES -->
+<!ENTITY prap "&#x02AB7;" ><!--PRECEDES ABOVE ALMOST EQUAL TO -->
+<!ENTITY pre "&#x02AAF;" ><!--PRECEDES ABOVE SINGLE-LINE EQUALS SIGN -->
+<!ENTITY prsim "&#x0227E;" ><!--PRECEDES OR EQUIVALENT TO -->
+<!ENTITY rtrie "&#x022B5;" ><!--CONTAINS AS NORMAL SUBGROUP OR EQUAL TO -->
+<!ENTITY samalg "&#x02210;" ><!--N-ARY COPRODUCT -->
+<!ENTITY sc "&#x0227B;" ><!--SUCCEEDS -->
+<!ENTITY scap "&#x02AB8;" ><!--SUCCEEDS ABOVE ALMOST EQUAL TO -->
+<!ENTITY sccue "&#x0227D;" ><!--SUCCEEDS OR EQUAL TO -->
+<!ENTITY sce "&#x02AB0;" ><!--SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN -->
+<!ENTITY scsim "&#x0227F;" ><!--SUCCEEDS OR EQUIVALENT TO -->
+<!ENTITY sfrown "&#x02322;" ><!--FROWN -->
+<!ENTITY smid "&#x02223;" ><!--DIVIDES -->
+<!ENTITY smile "&#x02323;" ><!--SMILE -->
+<!ENTITY spar "&#x02225;" ><!--PARALLEL TO -->
+<!ENTITY sqsub "&#x0228F;" ><!--SQUARE IMAGE OF -->
+<!ENTITY sqsube "&#x02291;" ><!--SQUARE IMAGE OF OR EQUAL TO -->
+<!ENTITY sqsup "&#x02290;" ><!--SQUARE ORIGINAL OF -->
+<!ENTITY sqsupe "&#x02292;" ><!--SQUARE ORIGINAL OF OR EQUAL TO -->
+<!ENTITY ssmile "&#x02323;" ><!--SMILE -->
+<!ENTITY Sub "&#x022D0;" ><!--DOUBLE SUBSET -->
+<!ENTITY subE "&#x02AC5;" ><!--SUBSET OF ABOVE EQUALS SIGN -->
+<!ENTITY Sup "&#x022D1;" ><!--DOUBLE SUPERSET -->
+<!ENTITY supE "&#x02AC6;" ><!--SUPERSET OF ABOVE EQUALS SIGN -->
+<!ENTITY thkap "&#x02248;" ><!--ALMOST EQUAL TO -->
+<!ENTITY thksim "&#x0223C;" ><!--TILDE OPERATOR -->
+<!ENTITY trie "&#x0225C;" ><!--DELTA EQUAL TO -->
+<!ENTITY twixt "&#x0226C;" ><!--BETWEEN -->
+<!ENTITY Vdash "&#x022A9;" ><!--FORCES -->
+<!ENTITY vDash "&#x022A8;" ><!--TRUE -->
+<!ENTITY vdash "&#x022A2;" ><!--RIGHT TACK -->
+<!ENTITY veebar "&#x022BB;" ><!--XOR -->
+<!ENTITY vltri "&#x022B2;" ><!--NORMAL SUBGROUP OF -->
+<!ENTITY vprop "&#x0221D;" ><!--PROPORTIONAL TO -->
+<!ENTITY vrtri "&#x022B3;" ><!--CONTAINS AS NORMAL SUBGROUP -->
+<!ENTITY Vvdash "&#x022AA;" ><!--TRIPLE VERTICAL BAR RIGHT TURNSTILE -->
diff --git a/Utilities/xml/docbook-4.5/ent/isobox.ent b/Utilities/xml/docbook-4.5/ent/isobox.ent
new file mode 100644
index 000000000..9ae27d4fa
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/ent/isobox.ent
@@ -0,0 +1,81 @@
+
+<!--
+ File isobox.ent produced by the XSL script entities.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 4.0.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+
+<!--
+ Version: $Id: isobox.ent,v 1.2 2003/12/08 15:14:43 davidc Exp $
+
+ Public identifier: ISO 8879:1986//ENTITIES Box and Line Drawing//EN//XML
+ System identifier: http://www.w3.org/2003/entities/iso8879/isobox.ent
+
+ The public identifier should always be used verbatim.
+ The system identifier may be changed to suit local requirements.
+
+ Typical invocation:
+
+ <!ENTITY % isobox PUBLIC
+ "ISO 8879:1986//ENTITIES Box and Line Drawing//EN//XML"
+ "http://www.w3.org/2003/entities/iso8879/isobox.ent"
+ >
+ %isobox;
+
+-->
+
+<!ENTITY boxDL "&#x02557;" ><!--BOX DRAWINGS DOUBLE DOWN AND LEFT -->
+<!ENTITY boxDl "&#x02556;" ><!--BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE -->
+<!ENTITY boxdL "&#x02555;" ><!--BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE -->
+<!ENTITY boxdl "&#x02510;" ><!--BOX DRAWINGS LIGHT DOWN AND LEFT -->
+<!ENTITY boxDR "&#x02554;" ><!--BOX DRAWINGS DOUBLE DOWN AND RIGHT -->
+<!ENTITY boxDr "&#x02553;" ><!--BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE -->
+<!ENTITY boxdR "&#x02552;" ><!--BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE -->
+<!ENTITY boxdr "&#x0250C;" ><!--BOX DRAWINGS LIGHT DOWN AND RIGHT -->
+<!ENTITY boxH "&#x02550;" ><!--BOX DRAWINGS DOUBLE HORIZONTAL -->
+<!ENTITY boxh "&#x02500;" ><!--BOX DRAWINGS LIGHT HORIZONTAL -->
+<!ENTITY boxHD "&#x02566;" ><!--BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL -->
+<!ENTITY boxHd "&#x02564;" ><!--BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE -->
+<!ENTITY boxhD "&#x02565;" ><!--BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE -->
+<!ENTITY boxhd "&#x0252C;" ><!--BOX DRAWINGS LIGHT DOWN AND HORIZONTAL -->
+<!ENTITY boxHU "&#x02569;" ><!--BOX DRAWINGS DOUBLE UP AND HORIZONTAL -->
+<!ENTITY boxHu "&#x02567;" ><!--BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE -->
+<!ENTITY boxhU "&#x02568;" ><!--BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE -->
+<!ENTITY boxhu "&#x02534;" ><!--BOX DRAWINGS LIGHT UP AND HORIZONTAL -->
+<!ENTITY boxUL "&#x0255D;" ><!--BOX DRAWINGS DOUBLE UP AND LEFT -->
+<!ENTITY boxUl "&#x0255C;" ><!--BOX DRAWINGS UP DOUBLE AND LEFT SINGLE -->
+<!ENTITY boxuL "&#x0255B;" ><!--BOX DRAWINGS UP SINGLE AND LEFT DOUBLE -->
+<!ENTITY boxul "&#x02518;" ><!--BOX DRAWINGS LIGHT UP AND LEFT -->
+<!ENTITY boxUR "&#x0255A;" ><!--BOX DRAWINGS DOUBLE UP AND RIGHT -->
+<!ENTITY boxUr "&#x02559;" ><!--BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE -->
+<!ENTITY boxuR "&#x02558;" ><!--BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE -->
+<!ENTITY boxur "&#x02514;" ><!--BOX DRAWINGS LIGHT UP AND RIGHT -->
+<!ENTITY boxV "&#x02551;" ><!--BOX DRAWINGS DOUBLE VERTICAL -->
+<!ENTITY boxv "&#x02502;" ><!--BOX DRAWINGS LIGHT VERTICAL -->
+<!ENTITY boxVH "&#x0256C;" ><!--BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL -->
+<!ENTITY boxVh "&#x0256B;" ><!--BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE -->
+<!ENTITY boxvH "&#x0256A;" ><!--BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE -->
+<!ENTITY boxvh "&#x0253C;" ><!--BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL -->
+<!ENTITY boxVL "&#x02563;" ><!--BOX DRAWINGS DOUBLE VERTICAL AND LEFT -->
+<!ENTITY boxVl "&#x02562;" ><!--BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE -->
+<!ENTITY boxvL "&#x02561;" ><!--BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE -->
+<!ENTITY boxvl "&#x02524;" ><!--BOX DRAWINGS LIGHT VERTICAL AND LEFT -->
+<!ENTITY boxVR "&#x02560;" ><!--BOX DRAWINGS DOUBLE VERTICAL AND RIGHT -->
+<!ENTITY boxVr "&#x0255F;" ><!--BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE -->
+<!ENTITY boxvR "&#x0255E;" ><!--BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE -->
+<!ENTITY boxvr "&#x0251C;" ><!--BOX DRAWINGS LIGHT VERTICAL AND RIGHT -->
diff --git a/Utilities/xml/docbook-4.5/ent/isocyr1.ent b/Utilities/xml/docbook-4.5/ent/isocyr1.ent
new file mode 100644
index 000000000..364b6d841
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/ent/isocyr1.ent
@@ -0,0 +1,108 @@
+
+<!--
+ File isocyr1.ent produced by the XSL script entities.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 4.0.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+
+<!--
+ Version: $Id: isocyr1.ent,v 1.2 2003/12/08 15:14:43 davidc Exp $
+
+ Public identifier: ISO 8879:1986//ENTITIES Russian Cyrillic//EN//XML
+ System identifier: http://www.w3.org/2003/entities/iso8879/isocyr1.ent
+
+ The public identifier should always be used verbatim.
+ The system identifier may be changed to suit local requirements.
+
+ Typical invocation:
+
+ <!ENTITY % isocyr1 PUBLIC
+ "ISO 8879:1986//ENTITIES Russian Cyrillic//EN//XML"
+ "http://www.w3.org/2003/entities/iso8879/isocyr1.ent"
+ >
+ %isocyr1;
+
+-->
+
+<!ENTITY Acy "&#x00410;" ><!--CYRILLIC CAPITAL LETTER A -->
+<!ENTITY acy "&#x00430;" ><!--CYRILLIC SMALL LETTER A -->
+<!ENTITY Bcy "&#x00411;" ><!--CYRILLIC CAPITAL LETTER BE -->
+<!ENTITY bcy "&#x00431;" ><!--CYRILLIC SMALL LETTER BE -->
+<!ENTITY CHcy "&#x00427;" ><!--CYRILLIC CAPITAL LETTER CHE -->
+<!ENTITY chcy "&#x00447;" ><!--CYRILLIC SMALL LETTER CHE -->
+<!ENTITY Dcy "&#x00414;" ><!--CYRILLIC CAPITAL LETTER DE -->
+<!ENTITY dcy "&#x00434;" ><!--CYRILLIC SMALL LETTER DE -->
+<!ENTITY Ecy "&#x0042D;" ><!--CYRILLIC CAPITAL LETTER E -->
+<!ENTITY ecy "&#x0044D;" ><!--CYRILLIC SMALL LETTER E -->
+<!ENTITY Fcy "&#x00424;" ><!--CYRILLIC CAPITAL LETTER EF -->
+<!ENTITY fcy "&#x00444;" ><!--CYRILLIC SMALL LETTER EF -->
+<!ENTITY Gcy "&#x00413;" ><!--CYRILLIC CAPITAL LETTER GHE -->
+<!ENTITY gcy "&#x00433;" ><!--CYRILLIC SMALL LETTER GHE -->
+<!ENTITY HARDcy "&#x0042A;" ><!--CYRILLIC CAPITAL LETTER HARD SIGN -->
+<!ENTITY hardcy "&#x0044A;" ><!--CYRILLIC SMALL LETTER HARD SIGN -->
+<!ENTITY Icy "&#x00418;" ><!--CYRILLIC CAPITAL LETTER I -->
+<!ENTITY icy "&#x00438;" ><!--CYRILLIC SMALL LETTER I -->
+<!ENTITY IEcy "&#x00415;" ><!--CYRILLIC CAPITAL LETTER IE -->
+<!ENTITY iecy "&#x00435;" ><!--CYRILLIC SMALL LETTER IE -->
+<!ENTITY IOcy "&#x00401;" ><!--CYRILLIC CAPITAL LETTER IO -->
+<!ENTITY iocy "&#x00451;" ><!--CYRILLIC SMALL LETTER IO -->
+<!ENTITY Jcy "&#x00419;" ><!--CYRILLIC CAPITAL LETTER SHORT I -->
+<!ENTITY jcy "&#x00439;" ><!--CYRILLIC SMALL LETTER SHORT I -->
+<!ENTITY Kcy "&#x0041A;" ><!--CYRILLIC CAPITAL LETTER KA -->
+<!ENTITY kcy "&#x0043A;" ><!--CYRILLIC SMALL LETTER KA -->
+<!ENTITY KHcy "&#x00425;" ><!--CYRILLIC CAPITAL LETTER HA -->
+<!ENTITY khcy "&#x00445;" ><!--CYRILLIC SMALL LETTER HA -->
+<!ENTITY Lcy "&#x0041B;" ><!--CYRILLIC CAPITAL LETTER EL -->
+<!ENTITY lcy "&#x0043B;" ><!--CYRILLIC SMALL LETTER EL -->
+<!ENTITY Mcy "&#x0041C;" ><!--CYRILLIC CAPITAL LETTER EM -->
+<!ENTITY mcy "&#x0043C;" ><!--CYRILLIC SMALL LETTER EM -->
+<!ENTITY Ncy "&#x0041D;" ><!--CYRILLIC CAPITAL LETTER EN -->
+<!ENTITY ncy "&#x0043D;" ><!--CYRILLIC SMALL LETTER EN -->
+<!ENTITY numero "&#x02116;" ><!--NUMERO SIGN -->
+<!ENTITY Ocy "&#x0041E;" ><!--CYRILLIC CAPITAL LETTER O -->
+<!ENTITY ocy "&#x0043E;" ><!--CYRILLIC SMALL LETTER O -->
+<!ENTITY Pcy "&#x0041F;" ><!--CYRILLIC CAPITAL LETTER PE -->
+<!ENTITY pcy "&#x0043F;" ><!--CYRILLIC SMALL LETTER PE -->
+<!ENTITY Rcy "&#x00420;" ><!--CYRILLIC CAPITAL LETTER ER -->
+<!ENTITY rcy "&#x00440;" ><!--CYRILLIC SMALL LETTER ER -->
+<!ENTITY Scy "&#x00421;" ><!--CYRILLIC CAPITAL LETTER ES -->
+<!ENTITY scy "&#x00441;" ><!--CYRILLIC SMALL LETTER ES -->
+<!ENTITY SHCHcy "&#x00429;" ><!--CYRILLIC CAPITAL LETTER SHCHA -->
+<!ENTITY shchcy "&#x00449;" ><!--CYRILLIC SMALL LETTER SHCHA -->
+<!ENTITY SHcy "&#x00428;" ><!--CYRILLIC CAPITAL LETTER SHA -->
+<!ENTITY shcy "&#x00448;" ><!--CYRILLIC SMALL LETTER SHA -->
+<!ENTITY SOFTcy "&#x0042C;" ><!--CYRILLIC CAPITAL LETTER SOFT SIGN -->
+<!ENTITY softcy "&#x0044C;" ><!--CYRILLIC SMALL LETTER SOFT SIGN -->
+<!ENTITY Tcy "&#x00422;" ><!--CYRILLIC CAPITAL LETTER TE -->
+<!ENTITY tcy "&#x00442;" ><!--CYRILLIC SMALL LETTER TE -->
+<!ENTITY TScy "&#x00426;" ><!--CYRILLIC CAPITAL LETTER TSE -->
+<!ENTITY tscy "&#x00446;" ><!--CYRILLIC SMALL LETTER TSE -->
+<!ENTITY Ucy "&#x00423;" ><!--CYRILLIC CAPITAL LETTER U -->
+<!ENTITY ucy "&#x00443;" ><!--CYRILLIC SMALL LETTER U -->
+<!ENTITY Vcy "&#x00412;" ><!--CYRILLIC CAPITAL LETTER VE -->
+<!ENTITY vcy "&#x00432;" ><!--CYRILLIC SMALL LETTER VE -->
+<!ENTITY YAcy "&#x0042F;" ><!--CYRILLIC CAPITAL LETTER YA -->
+<!ENTITY yacy "&#x0044F;" ><!--CYRILLIC SMALL LETTER YA -->
+<!ENTITY Ycy "&#x0042B;" ><!--CYRILLIC CAPITAL LETTER YERU -->
+<!ENTITY ycy "&#x0044B;" ><!--CYRILLIC SMALL LETTER YERU -->
+<!ENTITY YUcy "&#x0042E;" ><!--CYRILLIC CAPITAL LETTER YU -->
+<!ENTITY yucy "&#x0044E;" ><!--CYRILLIC SMALL LETTER YU -->
+<!ENTITY Zcy "&#x00417;" ><!--CYRILLIC CAPITAL LETTER ZE -->
+<!ENTITY zcy "&#x00437;" ><!--CYRILLIC SMALL LETTER ZE -->
+<!ENTITY ZHcy "&#x00416;" ><!--CYRILLIC CAPITAL LETTER ZHE -->
+<!ENTITY zhcy "&#x00436;" ><!--CYRILLIC SMALL LETTER ZHE -->
diff --git a/Utilities/xml/docbook-4.5/ent/isocyr2.ent b/Utilities/xml/docbook-4.5/ent/isocyr2.ent
new file mode 100644
index 000000000..6432d74c4
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/ent/isocyr2.ent
@@ -0,0 +1,67 @@
+
+<!--
+ File isocyr2.ent produced by the XSL script entities.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 4.0.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+
+<!--
+ Version: $Id: isocyr2.ent,v 1.2 2003/12/08 15:14:43 davidc Exp $
+
+ Public identifier: ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN//XML
+ System identifier: http://www.w3.org/2003/entities/iso8879/isocyr2.ent
+
+ The public identifier should always be used verbatim.
+ The system identifier may be changed to suit local requirements.
+
+ Typical invocation:
+
+ <!ENTITY % isocyr2 PUBLIC
+ "ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN//XML"
+ "http://www.w3.org/2003/entities/iso8879/isocyr2.ent"
+ >
+ %isocyr2;
+
+-->
+
+<!ENTITY DJcy "&#x00402;" ><!--CYRILLIC CAPITAL LETTER DJE -->
+<!ENTITY djcy "&#x00452;" ><!--CYRILLIC SMALL LETTER DJE -->
+<!ENTITY DScy "&#x00405;" ><!--CYRILLIC CAPITAL LETTER DZE -->
+<!ENTITY dscy "&#x00455;" ><!--CYRILLIC SMALL LETTER DZE -->
+<!ENTITY DZcy "&#x0040F;" ><!--CYRILLIC CAPITAL LETTER DZHE -->
+<!ENTITY dzcy "&#x0045F;" ><!--CYRILLIC SMALL LETTER DZHE -->
+<!ENTITY GJcy "&#x00403;" ><!--CYRILLIC CAPITAL LETTER GJE -->
+<!ENTITY gjcy "&#x00453;" ><!--CYRILLIC SMALL LETTER GJE -->
+<!ENTITY Iukcy "&#x00406;" ><!--CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I -->
+<!ENTITY iukcy "&#x00456;" ><!--CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I -->
+<!ENTITY Jsercy "&#x00408;" ><!--CYRILLIC CAPITAL LETTER JE -->
+<!ENTITY jsercy "&#x00458;" ><!--CYRILLIC SMALL LETTER JE -->
+<!ENTITY Jukcy "&#x00404;" ><!--CYRILLIC CAPITAL LETTER UKRAINIAN IE -->
+<!ENTITY jukcy "&#x00454;" ><!--CYRILLIC SMALL LETTER UKRAINIAN IE -->
+<!ENTITY KJcy "&#x0040C;" ><!--CYRILLIC CAPITAL LETTER KJE -->
+<!ENTITY kjcy "&#x0045C;" ><!--CYRILLIC SMALL LETTER KJE -->
+<!ENTITY LJcy "&#x00409;" ><!--CYRILLIC CAPITAL LETTER LJE -->
+<!ENTITY ljcy "&#x00459;" ><!--CYRILLIC SMALL LETTER LJE -->
+<!ENTITY NJcy "&#x0040A;" ><!--CYRILLIC CAPITAL LETTER NJE -->
+<!ENTITY njcy "&#x0045A;" ><!--CYRILLIC SMALL LETTER NJE -->
+<!ENTITY TSHcy "&#x0040B;" ><!--CYRILLIC CAPITAL LETTER TSHE -->
+<!ENTITY tshcy "&#x0045B;" ><!--CYRILLIC SMALL LETTER TSHE -->
+<!ENTITY Ubrcy "&#x0040E;" ><!--CYRILLIC CAPITAL LETTER SHORT U -->
+<!ENTITY ubrcy "&#x0045E;" ><!--CYRILLIC SMALL LETTER SHORT U -->
+<!ENTITY YIcy "&#x00407;" ><!--CYRILLIC CAPITAL LETTER YI -->
+<!ENTITY yicy "&#x00457;" ><!--CYRILLIC SMALL LETTER YI -->
diff --git a/Utilities/xml/docbook-4.5/ent/isodia.ent b/Utilities/xml/docbook-4.5/ent/isodia.ent
new file mode 100644
index 000000000..b49c30947
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/ent/isodia.ent
@@ -0,0 +1,55 @@
+
+<!--
+ File isodia.ent produced by the XSL script entities.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 4.0.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+
+<!--
+ Version: $Id: isodia.ent,v 1.2 2003/12/08 15:14:43 davidc Exp $
+
+ Public identifier: ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML
+ System identifier: http://www.w3.org/2003/entities/iso8879/isodia.ent
+
+ The public identifier should always be used verbatim.
+ The system identifier may be changed to suit local requirements.
+
+ Typical invocation:
+
+ <!ENTITY % isodia PUBLIC
+ "ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML"
+ "http://www.w3.org/2003/entities/iso8879/isodia.ent"
+ >
+ %isodia;
+
+-->
+
+<!ENTITY acute "&#x000B4;" ><!--ACUTE ACCENT -->
+<!ENTITY breve "&#x002D8;" ><!--BREVE -->
+<!ENTITY caron "&#x002C7;" ><!--CARON -->
+<!ENTITY cedil "&#x000B8;" ><!--CEDILLA -->
+<!ENTITY circ "&#x002C6;" ><!--MODIFIER LETTER CIRCUMFLEX ACCENT -->
+<!ENTITY dblac "&#x002DD;" ><!--DOUBLE ACUTE ACCENT -->
+<!ENTITY die "&#x000A8;" ><!--DIAERESIS -->
+<!ENTITY dot "&#x002D9;" ><!--DOT ABOVE -->
+<!ENTITY grave "&#x00060;" ><!--GRAVE ACCENT -->
+<!ENTITY macr "&#x000AF;" ><!--MACRON -->
+<!ENTITY ogon "&#x002DB;" ><!--OGONEK -->
+<!ENTITY ring "&#x002DA;" ><!--RING ABOVE -->
+<!ENTITY tilde "&#x002DC;" ><!--SMALL TILDE -->
+<!ENTITY uml "&#x000A8;" ><!--DIAERESIS -->
diff --git a/Utilities/xml/docbook-4.5/ent/isogrk1.ent b/Utilities/xml/docbook-4.5/ent/isogrk1.ent
new file mode 100644
index 000000000..7826f8109
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/ent/isogrk1.ent
@@ -0,0 +1,90 @@
+
+<!--
+ File isogrk1.ent produced by the XSL script entities.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 4.0.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+
+<!--
+ Version: $Id: isogrk1.ent,v 1.2 2003/12/08 15:14:43 davidc Exp $
+
+ Public identifier: ISO 8879:1986//ENTITIES Greek Letters//EN//XML
+ System identifier: http://www.w3.org/2003/entities/iso8879/isogrk1.ent
+
+ The public identifier should always be used verbatim.
+ The system identifier may be changed to suit local requirements.
+
+ Typical invocation:
+
+ <!ENTITY % isogrk1 PUBLIC
+ "ISO 8879:1986//ENTITIES Greek Letters//EN//XML"
+ "http://www.w3.org/2003/entities/iso8879/isogrk1.ent"
+ >
+ %isogrk1;
+
+-->
+
+<!ENTITY Agr "&#x00391;" ><!--GREEK CAPITAL LETTER ALPHA -->
+<!ENTITY agr "&#x003B1;" ><!--GREEK SMALL LETTER ALPHA -->
+<!ENTITY Bgr "&#x00392;" ><!--GREEK CAPITAL LETTER BETA -->
+<!ENTITY bgr "&#x003B2;" ><!--GREEK SMALL LETTER BETA -->
+<!ENTITY Dgr "&#x00394;" ><!--GREEK CAPITAL LETTER DELTA -->
+<!ENTITY dgr "&#x003B4;" ><!--GREEK SMALL LETTER DELTA -->
+<!ENTITY EEgr "&#x00397;" ><!--GREEK CAPITAL LETTER ETA -->
+<!ENTITY eegr "&#x003B7;" ><!--GREEK SMALL LETTER ETA -->
+<!ENTITY Egr "&#x00395;" ><!--GREEK CAPITAL LETTER EPSILON -->
+<!ENTITY egr "&#x003B5;" ><!--GREEK SMALL LETTER EPSILON -->
+<!ENTITY Ggr "&#x00393;" ><!--GREEK CAPITAL LETTER GAMMA -->
+<!ENTITY ggr "&#x003B3;" ><!--GREEK SMALL LETTER GAMMA -->
+<!ENTITY Igr "&#x00399;" ><!--GREEK CAPITAL LETTER IOTA -->
+<!ENTITY igr "&#x003B9;" ><!--GREEK SMALL LETTER IOTA -->
+<!ENTITY Kgr "&#x0039A;" ><!--GREEK CAPITAL LETTER KAPPA -->
+<!ENTITY kgr "&#x003BA;" ><!--GREEK SMALL LETTER KAPPA -->
+<!ENTITY KHgr "&#x003A7;" ><!--GREEK CAPITAL LETTER CHI -->
+<!ENTITY khgr "&#x003C7;" ><!--GREEK SMALL LETTER CHI -->
+<!ENTITY Lgr "&#x0039B;" ><!--GREEK CAPITAL LETTER LAMDA -->
+<!ENTITY lgr "&#x003BB;" ><!--GREEK SMALL LETTER LAMDA -->
+<!ENTITY Mgr "&#x0039C;" ><!--GREEK CAPITAL LETTER MU -->
+<!ENTITY mgr "&#x003BC;" ><!--GREEK SMALL LETTER MU -->
+<!ENTITY Ngr "&#x0039D;" ><!--GREEK CAPITAL LETTER NU -->
+<!ENTITY ngr "&#x003BD;" ><!--GREEK SMALL LETTER NU -->
+<!ENTITY Ogr "&#x0039F;" ><!--GREEK CAPITAL LETTER OMICRON -->
+<!ENTITY ogr "&#x003BF;" ><!--GREEK SMALL LETTER OMICRON -->
+<!ENTITY OHgr "&#x003A9;" ><!--GREEK CAPITAL LETTER OMEGA -->
+<!ENTITY ohgr "&#x003C9;" ><!--GREEK SMALL LETTER OMEGA -->
+<!ENTITY Pgr "&#x003A0;" ><!--GREEK CAPITAL LETTER PI -->
+<!ENTITY pgr "&#x003C0;" ><!--GREEK SMALL LETTER PI -->
+<!ENTITY PHgr "&#x003A6;" ><!--GREEK CAPITAL LETTER PHI -->
+<!ENTITY phgr "&#x003C6;" ><!--GREEK SMALL LETTER PHI -->
+<!ENTITY PSgr "&#x003A8;" ><!--GREEK CAPITAL LETTER PSI -->
+<!ENTITY psgr "&#x003C8;" ><!--GREEK SMALL LETTER PSI -->
+<!ENTITY Rgr "&#x003A1;" ><!--GREEK CAPITAL LETTER RHO -->
+<!ENTITY rgr "&#x003C1;" ><!--GREEK SMALL LETTER RHO -->
+<!ENTITY sfgr "&#x003C2;" ><!--GREEK SMALL LETTER FINAL SIGMA -->
+<!ENTITY Sgr "&#x003A3;" ><!--GREEK CAPITAL LETTER SIGMA -->
+<!ENTITY sgr "&#x003C3;" ><!--GREEK SMALL LETTER SIGMA -->
+<!ENTITY Tgr "&#x003A4;" ><!--GREEK CAPITAL LETTER TAU -->
+<!ENTITY tgr "&#x003C4;" ><!--GREEK SMALL LETTER TAU -->
+<!ENTITY THgr "&#x00398;" ><!--GREEK CAPITAL LETTER THETA -->
+<!ENTITY thgr "&#x003B8;" ><!--GREEK SMALL LETTER THETA -->
+<!ENTITY Ugr "&#x003A5;" ><!--GREEK CAPITAL LETTER UPSILON -->
+<!ENTITY ugr "&#x003C5;" ><!--GREEK SMALL LETTER UPSILON -->
+<!ENTITY Xgr "&#x0039E;" ><!--GREEK CAPITAL LETTER XI -->
+<!ENTITY xgr "&#x003BE;" ><!--GREEK SMALL LETTER XI -->
+<!ENTITY Zgr "&#x00396;" ><!--GREEK CAPITAL LETTER ZETA -->
+<!ENTITY zgr "&#x003B6;" ><!--GREEK SMALL LETTER ZETA -->
diff --git a/Utilities/xml/docbook-4.5/ent/isogrk2.ent b/Utilities/xml/docbook-4.5/ent/isogrk2.ent
new file mode 100644
index 000000000..726b7dd70
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/ent/isogrk2.ent
@@ -0,0 +1,61 @@
+
+<!--
+ File isogrk2.ent produced by the XSL script entities.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 4.0.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+
+<!--
+ Version: $Id: isogrk2.ent,v 1.2 2003/12/08 15:14:43 davidc Exp $
+
+ Public identifier: ISO 8879:1986//ENTITIES Monotoniko Greek//EN//XML
+ System identifier: http://www.w3.org/2003/entities/iso8879/isogrk2.ent
+
+ The public identifier should always be used verbatim.
+ The system identifier may be changed to suit local requirements.
+
+ Typical invocation:
+
+ <!ENTITY % isogrk2 PUBLIC
+ "ISO 8879:1986//ENTITIES Monotoniko Greek//EN//XML"
+ "http://www.w3.org/2003/entities/iso8879/isogrk2.ent"
+ >
+ %isogrk2;
+
+-->
+
+<!ENTITY Aacgr "&#x00386;" ><!--GREEK CAPITAL LETTER ALPHA WITH TONOS -->
+<!ENTITY aacgr "&#x003AC;" ><!--GREEK SMALL LETTER ALPHA WITH TONOS -->
+<!ENTITY Eacgr "&#x00388;" ><!--GREEK CAPITAL LETTER EPSILON WITH TONOS -->
+<!ENTITY eacgr "&#x003AD;" ><!--GREEK SMALL LETTER EPSILON WITH TONOS -->
+<!ENTITY EEacgr "&#x00389;" ><!--GREEK CAPITAL LETTER ETA WITH TONOS -->
+<!ENTITY eeacgr "&#x003AE;" ><!--GREEK SMALL LETTER ETA WITH TONOS -->
+<!ENTITY Iacgr "&#x0038A;" ><!--GREEK CAPITAL LETTER IOTA WITH TONOS -->
+<!ENTITY iacgr "&#x003AF;" ><!--GREEK SMALL LETTER IOTA WITH TONOS -->
+<!ENTITY idiagr "&#x00390;" ><!--GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS -->
+<!ENTITY Idigr "&#x003AA;" ><!--GREEK CAPITAL LETTER IOTA WITH DIALYTIKA -->
+<!ENTITY idigr "&#x003CA;" ><!--GREEK SMALL LETTER IOTA WITH DIALYTIKA -->
+<!ENTITY Oacgr "&#x0038C;" ><!--GREEK CAPITAL LETTER OMICRON WITH TONOS -->
+<!ENTITY oacgr "&#x003CC;" ><!--GREEK SMALL LETTER OMICRON WITH TONOS -->
+<!ENTITY OHacgr "&#x0038F;" ><!--GREEK CAPITAL LETTER OMEGA WITH TONOS -->
+<!ENTITY ohacgr "&#x003CE;" ><!--GREEK SMALL LETTER OMEGA WITH TONOS -->
+<!ENTITY Uacgr "&#x0038E;" ><!--GREEK CAPITAL LETTER UPSILON WITH TONOS -->
+<!ENTITY uacgr "&#x003CD;" ><!--GREEK SMALL LETTER UPSILON WITH TONOS -->
+<!ENTITY udiagr "&#x003B0;" ><!--GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS -->
+<!ENTITY Udigr "&#x003AB;" ><!--GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA -->
+<!ENTITY udigr "&#x003CB;" ><!--GREEK SMALL LETTER UPSILON WITH DIALYTIKA -->
diff --git a/Utilities/xml/docbook-4.5/ent/isogrk3.ent b/Utilities/xml/docbook-4.5/ent/isogrk3.ent
new file mode 100644
index 000000000..28b5c2766
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/ent/isogrk3.ent
@@ -0,0 +1,84 @@
+
+<!--
+ File isogrk3.ent produced by the XSL script entities.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 4.0.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+
+<!--
+ Version: $Id: isogrk3.ent,v 1.2 2003/12/08 15:14:43 davidc Exp $
+
+ Public identifier: ISO 8879:1986//ENTITIES Greek Symbols//EN//XML
+ System identifier: http://www.w3.org/2003/entities/iso8879/isogrk3.ent
+
+ The public identifier should always be used verbatim.
+ The system identifier may be changed to suit local requirements.
+
+ Typical invocation:
+
+ <!ENTITY % isogrk3 PUBLIC
+ "ISO 8879:1986//ENTITIES Greek Symbols//EN//XML"
+ "http://www.w3.org/2003/entities/iso8879/isogrk3.ent"
+ >
+ %isogrk3;
+
+-->
+
+<!ENTITY alpha "&#x003B1;" ><!--GREEK SMALL LETTER ALPHA -->
+<!ENTITY beta "&#x003B2;" ><!--GREEK SMALL LETTER BETA -->
+<!ENTITY chi "&#x003C7;" ><!--GREEK SMALL LETTER CHI -->
+<!ENTITY Delta "&#x00394;" ><!--GREEK CAPITAL LETTER DELTA -->
+<!ENTITY delta "&#x003B4;" ><!--GREEK SMALL LETTER DELTA -->
+<!ENTITY epsi "&#x003F5;" ><!--GREEK LUNATE EPSILON SYMBOL -->
+<!ENTITY epsis "&#x003F5;" ><!--GREEK LUNATE EPSILON SYMBOL -->
+<!ENTITY epsiv "&#x003B5;" ><!--GREEK SMALL LETTER EPSILON -->
+<!ENTITY eta "&#x003B7;" ><!--GREEK SMALL LETTER ETA -->
+<!ENTITY Gamma "&#x00393;" ><!--GREEK CAPITAL LETTER GAMMA -->
+<!ENTITY gamma "&#x003B3;" ><!--GREEK SMALL LETTER GAMMA -->
+<!ENTITY gammad "&#x003DD;" ><!--GREEK SMALL LETTER DIGAMMA -->
+<!ENTITY iota "&#x003B9;" ><!--GREEK SMALL LETTER IOTA -->
+<!ENTITY kappa "&#x003BA;" ><!--GREEK SMALL LETTER KAPPA -->
+<!ENTITY kappav "&#x003F0;" ><!--GREEK KAPPA SYMBOL -->
+<!ENTITY Lambda "&#x0039B;" ><!--GREEK CAPITAL LETTER LAMDA -->
+<!ENTITY lambda "&#x003BB;" ><!--GREEK SMALL LETTER LAMDA -->
+<!ENTITY mu "&#x003BC;" ><!--GREEK SMALL LETTER MU -->
+<!ENTITY nu "&#x003BD;" ><!--GREEK SMALL LETTER NU -->
+<!ENTITY Omega "&#x003A9;" ><!--GREEK CAPITAL LETTER OMEGA -->
+<!ENTITY omega "&#x003C9;" ><!--GREEK SMALL LETTER OMEGA -->
+<!ENTITY Phi "&#x003A6;" ><!--GREEK CAPITAL LETTER PHI -->
+<!ENTITY phis "&#x003D5;" ><!--GREEK PHI SYMBOL -->
+<!ENTITY phiv "&#x003C6;" ><!--GREEK SMALL LETTER PHI -->
+<!ENTITY Pi "&#x003A0;" ><!--GREEK CAPITAL LETTER PI -->
+<!ENTITY pi "&#x003C0;" ><!--GREEK SMALL LETTER PI -->
+<!ENTITY piv "&#x003D6;" ><!--GREEK PI SYMBOL -->
+<!ENTITY Psi "&#x003A8;" ><!--GREEK CAPITAL LETTER PSI -->
+<!ENTITY psi "&#x003C8;" ><!--GREEK SMALL LETTER PSI -->
+<!ENTITY rho "&#x003C1;" ><!--GREEK SMALL LETTER RHO -->
+<!ENTITY rhov "&#x003F1;" ><!--GREEK RHO SYMBOL -->
+<!ENTITY Sigma "&#x003A3;" ><!--GREEK CAPITAL LETTER SIGMA -->
+<!ENTITY sigma "&#x003C3;" ><!--GREEK SMALL LETTER SIGMA -->
+<!ENTITY sigmav "&#x003C2;" ><!--GREEK SMALL LETTER FINAL SIGMA -->
+<!ENTITY tau "&#x003C4;" ><!--GREEK SMALL LETTER TAU -->
+<!ENTITY Theta "&#x00398;" ><!--GREEK CAPITAL LETTER THETA -->
+<!ENTITY thetas "&#x003B8;" ><!--GREEK SMALL LETTER THETA -->
+<!ENTITY thetav "&#x003D1;" ><!--GREEK THETA SYMBOL -->
+<!ENTITY Upsi "&#x003D2;" ><!--GREEK UPSILON WITH HOOK SYMBOL -->
+<!ENTITY upsi "&#x003C5;" ><!--GREEK SMALL LETTER UPSILON -->
+<!ENTITY Xi "&#x0039E;" ><!--GREEK CAPITAL LETTER XI -->
+<!ENTITY xi "&#x003BE;" ><!--GREEK SMALL LETTER XI -->
+<!ENTITY zeta "&#x003B6;" ><!--GREEK SMALL LETTER ZETA -->
diff --git a/Utilities/xml/docbook-4.5/ent/isogrk4.ent b/Utilities/xml/docbook-4.5/ent/isogrk4.ent
new file mode 100644
index 000000000..27c6a514f
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/ent/isogrk4.ent
@@ -0,0 +1,84 @@
+
+<!--
+ File isogrk4.ent produced by the XSL script entities.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 4.0.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+
+<!--
+ Version: $Id: isogrk4.ent,v 1.2 2003/12/08 15:14:43 davidc Exp $
+
+ Public identifier: ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN//XML
+ System identifier: http://www.w3.org/2003/entities/iso8879/isogrk4.ent
+
+ The public identifier should always be used verbatim.
+ The system identifier may be changed to suit local requirements.
+
+ Typical invocation:
+
+ <!ENTITY % isogrk4 PUBLIC
+ "ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN//XML"
+ "http://www.w3.org/2003/entities/iso8879/isogrk4.ent"
+ >
+ %isogrk4;
+
+-->
+
+<!ENTITY b.alpha "&#x1D6C2;" ><!--MATHEMATICAL BOLD SMALL ALPHA -->
+<!ENTITY b.beta "&#x1D6C3;" ><!--MATHEMATICAL BOLD SMALL BETA -->
+<!ENTITY b.chi "&#x1D6D8;" ><!--MATHEMATICAL BOLD SMALL CHI -->
+<!ENTITY b.Delta "&#x1D6AB;" ><!--MATHEMATICAL BOLD CAPITAL DELTA -->
+<!ENTITY b.delta "&#x1D6C5;" ><!--MATHEMATICAL BOLD SMALL DELTA -->
+<!ENTITY b.epsi "&#x1D6C6;" ><!--MATHEMATICAL BOLD SMALL EPSILON -->
+<!ENTITY b.epsiv "&#x1D6DC;" ><!--MATHEMATICAL BOLD EPSILON SYMBOL -->
+<!ENTITY b.eta "&#x1D6C8;" ><!--MATHEMATICAL BOLD SMALL ETA -->
+<!ENTITY b.Gamma "&#x1D6AA;" ><!--MATHEMATICAL BOLD CAPITAL GAMMA -->
+<!ENTITY b.gamma "&#x1D6C4;" ><!--MATHEMATICAL BOLD SMALL GAMMA -->
+<!ENTITY b.Gammad "&#x003DC;" ><!--GREEK LETTER DIGAMMA -->
+<!ENTITY b.gammad "&#x003DD;" ><!--GREEK SMALL LETTER DIGAMMA -->
+<!ENTITY b.iota "&#x1D6CA;" ><!--MATHEMATICAL BOLD SMALL IOTA -->
+<!ENTITY b.kappa "&#x1D6CB;" ><!--MATHEMATICAL BOLD SMALL KAPPA -->
+<!ENTITY b.kappav "&#x1D6DE;" ><!--MATHEMATICAL BOLD KAPPA SYMBOL -->
+<!ENTITY b.Lambda "&#x1D6B2;" ><!--MATHEMATICAL BOLD CAPITAL LAMDA -->
+<!ENTITY b.lambda "&#x1D6CC;" ><!--MATHEMATICAL BOLD SMALL LAMDA -->
+<!ENTITY b.mu "&#x1D6CD;" ><!--MATHEMATICAL BOLD SMALL MU -->
+<!ENTITY b.nu "&#x1D6CE;" ><!--MATHEMATICAL BOLD SMALL NU -->
+<!ENTITY b.Omega "&#x1D6C0;" ><!--MATHEMATICAL BOLD CAPITAL OMEGA -->
+<!ENTITY b.omega "&#x1D6DA;" ><!--MATHEMATICAL BOLD SMALL OMEGA -->
+<!ENTITY b.Phi "&#x1D6BD;" ><!--MATHEMATICAL BOLD CAPITAL PHI -->
+<!ENTITY b.phi "&#x1D6D7;" ><!--MATHEMATICAL BOLD SMALL PHI -->
+<!ENTITY b.phiv "&#x1D6DF;" ><!--MATHEMATICAL BOLD PHI SYMBOL -->
+<!ENTITY b.Pi "&#x1D6B7;" ><!--MATHEMATICAL BOLD CAPITAL PI -->
+<!ENTITY b.pi "&#x1D6D1;" ><!--MATHEMATICAL BOLD SMALL PI -->
+<!ENTITY b.piv "&#x1D6E1;" ><!--MATHEMATICAL BOLD PI SYMBOL -->
+<!ENTITY b.Psi "&#x1D6BF;" ><!--MATHEMATICAL BOLD CAPITAL PSI -->
+<!ENTITY b.psi "&#x1D6D9;" ><!--MATHEMATICAL BOLD SMALL PSI -->
+<!ENTITY b.rho "&#x1D6D2;" ><!--MATHEMATICAL BOLD SMALL RHO -->
+<!ENTITY b.rhov "&#x1D6E0;" ><!--MATHEMATICAL BOLD RHO SYMBOL -->
+<!ENTITY b.Sigma "&#x1D6BA;" ><!--MATHEMATICAL BOLD CAPITAL SIGMA -->
+<!ENTITY b.sigma "&#x1D6D4;" ><!--MATHEMATICAL BOLD SMALL SIGMA -->
+<!ENTITY b.sigmav "&#x1D6D3;" ><!--MATHEMATICAL BOLD SMALL FINAL SIGMA -->
+<!ENTITY b.tau "&#x1D6D5;" ><!--MATHEMATICAL BOLD SMALL TAU -->
+<!ENTITY b.Theta "&#x1D6AF;" ><!--MATHEMATICAL BOLD CAPITAL THETA -->
+<!ENTITY b.thetas "&#x1D6C9;" ><!--MATHEMATICAL BOLD SMALL THETA -->
+<!ENTITY b.thetav "&#x1D6DD;" ><!--MATHEMATICAL BOLD THETA SYMBOL -->
+<!ENTITY b.Upsi "&#x1D6BC;" ><!--MATHEMATICAL BOLD CAPITAL UPSILON -->
+<!ENTITY b.upsi "&#x1D6D6;" ><!--MATHEMATICAL BOLD SMALL UPSILON -->
+<!ENTITY b.Xi "&#x1D6B5;" ><!--MATHEMATICAL BOLD CAPITAL XI -->
+<!ENTITY b.xi "&#x1D6CF;" ><!--MATHEMATICAL BOLD SMALL XI -->
+<!ENTITY b.zeta "&#x1D6C7;" ><!--MATHEMATICAL BOLD SMALL ZETA -->
diff --git a/Utilities/xml/docbook-4.5/ent/isolat1.ent b/Utilities/xml/docbook-4.5/ent/isolat1.ent
new file mode 100644
index 000000000..381bd0900
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/ent/isolat1.ent
@@ -0,0 +1,103 @@
+
+<!--
+ File isolat1.ent produced by the XSL script entities.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 4.0.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+
+<!--
+ Version: $Id: isolat1.ent,v 1.2 2003/12/08 15:14:43 davidc Exp $
+
+ Public identifier: ISO 8879:1986//ENTITIES Added Latin 1//EN//XML
+ System identifier: http://www.w3.org/2003/entities/iso8879/isolat1.ent
+
+ The public identifier should always be used verbatim.
+ The system identifier may be changed to suit local requirements.
+
+ Typical invocation:
+
+ <!ENTITY % isolat1 PUBLIC
+ "ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
+ "http://www.w3.org/2003/entities/iso8879/isolat1.ent"
+ >
+ %isolat1;
+
+-->
+
+<!ENTITY Aacute "&#x000C1;" ><!--LATIN CAPITAL LETTER A WITH ACUTE -->
+<!ENTITY aacute "&#x000E1;" ><!--LATIN SMALL LETTER A WITH ACUTE -->
+<!ENTITY Acirc "&#x000C2;" ><!--LATIN CAPITAL LETTER A WITH CIRCUMFLEX -->
+<!ENTITY acirc "&#x000E2;" ><!--LATIN SMALL LETTER A WITH CIRCUMFLEX -->
+<!ENTITY AElig "&#x000C6;" ><!--LATIN CAPITAL LETTER AE -->
+<!ENTITY aelig "&#x000E6;" ><!--LATIN SMALL LETTER AE -->
+<!ENTITY Agrave "&#x000C0;" ><!--LATIN CAPITAL LETTER A WITH GRAVE -->
+<!ENTITY agrave "&#x000E0;" ><!--LATIN SMALL LETTER A WITH GRAVE -->
+<!ENTITY Aring "&#x000C5;" ><!--LATIN CAPITAL LETTER A WITH RING ABOVE -->
+<!ENTITY aring "&#x000E5;" ><!--LATIN SMALL LETTER A WITH RING ABOVE -->
+<!ENTITY Atilde "&#x000C3;" ><!--LATIN CAPITAL LETTER A WITH TILDE -->
+<!ENTITY atilde "&#x000E3;" ><!--LATIN SMALL LETTER A WITH TILDE -->
+<!ENTITY Auml "&#x000C4;" ><!--LATIN CAPITAL LETTER A WITH DIAERESIS -->
+<!ENTITY auml "&#x000E4;" ><!--LATIN SMALL LETTER A WITH DIAERESIS -->
+<!ENTITY Ccedil "&#x000C7;" ><!--LATIN CAPITAL LETTER C WITH CEDILLA -->
+<!ENTITY ccedil "&#x000E7;" ><!--LATIN SMALL LETTER C WITH CEDILLA -->
+<!ENTITY Eacute "&#x000C9;" ><!--LATIN CAPITAL LETTER E WITH ACUTE -->
+<!ENTITY eacute "&#x000E9;" ><!--LATIN SMALL LETTER E WITH ACUTE -->
+<!ENTITY Ecirc "&#x000CA;" ><!--LATIN CAPITAL LETTER E WITH CIRCUMFLEX -->
+<!ENTITY ecirc "&#x000EA;" ><!--LATIN SMALL LETTER E WITH CIRCUMFLEX -->
+<!ENTITY Egrave "&#x000C8;" ><!--LATIN CAPITAL LETTER E WITH GRAVE -->
+<!ENTITY egrave "&#x000E8;" ><!--LATIN SMALL LETTER E WITH GRAVE -->
+<!ENTITY ETH "&#x000D0;" ><!--LATIN CAPITAL LETTER ETH -->
+<!ENTITY eth "&#x000F0;" ><!--LATIN SMALL LETTER ETH -->
+<!ENTITY Euml "&#x000CB;" ><!--LATIN CAPITAL LETTER E WITH DIAERESIS -->
+<!ENTITY euml "&#x000EB;" ><!--LATIN SMALL LETTER E WITH DIAERESIS -->
+<!ENTITY Iacute "&#x000CD;" ><!--LATIN CAPITAL LETTER I WITH ACUTE -->
+<!ENTITY iacute "&#x000ED;" ><!--LATIN SMALL LETTER I WITH ACUTE -->
+<!ENTITY Icirc "&#x000CE;" ><!--LATIN CAPITAL LETTER I WITH CIRCUMFLEX -->
+<!ENTITY icirc "&#x000EE;" ><!--LATIN SMALL LETTER I WITH CIRCUMFLEX -->
+<!ENTITY Igrave "&#x000CC;" ><!--LATIN CAPITAL LETTER I WITH GRAVE -->
+<!ENTITY igrave "&#x000EC;" ><!--LATIN SMALL LETTER I WITH GRAVE -->
+<!ENTITY Iuml "&#x000CF;" ><!--LATIN CAPITAL LETTER I WITH DIAERESIS -->
+<!ENTITY iuml "&#x000EF;" ><!--LATIN SMALL LETTER I WITH DIAERESIS -->
+<!ENTITY Ntilde "&#x000D1;" ><!--LATIN CAPITAL LETTER N WITH TILDE -->
+<!ENTITY ntilde "&#x000F1;" ><!--LATIN SMALL LETTER N WITH TILDE -->
+<!ENTITY Oacute "&#x000D3;" ><!--LATIN CAPITAL LETTER O WITH ACUTE -->
+<!ENTITY oacute "&#x000F3;" ><!--LATIN SMALL LETTER O WITH ACUTE -->
+<!ENTITY Ocirc "&#x000D4;" ><!--LATIN CAPITAL LETTER O WITH CIRCUMFLEX -->
+<!ENTITY ocirc "&#x000F4;" ><!--LATIN SMALL LETTER O WITH CIRCUMFLEX -->
+<!ENTITY Ograve "&#x000D2;" ><!--LATIN CAPITAL LETTER O WITH GRAVE -->
+<!ENTITY ograve "&#x000F2;" ><!--LATIN SMALL LETTER O WITH GRAVE -->
+<!ENTITY Oslash "&#x000D8;" ><!--LATIN CAPITAL LETTER O WITH STROKE -->
+<!ENTITY oslash "&#x000F8;" ><!--LATIN SMALL LETTER O WITH STROKE -->
+<!ENTITY Otilde "&#x000D5;" ><!--LATIN CAPITAL LETTER O WITH TILDE -->
+<!ENTITY otilde "&#x000F5;" ><!--LATIN SMALL LETTER O WITH TILDE -->
+<!ENTITY Ouml "&#x000D6;" ><!--LATIN CAPITAL LETTER O WITH DIAERESIS -->
+<!ENTITY ouml "&#x000F6;" ><!--LATIN SMALL LETTER O WITH DIAERESIS -->
+<!ENTITY szlig "&#x000DF;" ><!--LATIN SMALL LETTER SHARP S -->
+<!ENTITY THORN "&#x000DE;" ><!--LATIN CAPITAL LETTER THORN -->
+<!ENTITY thorn "&#x000FE;" ><!--LATIN SMALL LETTER THORN -->
+<!ENTITY Uacute "&#x000DA;" ><!--LATIN CAPITAL LETTER U WITH ACUTE -->
+<!ENTITY uacute "&#x000FA;" ><!--LATIN SMALL LETTER U WITH ACUTE -->
+<!ENTITY Ucirc "&#x000DB;" ><!--LATIN CAPITAL LETTER U WITH CIRCUMFLEX -->
+<!ENTITY ucirc "&#x000FB;" ><!--LATIN SMALL LETTER U WITH CIRCUMFLEX -->
+<!ENTITY Ugrave "&#x000D9;" ><!--LATIN CAPITAL LETTER U WITH GRAVE -->
+<!ENTITY ugrave "&#x000F9;" ><!--LATIN SMALL LETTER U WITH GRAVE -->
+<!ENTITY Uuml "&#x000DC;" ><!--LATIN CAPITAL LETTER U WITH DIAERESIS -->
+<!ENTITY uuml "&#x000FC;" ><!--LATIN SMALL LETTER U WITH DIAERESIS -->
+<!ENTITY Yacute "&#x000DD;" ><!--LATIN CAPITAL LETTER Y WITH ACUTE -->
+<!ENTITY yacute "&#x000FD;" ><!--LATIN SMALL LETTER Y WITH ACUTE -->
+<!ENTITY yuml "&#x000FF;" ><!--LATIN SMALL LETTER Y WITH DIAERESIS -->
diff --git a/Utilities/xml/docbook-4.5/ent/isolat2.ent b/Utilities/xml/docbook-4.5/ent/isolat2.ent
new file mode 100644
index 000000000..e91ffdbee
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/ent/isolat2.ent
@@ -0,0 +1,162 @@
+
+<!--
+ File isolat2.ent produced by the XSL script entities.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 4.0.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+
+<!--
+ Version: $Id: isolat2.ent,v 1.2 2003/12/08 15:14:43 davidc Exp $
+
+ Public identifier: ISO 8879:1986//ENTITIES Added Latin 2//EN//XML
+ System identifier: http://www.w3.org/2003/entities/iso8879/isolat2.ent
+
+ The public identifier should always be used verbatim.
+ The system identifier may be changed to suit local requirements.
+
+ Typical invocation:
+
+ <!ENTITY % isolat2 PUBLIC
+ "ISO 8879:1986//ENTITIES Added Latin 2//EN//XML"
+ "http://www.w3.org/2003/entities/iso8879/isolat2.ent"
+ >
+ %isolat2;
+
+-->
+
+<!ENTITY Abreve "&#x00102;" ><!--LATIN CAPITAL LETTER A WITH BREVE -->
+<!ENTITY abreve "&#x00103;" ><!--LATIN SMALL LETTER A WITH BREVE -->
+<!ENTITY Amacr "&#x00100;" ><!--LATIN CAPITAL LETTER A WITH MACRON -->
+<!ENTITY amacr "&#x00101;" ><!--LATIN SMALL LETTER A WITH MACRON -->
+<!ENTITY Aogon "&#x00104;" ><!--LATIN CAPITAL LETTER A WITH OGONEK -->
+<!ENTITY aogon "&#x00105;" ><!--LATIN SMALL LETTER A WITH OGONEK -->
+<!ENTITY Cacute "&#x00106;" ><!--LATIN CAPITAL LETTER C WITH ACUTE -->
+<!ENTITY cacute "&#x00107;" ><!--LATIN SMALL LETTER C WITH ACUTE -->
+<!ENTITY Ccaron "&#x0010C;" ><!--LATIN CAPITAL LETTER C WITH CARON -->
+<!ENTITY ccaron "&#x0010D;" ><!--LATIN SMALL LETTER C WITH CARON -->
+<!ENTITY Ccirc "&#x00108;" ><!--LATIN CAPITAL LETTER C WITH CIRCUMFLEX -->
+<!ENTITY ccirc "&#x00109;" ><!--LATIN SMALL LETTER C WITH CIRCUMFLEX -->
+<!ENTITY Cdot "&#x0010A;" ><!--LATIN CAPITAL LETTER C WITH DOT ABOVE -->
+<!ENTITY cdot "&#x0010B;" ><!--LATIN SMALL LETTER C WITH DOT ABOVE -->
+<!ENTITY Dcaron "&#x0010E;" ><!--LATIN CAPITAL LETTER D WITH CARON -->
+<!ENTITY dcaron "&#x0010F;" ><!--LATIN SMALL LETTER D WITH CARON -->
+<!ENTITY Dstrok "&#x00110;" ><!--LATIN CAPITAL LETTER D WITH STROKE -->
+<!ENTITY dstrok "&#x00111;" ><!--LATIN SMALL LETTER D WITH STROKE -->
+<!ENTITY Ecaron "&#x0011A;" ><!--LATIN CAPITAL LETTER E WITH CARON -->
+<!ENTITY ecaron "&#x0011B;" ><!--LATIN SMALL LETTER E WITH CARON -->
+<!ENTITY Edot "&#x00116;" ><!--LATIN CAPITAL LETTER E WITH DOT ABOVE -->
+<!ENTITY edot "&#x00117;" ><!--LATIN SMALL LETTER E WITH DOT ABOVE -->
+<!ENTITY Emacr "&#x00112;" ><!--LATIN CAPITAL LETTER E WITH MACRON -->
+<!ENTITY emacr "&#x00113;" ><!--LATIN SMALL LETTER E WITH MACRON -->
+<!ENTITY ENG "&#x0014A;" ><!--LATIN CAPITAL LETTER ENG -->
+<!ENTITY eng "&#x0014B;" ><!--LATIN SMALL LETTER ENG -->
+<!ENTITY Eogon "&#x00118;" ><!--LATIN CAPITAL LETTER E WITH OGONEK -->
+<!ENTITY eogon "&#x00119;" ><!--LATIN SMALL LETTER E WITH OGONEK -->
+<!ENTITY gacute "&#x001F5;" ><!--LATIN SMALL LETTER G WITH ACUTE -->
+<!ENTITY Gbreve "&#x0011E;" ><!--LATIN CAPITAL LETTER G WITH BREVE -->
+<!ENTITY gbreve "&#x0011F;" ><!--LATIN SMALL LETTER G WITH BREVE -->
+<!ENTITY Gcedil "&#x00122;" ><!--LATIN CAPITAL LETTER G WITH CEDILLA -->
+<!ENTITY Gcirc "&#x0011C;" ><!--LATIN CAPITAL LETTER G WITH CIRCUMFLEX -->
+<!ENTITY gcirc "&#x0011D;" ><!--LATIN SMALL LETTER G WITH CIRCUMFLEX -->
+<!ENTITY Gdot "&#x00120;" ><!--LATIN CAPITAL LETTER G WITH DOT ABOVE -->
+<!ENTITY gdot "&#x00121;" ><!--LATIN SMALL LETTER G WITH DOT ABOVE -->
+<!ENTITY Hcirc "&#x00124;" ><!--LATIN CAPITAL LETTER H WITH CIRCUMFLEX -->
+<!ENTITY hcirc "&#x00125;" ><!--LATIN SMALL LETTER H WITH CIRCUMFLEX -->
+<!ENTITY Hstrok "&#x00126;" ><!--LATIN CAPITAL LETTER H WITH STROKE -->
+<!ENTITY hstrok "&#x00127;" ><!--LATIN SMALL LETTER H WITH STROKE -->
+<!ENTITY Idot "&#x00130;" ><!--LATIN CAPITAL LETTER I WITH DOT ABOVE -->
+<!ENTITY IJlig "&#x00132;" ><!--LATIN CAPITAL LIGATURE IJ -->
+<!ENTITY ijlig "&#x00133;" ><!--LATIN SMALL LIGATURE IJ -->
+<!ENTITY Imacr "&#x0012A;" ><!--LATIN CAPITAL LETTER I WITH MACRON -->
+<!ENTITY imacr "&#x0012B;" ><!--LATIN SMALL LETTER I WITH MACRON -->
+<!ENTITY inodot "&#x00131;" ><!--LATIN SMALL LETTER DOTLESS I -->
+<!ENTITY Iogon "&#x0012E;" ><!--LATIN CAPITAL LETTER I WITH OGONEK -->
+<!ENTITY iogon "&#x0012F;" ><!--LATIN SMALL LETTER I WITH OGONEK -->
+<!ENTITY Itilde "&#x00128;" ><!--LATIN CAPITAL LETTER I WITH TILDE -->
+<!ENTITY itilde "&#x00129;" ><!--LATIN SMALL LETTER I WITH TILDE -->
+<!ENTITY Jcirc "&#x00134;" ><!--LATIN CAPITAL LETTER J WITH CIRCUMFLEX -->
+<!ENTITY jcirc "&#x00135;" ><!--LATIN SMALL LETTER J WITH CIRCUMFLEX -->
+<!ENTITY Kcedil "&#x00136;" ><!--LATIN CAPITAL LETTER K WITH CEDILLA -->
+<!ENTITY kcedil "&#x00137;" ><!--LATIN SMALL LETTER K WITH CEDILLA -->
+<!ENTITY kgreen "&#x00138;" ><!--LATIN SMALL LETTER KRA -->
+<!ENTITY Lacute "&#x00139;" ><!--LATIN CAPITAL LETTER L WITH ACUTE -->
+<!ENTITY lacute "&#x0013A;" ><!--LATIN SMALL LETTER L WITH ACUTE -->
+<!ENTITY Lcaron "&#x0013D;" ><!--LATIN CAPITAL LETTER L WITH CARON -->
+<!ENTITY lcaron "&#x0013E;" ><!--LATIN SMALL LETTER L WITH CARON -->
+<!ENTITY Lcedil "&#x0013B;" ><!--LATIN CAPITAL LETTER L WITH CEDILLA -->
+<!ENTITY lcedil "&#x0013C;" ><!--LATIN SMALL LETTER L WITH CEDILLA -->
+<!ENTITY Lmidot "&#x0013F;" ><!--LATIN CAPITAL LETTER L WITH MIDDLE DOT -->
+<!ENTITY lmidot "&#x00140;" ><!--LATIN SMALL LETTER L WITH MIDDLE DOT -->
+<!ENTITY Lstrok "&#x00141;" ><!--LATIN CAPITAL LETTER L WITH STROKE -->
+<!ENTITY lstrok "&#x00142;" ><!--LATIN SMALL LETTER L WITH STROKE -->
+<!ENTITY Nacute "&#x00143;" ><!--LATIN CAPITAL LETTER N WITH ACUTE -->
+<!ENTITY nacute "&#x00144;" ><!--LATIN SMALL LETTER N WITH ACUTE -->
+<!ENTITY napos "&#x00149;" ><!--LATIN SMALL LETTER N PRECEDED BY APOSTROPHE -->
+<!ENTITY Ncaron "&#x00147;" ><!--LATIN CAPITAL LETTER N WITH CARON -->
+<!ENTITY ncaron "&#x00148;" ><!--LATIN SMALL LETTER N WITH CARON -->
+<!ENTITY Ncedil "&#x00145;" ><!--LATIN CAPITAL LETTER N WITH CEDILLA -->
+<!ENTITY ncedil "&#x00146;" ><!--LATIN SMALL LETTER N WITH CEDILLA -->
+<!ENTITY Odblac "&#x00150;" ><!--LATIN CAPITAL LETTER O WITH DOUBLE ACUTE -->
+<!ENTITY odblac "&#x00151;" ><!--LATIN SMALL LETTER O WITH DOUBLE ACUTE -->
+<!ENTITY OElig "&#x00152;" ><!--LATIN CAPITAL LIGATURE OE -->
+<!ENTITY oelig "&#x00153;" ><!--LATIN SMALL LIGATURE OE -->
+<!ENTITY Omacr "&#x0014C;" ><!--LATIN CAPITAL LETTER O WITH MACRON -->
+<!ENTITY omacr "&#x0014D;" ><!--LATIN SMALL LETTER O WITH MACRON -->
+<!ENTITY Racute "&#x00154;" ><!--LATIN CAPITAL LETTER R WITH ACUTE -->
+<!ENTITY racute "&#x00155;" ><!--LATIN SMALL LETTER R WITH ACUTE -->
+<!ENTITY Rcaron "&#x00158;" ><!--LATIN CAPITAL LETTER R WITH CARON -->
+<!ENTITY rcaron "&#x00159;" ><!--LATIN SMALL LETTER R WITH CARON -->
+<!ENTITY Rcedil "&#x00156;" ><!--LATIN CAPITAL LETTER R WITH CEDILLA -->
+<!ENTITY rcedil "&#x00157;" ><!--LATIN SMALL LETTER R WITH CEDILLA -->
+<!ENTITY Sacute "&#x0015A;" ><!--LATIN CAPITAL LETTER S WITH ACUTE -->
+<!ENTITY sacute "&#x0015B;" ><!--LATIN SMALL LETTER S WITH ACUTE -->
+<!ENTITY Scaron "&#x00160;" ><!--LATIN CAPITAL LETTER S WITH CARON -->
+<!ENTITY scaron "&#x00161;" ><!--LATIN SMALL LETTER S WITH CARON -->
+<!ENTITY Scedil "&#x0015E;" ><!--LATIN CAPITAL LETTER S WITH CEDILLA -->
+<!ENTITY scedil "&#x0015F;" ><!--LATIN SMALL LETTER S WITH CEDILLA -->
+<!ENTITY Scirc "&#x0015C;" ><!--LATIN CAPITAL LETTER S WITH CIRCUMFLEX -->
+<!ENTITY scirc "&#x0015D;" ><!--LATIN SMALL LETTER S WITH CIRCUMFLEX -->
+<!ENTITY Tcaron "&#x00164;" ><!--LATIN CAPITAL LETTER T WITH CARON -->
+<!ENTITY tcaron "&#x00165;" ><!--LATIN SMALL LETTER T WITH CARON -->
+<!ENTITY Tcedil "&#x00162;" ><!--LATIN CAPITAL LETTER T WITH CEDILLA -->
+<!ENTITY tcedil "&#x00163;" ><!--LATIN SMALL LETTER T WITH CEDILLA -->
+<!ENTITY Tstrok "&#x00166;" ><!--LATIN CAPITAL LETTER T WITH STROKE -->
+<!ENTITY tstrok "&#x00167;" ><!--LATIN SMALL LETTER T WITH STROKE -->
+<!ENTITY Ubreve "&#x0016C;" ><!--LATIN CAPITAL LETTER U WITH BREVE -->
+<!ENTITY ubreve "&#x0016D;" ><!--LATIN SMALL LETTER U WITH BREVE -->
+<!ENTITY Udblac "&#x00170;" ><!--LATIN CAPITAL LETTER U WITH DOUBLE ACUTE -->
+<!ENTITY udblac "&#x00171;" ><!--LATIN SMALL LETTER U WITH DOUBLE ACUTE -->
+<!ENTITY Umacr "&#x0016A;" ><!--LATIN CAPITAL LETTER U WITH MACRON -->
+<!ENTITY umacr "&#x0016B;" ><!--LATIN SMALL LETTER U WITH MACRON -->
+<!ENTITY Uogon "&#x00172;" ><!--LATIN CAPITAL LETTER U WITH OGONEK -->
+<!ENTITY uogon "&#x00173;" ><!--LATIN SMALL LETTER U WITH OGONEK -->
+<!ENTITY Uring "&#x0016E;" ><!--LATIN CAPITAL LETTER U WITH RING ABOVE -->
+<!ENTITY uring "&#x0016F;" ><!--LATIN SMALL LETTER U WITH RING ABOVE -->
+<!ENTITY Utilde "&#x00168;" ><!--LATIN CAPITAL LETTER U WITH TILDE -->
+<!ENTITY utilde "&#x00169;" ><!--LATIN SMALL LETTER U WITH TILDE -->
+<!ENTITY Wcirc "&#x00174;" ><!--LATIN CAPITAL LETTER W WITH CIRCUMFLEX -->
+<!ENTITY wcirc "&#x00175;" ><!--LATIN SMALL LETTER W WITH CIRCUMFLEX -->
+<!ENTITY Ycirc "&#x00176;" ><!--LATIN CAPITAL LETTER Y WITH CIRCUMFLEX -->
+<!ENTITY ycirc "&#x00177;" ><!--LATIN SMALL LETTER Y WITH CIRCUMFLEX -->
+<!ENTITY Yuml "&#x00178;" ><!--LATIN CAPITAL LETTER Y WITH DIAERESIS -->
+<!ENTITY Zacute "&#x00179;" ><!--LATIN CAPITAL LETTER Z WITH ACUTE -->
+<!ENTITY zacute "&#x0017A;" ><!--LATIN SMALL LETTER Z WITH ACUTE -->
+<!ENTITY Zcaron "&#x0017D;" ><!--LATIN CAPITAL LETTER Z WITH CARON -->
+<!ENTITY zcaron "&#x0017E;" ><!--LATIN SMALL LETTER Z WITH CARON -->
+<!ENTITY Zdot "&#x0017B;" ><!--LATIN CAPITAL LETTER Z WITH DOT ABOVE -->
+<!ENTITY zdot "&#x0017C;" ><!--LATIN SMALL LETTER Z WITH DOT ABOVE -->
diff --git a/Utilities/xml/docbook-4.5/ent/isonum.ent b/Utilities/xml/docbook-4.5/ent/isonum.ent
new file mode 100644
index 000000000..884c0c4d0
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/ent/isonum.ent
@@ -0,0 +1,117 @@
+
+<!--
+ File isonum.ent produced by the XSL script entities.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 4.0.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+
+<!--
+ Version: $Id: isonum.ent,v 1.2 2003/12/08 15:14:43 davidc Exp $
+
+ Public identifier: ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML
+ System identifier: http://www.w3.org/2003/entities/iso8879/isonum.ent
+
+ The public identifier should always be used verbatim.
+ The system identifier may be changed to suit local requirements.
+
+ Typical invocation:
+
+ <!ENTITY % isonum PUBLIC
+ "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"
+ "http://www.w3.org/2003/entities/iso8879/isonum.ent"
+ >
+ %isonum;
+
+-->
+
+<!ENTITY amp "&#38;#38;" ><!--AMPERSAND -->
+<!ENTITY apos "&#x00027;" ><!--APOSTROPHE -->
+<!ENTITY ast "&#x0002A;" ><!--ASTERISK -->
+<!ENTITY brvbar "&#x000A6;" ><!--BROKEN BAR -->
+<!ENTITY bsol "&#x0005C;" ><!--REVERSE SOLIDUS -->
+<!ENTITY cent "&#x000A2;" ><!--CENT SIGN -->
+<!ENTITY colon "&#x0003A;" ><!--COLON -->
+<!ENTITY comma "&#x0002C;" ><!--COMMA -->
+<!ENTITY commat "&#x00040;" ><!--COMMERCIAL AT -->
+<!ENTITY copy "&#x000A9;" ><!--COPYRIGHT SIGN -->
+<!ENTITY curren "&#x000A4;" ><!--CURRENCY SIGN -->
+<!ENTITY darr "&#x02193;" ><!--DOWNWARDS ARROW -->
+<!ENTITY deg "&#x000B0;" ><!--DEGREE SIGN -->
+<!ENTITY divide "&#x000F7;" ><!--DIVISION SIGN -->
+<!ENTITY dollar "&#x00024;" ><!--DOLLAR SIGN -->
+<!ENTITY equals "&#x0003D;" ><!--EQUALS SIGN -->
+<!ENTITY excl "&#x00021;" ><!--EXCLAMATION MARK -->
+<!ENTITY frac12 "&#x000BD;" ><!--VULGAR FRACTION ONE HALF -->
+<!ENTITY frac14 "&#x000BC;" ><!--VULGAR FRACTION ONE QUARTER -->
+<!ENTITY frac18 "&#x0215B;" ><!--VULGAR FRACTION ONE EIGHTH -->
+<!ENTITY frac34 "&#x000BE;" ><!--VULGAR FRACTION THREE QUARTERS -->
+<!ENTITY frac38 "&#x0215C;" ><!--VULGAR FRACTION THREE EIGHTHS -->
+<!ENTITY frac58 "&#x0215D;" ><!--VULGAR FRACTION FIVE EIGHTHS -->
+<!ENTITY frac78 "&#x0215E;" ><!--VULGAR FRACTION SEVEN EIGHTHS -->
+<!ENTITY gt "&#x0003E;" ><!--GREATER-THAN SIGN -->
+<!ENTITY half "&#x000BD;" ><!--VULGAR FRACTION ONE HALF -->
+<!ENTITY horbar "&#x02015;" ><!--HORIZONTAL BAR -->
+<!ENTITY hyphen "&#x02010;" ><!--HYPHEN -->
+<!ENTITY iexcl "&#x000A1;" ><!--INVERTED EXCLAMATION MARK -->
+<!ENTITY iquest "&#x000BF;" ><!--INVERTED QUESTION MARK -->
+<!ENTITY laquo "&#x000AB;" ><!--LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -->
+<!ENTITY larr "&#x02190;" ><!--LEFTWARDS ARROW -->
+<!ENTITY lcub "&#x0007B;" ><!--LEFT CURLY BRACKET -->
+<!ENTITY ldquo "&#x0201C;" ><!--LEFT DOUBLE QUOTATION MARK -->
+<!ENTITY lowbar "&#x0005F;" ><!--LOW LINE -->
+<!ENTITY lpar "&#x00028;" ><!--LEFT PARENTHESIS -->
+<!ENTITY lsqb "&#x0005B;" ><!--LEFT SQUARE BRACKET -->
+<!ENTITY lsquo "&#x02018;" ><!--LEFT SINGLE QUOTATION MARK -->
+<!ENTITY lt "&#38;#60;" ><!--LESS-THAN SIGN -->
+<!ENTITY micro "&#x000B5;" ><!--MICRO SIGN -->
+<!ENTITY middot "&#x000B7;" ><!--MIDDLE DOT -->
+<!ENTITY nbsp "&#x000A0;" ><!--NO-BREAK SPACE -->
+<!ENTITY not "&#x000AC;" ><!--NOT SIGN -->
+<!ENTITY num "&#x00023;" ><!--NUMBER SIGN -->
+<!ENTITY ohm "&#x02126;" ><!--OHM SIGN -->
+<!ENTITY ordf "&#x000AA;" ><!--FEMININE ORDINAL INDICATOR -->
+<!ENTITY ordm "&#x000BA;" ><!--MASCULINE ORDINAL INDICATOR -->
+<!ENTITY para "&#x000B6;" ><!--PILCROW SIGN -->
+<!ENTITY percnt "&#x00025;" ><!--PERCENT SIGN -->
+<!ENTITY period "&#x0002E;" ><!--FULL STOP -->
+<!ENTITY plus "&#x0002B;" ><!--PLUS SIGN -->
+<!ENTITY plusmn "&#x000B1;" ><!--PLUS-MINUS SIGN -->
+<!ENTITY pound "&#x000A3;" ><!--POUND SIGN -->
+<!ENTITY quest "&#x0003F;" ><!--QUESTION MARK -->
+<!ENTITY quot "&#x00022;" ><!--QUOTATION MARK -->
+<!ENTITY raquo "&#x000BB;" ><!--RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -->
+<!ENTITY rarr "&#x02192;" ><!--RIGHTWARDS ARROW -->
+<!ENTITY rcub "&#x0007D;" ><!--RIGHT CURLY BRACKET -->
+<!ENTITY rdquo "&#x0201D;" ><!--RIGHT DOUBLE QUOTATION MARK -->
+<!ENTITY reg "&#x000AE;" ><!--REGISTERED SIGN -->
+<!ENTITY rpar "&#x00029;" ><!--RIGHT PARENTHESIS -->
+<!ENTITY rsqb "&#x0005D;" ><!--RIGHT SQUARE BRACKET -->
+<!ENTITY rsquo "&#x02019;" ><!--RIGHT SINGLE QUOTATION MARK -->
+<!ENTITY sect "&#x000A7;" ><!--SECTION SIGN -->
+<!ENTITY semi "&#x0003B;" ><!--SEMICOLON -->
+<!ENTITY shy "&#x000AD;" ><!--SOFT HYPHEN -->
+<!ENTITY sol "&#x0002F;" ><!--SOLIDUS -->
+<!ENTITY sung "&#x0266A;" ><!--EIGHTH NOTE -->
+<!ENTITY sup1 "&#x000B9;" ><!--SUPERSCRIPT ONE -->
+<!ENTITY sup2 "&#x000B2;" ><!--SUPERSCRIPT TWO -->
+<!ENTITY sup3 "&#x000B3;" ><!--SUPERSCRIPT THREE -->
+<!ENTITY times "&#x000D7;" ><!--MULTIPLICATION SIGN -->
+<!ENTITY trade "&#x02122;" ><!--TRADE MARK SIGN -->
+<!ENTITY uarr "&#x02191;" ><!--UPWARDS ARROW -->
+<!ENTITY verbar "&#x0007C;" ><!--VERTICAL LINE -->
+<!ENTITY yen "&#x000A5;" ><!--YEN SIGN -->
diff --git a/Utilities/xml/docbook-4.5/ent/isopub.ent b/Utilities/xml/docbook-4.5/ent/isopub.ent
new file mode 100644
index 000000000..a11787828
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/ent/isopub.ent
@@ -0,0 +1,125 @@
+
+<!--
+ File isopub.ent produced by the XSL script entities.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 4.0.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+
+<!--
+ Version: $Id: isopub.ent,v 1.2 2003/12/08 15:14:43 davidc Exp $
+
+ Public identifier: ISO 8879:1986//ENTITIES Publishing//EN//XML
+ System identifier: http://www.w3.org/2003/entities/iso8879/isopub.ent
+
+ The public identifier should always be used verbatim.
+ The system identifier may be changed to suit local requirements.
+
+ Typical invocation:
+
+ <!ENTITY % isopub PUBLIC
+ "ISO 8879:1986//ENTITIES Publishing//EN//XML"
+ "http://www.w3.org/2003/entities/iso8879/isopub.ent"
+ >
+ %isopub;
+
+-->
+
+<!ENTITY blank "&#x02423;" ><!--OPEN BOX -->
+<!ENTITY blk12 "&#x02592;" ><!--MEDIUM SHADE -->
+<!ENTITY blk14 "&#x02591;" ><!--LIGHT SHADE -->
+<!ENTITY blk34 "&#x02593;" ><!--DARK SHADE -->
+<!ENTITY block "&#x02588;" ><!--FULL BLOCK -->
+<!ENTITY bull "&#x02022;" ><!--BULLET -->
+<!ENTITY caret "&#x02041;" ><!--CARET INSERTION POINT -->
+<!ENTITY check "&#x02713;" ><!--CHECK MARK -->
+<!ENTITY cir "&#x025CB;" ><!--WHITE CIRCLE -->
+<!ENTITY clubs "&#x02663;" ><!--BLACK CLUB SUIT -->
+<!ENTITY copysr "&#x02117;" ><!--SOUND RECORDING COPYRIGHT -->
+<!ENTITY cross "&#x02717;" ><!--BALLOT X -->
+<!ENTITY Dagger "&#x02021;" ><!--DOUBLE DAGGER -->
+<!ENTITY dagger "&#x02020;" ><!--DAGGER -->
+<!ENTITY dash "&#x02010;" ><!--HYPHEN -->
+<!ENTITY diams "&#x02666;" ><!--BLACK DIAMOND SUIT -->
+<!ENTITY dlcrop "&#x0230D;" ><!--BOTTOM LEFT CROP -->
+<!ENTITY drcrop "&#x0230C;" ><!--BOTTOM RIGHT CROP -->
+<!ENTITY dtri "&#x025BF;" ><!--WHITE DOWN-POINTING SMALL TRIANGLE -->
+<!ENTITY dtrif "&#x025BE;" ><!--BLACK DOWN-POINTING SMALL TRIANGLE -->
+<!ENTITY emsp "&#x02003;" ><!--EM SPACE -->
+<!ENTITY emsp13 "&#x02004;" ><!--THREE-PER-EM SPACE -->
+<!ENTITY emsp14 "&#x02005;" ><!--FOUR-PER-EM SPACE -->
+<!ENTITY ensp "&#x02002;" ><!--EN SPACE -->
+<!ENTITY female "&#x02640;" ><!--FEMALE SIGN -->
+<!ENTITY ffilig "&#x0FB03;" ><!--LATIN SMALL LIGATURE FFI -->
+<!ENTITY fflig "&#x0FB00;" ><!--LATIN SMALL LIGATURE FF -->
+<!ENTITY ffllig "&#x0FB04;" ><!--LATIN SMALL LIGATURE FFL -->
+<!ENTITY filig "&#x0FB01;" ><!--LATIN SMALL LIGATURE FI -->
+<!ENTITY flat "&#x0266D;" ><!--MUSIC FLAT SIGN -->
+<!ENTITY fllig "&#x0FB02;" ><!--LATIN SMALL LIGATURE FL -->
+<!ENTITY frac13 "&#x02153;" ><!--VULGAR FRACTION ONE THIRD -->
+<!ENTITY frac15 "&#x02155;" ><!--VULGAR FRACTION ONE FIFTH -->
+<!ENTITY frac16 "&#x02159;" ><!--VULGAR FRACTION ONE SIXTH -->
+<!ENTITY frac23 "&#x02154;" ><!--VULGAR FRACTION TWO THIRDS -->
+<!ENTITY frac25 "&#x02156;" ><!--VULGAR FRACTION TWO FIFTHS -->
+<!ENTITY frac35 "&#x02157;" ><!--VULGAR FRACTION THREE FIFTHS -->
+<!ENTITY frac45 "&#x02158;" ><!--VULGAR FRACTION FOUR FIFTHS -->
+<!ENTITY frac56 "&#x0215A;" ><!--VULGAR FRACTION FIVE SIXTHS -->
+<!ENTITY hairsp "&#x0200A;" ><!--HAIR SPACE -->
+<!ENTITY hearts "&#x02665;" ><!--BLACK HEART SUIT -->
+<!ENTITY hellip "&#x02026;" ><!--HORIZONTAL ELLIPSIS -->
+<!ENTITY hybull "&#x02043;" ><!--HYPHEN BULLET -->
+<!ENTITY incare "&#x02105;" ><!--CARE OF -->
+<!ENTITY ldquor "&#x0201E;" ><!--DOUBLE LOW-9 QUOTATION MARK -->
+<!ENTITY lhblk "&#x02584;" ><!--LOWER HALF BLOCK -->
+<!ENTITY loz "&#x025CA;" ><!--LOZENGE -->
+<!ENTITY lozf "&#x029EB;" ><!--BLACK LOZENGE -->
+<!ENTITY lsquor "&#x0201A;" ><!--SINGLE LOW-9 QUOTATION MARK -->
+<!ENTITY ltri "&#x025C3;" ><!--WHITE LEFT-POINTING SMALL TRIANGLE -->
+<!ENTITY ltrif "&#x025C2;" ><!--BLACK LEFT-POINTING SMALL TRIANGLE -->
+<!ENTITY male "&#x02642;" ><!--MALE SIGN -->
+<!ENTITY malt "&#x02720;" ><!--MALTESE CROSS -->
+<!ENTITY marker "&#x025AE;" ><!--BLACK VERTICAL RECTANGLE -->
+<!ENTITY mdash "&#x02014;" ><!--EM DASH -->
+<!ENTITY mldr "&#x02026;" ><!--HORIZONTAL ELLIPSIS -->
+<!ENTITY natur "&#x0266E;" ><!--MUSIC NATURAL SIGN -->
+<!ENTITY ndash "&#x02013;" ><!--EN DASH -->
+<!ENTITY nldr "&#x02025;" ><!--TWO DOT LEADER -->
+<!ENTITY numsp "&#x02007;" ><!--FIGURE SPACE -->
+<!ENTITY phone "&#x0260E;" ><!--BLACK TELEPHONE -->
+<!ENTITY puncsp "&#x02008;" ><!--PUNCTUATION SPACE -->
+<!ENTITY rdquor "&#x0201D;" ><!--RIGHT DOUBLE QUOTATION MARK -->
+<!ENTITY rect "&#x025AD;" ><!--WHITE RECTANGLE -->
+<!ENTITY rsquor "&#x02019;" ><!--RIGHT SINGLE QUOTATION MARK -->
+<!ENTITY rtri "&#x025B9;" ><!--WHITE RIGHT-POINTING SMALL TRIANGLE -->
+<!ENTITY rtrif "&#x025B8;" ><!--BLACK RIGHT-POINTING SMALL TRIANGLE -->
+<!ENTITY rx "&#x0211E;" ><!--PRESCRIPTION TAKE -->
+<!ENTITY sext "&#x02736;" ><!--SIX POINTED BLACK STAR -->
+<!ENTITY sharp "&#x0266F;" ><!--MUSIC SHARP SIGN -->
+<!ENTITY spades "&#x02660;" ><!--BLACK SPADE SUIT -->
+<!ENTITY squ "&#x025A1;" ><!--WHITE SQUARE -->
+<!ENTITY squf "&#x025AA;" ><!--BLACK SMALL SQUARE -->
+<!ENTITY star "&#x02606;" ><!--WHITE STAR -->
+<!ENTITY starf "&#x02605;" ><!--BLACK STAR -->
+<!ENTITY target "&#x02316;" ><!--POSITION INDICATOR -->
+<!ENTITY telrec "&#x02315;" ><!--TELEPHONE RECORDER -->
+<!ENTITY thinsp "&#x02009;" ><!--THIN SPACE -->
+<!ENTITY uhblk "&#x02580;" ><!--UPPER HALF BLOCK -->
+<!ENTITY ulcrop "&#x0230F;" ><!--TOP LEFT CROP -->
+<!ENTITY urcrop "&#x0230E;" ><!--TOP RIGHT CROP -->
+<!ENTITY utri "&#x025B5;" ><!--WHITE UP-POINTING SMALL TRIANGLE -->
+<!ENTITY utrif "&#x025B4;" ><!--BLACK UP-POINTING SMALL TRIANGLE -->
+<!ENTITY vellip "&#x022EE;" ><!--VERTICAL ELLIPSIS -->
diff --git a/Utilities/xml/docbook-4.5/ent/isotech.ent b/Utilities/xml/docbook-4.5/ent/isotech.ent
new file mode 100644
index 000000000..07e81008d
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/ent/isotech.ent
@@ -0,0 +1,103 @@
+
+<!--
+ File isotech.ent produced by the XSL script entities.xsl
+ from input data in unicode.xml.
+
+ Please report any errors to David Carlisle
+ via the public W3C list www-math@w3.org.
+
+ The numeric character values assigned to each entity
+ (should) match the Unicode assignments in Unicode 4.0.
+
+ Entity names in this file are derived from files carrying the
+ following notice:
+
+ (C) International Organization for Standardization 1986
+ Permission to copy in any form is granted for use with
+ conforming SGML systems and applications as defined in
+ ISO 8879, provided this notice is included in all copies.
+
+-->
+
+
+<!--
+ Version: $Id: isotech.ent,v 1.2 2003/12/08 15:14:43 davidc Exp $
+
+ Public identifier: ISO 8879:1986//ENTITIES General Technical//EN//XML
+ System identifier: http://www.w3.org/2003/entities/iso8879/isotech.ent
+
+ The public identifier should always be used verbatim.
+ The system identifier may be changed to suit local requirements.
+
+ Typical invocation:
+
+ <!ENTITY % isotech PUBLIC
+ "ISO 8879:1986//ENTITIES General Technical//EN//XML"
+ "http://www.w3.org/2003/entities/iso8879/isotech.ent"
+ >
+ %isotech;
+
+-->
+
+<!ENTITY aleph "&#x02135;" ><!--ALEF SYMBOL -->
+<!ENTITY and "&#x02227;" ><!--LOGICAL AND -->
+<!ENTITY ang90 "&#x0221F;" ><!--RIGHT ANGLE -->
+<!ENTITY angsph "&#x02222;" ><!--SPHERICAL ANGLE -->
+<!ENTITY angst "&#x0212B;" ><!--ANGSTROM SIGN -->
+<!ENTITY ap "&#x02248;" ><!--ALMOST EQUAL TO -->
+<!ENTITY becaus "&#x02235;" ><!--BECAUSE -->
+<!ENTITY bernou "&#x0212C;" ><!--SCRIPT CAPITAL B -->
+<!ENTITY bottom "&#x022A5;" ><!--UP TACK -->
+<!ENTITY cap "&#x02229;" ><!--INTERSECTION -->
+<!ENTITY compfn "&#x02218;" ><!--RING OPERATOR -->
+<!ENTITY cong "&#x02245;" ><!--APPROXIMATELY EQUAL TO -->
+<!ENTITY conint "&#x0222E;" ><!--CONTOUR INTEGRAL -->
+<!ENTITY cup "&#x0222A;" ><!--UNION -->
+<!ENTITY Dot "&#x000A8;" ><!--DIAERESIS -->
+<!ENTITY DotDot " &#x020DC;" ><!--COMBINING FOUR DOTS ABOVE -->
+<!ENTITY equiv "&#x02261;" ><!--IDENTICAL TO -->
+<!ENTITY exist "&#x02203;" ><!--THERE EXISTS -->
+<!ENTITY fnof "&#x00192;" ><!--LATIN SMALL LETTER F WITH HOOK -->
+<!ENTITY forall "&#x02200;" ><!--FOR ALL -->
+<!ENTITY ge "&#x02265;" ><!--GREATER-THAN OR EQUAL TO -->
+<!ENTITY hamilt "&#x0210B;" ><!--SCRIPT CAPITAL H -->
+<!ENTITY iff "&#x021D4;" ><!--LEFT RIGHT DOUBLE ARROW -->
+<!ENTITY infin "&#x0221E;" ><!--INFINITY -->
+<!ENTITY int "&#x0222B;" ><!--INTEGRAL -->
+<!ENTITY isin "&#x02208;" ><!--ELEMENT OF -->
+<!ENTITY lagran "&#x02112;" ><!--SCRIPT CAPITAL L -->
+<!ENTITY lang "&#x02329;" ><!--LEFT-POINTING ANGLE BRACKET -->
+<!ENTITY lArr "&#x021D0;" ><!--LEFTWARDS DOUBLE ARROW -->
+<!ENTITY le "&#x02264;" ><!--LESS-THAN OR EQUAL TO -->
+<!ENTITY lowast "&#x02217;" ><!--ASTERISK OPERATOR -->
+<!ENTITY minus "&#x02212;" ><!--MINUS SIGN -->
+<!ENTITY mnplus "&#x02213;" ><!--MINUS-OR-PLUS SIGN -->
+<!ENTITY nabla "&#x02207;" ><!--NABLA -->
+<!ENTITY ne "&#x02260;" ><!--NOT EQUAL TO -->
+<!ENTITY ni "&#x0220B;" ><!--CONTAINS AS MEMBER -->
+<!ENTITY notin "&#x02209;" ><!--NOT AN ELEMENT OF -->
+<!ENTITY or "&#x02228;" ><!--LOGICAL OR -->
+<!ENTITY order "&#x02134;" ><!--SCRIPT SMALL O -->
+<!ENTITY par "&#x02225;" ><!--PARALLEL TO -->
+<!ENTITY part "&#x02202;" ><!--PARTIAL DIFFERENTIAL -->
+<!ENTITY permil "&#x02030;" ><!--PER MILLE SIGN -->
+<!ENTITY perp "&#x022A5;" ><!--UP TACK -->
+<!ENTITY phmmat "&#x02133;" ><!--SCRIPT CAPITAL M -->
+<!ENTITY Prime "&#x02033;" ><!--DOUBLE PRIME -->
+<!ENTITY prime "&#x02032;" ><!--PRIME -->
+<!ENTITY prop "&#x0221D;" ><!--PROPORTIONAL TO -->
+<!ENTITY radic "&#x0221A;" ><!--SQUARE ROOT -->
+<!ENTITY rang "&#x0232A;" ><!--RIGHT-POINTING ANGLE BRACKET -->
+<!ENTITY rArr "&#x021D2;" ><!--RIGHTWARDS DOUBLE ARROW -->
+<!ENTITY sim "&#x0223C;" ><!--TILDE OPERATOR -->
+<!ENTITY sime "&#x02243;" ><!--ASYMPTOTICALLY EQUAL TO -->
+<!ENTITY square "&#x025A1;" ><!--WHITE SQUARE -->
+<!ENTITY sub "&#x02282;" ><!--SUBSET OF -->
+<!ENTITY sube "&#x02286;" ><!--SUBSET OF OR EQUAL TO -->
+<!ENTITY sup "&#x02283;" ><!--SUPERSET OF -->
+<!ENTITY supe "&#x02287;" ><!--SUPERSET OF OR EQUAL TO -->
+<!ENTITY tdot " &#x020DB;" ><!--COMBINING THREE DOTS ABOVE -->
+<!ENTITY there4 "&#x02234;" ><!--THEREFORE -->
+<!ENTITY tprime "&#x02034;" ><!--TRIPLE PRIME -->
+<!ENTITY Verbar "&#x02016;" ><!--DOUBLE VERTICAL LINE -->
+<!ENTITY wedgeq "&#x02259;" ><!--ESTIMATES -->
diff --git a/Utilities/xml/docbook-4.5/htmltblx.mod b/Utilities/xml/docbook-4.5/htmltblx.mod
new file mode 100644
index 000000000..cdaefed41
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/htmltblx.mod
@@ -0,0 +1,245 @@
+<!-- ...................................................................... -->
+<!-- DocBook XML HTML Table Module V4.5 ................................... -->
+<!-- File htmltblx.mod .................................................... -->
+
+<!-- Copyright 2003-2006 ArborText, Inc., Norman Walsh, Sun Microsystems,
+ Inc., and the Organization for the Advancement of Structured Information
+ Standards (OASIS).
+
+ $Id: htmltblx.mod 6340 2006-10-03 13:23:24Z nwalsh $
+
+ Permission to use, copy, modify and distribute the DocBook XML DTD
+ and its accompanying documentation for any purpose and without fee
+ is hereby granted in perpetuity, provided that the above copyright
+ notice and this paragraph appear in all copies. The copyright
+ holders make no representation about the suitability of the DTD for
+ any purpose. It is provided "as is" without expressed or implied
+ warranty.
+
+ If you modify the DocBook XML DTD in any way, except for declaring and
+ referencing additional sets of general entities and declaring
+ additional notations, label your DTD as a variant of DocBook. See
+ the maintenance documentation for more information.
+
+ Please direct all questions, bug reports, or suggestions for
+ changes to the docbook@lists.oasis-open.org mailing list. For more
+ information, see http://www.oasis-open.org/docbook/.
+-->
+
+<!-- ...................................................................... -->
+
+<!-- This module contains the definitions for elements that are
+ isomorphic to the HTML elements. One could argue we should
+ instead have based ourselves on the XHTML Table Module, but the
+ HTML one is more like what browsers are likely to accept today
+ and users are likely to use.
+
+ This module has been developed for use with the DocBook V4.5
+ "union table model" in which elements and attlists common to both
+ models are defined (as the union) in the CALS table module by
+ setting various parameter entities appropriately in this file.
+
+ In DTD driver files referring to this module, please use an entity
+ declaration that uses the public identifier shown below:
+
+ <!ENTITY % htmltbl PUBLIC
+ "-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN"
+ "htmltblx.mod">
+ %htmltbl;
+
+ See the documentation for detailed information on the parameter
+ entity and module scheme used in DocBook, customizing DocBook and
+ planning for interchange, and changes made since the last release
+ of DocBook.
+-->
+
+<!--======================= XHTML Tables =======================================-->
+
+<!ENTITY % html.coreattrs
+ "%common.attrib;
+ class CDATA #IMPLIED
+ style CDATA #IMPLIED
+ title CDATA #IMPLIED"
+ >
+
+<!-- Does not contain lang or dir because they are in %common.attribs -->
+<![%sgml.features;[
+<!ENTITY % i18n "">
+]]>
+<!ENTITY % i18n
+ "xml:lang NMTOKEN #IMPLIED"
+ >
+
+<!ENTITY % events
+ "onclick CDATA #IMPLIED
+ ondblclick CDATA #IMPLIED
+ onmousedown CDATA #IMPLIED
+ onmouseup CDATA #IMPLIED
+ onmouseover CDATA #IMPLIED
+ onmousemove CDATA #IMPLIED
+ onmouseout CDATA #IMPLIED
+ onkeypress CDATA #IMPLIED
+ onkeydown CDATA #IMPLIED
+ onkeyup CDATA #IMPLIED"
+ >
+
+<!ENTITY % attrs "%html.coreattrs; %i18n; %events;">
+
+<!ENTITY % cellhalign
+ "align (left|center|right|justify|char) #IMPLIED
+ char CDATA #IMPLIED
+ charoff CDATA #IMPLIED"
+ >
+
+<!ENTITY % cellvalign
+ "valign (top|middle|bottom|baseline) #IMPLIED"
+ >
+
+<!--doc:A group of columns in an HTML table.-->
+<!ELEMENT colgroup %ho; (col)*>
+<!--doc:Specifications for a column in an HTML table.-->
+<!ELEMENT col %ho; EMPTY>
+<!--doc:A row in an HTML table.-->
+<!ELEMENT tr %ho; (th|td)+>
+<!--doc:A table header entry in an HTML table.-->
+<!ELEMENT th %ho; (%para.char.mix; | %tabentry.mix; | table | informaltable)*>
+<!--doc:A table ntry in an HTML table.-->
+<!ELEMENT td %ho; (%para.char.mix; | %tabentry.mix; | table | informaltable)*>
+
+<!ATTLIST colgroup
+ %attrs;
+ span CDATA "1"
+ width CDATA #IMPLIED
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST col
+ %attrs;
+ span CDATA "1"
+ width CDATA #IMPLIED
+ %cellhalign;
+ %cellvalign;
+ >
+
+<!ATTLIST tr
+ %attrs;
+ %cellhalign;
+ %cellvalign;
+ bgcolor CDATA #IMPLIED
+ >
+
+<!ATTLIST th
+ %attrs;
+ abbr CDATA #IMPLIED
+ axis CDATA #IMPLIED
+ headers IDREFS #IMPLIED
+ scope (row|col|rowgroup|colgroup) #IMPLIED
+ rowspan CDATA "1"
+ colspan CDATA "1"
+ %cellhalign;
+ %cellvalign;
+ nowrap (nowrap) #IMPLIED
+ bgcolor CDATA #IMPLIED
+ width CDATA #IMPLIED
+ height CDATA #IMPLIED
+ >
+
+<!ATTLIST td
+ %attrs;
+ abbr CDATA #IMPLIED
+ axis CDATA #IMPLIED
+ headers IDREFS #IMPLIED
+ scope (row|col|rowgroup|colgroup) #IMPLIED
+ rowspan CDATA "1"
+ colspan CDATA "1"
+ %cellhalign;
+ %cellvalign;
+ nowrap (nowrap) #IMPLIED
+ bgcolor CDATA #IMPLIED
+ width CDATA #IMPLIED
+ height CDATA #IMPLIED
+ >
+
+<!-- ====================================================== -->
+<!-- Set up to read in the CALS model configured to
+ merge with the XHTML table model -->
+<!-- ====================================================== -->
+
+<!ENTITY % tables.role.attrib "%role.attrib;">
+
+<!-- Add label and role attributes to table and informaltable -->
+<!ENTITY % bodyatt "
+ floatstyle CDATA #IMPLIED
+ rowheader (firstcol|norowheader) #IMPLIED
+ %label.attrib;"
+>
+
+<!-- Add common attributes to Table, TGroup, TBody, THead, TFoot, Row,
+ EntryTbl, and Entry (and InformalTable element). -->
+
+<!ENTITY % secur "
+ %common.attrib;
+ class CDATA #IMPLIED
+ style CDATA #IMPLIED
+ title CDATA #IMPLIED
+ %i18n;
+ %events;
+ %tables.role.attrib;">
+
+<!ENTITY % common.table.attribs
+ "%bodyatt;
+ %secur;">
+
+<!-- Content model for Table (that also allows HTML tables) -->
+<!ENTITY % tbl.table.mdl
+ "((blockinfo?,
+ (%formalobject.title.content;),
+ (%ndxterm.class;)*,
+ textobject*,
+ (graphic+|mediaobject+|tgroup+))
+ |(caption, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+)))">
+
+<!ENTITY % informal.tbl.table.mdl
+ "(textobject*,
+ (graphic+|mediaobject+|tgroup+))
+ | ((col*|colgroup*), thead?, tfoot?, (tbody+|tr+))">
+
+<!-- Attributes for Table (including HTML ones) -->
+
+<!-- N.B. rules = (none | groups | rows | cols | all) but it can't be spec'd -->
+<!-- that way because 'all' already occurs in a different enumeration in -->
+<!-- CALS tables (frame). -->
+
+<!ENTITY % tbl.table.att '
+ tabstyle CDATA #IMPLIED
+ tocentry %yesorno.attvals; #IMPLIED
+ shortentry %yesorno.attvals; #IMPLIED
+ orient (port|land) #IMPLIED
+ pgwide %yesorno.attvals; #IMPLIED
+ summary CDATA #IMPLIED
+ width CDATA #IMPLIED
+ border CDATA #IMPLIED
+ rules CDATA #IMPLIED
+ cellspacing CDATA #IMPLIED
+ cellpadding CDATA #IMPLIED
+ align (left|center|right) #IMPLIED
+ bgcolor CDATA #IMPLIED
+'>
+
+<!ENTITY % tbl.frame.attval "void|above|below|hsides|lhs|rhs|vsides|box|border|
+top|bottom|topbot|all|sides|none">
+
+<!-- Allow either objects or inlines; beware of REs between elements. -->
+<!ENTITY % tbl.entry.mdl "%para.char.mix; | %tabentry.mix;">
+
+<!-- thead, tfoot, and tbody are defined in both table models,
+ so we set up parameter entities to define union models for them
+ -->
+
+<!ENTITY % tbl.hdft.mdl "(tr+|(colspec*,row+))">
+<!ENTITY % tbl.tbody.mdl "(tr+|row+)">
+<!ENTITY % tbl.valign.attval "top|middle|bottom|baseline">
+
+<!-- End of DocBook XML HTML Table Module V4.5 ............................ -->
+<!-- ...................................................................... -->
diff --git a/Utilities/xml/docbook-4.5/soextblx.dtd b/Utilities/xml/docbook-4.5/soextblx.dtd
new file mode 100644
index 000000000..4a92e1162
--- /dev/null
+++ b/Utilities/xml/docbook-4.5/soextblx.dtd
@@ -0,0 +1,321 @@
+<!-- XML EXCHANGE TABLE MODEL DECLARATION MODULE -->
+
+<!-- This set of declarations defines the XML version of the Exchange
+ Table Model as of the date shown in the Formal Public Identifier
+ (FPI) for this entity.
+
+ This set of declarations may be referred to using a public external
+ entity declaration and reference as shown in the following three
+ lines:
+
+ <!ENTITY % calstblx
+ PUBLIC "-//OASIS//DTD XML Exchange Table Model 19990315//EN">
+ %calstblx;
+
+ If various parameter entities used within this set of declarations
+ are to be given non-default values, the appropriate declarations
+ should be given before calling in this package (i.e., before the
+ "%calstblx;" reference).
+-->
+
+<!-- The motivation for this XML version of the Exchange Table Model
+ is simply to create an XML version of the SGML Exchange Table
+ Model. By design, no effort has been made to "improve" the model.
+
+ This XML version incorporates the logical bare minimum changes
+ necessary to make the Exchange Table Model a valid XML DTD.
+
+ It has been modified slightly for use in the combined HTML/CALS models
+ supported by DocBook V4.3 and later.
+-->
+
+<!-- The XML version of the Exchange Table Model differs from
+ the SGML version in the following ways:
+
+ The following parameter entities have been removed:
+
+ - tbl.table.excep, tbl.hdft.excep, tbl.row.excep, tbl.entry.excep
+ There are no exceptions in XML. The following normative statement
+ is made in lieu of exceptions: the exchange table model explicitly
+ forbids a table from occurring within another table. If the
+ content model of an entry includes a table element, then this
+ cannot be enforced by the DTD, but it is a deviation from the
+ exchange table model to include a table within a table.
+
+ - tbl.hdft.name, tbl.hdft.mdl, tbl.hdft.excep, tbl.hdft.att
+ The motivation for these elements was to change the table
+ header/footer elements. Since XML does not allow element declarations
+ to contain name groups, and the exchange table model does not
+ allow a table to contain footers, the continued presence of these
+ attributes seems unnecessary.
+
+ The following parameter entity has been added:
+
+ - tbl.thead.att
+ This entity parameterizes the attributes on thead. It replaces
+ the tbl.hdft.att parameter entity.
+
+ Other miscellaneous changes:
+
+ - Tag ommission indicators have been removed
+ - Comments have been removed from declarations
+ - NUMBER attributes have been changed to NMTOKEN
+ - NUTOKEN attributes have been to changed to NMTOKEN
+ - Removed the grouping characters around the content model
+ parameter entry for the 'entry' element. This is necessary
+ so that an entry can contain #PCDATA and be defined as an
+ optional, repeatable OR group beginning with #PCDATA.
+-->
+
+<!-- This entity includes a set of element and attribute declarations
+ that partially defines the Exchange table model. However, the model
+ is not well-defined without the accompanying natural language
+ description of the semantics (meanings) of these various elements,
+ attributes, and attribute values. The semantic writeup, also available
+ from SGML Open, should be used in conjunction with this entity.
+-->
+
+<!-- In order to use the Exchange table model, various parameter entity
+ declarations are required. A brief description is as follows:
+
+ ENTITY NAME WHERE USED WHAT IT IS
+
+ %yesorno In ATTLIST of: An attribute declared value
+ almost all elements for a "boolean" attribute
+
+ %paracon In content model of: The "text" (logical content)
+ <entry> of the model group for <entry>
+
+ %titles In content model of: The "title" part of the model
+ table element group for the table element
+
+ %tbl.table.name In declaration of: The name of the "table"
+ table element element
+
+ %tbl.table-titles.mdl In content model of: The model group for the title
+ table elements part of the content model for
+ table element
+
+ %tbl.table.mdl In content model of: The model group for the content
+ table elements model for table element,
+ often (and by default) defined
+ in terms of %tbl.table-titles.mdl
+ and tgroup
+
+ %tbl.table.att In ATTLIST of: Additional attributes on the
+ table element table element
+
+ %bodyatt In ATTLIST of: Additional attributes on the
+ table element table element (for backward
+ compatibility with the SGML
+ model)
+
+ %tbl.tgroup.mdl In content model of: The model group for the content
+ <tgroup> model for <tgroup>
+
+ %tbl.tgroup.att In ATTLIST of: Additional attributes on the
+ <tgroup> <tgroup> element
+
+ %tbl.thead.att In ATTLIST of: Additional attributes on the
+ <thead> <thead> element
+
+ %tbl.tbody.att In ATTLIST of: Additional attributes on the
+ <tbody> <tbody> element
+
+ %tbl.colspec.att In ATTLIST of: Additional attributes on the
+ <colspec> <colspec> element
+
+ %tbl.row.mdl In content model of: The model group for the content
+ <row> model for <row>
+
+ %tbl.row.att In ATTLIST of: Additional attributes on the
+ <row> <row> element
+
+ %tbl.entry.mdl In content model of: The model group for the content
+ <entry> model for <entry>
+
+ %tbl.entry.att In ATTLIST of: Additional attributes on the
+ <entry> <entry> element
+
+ This set of declarations will use the default definitions shown below
+ for any of these parameter entities that are not declared before this
+ set of declarations is referenced.
+-->
+
+<!-- These definitions are not directly related to the table model, but are
+ used in the default CALS table model and may be defined elsewhere (and
+ prior to the inclusion of this table module) in the referencing DTD. -->
+
+<!ENTITY % yesorno 'NMTOKEN'> <!-- no if zero(s), yes if any other value -->
+<!ENTITY % titles 'title?'>
+<!ENTITY % pcd "#PCDATA">
+<!ENTITY % paracon '%pcd;'> <!-- default for use in entry content -->
+
+<!--
+The parameter entities as defined below change and simplify the CALS table
+model as published (as part of the Example DTD) in MIL-HDBK-28001. The
+resulting simplified DTD has support from the SGML Open vendors and is
+therefore more interoperable among different systems.
+
+These following declarations provide the Exchange default definitions
+for these entities. However, these entities can be redefined (by giving
+the appropriate parameter entity declaration(s) prior to the reference
+to this Table Model declaration set entity) to fit the needs of the
+current application.
+
+Note, however, that changes may have significant effect on the ability to
+interchange table information. These changes may manifest themselves
+in useability, presentation, and possible structure information degradation.
+-->
+
+<!ENTITY % tbl.table.name "table">
+<!ENTITY % tbl.table-titles.mdl "%titles;,">
+<!ENTITY % tbl.table-main.mdl "tgroup+">
+<!ENTITY % tbl.table.mdl "%tbl.table-titles.mdl; %tbl.table-main.mdl;">
+<!ENTITY % tbl.table.att "
+ pgwide %yesorno; #IMPLIED ">
+<!ENTITY % bodyatt "">
+<!ENTITY % tbl.tgroup.mdl "colspec*,thead?,tbody">
+<!ENTITY % tbl.tgroup.att "">
+<!ENTITY % tbl.thead.att "">
+<!ENTITY % tbl.tbody.att "">
+<!ENTITY % tbl.colspec.att "">
+<!ENTITY % tbl.row.mdl "entry+">
+<!ENTITY % tbl.row.att "">
+<!ENTITY % tbl.entry.mdl "(%paracon;)*">
+<!ENTITY % tbl.entry.att "">
+
+<!ENTITY % tbl.frame.attval "top|bottom|topbot|all|sides|none">
+<!ENTITY % tbl.tbody.mdl "row+">
+
+<!-- ===== Element and attribute declarations follow. ===== -->
+
+<!--
+ Default declarations previously defined in this entity and
+ referenced below include:
+ ENTITY % tbl.table.name "table"
+ ENTITY % tbl.table-titles.mdl "%titles;,"
+ ENTITY % tbl.table.mdl "%tbl.table-titles; tgroup+"
+ ENTITY % tbl.table.att "
+ pgwide %yesorno; #IMPLIED "
+-->
+
+<!--doc:???-->
+<!ELEMENT %tbl.table.name; (%tbl.table.mdl;)>
+
+<!ATTLIST %tbl.table.name;
+ frame (%tbl.frame.attval;) #IMPLIED
+ colsep %yesorno; #IMPLIED
+ rowsep %yesorno; #IMPLIED
+ %tbl.table.att;
+ %bodyatt;
+>
+
+<!--
+ Default declarations previously defined in this entity and
+ referenced below include:
+ ENTITY % tbl.tgroup.mdl "colspec*,thead?,tbody"
+ ENTITY % tbl.tgroup.att ""
+-->
+
+<!--doc:A wrapper for the main content of a table, or part of a table.-->
+<!ELEMENT tgroup (%tbl.tgroup.mdl;) >
+
+<!ATTLIST tgroup
+ cols NMTOKEN #REQUIRED
+ colsep %yesorno; #IMPLIED
+ rowsep %yesorno; #IMPLIED
+ align (left|right|center|justify|char) #IMPLIED
+ %tbl.tgroup.att;
+>
+
+<!--
+ Default declarations previously defined in this entity and
+ referenced below include:
+ ENTITY % tbl.colspec.att ""
+-->
+
+<!--doc:Specifications for a column in a table.-->
+<!ELEMENT colspec EMPTY >
+
+<!ATTLIST colspec
+ colnum NMTOKEN #IMPLIED
+ colname NMTOKEN #IMPLIED
+ colwidth CDATA #IMPLIED
+ colsep %yesorno; #IMPLIED
+ rowsep %yesorno; #IMPLIED
+ align (left|right|center|justify|char) #IMPLIED
+ char CDATA #IMPLIED
+ charoff NMTOKEN #IMPLIED
+ %tbl.colspec.att;
+>
+
+<!--
+ Default declarations previously defined in this entity and
+ referenced below include:
+ ENTITY % tbl.thead.att ""
+-->
+
+<!--doc:A table header consisting of one or more rows.-->
+<!ELEMENT thead (row+)>
+
+<!ATTLIST thead
+ valign (top|middle|bottom) #IMPLIED
+ %tbl.thead.att;
+>
+
+<!--
+ Default declarations previously defined in this entity and
+ referenced below include:
+ ENTITY % tbl.tbody.att ""
+-->
+
+<!--doc:A wrapper for the rows of a table or informal table.-->
+<!ELEMENT tbody (%tbl.tbody.mdl;)>
+
+<!ATTLIST tbody
+ valign (top|middle|bottom) #IMPLIED
+ %tbl.tbody.att;
+>
+
+<!--
+ Default declarations previously defined in this entity and
+ referenced below include:
+ ENTITY % tbl.row.mdl "entry+"
+ ENTITY % tbl.row.att ""
+-->
+
+<!--doc:A row in a table.-->
+<!ELEMENT row (%tbl.row.mdl;)>
+
+<!ATTLIST row
+ rowsep %yesorno; #IMPLIED
+ valign (top|middle|bottom) #IMPLIED
+ %tbl.row.att;
+>
+
+
+<!--
+ Default declarations previously defined in this entity and
+ referenced below include:
+ ENTITY % paracon "#PCDATA"
+ ENTITY % tbl.entry.mdl "(%paracon;)*"
+ ENTITY % tbl.entry.att ""
+-->
+
+<!--doc:A cell in a table.-->
+<!ELEMENT entry (%tbl.entry.mdl;)*>
+
+<!ATTLIST entry
+ colname NMTOKEN #IMPLIED
+ namest NMTOKEN #IMPLIED
+ nameend NMTOKEN #IMPLIED
+ morerows NMTOKEN #IMPLIED
+ colsep %yesorno; #IMPLIED
+ rowsep %yesorno; #IMPLIED
+ align (left|right|center|justify|char) #IMPLIED
+ char CDATA #IMPLIED
+ charoff NMTOKEN #IMPLIED
+ valign (top|middle|bottom) #IMPLIED
+ %tbl.entry.att;
+>
diff --git a/Utilities/xml/xhtml-lat1.ent b/Utilities/xml/xhtml1/xhtml-lat1.ent
index ffee223eb..ffee223eb 100644
--- a/Utilities/xml/xhtml-lat1.ent
+++ b/Utilities/xml/xhtml1/xhtml-lat1.ent
diff --git a/Utilities/xml/xhtml-special.ent b/Utilities/xml/xhtml1/xhtml-special.ent
index 3a83fb656..3a83fb656 100644
--- a/Utilities/xml/xhtml-special.ent
+++ b/Utilities/xml/xhtml1/xhtml-special.ent
diff --git a/Utilities/xml/xhtml-symbol.ent b/Utilities/xml/xhtml1/xhtml-symbol.ent
index d0c77eebc..d0c77eebc 100644
--- a/Utilities/xml/xhtml-symbol.ent
+++ b/Utilities/xml/xhtml1/xhtml-symbol.ent
diff --git a/Utilities/xml/xhtml1-strict.dtd b/Utilities/xml/xhtml1/xhtml1-strict.dtd
index e48fbea6e..e48fbea6e 100644
--- a/Utilities/xml/xhtml1-strict.dtd
+++ b/Utilities/xml/xhtml1/xhtml1-strict.dtd
diff --git a/bootstrap b/bootstrap
index 801882d7a..a4c4aa8aa 100755
--- a/bootstrap
+++ b/bootstrap
@@ -19,7 +19,7 @@ die() {
cmake_version_component()
{
cat "${cmake_source_dir}/Source/CMakeVersion.cmake" | sed -n "
-/^SET(CMake_VERSION_${1}/ {s/SET(CMake_VERSION_${1} *\([0-9]*\))/\1/;p;}
+/^set(CMake_VERSION_${1}/ {s/set(CMake_VERSION_${1} *\([0-9]*\))/\1/;p;}
"
}
@@ -160,6 +160,9 @@ CMAKE_PROBLEMATIC_FILES="\
CMakeSystem.cmake \
CMakeCCompiler.cmake \
CMakeCXXCompiler.cmake \
+ */CMakeSystem.cmake \
+ */CMakeCCompiler.cmake \
+ */CMakeCXXCompiler.cmake \
Source/cmConfigure.h \
Source/CTest/Curl/config.h \
Utilities/cmexpat/expatConfig.h \
@@ -196,9 +199,15 @@ CMAKE_CXX_SOURCES="\
cmMakefile \
cmExportFileGenerator \
cmExportInstallFileGenerator \
+ cmExportSet \
+ cmExportSetMap \
cmInstallDirectoryGenerator \
cmGeneratedFileStream \
cmGeneratorTarget \
+ cmGeneratorExpressionDAGChecker \
+ cmGeneratorExpressionEvaluator \
+ cmGeneratorExpressionLexer \
+ cmGeneratorExpressionParser \
cmGeneratorExpression \
cmGlobalGenerator \
cmLocalGenerator \
@@ -348,7 +357,7 @@ Directory and file names:
# Display CMake bootstrap usage
cmake_version_display()
{
- echo "CMake ${cmake_version}, Copyright 2000-2011 Kitware, Inc."
+ echo "CMake ${cmake_version}, Copyright 2000-2012 Kitware, Inc."
}
# Display CMake bootstrap error, display the log file and exit
@@ -1493,21 +1502,29 @@ rebuild_cache:
echo '
# Generated by '"${cmake_source_dir}"'/bootstrap
# Default cmake settings. These may be overridden any settings below.
-SET (CMAKE_INSTALL_PREFIX "'"${cmake_prefix_dir}"'" CACHE PATH "Install path prefix, prepended onto install directories." FORCE)
-SET (CMAKE_DOC_DIR "'"${cmake_doc_dir}"'" CACHE PATH "Install location for documentation (relative to prefix)." FORCE)
-SET (CMAKE_MAN_DIR "'"${cmake_man_dir}"'" CACHE PATH "Install location for man pages (relative to prefix)." FORCE)
-SET (CMAKE_DATA_DIR "'"${cmake_data_dir}"'" CACHE PATH "Install location for data (relative to prefix)." FORCE)
+set (CMAKE_INSTALL_PREFIX "'"${cmake_prefix_dir}"'" CACHE PATH "Install path prefix, prepended onto install directories." FORCE)
+set (CMAKE_DOC_DIR "'"${cmake_doc_dir}"'" CACHE PATH "Install location for documentation (relative to prefix)." FORCE)
+set (CMAKE_MAN_DIR "'"${cmake_man_dir}"'" CACHE PATH "Install location for man pages (relative to prefix)." FORCE)
+set (CMAKE_DATA_DIR "'"${cmake_data_dir}"'" CACHE PATH "Install location for data (relative to prefix)." FORCE)
' > "${cmake_bootstrap_dir}/InitialCacheFlags.cmake"
+# Suppress -isysroot if user-provided flags already have it.
+if echo "${cmake_c_flags}" | grep isysroot >/dev/null 2>&1 &&
+ echo "${cmake_cxx_flags}" | grep isysroot >/dev/null 2>&1; then
+ echo '
+set(CMAKE_OSX_SYSROOT "" CACHE PATH "" FORCE)
+' >> "${cmake_bootstrap_dir}/InitialCacheFlags.cmake"
+fi
+
# Add configuration settings given as command-line options.
if [ "x${cmake_bootstrap_qt_gui}" != "x" ]; then
echo '
-SET (BUILD_QtDialog '"${cmake_bootstrap_qt_gui}"' CACHE BOOL "Build Qt dialog for CMake" FORCE)
+set (BUILD_QtDialog '"${cmake_bootstrap_qt_gui}"' CACHE BOOL "Build Qt dialog for CMake" FORCE)
' >> "${cmake_bootstrap_dir}/InitialCacheFlags.cmake"
fi
if [ "x${cmake_bootstrap_qt_qmake}" != "x" ]; then
echo '
-SET (QT_QMAKE_EXECUTABLE "'"${cmake_bootstrap_qt_qmake}"'" CACHE FILEPATH "Location of Qt qmake" FORCE)
+set (QT_QMAKE_EXECUTABLE "'"${cmake_bootstrap_qt_qmake}"'" CACHE FILEPATH "Location of Qt qmake" FORCE)
' >> "${cmake_bootstrap_dir}/InitialCacheFlags.cmake"
fi
diff --git a/cmake_uninstall.cmake.in b/cmake_uninstall.cmake.in
index 03137d5af..7cd7fc1c9 100644
--- a/cmake_uninstall.cmake.in
+++ b/cmake_uninstall.cmake.in
@@ -1,22 +1,22 @@
-IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
- MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
-ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
+if(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
+ message(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
+endif()
-FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
-STRING(REGEX REPLACE "\n" ";" files "${files}")
-FOREACH(file ${files})
- MESSAGE(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
- IF(EXISTS "$ENV{DESTDIR}${file}")
- EXEC_PROGRAM(
+file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
+string(REGEX REPLACE "\n" ";" files "${files}")
+foreach(file ${files})
+ message(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
+ if(EXISTS "$ENV{DESTDIR}${file}")
+ exec_program(
"@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
OUTPUT_VARIABLE rm_out
RETURN_VALUE rm_retval
)
- IF("${rm_retval}" STREQUAL 0)
- ELSE("${rm_retval}" STREQUAL 0)
- MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
- ENDIF("${rm_retval}" STREQUAL 0)
- ELSE(EXISTS "$ENV{DESTDIR}${file}")
- MESSAGE(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.")
- ENDIF(EXISTS "$ENV{DESTDIR}${file}")
-ENDFOREACH(file)
+ if("${rm_retval}" STREQUAL 0)
+ else()
+ message(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
+ endif()
+ else()
+ message(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.")
+ endif()
+endforeach()
diff --git a/doxygen.config b/doxygen.config
index c22f2650d..82add731e 100644
--- a/doxygen.config
+++ b/doxygen.config
@@ -11,219 +11,219 @@
# General configuration options
#---------------------------------------------------------------------------
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
-# by quotes) that should identify the project.
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
+# by quotes) that should identify the project.
PROJECT_NAME = CMAKE
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
# if some version control system is used.
PROJECT_NUMBER = 0.0.1
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
# where doxygen was started. If left blank the current directory will be used.
OUTPUT_DIRECTORY = ./Doxygen
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese,
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Dutch, French, Italian, Czech, Swedish, German, Finnish, Japanese,
# Spanish and Russian
OUTPUT_LANGUAGE = English
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
-# top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it.
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
+# top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it.
DISABLE_INDEX = NO
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
EXTRACT_ALL = YES
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
EXTRACT_PRIVATE = NO
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
EXTRACT_STATIC = YES
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
HIDE_UNDOC_MEMBERS = NO
-# If the HIDE_UNDOC_CLASSESS tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these class will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
+# If the HIDE_UNDOC_CLASSESS tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these class will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
HIDE_UNDOC_CLASSES = NO
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
BRIEF_MEMBER_DESC = YES
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
REPEAT_BRIEF = YES
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
-# description.
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
ALWAYS_DETAILED_SEC = NO
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
FULL_PATH_NAMES = NO
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path.
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path.
-STRIP_FROM_PATH =
+STRIP_FROM_PATH =
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
INTERNAL_DOCS = NO
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a class diagram (in Html and LaTeX) for classes with base or
-# super classes. Setting the tag to NO turns the diagrams off.
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a class diagram (in Html and LaTeX) for classes with base or
+# super classes. Setting the tag to NO turns the diagrams off.
CLASS_DIAGRAMS = YES
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
SOURCE_BROWSER = YES
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
INLINE_SOURCES = NO
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
STRIP_CODE_COMMENTS = YES
-# If the CASE_SENSE_NAMES tag is set to NO (the default) then Doxygen
-# will only generate file names in lower case letters. If set to
-# YES upper case letters are also allowed. This is useful if you have
-# classes or files whose names only differ in case and if your file system
-# supports case sensitive file names.
+# If the CASE_SENSE_NAMES tag is set to NO (the default) then Doxygen
+# will only generate file names in lower case letters. If set to
+# YES upper case letters are also allowed. This is useful if you have
+# classes or files whose names only differ in case and if your file system
+# supports case sensitive file names.
CASE_SENSE_NAMES = YES
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-# will show members with their full class and namespace scopes in the
-# documentation. If set to YES the scope will be hidden.
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
HIDE_SCOPE_NAMES = NO
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
VERBATIM_HEADERS = YES
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put list of the files that are included by a file in the documentation
-# of that file.
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put list of the files that are included by a file in the documentation
+# of that file.
SHOW_INCLUDE_FILES = YES
-# If the JAVADOC_AUTOBRIEF tag is set to YES (the default) then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the Javadoc-style will
-# behave just like the Qt-style comments.
+# If the JAVADOC_AUTOBRIEF tag is set to YES (the default) then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the Javadoc-style will
+# behave just like the Qt-style comments.
JAVADOC_AUTOBRIEF = NO
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# reimplements.
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# reimplements.
INHERIT_DOCS = YES
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
INLINE_INFO = YES
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
SORT_MEMBER_DOCS = YES
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
TAB_SIZE = 8
-# The ENABLE_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
+# The ENABLE_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
-ENABLED_SECTIONS =
+ENABLED_SECTIONS =
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
QUIET = NO
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
WARNINGS = YES
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
-# automatically be disabled.
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
WARN_IF_UNDOCUMENTED = YES
-# The WARN_FORMAT tag determines the format of the warning messages that
-# doxygen can produce. The string should contain the $file, $line, and $text
-# tags, which will be replaced by the file and line number from which the
-# warning originated and the warning text.
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text.
WARN_FORMAT = "$file:$line: $text"
@@ -231,133 +231,133 @@ WARN_FORMAT = "$file:$line: $text"
# configuration options related to the input files
#---------------------------------------------------------------------------
-# The INPUT tag can be used to specify the files and/or directories that contain
-# documented source files. You may enter file names like "myfile.cpp" or
-# directories like "/usr/src/myproject". Separate the files or directories
-# with spaces.
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
INPUT = "Source"
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
FILE_PATTERNS = *.h *.txx *.cxx
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
RECURSIVE = YES
-# The EXCLUDE tag can be used to specify files and/or directories that should
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
+# The EXCLUDE tag can be used to specify files and/or directories that should
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
-EXCLUDE =
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories.
+EXCLUDE =
-EXCLUDE_PATTERNS =
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories.
-# The EXAMPLE_PATH tag can be used to specify one or more files or
-# directories that contain example code fragments that are included (see
-# the \include command).
+EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
+EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
-# The IMAGE_PATH tag can be used to specify one or more files or
-# directories that contain image that are included in the documentation (see
-# the \image command).
+EXAMPLE_PATTERNS =
-IMAGE_PATH =
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command <filter> <input-file>, where <filter>
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output.
+IMAGE_PATH =
-INPUT_FILTER =
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output.
+
+INPUT_FILTER =
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
ALPHABETICAL_INDEX = YES
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
COLS_IN_ALPHA_INDEX = 3
-# In case all classes in a project start with a common prefix, all
-# classes will be put under the same header in the alphabetical index.
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-# should be ignored while generating the index headers.
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
-IGNORE_PREFIX =
+IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output.
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
GENERATE_HTML = YES
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
HTML_OUTPUT = html
-# The HTML_HEADER tag can be used to specify a personal HTML header for
-# each generated HTML page. If it is left blank doxygen will generate a
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
# standard header.
-HTML_HEADER =
+HTML_HEADER =
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-# each generated HTML page. If it is left blank doxygen will generate a
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
# standard footer.
-HTML_FOOTER =
+HTML_FOOTER =
-# The HTML_STYLESHEET tag can be used to specify a user defined cascading
-# style sheet that is used by each HTML page. It can be used to
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet
+# The HTML_STYLESHEET tag can be used to specify a user defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet
-HTML_STYLESHEET =
+HTML_STYLESHEET =
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
HTML_ALIGN_MEMBERS = YES
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
-# of the generated HTML documentation.
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
+# of the generated HTML documentation.
GENERATE_HTMLHELP = NO
@@ -365,52 +365,52 @@ GENERATE_HTMLHELP = NO
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-# generate Latex output.
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
GENERATE_LATEX = YES
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
LATEX_OUTPUT = latex
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
COMPACT_LATEX = NO
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, a4wide, letter, legal and
-# executive. If left blank a4wide will be used.
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, a4wide, letter, legal and
+# executive. If left blank a4wide will be used.
PAPER_TYPE = a4wide
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
-EXTRA_PACKAGES =
+EXTRA_PACKAGES =
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a
-# standard header. Notice: only use this tag if you know what you are doing!
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
-LATEX_HEADER =
+LATEX_HEADER =
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
PDF_HYPERLINKS = NO
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-# command to the generated LaTeX files. This will instruct LaTeX to keep
-# running if errors occur, instead of asking the user for help.
-# This option is also used when generating formulas in HTML.
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
LATEX_BATCHMODE = NO
@@ -418,31 +418,31 @@ LATEX_BATCHMODE = NO
# configuration options related to the RTF output
#---------------------------------------------------------------------------
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-# For now this is experimental and is disabled by default. The RTF output
-# is optimised for Word 97 and may not look too pretty with other readers
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# For now this is experimental and is disabled by default. The RTF output
+# is optimised for Word 97 and may not look too pretty with other readers
# or editors.
GENERATE_RTF = YES
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `rtf' will be used as the default path.
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
RTF_OUTPUT = rtf
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-# RTF documents. This may be useful for small projects and may help to
-# save some trees in general.
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
COMPACT_RTF = NO
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-# will contain hyperlink fields. The RTF file will
-# contain links (just like the HTML output) instead of page references.
-# This makes the output suitable for online browsing using a WORD or other.
-# programs which support those fields.
-# Note: wordpad (write) and others do not support links.
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using a WORD or other.
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
RTF_HYPERLINKS = NO
@@ -450,54 +450,54 @@ RTF_HYPERLINKS = NO
# configuration options related to the man page output
#---------------------------------------------------------------------------
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-# generate man pages
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
GENERATE_MAN = YES
-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `man' will be used as the default path.
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
MAN_OUTPUT = man
-# The MAN_EXTENSION tag determines the extension that is added to
-# the generated man pages (default is the subroutine's section .3)
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
MAN_EXTENSION = .3
#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
+# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-# evaluate all C-preprocessor directives found in the sources and include
-# files.
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
ENABLE_PREPROCESSING = YES
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-# names in the source code. If set to NO (the default) only conditional
-# compilation will be performed.
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed.
MACRO_EXPANSION = YES
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
SEARCH_INCLUDES = NO
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by
-# the preprocessor.
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
-INCLUDE_PATH =
+INCLUDE_PATH =
-# The PREDEFINED tag can be used to specify one or more macro names that
-# are defined before the preprocessor is started (similar to the -D option of
-# gcc). The argument of the tag is a list of macros of the form: name
-# or name=definition (no spaces). If the definition and the = are
-# omitted =1 is assumed.
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed.
PREDEFINED = "itkNotUsed(x)="\
"itkSetMacro(name,type)= \
@@ -558,140 +558,140 @@ PREDEFINED = "itkNotUsed(x)="\
"ITK_NUMERIC_LIMITS= \
std::numeric_limits"
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-# then the macro expansion is limited to the macros specified with the
-# PREDEFINED tag.
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED tag.
EXPAND_ONLY_PREDEF = YES
#---------------------------------------------------------------------------
-# Configuration::addtions related to external references
+# Configuration::addtions related to external references
#---------------------------------------------------------------------------
-# The TAGFILES tag can be used to specify one or more tagfiles.
+# The TAGFILES tag can be used to specify one or more tagfiles.
-TAGFILES =
+TAGFILES =
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
-# a tag file that is based on the input files it reads.
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
-GENERATE_TAGFILE =
+GENERATE_TAGFILE =
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
-# in the class index. If set to NO only the inherited external classes
-# will be listed.
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
ALLEXTERNALS = NO
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of `which perl').
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
+# Configuration options related to the dot tool
#---------------------------------------------------------------------------
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz, a graph visualization
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section
-# have no effect if this option is set to NO (the default)
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
HAVE_DOT = YES
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect inheritance relations. Setting this tag to YES will force the
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
# the CLASS_DIAGRAMS tag to NO.
CLASS_GRAPH = YES
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect implementation dependencies (inheritance, containment, and
-# class references variables) of the class with other documented classes.
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
COLLABORATION_GRAPH = YES
-# If the ENABLE_PREPROCESSING, INCLUDE_GRAPH, and HAVE_DOT tags are set to
-# YES then doxygen will generate a graph for each documented file showing
-# the direct and indirect include dependencies of the file with other
-# documented files.
+# If the ENABLE_PREPROCESSING, INCLUDE_GRAPH, and HAVE_DOT tags are set to
+# YES then doxygen will generate a graph for each documented file showing
+# the direct and indirect include dependencies of the file with other
+# documented files.
INCLUDE_GRAPH = YES
-# If the ENABLE_PREPROCESSING, INCLUDED_BY_GRAPH, and HAVE_DOT tags are set to
-# YES then doxygen will generate a graph for each documented header file showing
-# the documented files that directly or indirectly include this file
+# If the ENABLE_PREPROCESSING, INCLUDED_BY_GRAPH, and HAVE_DOT tags are set to
+# YES then doxygen will generate a graph for each documented header file showing
+# the documented files that directly or indirectly include this file
INCLUDED_BY_GRAPH = YES
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
-# will graphical hierarchy of all classes instead of a textual one.
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will graphical hierarchy of all classes instead of a textual one.
GRAPHICAL_HIERARCHY = YES
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found on the path.
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found on the path.
DOT_PATH =
-# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than
-# this value, doxygen will try to truncate the graph, so that it fits within
-# the specified constraint. Beware that most browsers cannot cope with very
-# large images.
+# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than
+# this value, doxygen will try to truncate the graph, so that it fits within
+# the specified constraint. Beware that most browsers cannot cope with very
+# large images.
MAX_DOT_GRAPH_WIDTH = 1024
-# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than
-# this value, doxygen will try to truncate the graph, so that it fits within
-# the specified constraint. Beware that most browsers cannot cope with very
-# large images.
+# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
+# (in pixels) of the graphs generated by dot. If a graph becomes larger than
+# this value, doxygen will try to truncate the graph, so that it fits within
+# the specified constraint. Beware that most browsers cannot cope with very
+# large images.
MAX_DOT_GRAPH_HEIGHT = 1024
#---------------------------------------------------------------------------
-# Configuration::addtions related to the search engine
+# Configuration::addtions related to the search engine
#---------------------------------------------------------------------------
-# The SEARCHENGINE tag specifies whether or not a search engine should be
-# used. If set to NO the values of all tags below this one will be ignored.
+# The SEARCHENGINE tag specifies whether or not a search engine should be
+# used. If set to NO the values of all tags below this one will be ignored.
SEARCHENGINE = NO
-# The CGI_NAME tag should be the name of the CGI script that
-# starts the search engine (doxysearch) with the correct parameters.
-# A script with this name will be generated by doxygen.
+# The CGI_NAME tag should be the name of the CGI script that
+# starts the search engine (doxysearch) with the correct parameters.
+# A script with this name will be generated by doxygen.
CGI_NAME = search.cgi
-# The CGI_URL tag should be the absolute URL to the directory where the
-# cgi binaries are located. See the documentation of your http daemon for
-# details.
+# The CGI_URL tag should be the absolute URL to the directory where the
+# cgi binaries are located. See the documentation of your http daemon for
+# details.
-CGI_URL =
+CGI_URL =
-# The DOC_URL tag should be the absolute URL to the directory where the
-# documentation is located. If left blank the absolute path to the
-# documentation, with file:// prepended to it, will be used.
+# The DOC_URL tag should be the absolute URL to the directory where the
+# documentation is located. If left blank the absolute path to the
+# documentation, with file:// prepended to it, will be used.
-DOC_URL =
+DOC_URL =
-# The DOC_ABSPATH tag should be the absolute path to the directory where the
-# documentation is located. If left blank the directory on the local machine
-# will be used.
+# The DOC_ABSPATH tag should be the absolute path to the directory where the
+# documentation is located. If left blank the directory on the local machine
+# will be used.
-DOC_ABSPATH =
+DOC_ABSPATH =
-# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
-# is installed.
+# The BIN_ABSPATH tag must point to the directory where the doxysearch binary
+# is installed.
BIN_ABSPATH = /usr/local/bin/
-# The EXT_DOC_PATHS tag can be used to specify one or more paths to
-# documentation generated for other projects. This allows doxysearch to search
-# the documentation for these projects as well.
+# The EXT_DOC_PATHS tag can be used to specify one or more paths to
+# documentation generated for other projects. This allows doxysearch to search
+# the documentation for these projects as well.
-EXT_DOC_PATHS =
+EXT_DOC_PATHS =