12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091 |
- # Distributed under the OSI-approved BSD 3-Clause License. See accompanying
- # file Copyright.txt or https://cmake.org/licensing for details.
- include(CheckIncludeFile)
- # Check if we can build support for ELF parsing.
- if(CMAKE_CXX_PLATFORM_ID MATCHES "OpenBSD")
- CHECK_INCLUDE_FILES("stdint.h;elf_abi.h" HAVE_ELF_H)
- else()
- CHECK_INCLUDE_FILE("elf.h" HAVE_ELF_H)
- endif()
- if(HAVE_ELF_H)
- set(CMAKE_USE_ELF_PARSER 1)
- elseif(HAIKU)
- # On Haiku, we need to include elf32.h from the private headers
- set(CMake_HAIKU_INCLUDE_DIRS
- /boot/system/develop/headers/private/system
- /boot/system/develop/headers/private/system/arch/x86
- )
- set(CMAKE_REQUIRED_INCLUDES ${CMake_HAIKU_INCLUDE_DIRS})
- CHECK_INCLUDE_FILE("elf32.h" HAVE_ELF32_H)
- unset(CMAKE_REQUIRED_INCLUDES)
- if(HAVE_ELF32_H)
- set(CMAKE_USE_ELF_PARSER 1)
- else()
- unset(CMake_HAIKU_INCLUDE_DIRS)
- set(CMAKE_USE_ELF_PARSER)
- endif()
- else()
- set(CMAKE_USE_ELF_PARSER)
- endif()
- if(APPLE)
- set(CMAKE_USE_MACH_PARSER 1)
- endif()
- set(EXECUTABLE_OUTPUT_PATH ${CMake_BIN_DIR})
- if(WIN32)
- # ensure Unicode friendly APIs are used on Windows
- add_definitions(-DUNICODE -D_UNICODE)
- # minimize windows.h content
- add_definitions(-DWIN32_LEAN_AND_MEAN)
- endif()
- # configure the .dox.in file
- if(CMake_BUILD_DEVELOPER_REFERENCE)
- configure_file(
- "${CMake_SOURCE_DIR}/Source/dir.dox.in"
- "${CMake_BINARY_DIR}/Source/dir.dox"
- @ONLY
- )
- endif()
- # configure the .h file
- configure_file(
- "${CMake_SOURCE_DIR}/Source/cmConfigure.cmake.h.in"
- "${CMake_BINARY_DIR}/Source/cmConfigure.h"
- )
- configure_file(
- "${CMake_SOURCE_DIR}/Source/cmVersionConfig.h.in"
- "${CMake_BINARY_DIR}/Source/cmVersionConfig.h"
- )
- configure_file(
- "${CMake_SOURCE_DIR}/Source/CPack/cmCPackConfigure.h.in"
- "${CMake_BINARY_DIR}/Source/CPack/cmCPackConfigure.h"
- )
- # Tell CMake executable in the build tree where to find the source tree.
- configure_file(
- "${CMake_SOURCE_DIR}/Source/CMakeSourceDir.txt.in"
- "${CMake_BINARY_DIR}/CMakeFiles/CMakeSourceDir.txt" @ONLY
- )
- # add the include path to find the .h
- include_directories(
- "${CMake_BINARY_DIR}/Source"
- "${CMake_SOURCE_DIR}/Source"
- "${CMake_SOURCE_DIR}/Source/LexerParser"
- ${CMAKE_ZLIB_INCLUDES}
- ${CMAKE_EXPAT_INCLUDES}
- ${CMAKE_TAR_INCLUDES}
- ${CMAKE_COMPRESS_INCLUDES}
- ${CMake_HAIKU_INCLUDE_DIRS}
- )
- # let cmake know it is supposed to use it
- add_definitions(-DCMAKE_BUILD_WITH_CMAKE)
- # Check if we can build the ELF parser.
- if(CMAKE_USE_ELF_PARSER)
- set(ELF_SRCS cmELF.h cmELF.cxx)
- endif()
- # Check if we can build the Mach-O parser.
- if(CMAKE_USE_MACH_PARSER)
- set(MACH_SRCS cmMachO.h cmMachO.cxx)
- endif()
- #
- # Sources for CMakeLib
- #
- set(SRCS
- # Lexers/Parsers
- LexerParser/cmCommandArgumentLexer.cxx
- LexerParser/cmCommandArgumentLexer.h
- LexerParser/cmCommandArgumentLexer.in.l
- LexerParser/cmCommandArgumentParser.cxx
- LexerParser/cmCommandArgumentParserTokens.h
- LexerParser/cmCommandArgumentParser.y
- LexerParser/cmDependsJavaLexer.cxx
- LexerParser/cmDependsJavaLexer.h
- LexerParser/cmDependsJavaLexer.in.l
- LexerParser/cmDependsJavaParser.cxx
- LexerParser/cmDependsJavaParserTokens.h
- LexerParser/cmDependsJavaParser.y
- LexerParser/cmExprLexer.cxx
- LexerParser/cmExprLexer.h
- LexerParser/cmExprLexer.in.l
- LexerParser/cmExprParser.cxx
- LexerParser/cmExprParserTokens.h
- LexerParser/cmExprParser.y
- LexerParser/cmFortranLexer.cxx
- LexerParser/cmFortranLexer.h
- LexerParser/cmFortranLexer.in.l
- LexerParser/cmFortranParser.cxx
- LexerParser/cmFortranParserTokens.h
- LexerParser/cmFortranParser.y
- LexerParser/cmListFileLexer.c
- LexerParser/cmListFileLexer.in.l
- cmArchiveWrite.cxx
- cmBase32.cxx
- cmCacheManager.cxx
- cmCacheManager.h
- cmCLocaleEnvironmentScope.h
- cmCLocaleEnvironmentScope.cxx
- cmCommandArgumentParserHelper.cxx
- cmCommonTargetGenerator.cxx
- cmCommonTargetGenerator.h
- cmComputeComponentGraph.cxx
- cmComputeComponentGraph.h
- cmComputeLinkDepends.cxx
- cmComputeLinkDepends.h
- cmComputeLinkInformation.cxx
- cmComputeLinkInformation.h
- cmComputeTargetDepends.h
- cmComputeTargetDepends.cxx
- cmCPackPropertiesGenerator.h
- cmCPackPropertiesGenerator.cxx
- cmCryptoHash.cxx
- cmCryptoHash.h
- cmCurl.cxx
- cmCurl.h
- cmCustomCommand.cxx
- cmCustomCommand.h
- cmCustomCommandGenerator.cxx
- cmCustomCommandGenerator.h
- cmDefinitions.cxx
- cmDefinitions.h
- cmDepends.cxx
- cmDepends.h
- cmDependsC.cxx
- cmDependsC.h
- cmDependsFortran.cxx
- cmDependsFortran.h
- cmDependsJava.cxx
- cmDependsJava.h
- cmDependsJavaParserHelper.cxx
- cmDependsJavaParserHelper.h
- cmDocumentation.cxx
- cmDocumentationFormatter.cxx
- cmDocumentationSection.cxx
- cmDynamicLoader.cxx
- cmDynamicLoader.h
- ${ELF_SRCS}
- cmExprParserHelper.cxx
- cmExportBuildAndroidMKGenerator.h
- cmExportBuildAndroidMKGenerator.cxx
- cmExportBuildFileGenerator.h
- cmExportBuildFileGenerator.cxx
- cmExportFileGenerator.h
- cmExportFileGenerator.cxx
- cmExportInstallAndroidMKGenerator.h
- cmExportInstallAndroidMKGenerator.cxx
- cmExportInstallFileGenerator.h
- cmExportInstallFileGenerator.cxx
- cmExportTryCompileFileGenerator.h
- cmExportTryCompileFileGenerator.cxx
- cmExportSet.h
- cmExportSet.cxx
- cmExportSetMap.h
- cmExportSetMap.cxx
- cmExternalMakefileProjectGenerator.cxx
- cmExternalMakefileProjectGenerator.h
- cmExtraCodeBlocksGenerator.cxx
- cmExtraCodeBlocksGenerator.h
- cmExtraCodeLiteGenerator.cxx
- cmExtraCodeLiteGenerator.h
- cmExtraEclipseCDT4Generator.cxx
- cmExtraEclipseCDT4Generator.h
- cmExtraKateGenerator.cxx
- cmExtraKateGenerator.h
- cmExtraSublimeTextGenerator.cxx
- cmExtraSublimeTextGenerator.h
- cmFileLock.cxx
- cmFileLock.h
- cmFileLockPool.cxx
- cmFileLockPool.h
- cmFileLockResult.cxx
- cmFileLockResult.h
- cmFilePathChecksum.cxx
- cmFilePathChecksum.h
- cmFileTimeComparison.cxx
- cmFileTimeComparison.h
- cmFortranParserImpl.cxx
- cmFSPermissions.cxx
- cmFSPermissions.h
- cmGeneratedFileStream.cxx
- cmGeneratorExpressionContext.cxx
- cmGeneratorExpressionContext.h
- cmGeneratorExpressionDAGChecker.cxx
- cmGeneratorExpressionDAGChecker.h
- cmGeneratorExpressionEvaluationFile.cxx
- cmGeneratorExpressionEvaluationFile.h
- cmGeneratorExpressionEvaluator.cxx
- cmGeneratorExpressionEvaluator.h
- cmGeneratorExpressionLexer.cxx
- cmGeneratorExpressionLexer.h
- cmGeneratorExpressionNode.cxx
- cmGeneratorExpressionNode.h
- cmGeneratorExpressionParser.cxx
- cmGeneratorExpressionParser.h
- cmGeneratorExpression.cxx
- cmGeneratorExpression.h
- cmGeneratorTarget.cxx
- cmGeneratorTarget.h
- cmGlobalCommonGenerator.cxx
- cmGlobalCommonGenerator.h
- cmGlobalGenerator.cxx
- cmGlobalGenerator.h
- cmGlobalGeneratorFactory.h
- cmGlobalUnixMakefileGenerator3.cxx
- cmGlobalUnixMakefileGenerator3.h
- cmGraphAdjacencyList.h
- cmGraphVizWriter.cxx
- cmGraphVizWriter.h
- cmInstallGenerator.h
- cmInstallGenerator.cxx
- cmInstallExportGenerator.cxx
- cmInstalledFile.h
- cmInstalledFile.cxx
- cmInstallFilesGenerator.h
- cmInstallFilesGenerator.cxx
- cmInstallScriptGenerator.h
- cmInstallScriptGenerator.cxx
- cmInstallTargetGenerator.h
- cmInstallTargetGenerator.cxx
- cmInstallDirectoryGenerator.h
- cmInstallDirectoryGenerator.cxx
- cmLinkedTree.h
- cmLinkItem.h
- cmLinkLineComputer.cxx
- cmLinkLineComputer.h
- cmLinkLineDeviceComputer.cxx
- cmLinkLineDeviceComputer.h
- cmListFileCache.cxx
- cmListFileCache.h
- cmLocalCommonGenerator.cxx
- cmLocalCommonGenerator.h
- cmLocalGenerator.cxx
- cmLocalGenerator.h
- cmRulePlaceholderExpander.cxx
- cmRulePlaceholderExpander.h
- cmLocalUnixMakefileGenerator3.cxx
- cmLocale.h
- ${MACH_SRCS}
- cmMakefile.cxx
- cmMakefile.h
- cmMakefileTargetGenerator.cxx
- cmMakefileExecutableTargetGenerator.cxx
- cmMakefileLibraryTargetGenerator.cxx
- cmMakefileUtilityTargetGenerator.cxx
- cmMessenger.cxx
- cmMessenger.h
- cmMSVC60LinkLineComputer.cxx
- cmMSVC60LinkLineComputer.h
- cmOSXBundleGenerator.cxx
- cmOSXBundleGenerator.h
- cmOutputConverter.cxx
- cmOutputConverter.h
- cmNewLineStyle.h
- cmNewLineStyle.cxx
- cmOrderDirectories.cxx
- cmOrderDirectories.h
- cmPolicies.h
- cmPolicies.cxx
- cmProcessOutput.cxx
- cmProcessOutput.h
- cmProcessTools.cxx
- cmProcessTools.h
- cmProperty.cxx
- cmProperty.h
- cmPropertyDefinition.cxx
- cmPropertyDefinition.h
- cmPropertyDefinitionMap.cxx
- cmPropertyDefinitionMap.h
- cmPropertyMap.cxx
- cmPropertyMap.h
- cmQtAutoGen.cxx
- cmQtAutoGen.h
- cmQtAutoGenerator.cxx
- cmQtAutoGenerator.h
- cmQtAutoGenInitializer.cxx
- cmQtAutoGenInitializer.h
- cmQtAutoGeneratorMocUic.cxx
- cmQtAutoGeneratorMocUic.h
- cmQtAutoGeneratorRcc.cxx
- cmQtAutoGeneratorRcc.h
- cmRST.cxx
- cmRST.h
- cmScriptGenerator.h
- cmScriptGenerator.cxx
- cmSourceFile.cxx
- cmSourceFile.h
- cmSourceFileLocation.cxx
- cmSourceFileLocation.h
- cmSourceFileLocationKind.h
- cmSourceGroup.cxx
- cmSourceGroup.h
- cmState.cxx
- cmState.h
- cmStateDirectory.cxx
- cmStateDirectory.h
- cmStateSnapshot.cxx
- cmStateSnapshot.h
- cmStateTypes.h
- cmSystemTools.cxx
- cmSystemTools.h
- cmTarget.cxx
- cmTarget.h
- cmTargetPropertyComputer.cxx
- cmTargetPropertyComputer.h
- cmTargetExport.h
- cmTest.cxx
- cmTest.h
- cmTestGenerator.cxx
- cmTestGenerator.h
- cmUuid.cxx
- cmUVHandlePtr.cxx
- cmUVHandlePtr.h
- cmUVSignalHackRAII.h
- cmVariableWatch.cxx
- cmVariableWatch.h
- cmVersion.cxx
- cmVersion.h
- cmWorkingDirectory.cxx
- cmWorkingDirectory.h
- cmXMLParser.cxx
- cmXMLParser.h
- cmXMLSafe.cxx
- cmXMLSafe.h
- cmXMLWriter.cxx
- cmXMLWriter.h
- cmake.cxx
- cmake.h
- cmCommand.cxx
- cmCommand.h
- cmCommands.cxx
- cmCommands.h
- cmAddCompileOptionsCommand.cxx
- cmAddCompileOptionsCommand.h
- cmAddCustomCommandCommand.cxx
- cmAddCustomCommandCommand.h
- cmAddCustomTargetCommand.cxx
- cmAddCustomTargetCommand.h
- cmAddDefinitionsCommand.cxx
- cmAddDefinitionsCommand.h
- cmAddDependenciesCommand.cxx
- cmAddDependenciesCommand.h
- cmAddExecutableCommand.cxx
- cmAddExecutableCommand.h
- cmAddLibraryCommand.cxx
- cmAddLibraryCommand.h
- cmAddSubDirectoryCommand.cxx
- cmAddSubDirectoryCommand.h
- cmAddTestCommand.cxx
- cmAddTestCommand.h
- cmAuxSourceDirectoryCommand.cxx
- cmAuxSourceDirectoryCommand.h
- cmBreakCommand.cxx
- cmBreakCommand.h
- cmBuildCommand.cxx
- cmBuildCommand.h
- cmBuildNameCommand.cxx
- cmBuildNameCommand.h
- cmCMakeHostSystemInformationCommand.cxx
- cmCMakeHostSystemInformationCommand.h
- cmCMakeMinimumRequired.cxx
- cmCMakeMinimumRequired.h
- cmCMakePolicyCommand.cxx
- cmCMakePolicyCommand.h
- cmCommandArgumentsHelper.cxx
- cmCommandArgumentsHelper.h
- cmConditionEvaluator.cxx
- cmConditionEvaluator.h
- cmConfigureFileCommand.cxx
- cmConfigureFileCommand.h
- cmContinueCommand.cxx
- cmContinueCommand.h
- cmCoreTryCompile.cxx
- cmCoreTryCompile.h
- cmCreateTestSourceList.cxx
- cmCreateTestSourceList.h
- cmDefinePropertyCommand.cxx
- cmDefinePropertyCommand.h
- cmDisallowedCommand.cxx
- cmDisallowedCommand.h
- cmEnableLanguageCommand.cxx
- cmEnableLanguageCommand.h
- cmEnableTestingCommand.cxx
- cmEnableTestingCommand.h
- cmExecProgramCommand.cxx
- cmExecProgramCommand.h
- cmExecuteProcessCommand.cxx
- cmExecuteProcessCommand.h
- cmExpandedCommandArgument.cxx
- cmExpandedCommandArgument.h
- cmExportCommand.cxx
- cmExportCommand.h
- cmExportLibraryDependenciesCommand.cxx
- cmExportLibraryDependenciesCommand.h
- cmFLTKWrapUICommand.cxx
- cmFLTKWrapUICommand.h
- cmFileCommand.cxx
- cmFileCommand.h
- cmFindBase.cxx
- cmFindBase.h
- cmFindCommon.cxx
- cmFindCommon.h
- cmFindFileCommand.cxx
- cmFindFileCommand.h
- cmFindLibraryCommand.cxx
- cmFindLibraryCommand.h
- cmFindPackageCommand.cxx
- cmFindPackageCommand.h
- cmFindPathCommand.cxx
- cmFindPathCommand.h
- cmFindProgramCommand.cxx
- cmFindProgramCommand.h
- cmForEachCommand.cxx
- cmForEachCommand.h
- cmFunctionCommand.cxx
- cmFunctionCommand.h
- cmGetCMakePropertyCommand.cxx
- cmGetCMakePropertyCommand.h
- cmGetDirectoryPropertyCommand.cxx
- cmGetDirectoryPropertyCommand.h
- cmGetFilenameComponentCommand.cxx
- cmGetFilenameComponentCommand.h
- cmGetPropertyCommand.cxx
- cmGetPropertyCommand.h
- cmGetSourceFilePropertyCommand.cxx
- cmGetSourceFilePropertyCommand.h
- cmGetTargetPropertyCommand.cxx
- cmGetTargetPropertyCommand.h
- cmGetTestPropertyCommand.cxx
- cmGetTestPropertyCommand.h
- cmHexFileConverter.cxx
- cmHexFileConverter.h
- cmIfCommand.cxx
- cmIfCommand.h
- cmIncludeCommand.cxx
- cmIncludeCommand.h
- cmIncludeDirectoryCommand.cxx
- cmIncludeDirectoryCommand.h
- cmIncludeExternalMSProjectCommand.cxx
- cmIncludeExternalMSProjectCommand.h
- cmIncludeGuardCommand.cxx
- cmIncludeGuardCommand.h
- cmIncludeRegularExpressionCommand.cxx
- cmIncludeRegularExpressionCommand.h
- cmInstallCommand.cxx
- cmInstallCommand.h
- cmInstallCommandArguments.cxx
- cmInstallCommandArguments.h
- cmInstallFilesCommand.cxx
- cmInstallFilesCommand.h
- cmInstallProgramsCommand.cxx
- cmInstallProgramsCommand.h
- cmInstallTargetsCommand.cxx
- cmInstallTargetsCommand.h
- cmLinkDirectoriesCommand.cxx
- cmLinkDirectoriesCommand.h
- cmLinkLibrariesCommand.cxx
- cmLinkLibrariesCommand.h
- cmListCommand.cxx
- cmListCommand.h
- cmLoadCacheCommand.cxx
- cmLoadCacheCommand.h
- cmLoadCommandCommand.cxx
- cmLoadCommandCommand.h
- cmMacroCommand.cxx
- cmMacroCommand.h
- cmMakeDirectoryCommand.cxx
- cmMakeDirectoryCommand.h
- cmMarkAsAdvancedCommand.cxx
- cmMarkAsAdvancedCommand.h
- cmMathCommand.cxx
- cmMathCommand.h
- cmMessageCommand.cxx
- cmMessageCommand.h
- cmOptionCommand.cxx
- cmOptionCommand.h
- cmOutputRequiredFilesCommand.cxx
- cmOutputRequiredFilesCommand.h
- cmParseArgumentsCommand.cxx
- cmParseArgumentsCommand.h
- cmPathLabel.cxx
- cmPathLabel.h
- cmProjectCommand.cxx
- cmProjectCommand.h
- cmQTWrapCPPCommand.cxx
- cmQTWrapCPPCommand.h
- cmQTWrapUICommand.cxx
- cmQTWrapUICommand.h
- cmRemoveCommand.cxx
- cmRemoveCommand.h
- cmRemoveDefinitionsCommand.cxx
- cmRemoveDefinitionsCommand.h
- cmReturnCommand.cxx
- cmReturnCommand.h
- cmSearchPath.cxx
- cmSearchPath.h
- cmSeparateArgumentsCommand.cxx
- cmSeparateArgumentsCommand.h
- cmSetCommand.cxx
- cmSetCommand.h
- cmSetDirectoryPropertiesCommand.cxx
- cmSetDirectoryPropertiesCommand.h
- cmSetPropertyCommand.cxx
- cmSetPropertyCommand.h
- cmSetSourceFilesPropertiesCommand.cxx
- cmSetSourceFilesPropertiesCommand.h
- cmSetTargetPropertiesCommand.cxx
- cmSetTargetPropertiesCommand.h
- cmSetTestsPropertiesCommand.cxx
- cmSetTestsPropertiesCommand.h
- cmSiteNameCommand.cxx
- cmSiteNameCommand.h
- cmSourceGroupCommand.cxx
- cmSourceGroupCommand.h
- cmStringCommand.cxx
- cmStringCommand.h
- cmSubdirCommand.cxx
- cmSubdirCommand.h
- cmSubdirDependsCommand.cxx
- cmSubdirDependsCommand.h
- cmTargetCompileDefinitionsCommand.cxx
- cmTargetCompileDefinitionsCommand.h
- cmTargetCompileFeaturesCommand.cxx
- cmTargetCompileFeaturesCommand.h
- cmTargetCompileOptionsCommand.cxx
- cmTargetCompileOptionsCommand.h
- cmTargetIncludeDirectoriesCommand.cxx
- cmTargetIncludeDirectoriesCommand.h
- cmTargetLinkLibrariesCommand.cxx
- cmTargetLinkLibrariesCommand.h
- cmTargetPropCommandBase.cxx
- cmTargetPropCommandBase.h
- cmTargetSourcesCommand.cxx
- cmTargetSourcesCommand.h
- cmTimestamp.cxx
- cmTimestamp.h
- cmTryCompileCommand.cxx
- cmTryCompileCommand.h
- cmTryRunCommand.cxx
- cmTryRunCommand.h
- cmUnexpectedCommand.cxx
- cmUnexpectedCommand.h
- cmUnsetCommand.cxx
- cmUnsetCommand.h
- cmUseMangledMesaCommand.cxx
- cmUseMangledMesaCommand.h
- cmUtilitySourceCommand.cxx
- cmUtilitySourceCommand.h
- cmVariableRequiresCommand.cxx
- cmVariableRequiresCommand.h
- cmVariableWatchCommand.cxx
- cmVariableWatchCommand.h
- cmWhileCommand.cxx
- cmWhileCommand.h
- cmWriteFileCommand.cxx
- cmWriteFileCommand.h
- cm_get_date.h
- cm_get_date.c
- cm_utf8.h
- cm_utf8.c
- cm_codecvt.hxx
- cm_codecvt.cxx
- cm_thread.hxx
- cmDuration.h
- cmDuration.cxx
- )
- SET_PROPERTY(SOURCE cmProcessOutput.cxx APPEND PROPERTY COMPILE_DEFINITIONS
- KWSYS_ENCODING_DEFAULT_CODEPAGE=${KWSYS_ENCODING_DEFAULT_CODEPAGE})
- # Xcode only works on Apple
- if(APPLE)
- set(SRCS ${SRCS}
- cmXCodeObject.cxx
- cmXCode21Object.cxx
- cmXCodeScheme.cxx
- cmGlobalXCodeGenerator.cxx
- cmGlobalXCodeGenerator.h
- cmLocalXCodeGenerator.cxx
- cmLocalXCodeGenerator.h)
- endif()
- if (WIN32)
- set(SRCS ${SRCS}
- cmCallVisualStudioMacro.cxx
- cmCallVisualStudioMacro.h
- bindexplib.cxx
- )
- if(NOT UNIX)
- set(SRCS ${SRCS}
- cmGlobalBorlandMakefileGenerator.cxx
- cmGlobalBorlandMakefileGenerator.h
- cmGlobalMSYSMakefileGenerator.cxx
- cmGlobalMinGWMakefileGenerator.cxx
- cmGlobalNMakeMakefileGenerator.cxx
- cmGlobalNMakeMakefileGenerator.h
- cmGlobalJOMMakefileGenerator.cxx
- cmGlobalJOMMakefileGenerator.h
- cmGlobalVisualStudio71Generator.cxx
- cmGlobalVisualStudio71Generator.h
- cmGlobalVisualStudio7Generator.cxx
- cmGlobalVisualStudio7Generator.h
- cmGlobalVisualStudio8Generator.cxx
- cmGlobalVisualStudio8Generator.h
- cmGlobalVisualStudio9Generator.cxx
- cmGlobalVisualStudio9Generator.h
- cmVisualStudioGeneratorOptions.h
- cmVisualStudioGeneratorOptions.cxx
- cmVisualStudio10TargetGenerator.h
- cmVisualStudio10TargetGenerator.cxx
- cmVisualStudio10ToolsetOptions.h
- cmVisualStudio10ToolsetOptions.cxx
- cmLocalVisualStudio10Generator.cxx
- cmLocalVisualStudio10Generator.h
- cmGlobalVisualStudio10Generator.h
- cmGlobalVisualStudio10Generator.cxx
- cmGlobalVisualStudio11Generator.h
- cmGlobalVisualStudio11Generator.cxx
- cmGlobalVisualStudio12Generator.h
- cmGlobalVisualStudio12Generator.cxx
- cmGlobalVisualStudio14Generator.h
- cmGlobalVisualStudio14Generator.cxx
- cmGlobalVisualStudio15Generator.h
- cmGlobalVisualStudio15Generator.cxx
- cmGlobalVisualStudioGenerator.cxx
- cmGlobalVisualStudioGenerator.h
- cmIDEFlagTable.h
- cmIDEOptions.cxx
- cmIDEOptions.h
- cmLocalVisualStudio7Generator.cxx
- cmLocalVisualStudio7Generator.h
- cmLocalVisualStudioGenerator.cxx
- cmLocalVisualStudioGenerator.h
- cmVisualStudioSlnData.h
- cmVisualStudioSlnData.cxx
- cmVisualStudioSlnParser.h
- cmVisualStudioSlnParser.cxx
- cmVisualStudioWCEPlatformParser.h
- cmVisualStudioWCEPlatformParser.cxx
- cmGlobalGhsMultiGenerator.cxx
- cmGlobalGhsMultiGenerator.h
- cmLocalGhsMultiGenerator.cxx
- cmLocalGhsMultiGenerator.h
- cmGhsMultiTargetGenerator.cxx
- cmGhsMultiTargetGenerator.h
- cmGhsMultiGpj.cxx
- cmGhsMultiGpj.h
- cmVSSetupHelper.cxx
- cmVSSetupHelper.h
- )
- # Add a manifest file to executables on Windows to allow for
- # GetVersion to work properly on Windows 8 and above.
- set(MANIFEST_FILE ${CMAKE_CURRENT_SOURCE_DIR}/cmake.version.manifest)
- endif()
- endif ()
- # Watcom support
- if(WIN32 OR CMAKE_SYSTEM_NAME STREQUAL "Linux")
- set_property(SOURCE cmake.cxx APPEND PROPERTY COMPILE_DEFINITIONS CMAKE_USE_WMAKE)
- list(APPEND SRCS
- cmGlobalWatcomWMakeGenerator.cxx
- cmGlobalWatcomWMakeGenerator.h
- )
- endif()
- # Ninja support
- set(SRCS ${SRCS}
- cmGlobalNinjaGenerator.cxx
- cmGlobalNinjaGenerator.h
- cmNinjaTypes.h
- cmLocalNinjaGenerator.cxx
- cmLocalNinjaGenerator.h
- cmNinjaTargetGenerator.cxx
- cmNinjaTargetGenerator.h
- cmNinjaNormalTargetGenerator.cxx
- cmNinjaNormalTargetGenerator.h
- cmNinjaUtilityTargetGenerator.cxx
- cmNinjaUtilityTargetGenerator.h
- cmNinjaLinkLineComputer.cxx
- cmNinjaLinkLineComputer.h
- )
- # Temporary variable for tools targets
- set(_tools)
- if(WIN32 AND NOT CYGWIN)
- set_source_files_properties(cmcldeps.cxx PROPERTIES COMPILE_DEFINITIONS _WIN32_WINNT=0x0501)
- add_executable(cmcldeps cmcldeps.cxx ${MANIFEST_FILE})
- list(APPEND _tools cmcldeps)
- target_link_libraries(cmcldeps CMakeLib)
- endif()
- foreach(v CURL_CA_BUNDLE CURL_CA_PATH)
- if(${v})
- set_property(SOURCE cmCurl.cxx APPEND PROPERTY COMPILE_DEFINITIONS ${v}="${${v}}")
- endif()
- endforeach()
- foreach(check
- STAT_HAS_ST_MTIM
- STAT_HAS_ST_MTIMESPEC
- )
- if(KWSYS_CXX_${check}_COMPILED) # abuse KWSys check cache entry
- set(CMake_${check} 1)
- else()
- set(CMake_${check} 0)
- endif()
- set_property(SOURCE cmFileTimeComparison.cxx APPEND PROPERTY
- COMPILE_DEFINITIONS CMake_${check}=${CMake_${check}})
- endforeach()
- # create a library used by the command line and the GUI
- add_library(CMakeLib ${SRCS})
- target_link_libraries(CMakeLib cmsys
- ${CMAKE_EXPAT_LIBRARIES} ${CMAKE_ZLIB_LIBRARIES}
- ${CMAKE_TAR_LIBRARIES} ${CMAKE_COMPRESS_LIBRARIES}
- ${CMAKE_CURL_LIBRARIES}
- ${CMAKE_JSONCPP_LIBRARIES}
- ${CMAKE_LIBUV_LIBRARIES}
- ${CMAKE_LIBRHASH_LIBRARIES}
- ${CMake_KWIML_LIBRARIES}
- ${CMAKE_THREAD_LIBS_INIT}
- )
- if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR MATCHES "sparc")
- # the atomic instructions are implemented using libatomic on some platforms,
- # so linking to that may be required
- check_library_exists(atomic __atomic_fetch_add_4 "" LIBATOMIC_NEEDED)
- if(LIBATOMIC_NEEDED)
- target_link_libraries(CMakeLib atomic)
- endif()
- endif()
- # On Apple we need CoreFoundation
- if(APPLE)
- target_link_libraries(CMakeLib "-framework CoreFoundation")
- endif()
- if(WIN32 AND NOT UNIX)
- # We need the rpcrt4 library on Windows.
- # We need the crypt32 library on Windows for crypto/cert APIs.
- target_link_libraries(CMakeLib rpcrt4 crypt32)
- endif()
- target_compile_definitions(CMakeLib PUBLIC ${CLANG_TIDY_DEFINITIONS})
- #
- # CTestLib
- #
- include_directories(
- "${CMake_SOURCE_DIR}/Source/CTest"
- ${CMAKE_XMLRPC_INCLUDES}
- ${CMAKE_CURL_INCLUDES}
- )
- #
- # Sources for CTestLib
- #
- set(CTEST_SRCS cmCTest.cxx
- CTest/cmProcess.cxx
- CTest/cmCTestBuildAndTestHandler.cxx
- CTest/cmCTestBuildCommand.cxx
- CTest/cmCTestBuildHandler.cxx
- CTest/cmCTestConfigureCommand.cxx
- CTest/cmCTestConfigureHandler.cxx
- CTest/cmCTestCoverageCommand.cxx
- CTest/cmCTestCoverageHandler.cxx
- CTest/cmCTestCurl.cxx
- CTest/cmParseMumpsCoverage.cxx
- CTest/cmParseCacheCoverage.cxx
- CTest/cmParseGTMCoverage.cxx
- CTest/cmParseJacocoCoverage.cxx
- CTest/cmParseBlanketJSCoverage.cxx
- CTest/cmParsePHPCoverage.cxx
- CTest/cmParseCoberturaCoverage.cxx
- CTest/cmParseDelphiCoverage.cxx
- CTest/cmCTestEmptyBinaryDirectoryCommand.cxx
- CTest/cmCTestGenericHandler.cxx
- CTest/cmCTestHandlerCommand.cxx
- CTest/cmCTestLaunch.cxx
- CTest/cmCTestMemCheckCommand.cxx
- CTest/cmCTestMemCheckHandler.cxx
- CTest/cmCTestMultiProcessHandler.cxx
- CTest/cmCTestReadCustomFilesCommand.cxx
- CTest/cmCTestRunScriptCommand.cxx
- CTest/cmCTestRunTest.cxx
- CTest/cmCTestScriptHandler.cxx
- CTest/cmCTestSleepCommand.cxx
- CTest/cmCTestStartCommand.cxx
- CTest/cmCTestSubmitCommand.cxx
- CTest/cmCTestSubmitHandler.cxx
- CTest/cmCTestTestCommand.cxx
- CTest/cmCTestTestHandler.cxx
- CTest/cmCTestUpdateCommand.cxx
- CTest/cmCTestUpdateHandler.cxx
- CTest/cmCTestUploadCommand.cxx
- CTest/cmCTestUploadHandler.cxx
- CTest/cmCTestVC.cxx
- CTest/cmCTestVC.h
- CTest/cmCTestGlobalVC.cxx
- CTest/cmCTestGlobalVC.h
- CTest/cmCTestCVS.cxx
- CTest/cmCTestCVS.h
- CTest/cmCTestSVN.cxx
- CTest/cmCTestSVN.h
- CTest/cmCTestBZR.cxx
- CTest/cmCTestBZR.h
- CTest/cmCTestGIT.cxx
- CTest/cmCTestGIT.h
- CTest/cmCTestHG.cxx
- CTest/cmCTestHG.h
- CTest/cmCTestP4.cxx
- CTest/cmCTestP4.h
- )
- # Build CTestLib
- add_library(CTestLib ${CTEST_SRCS})
- target_link_libraries(CTestLib CMakeLib ${CMAKE_CURL_LIBRARIES} ${CMAKE_XMLRPC_LIBRARIES})
- #
- # CPack
- #
- include_directories(
- "${CMake_SOURCE_DIR}/Source/CPack"
- )
- #
- # Sources for CPack
- #
- set(CPACK_SRCS
- CPack/cmCPackArchiveGenerator.cxx
- CPack/cmCPackComponentGroup.cxx
- CPack/cmCPackGeneratorFactory.cxx
- CPack/cmCPackGenerator.cxx
- CPack/cmCPackLog.cxx
- CPack/cmCPackNSISGenerator.cxx
- CPack/cmCPackSTGZGenerator.cxx
- CPack/cmCPackTGZGenerator.cxx
- CPack/cmCPackTXZGenerator.cxx
- CPack/cmCPackTarBZip2Generator.cxx
- CPack/cmCPackTarCompressGenerator.cxx
- CPack/cmCPackZIPGenerator.cxx
- CPack/cmCPack7zGenerator.cxx
- CPack/cmCPackDebGenerator.cxx
- )
- # CPack IFW generator
- set(CPACK_SRCS ${CPACK_SRCS}
- CPack/IFW/cmCPackIFWCommon.cxx
- CPack/IFW/cmCPackIFWCommon.h
- CPack/IFW/cmCPackIFWGenerator.cxx
- CPack/IFW/cmCPackIFWGenerator.h
- CPack/IFW/cmCPackIFWInstaller.cxx
- CPack/IFW/cmCPackIFWInstaller.h
- CPack/IFW/cmCPackIFWPackage.cxx
- CPack/IFW/cmCPackIFWPackage.h
- CPack/IFW/cmCPackIFWRepository.cxx
- CPack/IFW/cmCPackIFWRepository.h
- )
- if(CYGWIN)
- set(CPACK_SRCS ${CPACK_SRCS}
- CPack/cmCPackCygwinBinaryGenerator.cxx
- CPack/cmCPackCygwinSourceGenerator.cxx
- )
- endif()
- option(CPACK_ENABLE_FREEBSD_PKG "Add FreeBSD pkg(8) generator to CPack." OFF)
- if(UNIX)
- set(CPACK_SRCS ${CPACK_SRCS}
- CPack/cmCPackRPMGenerator.cxx
- )
- # Optionally, try to use pkg(8)
- if(CPACK_ENABLE_FREEBSD_PKG)
- # On UNIX, you may find FreeBSD's pkg(8) and attendant
- # library -- it can be used on FreeBSD, Dragonfly, NetBSD,
- # OpenBSD and also Linux and OSX. Look for the header and
- # the library; it's a warning on FreeBSD if they're not
- # found, and informational on other platforms.
- find_path(FREEBSD_PKG_INCLUDE_DIRS "pkg.h")
- if(FREEBSD_PKG_INCLUDE_DIRS)
- find_library(FREEBSD_PKG_LIBRARIES
- pkg
- DOC "FreeBSD pkg(8) library")
- if(FREEBSD_PKG_LIBRARIES)
- set(CPACK_SRCS ${CPACK_SRCS}
- CPack/cmCPackFreeBSDGenerator.cxx
- )
- endif()
- endif()
- if (NOT FREEBSD_PKG_INCLUDE_DIRS OR NOT FREEBSD_PKG_LIBRARIES)
- message(FATAL_ERROR "CPack needs libpkg(3) to produce FreeBSD packages natively.")
- endif()
- else()
- set(FREEBSD_PKG_INCLUDE_DIRS NOTFOUND)
- set(FREEBSD_PKG_LIBRARIES NOTFOUND)
- endif()
- endif()
- if(CYGWIN)
- find_package(LibUUID)
- endif()
- if(WIN32 OR (CYGWIN AND LibUUID_FOUND))
- set(CPACK_SRCS ${CPACK_SRCS}
- CPack/Wix/cmCMakeToWixPath.cxx
- CPack/Wix/cmCMakeToWixPath.h
- CPack/WiX/cmCPackWIXGenerator.cxx
- CPack/WiX/cmCPackWIXGenerator.h
- CPack/WiX/cmWIXAccessControlList.cxx
- CPack/WiX/cmWIXAccessControlList.h
- CPack/WiX/cmWIXDirectoriesSourceWriter.cxx
- CPack/WiX/cmWIXDirectoriesSourceWriter.h
- CPack/WiX/cmWIXFeaturesSourceWriter.cxx
- CPack/WiX/cmWIXFeaturesSourceWriter.h
- CPack/WiX/cmWIXFilesSourceWriter.cxx
- CPack/WiX/cmWIXFilesSourceWriter.h
- CPack/WiX/cmWIXPatch.cxx
- CPack/WiX/cmWIXPatch.h
- CPack/WiX/cmWIXPatchParser.cxx
- CPack/WiX/cmWIXPatchParser.h
- CPack/WiX/cmWIXRichTextFormatWriter.cxx
- CPack/WiX/cmWIXRichTextFormatWriter.h
- CPack/WiX/cmWIXShortcut.cxx
- CPack/WiX/cmWIXShortcut.h
- CPack/WiX/cmWIXSourceWriter.cxx
- CPack/WiX/cmWIXSourceWriter.h
- )
- endif()
- if(APPLE)
- set(CPACK_SRCS ${CPACK_SRCS}
- CPack/cmCPackBundleGenerator.cxx
- CPack/cmCPackDragNDropGenerator.cxx
- CPack/cmCPackOSXX11Generator.cxx
- CPack/cmCPackPKGGenerator.cxx
- CPack/cmCPackPackageMakerGenerator.cxx
- CPack/cmCPackProductBuildGenerator.cxx
- )
- endif()
- # Build CPackLib
- add_library(CPackLib ${CPACK_SRCS})
- target_link_libraries(CPackLib CMakeLib)
- if(APPLE)
- # Some compilers produce errors in the CoreServices framework headers.
- # Ideally such errors should be fixed by either the compiler vendor
- # or the framework source, but we try to workaround it and build anyway.
- # If it does not work, build with reduced functionality and warn.
- check_include_file("CoreServices/CoreServices.h" HAVE_CoreServices)
- if(HAVE_CoreServices)
- set_property(SOURCE CPack/cmCPackDragNDropGenerator.cxx PROPERTY COMPILE_DEFINITIONS HAVE_CoreServices)
- target_link_libraries(CPackLib "-framework CoreServices")
- else()
- message(WARNING "This compiler does not appear to support\n"
- " #include <CoreServices/CoreServices.h>\n"
- "Some CPack functionality may be limited.\n"
- "See CMakeFiles/CMakeError.log for details of the failure.")
- endif()
- endif()
- if(CYGWIN AND LibUUID_FOUND)
- target_link_libraries(CPackLib ${LibUUID_LIBRARIES})
- include_directories(CPackLib ${LibUUID_INCLUDE_DIRS})
- set_property(SOURCE CPack/cmCPackGeneratorFactory.cxx PROPERTY COMPILE_DEFINITIONS HAVE_LIBUUID)
- endif()
- if(CPACK_ENABLE_FREEBSD_PKG AND FREEBSD_PKG_INCLUDE_DIRS AND FREEBSD_PKG_LIBRARIES)
- target_link_libraries(CPackLib ${FREEBSD_PKG_LIBRARIES})
- include_directories(${FREEBSD_PKG_INCLUDE_DIRS})
- add_definitions(-DHAVE_FREEBSD_PKG)
- endif()
- if(APPLE)
- add_executable(cmakexbuild cmakexbuild.cxx)
- list(APPEND _tools cmakexbuild)
- target_link_libraries(cmakexbuild CMakeLib)
- add_executable(OSXScriptLauncher
- CPack/OSXScriptLauncher.cxx)
- target_link_libraries(OSXScriptLauncher cmsys)
- target_link_libraries(OSXScriptLauncher "-framework CoreFoundation")
- endif()
- # Build CMake executable
- add_executable(cmake cmakemain.cxx cmcmd.cxx cmcmd.h ${MANIFEST_FILE})
- list(APPEND _tools cmake)
- target_link_libraries(cmake CMakeLib)
- add_library(CMakeServerLib
- cmConnection.h cmConnection.cxx
- cmFileMonitor.cxx cmFileMonitor.h
- cmPipeConnection.cxx cmPipeConnection.h
- cmServer.cxx cmServer.h
- cmServerConnection.cxx cmServerConnection.h
- cmServerProtocol.cxx cmServerProtocol.h
- )
- target_link_libraries(CMakeServerLib CMakeLib)
- target_link_libraries(cmake CMakeServerLib)
- # Build CTest executable
- add_executable(ctest ctest.cxx ${MANIFEST_FILE})
- list(APPEND _tools ctest)
- target_link_libraries(ctest CTestLib)
- # Build CPack executable
- add_executable(cpack CPack/cpack.cxx ${MANIFEST_FILE})
- list(APPEND _tools cpack)
- target_link_libraries(cpack CPackLib)
- # Curses GUI
- 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)
- add_subdirectory(QtDialog)
- endif()
- include (${CMake_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
- include (${CMake_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
- if(WIN32)
- # Add Windows executable version information.
- configure_file("CMakeVersion.rc.in" "CMakeVersion.rc" @ONLY)
- # We use a separate object library for this to work around a limitation of
- # MinGW's windres tool with spaces in the path to the include directories.
- add_library(CMakeVersion OBJECT "${CMAKE_CURRENT_BINARY_DIR}/CMakeVersion.rc")
- set_property(TARGET CMakeVersion PROPERTY INCLUDE_DIRECTORIES "")
- foreach(_tool ${_tools})
- target_sources(${_tool} PRIVATE $<TARGET_OBJECTS:CMakeVersion>)
- endforeach()
- endif()
- # Install tools
- foreach(_tool ${_tools})
- CMake_OPTIONAL_COMPONENT(${_tool})
- install(TARGETS ${_tool} DESTINATION ${CMAKE_BIN_DIR} ${COMPONENT})
- endforeach()
- install(FILES cmCPluginAPI.h DESTINATION ${CMAKE_DATA_DIR}/include)
- # Unset temporary variables
- unset(_tools)
|