| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380 |
- # Distributed under the OSI-approved BSD 3-Clause License. See accompanying
- # file LICENSE.rst or https://cmake.org/licensing for details.
- # To ensure maximum portability across various compilers and platforms
- # deactivate any compiler extensions. Skip this for QNX, where additional
- # work is needed to build without compiler extensions.
- if(NOT CMAKE_SYSTEM_NAME STREQUAL "QNX")
- set(CMAKE_C_EXTENSIONS FALSE)
- set(CMAKE_CXX_EXTENSIONS FALSE)
- endif()
- include(CheckIncludeFile)
- if(APPLE)
- set(CMake_USE_MACH_PARSER 1)
- endif()
- if(CMAKE_SYSTEM_NAME STREQUAL "AIX")
- set(CMake_USE_XCOFF_PARSER 1)
- endif()
- # Watcom support
- if(WIN32 OR CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "Darwin")
- set(CMAKE_USE_WMAKE 1)
- endif()
- set(CMake_STAT_HAS_ST_MTIM ${KWSYS_CXX_STAT_HAS_ST_MTIM_COMPILED})
- set(CMake_STAT_HAS_ST_MTIMESPEC ${KWSYS_CXX_STAT_HAS_ST_MTIMESPEC_COMPILED})
- set(EXECUTABLE_OUTPUT_PATH ${CMake_BIN_DIR})
- if(WIN32)
- # ensure Unicode friendly APIs are used on Windows
- add_compile_definitions(UNICODE _UNICODE)
- # minimize windows.h content
- add_compile_definitions(WIN32_LEAN_AND_MEAN)
- endif()
- # configure the .dox.in file
- if(CMake_BUILD_DEVELOPER_REFERENCE)
- configure_file(dir.dox.in dir.dox @ONLY)
- endif()
- # configure the .h file
- configure_file(cmConfigure.cmake.h.in cmConfigure.h)
- configure_file(cmVersionConfig.h.in cmVersionConfig.h)
- # Tell CMake executable in the build tree where to find the source tree.
- configure_file(
- CMakeSourceDir.txt.in
- "${CMake_BINARY_DIR}/CMakeFiles/CMakeSourceDir.txt"
- @ONLY
- )
- # Add a dummy library and add sources later depends on condition
- add_library(ManifestLib INTERFACE)
- #
- # create a library used by the command line and the GUI
- #
- add_library(
- CMakeLib
- # Lexers/Parsers
- 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/cmGccDepfileLexer.cxx
- LexerParser/cmGccDepfileLexer.h
- LexerParser/cmGccDepfileLexer.in.l
- LexerParser/cmListFileLexer.c
- LexerParser/cmListFileLexer.in.l
- cmAffinity.cxx
- cmAffinity.h
- cmAlgorithms.h
- cmArchiveWrite.cxx
- cmArgumentParser.cxx
- cmArgumentParser.h
- cmBase32.cxx
- cmBinUtilsLinker.cxx
- cmBinUtilsLinker.h
- cmBinUtilsLinuxELFGetRuntimeDependenciesTool.cxx
- cmBinUtilsLinuxELFGetRuntimeDependenciesTool.h
- cmBinUtilsLinuxELFLinker.cxx
- cmBinUtilsLinuxELFLinker.h
- cmBinUtilsLinuxELFObjdumpGetRuntimeDependenciesTool.cxx
- cmBinUtilsLinuxELFObjdumpGetRuntimeDependenciesTool.h
- cmBinUtilsMacOSMachOGetRuntimeDependenciesTool.cxx
- cmBinUtilsMacOSMachOGetRuntimeDependenciesTool.h
- cmBinUtilsMacOSMachOLinker.cxx
- cmBinUtilsMacOSMachOLinker.h
- cmBinUtilsMacOSMachOOToolGetRuntimeDependenciesTool.cxx
- cmBinUtilsMacOSMachOOToolGetRuntimeDependenciesTool.h
- cmBinUtilsWindowsPEDumpbinGetRuntimeDependenciesTool.cxx
- cmBinUtilsWindowsPEDumpbinGetRuntimeDependenciesTool.h
- cmBinUtilsWindowsPEGetRuntimeDependenciesTool.cxx
- cmBinUtilsWindowsPEGetRuntimeDependenciesTool.h
- cmBinUtilsWindowsPELinker.cxx
- cmBinUtilsWindowsPELinker.h
- cmBinUtilsWindowsPEObjdumpGetRuntimeDependenciesTool.cxx
- cmBinUtilsWindowsPEObjdumpGetRuntimeDependenciesTool.h
- cmBuildDatabase.cxx
- cmBuildDatabase.h
- cmBuildOptions.h
- cmCacheManager.cxx
- cmCacheManager.h
- cmCLocaleEnvironmentScope.h
- cmCLocaleEnvironmentScope.cxx
- cmCMakePath.h
- cmCMakePath.cxx
- cmCMakePresetsErrors.cxx
- cmCMakePresetsErrors.h
- cmCMakePresetsGraph.cxx
- cmCMakePresetsGraph.h
- cmCMakePresetsGraphInternal.h
- cmCMakePresetsGraphReadJSON.cxx
- cmCMakePresetsGraphReadJSONBuildPresets.cxx
- cmCMakePresetsGraphReadJSONConfigurePresets.cxx
- cmCMakePresetsGraphReadJSONPackagePresets.cxx
- cmCMakePresetsGraphReadJSONTestPresets.cxx
- cmCMakePresetsGraphReadJSONWorkflowPresets.cxx
- cmCommandLineArgument.h
- cmCommonTargetGenerator.cxx
- cmCommonTargetGenerator.h
- cmComputeComponentGraph.cxx
- cmComputeComponentGraph.h
- cmComputeLinkDepends.cxx
- cmComputeLinkDepends.h
- cmComputeLinkInformation.cxx
- cmComputeLinkInformation.h
- cmComputeTargetDepends.h
- cmComputeTargetDepends.cxx
- cmConfigureLog.h
- cmConfigureLog.cxx
- cmConsoleBuf.h
- cmConsoleBuf.cxx
- cmConstStack.h
- cmConstStack.tcc
- cmCPackPropertiesGenerator.h
- cmCPackPropertiesGenerator.cxx
- cmCryptoHash.cxx
- cmCryptoHash.h
- cmCurl.cxx
- cmCurl.h
- cmCustomCommand.cxx
- cmCustomCommand.h
- cmCustomCommandGenerator.cxx
- cmCustomCommandGenerator.h
- cmCustomCommandLines.cxx
- cmCustomCommandLines.h
- cmCustomCommandTypes.h
- cmCxxModuleMapper.cxx
- cmCxxModuleMapper.h
- cmCxxModuleUsageEffects.cxx
- cmCxxModuleUsageEffects.h
- cmDefinitions.cxx
- cmDefinitions.h
- cmDependencyProvider.h
- cmDepends.cxx
- cmDepends.h
- cmDependsC.cxx
- cmDependsC.h
- cmDependsFortran.cxx
- cmDependsFortran.h
- cmDependsJava.cxx
- cmDependsJava.h
- cmDependsJavaParserHelper.cxx
- cmDependsJavaParserHelper.h
- cmDependsCompiler.cxx
- cmDependsCompiler.h
- cmDocumentation.cxx
- cmDocumentationFormatter.cxx
- cmDyndepCollation.cxx
- cmDyndepCollation.h
- cmELF.h
- cmELF.cxx
- cmEvaluatedTargetProperty.cxx
- cmEvaluatedTargetProperty.h
- cmExprParserHelper.cxx
- cmExportAndroidMKGenerator.h
- cmExportAndroidMKGenerator.cxx
- cmExportBuildAndroidMKGenerator.h
- cmExportBuildAndroidMKGenerator.cxx
- cmExportBuildCMakeConfigGenerator.h
- cmExportBuildCMakeConfigGenerator.cxx
- cmExportBuildFileGenerator.h
- cmExportBuildFileGenerator.cxx
- cmExportBuildPackageInfoGenerator.h
- cmExportBuildPackageInfoGenerator.cxx
- cmExportCMakeConfigGenerator.h
- cmExportCMakeConfigGenerator.cxx
- cmExportFileGenerator.h
- cmExportFileGenerator.cxx
- cmExportInstallAndroidMKGenerator.h
- cmExportInstallAndroidMKGenerator.cxx
- cmExportInstallCMakeConfigGenerator.h
- cmExportInstallCMakeConfigGenerator.cxx
- cmExportInstallFileGenerator.h
- cmExportInstallFileGenerator.cxx
- cmExportInstallPackageInfoGenerator.h
- cmExportInstallPackageInfoGenerator.cxx
- cmExportPackageInfoGenerator.h
- cmExportPackageInfoGenerator.cxx
- cmExportTryCompileFileGenerator.h
- cmExportTryCompileFileGenerator.cxx
- cmExportSet.h
- cmExportSet.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
- cmFileAPI.cxx
- cmFileAPI.h
- cmFileAPICache.cxx
- cmFileAPICache.h
- cmFileAPICodemodel.cxx
- cmFileAPICodemodel.h
- cmFileAPIConfigureLog.cxx
- cmFileAPIConfigureLog.h
- cmFileAPICMakeFiles.cxx
- cmFileAPICMakeFiles.h
- cmFileAPICommand.cxx
- cmFileAPICommand.h
- cmFileAPIToolchains.cxx
- cmFileAPIToolchains.h
- cmFileCopier.cxx
- cmFileCopier.h
- cmFileInstaller.cxx
- cmFileInstaller.h
- cmFileLock.cxx
- cmFileLock.h
- cmFileLockPool.cxx
- cmFileLockPool.h
- cmFileLockResult.cxx
- cmFileLockResult.h
- cmFilePathChecksum.cxx
- cmFilePathChecksum.h
- cmFileSet.cxx
- cmFileSet.h
- cmFileTime.cxx
- cmFileTime.h
- cmFileTimeCache.cxx
- cmFileTimeCache.h
- cmFileTimes.cxx
- cmFileTimes.h
- cmFortranParserImpl.cxx
- cmFSPermissions.cxx
- cmFSPermissions.h
- cmGccDepfileLexerHelper.cxx
- cmGccDepfileLexerHelper.h
- cmGccDepfileReader.cxx
- cmGccDepfileReader.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
- cmGeneratorTarget_CompatibleInterface.cxx
- cmGeneratorTarget_IncludeDirectories.cxx
- cmGeneratorTarget_Link.cxx
- cmGeneratorTarget_LinkDirectories.cxx
- cmGeneratorTarget_Options.cxx
- cmGeneratorTarget_Sources.cxx
- cmGeneratorTarget_TargetPropertyEntry.cxx
- cmGeneratorTarget_TransitiveProperty.cxx
- cmLinkItemGraphVisitor.cxx
- cmLinkItemGraphVisitor.h
- cmGetPipes.cxx
- cmGetPipes.h
- cmGlobalCommonGenerator.cxx
- cmGlobalCommonGenerator.h
- cmGlobalGenerator.cxx
- cmGlobalGenerator.h
- cmGlobalGeneratorFactory.h
- cmGlobalUnixMakefileGenerator3.cxx
- cmGlobalUnixMakefileGenerator3.h
- cmGlobVerificationManager.cxx
- cmGlobVerificationManager.h
- cmGraphAdjacencyList.h
- cmGraphVizWriter.cxx
- cmGraphVizWriter.h
- cmImportedCxxModuleInfo.cxx
- cmImportedCxxModuleInfo.h
- cmInstallAndroidMKExportGenerator.cxx
- cmInstallAndroidMKExportGenerator.h
- cmInstallCMakeConfigExportGenerator.cxx
- cmInstallCMakeConfigExportGenerator.h
- cmInstallGenerator.h
- cmInstallGenerator.cxx
- cmInstallGetRuntimeDependenciesGenerator.h
- cmInstallGetRuntimeDependenciesGenerator.cxx
- cmInstallExportGenerator.cxx
- cmInstalledFile.h
- cmInstalledFile.cxx
- cmInstallFileSetGenerator.h
- cmInstallFileSetGenerator.cxx
- cmInstallFilesGenerator.h
- cmInstallFilesGenerator.cxx
- cmInstallImportedRuntimeArtifactsGenerator.h
- cmInstallImportedRuntimeArtifactsGenerator.cxx
- cmInstallPackageInfoExportGenerator.h
- cmInstallPackageInfoExportGenerator.cxx
- cmInstallRuntimeDependencySet.h
- cmInstallRuntimeDependencySet.cxx
- cmInstallRuntimeDependencySetGenerator.h
- cmInstallRuntimeDependencySetGenerator.cxx
- cmInstallScriptGenerator.h
- cmInstallScriptGenerator.cxx
- cmInstallSubdirectoryGenerator.h
- cmInstallSubdirectoryGenerator.cxx
- cmInstallTargetGenerator.h
- cmInstallTargetGenerator.cxx
- cmInstallDirectoryGenerator.h
- cmInstallDirectoryGenerator.cxx
- cmInstallScriptHandler.h
- cmInstallScriptHandler.cxx
- cmInstrumentation.h
- cmInstrumentation.cxx
- cmInstrumentationCommand.h
- cmInstrumentationCommand.cxx
- cmInstrumentationQuery.h
- cmInstrumentationQuery.cxx
- cmJSONHelpers.cxx
- cmJSONHelpers.h
- cmJSONState.cxx
- cmJSONState.h
- cmLDConfigLDConfigTool.cxx
- cmLDConfigLDConfigTool.h
- cmLDConfigTool.cxx
- cmLDConfigTool.h
- cmLinkedTree.h
- cmLinkItem.cxx
- cmLinkItem.h
- cmLinkLineComputer.cxx
- cmLinkLineComputer.h
- cmLinkLineDeviceComputer.cxx
- cmLinkLineDeviceComputer.h
- cmList.h
- cmList.cxx
- cmListFileCache.cxx
- cmListFileCache.h
- cmLocalCommonGenerator.cxx
- cmLocalCommonGenerator.h
- cmLocalGenerator.cxx
- cmLocalGenerator.h
- cmPkgConfigParser.cxx
- cmPkgConfigParser.h
- cmPkgConfigResolver.cxx
- cmPkgConfigResolver.h
- cmPlaceholderExpander.cxx
- cmPlaceholderExpander.h
- cmRulePlaceholderExpander.cxx
- cmRulePlaceholderExpander.h
- cmLocalUnixMakefileGenerator3.cxx
- cmLocale.h
- cmMakefile.cxx
- cmMakefile.h
- cmMakefileTargetGenerator.cxx
- cmMakefileExecutableTargetGenerator.cxx
- cmMakefileLibraryTargetGenerator.cxx
- cmMakefileProfilingData.cxx
- cmMakefileUtilityTargetGenerator.cxx
- cmMessageType.h
- cmMessenger.cxx
- cmMessenger.h
- cmMSVC60LinkLineComputer.cxx
- cmMSVC60LinkLineComputer.h
- cmOSXBundleGenerator.cxx
- cmOSXBundleGenerator.h
- cmOutputConverter.cxx
- cmOutputConverter.h
- cmNewLineStyle.h
- cmNewLineStyle.cxx
- cmOrderDirectories.cxx
- cmOrderDirectories.h
- cmPackageInfoReader.cxx
- cmPackageInfoReader.h
- cmPackageState.h
- cmPathResolver.cxx
- cmPathResolver.h
- cmPlistParser.cxx
- cmPlistParser.h
- cmPolicies.h
- cmPolicies.cxx
- cmProcessOutput.cxx
- cmProcessOutput.h
- cmProcessTools.cxx
- cmProcessTools.h
- cmValue.cxx
- cmValue.h
- cmProperty.h
- cmPropertyDefinition.cxx
- cmPropertyDefinition.h
- cmPropertyMap.cxx
- cmPropertyMap.h
- cmQtAutoGen.cxx
- cmQtAutoGen.h
- cmQtAutoGenerator.cxx
- cmQtAutoGenerator.h
- cmQtAutoGenGlobalInitializer.cxx
- cmQtAutoGenGlobalInitializer.h
- cmQtAutoGenInitializer.cxx
- cmQtAutoGenInitializer.h
- cmQtAutoMocUic.cxx
- cmQtAutoMocUic.h
- cmQtAutoRcc.cxx
- cmQtAutoRcc.h
- cmRST.cxx
- cmRST.h
- cmRuntimeDependencyArchive.cxx
- cmRuntimeDependencyArchive.h
- cmSarifLog.cxx
- cmSarifLog.h
- cmScriptGenerator.h
- cmScriptGenerator.cxx
- cmSourceFile.cxx
- cmSourceFile.h
- cmSourceFileLocation.cxx
- cmSourceFileLocation.h
- cmSourceFileLocationKind.h
- cmSourceGroup.cxx
- cmSourceGroup.h
- cmStandardLevel.h
- cmStandardLevelResolver.cxx
- cmStandardLevelResolver.h
- cmState.cxx
- cmState.h
- cmStateDirectory.cxx
- cmStateDirectory.h
- cmStateSnapshot.cxx
- cmStateSnapshot.h
- cmStateTypes.h
- cmStdIoInit.h
- cmStdIoInit.cxx
- cmStdIoStream.h
- cmStdIoStream.cxx
- cmStringAlgorithms.cxx
- cmStringAlgorithms.h
- cmSyntheticTargetCache.h
- cmSystemTools.cxx
- cmSystemTools.h
- cmTarget.cxx
- cmTarget.h
- cmTargetPropertyComputer.cxx
- cmTargetPropertyComputer.h
- cmTargetExport.h
- cmTargetTraceDependencies.cxx
- cmTargetTraceDependencies.h
- cmTest.cxx
- cmTest.h
- cmTestGenerator.cxx
- cmTestGenerator.h
- cmTransformDepfile.cxx
- cmTransformDepfile.h
- cmUuid.cxx
- cmUVHandlePtr.cxx
- cmUVHandlePtr.h
- cmUVProcessChain.cxx
- cmUVProcessChain.h
- cmUVStream.h
- cmUVStreambuf.h
- cmVariableWatch.cxx
- cmVariableWatch.h
- cmVersion.cxx
- cmVersion.h
- cmWindowsRegistry.cxx
- cmWindowsRegistry.h
- cmWorkerPool.cxx
- cmWorkerPool.h
- cmWorkingDirectory.cxx
- cmWorkingDirectory.h
- cmXcFramework.cxx
- cmXcFramework.h
- cmXMLParser.cxx
- cmXMLParser.h
- cmXMLSafe.cxx
- cmXMLSafe.h
- cmXMLWriter.cxx
- cmXMLWriter.h
- cmake.cxx
- cmake.h
- cmCommands.cxx
- cmCommands.h
- cmAddCompileDefinitionsCommand.cxx
- cmAddCompileDefinitionsCommand.h
- cmAddCompileOptionsCommand.cxx
- cmAddCompileOptionsCommand.h
- cmAddLinkOptionsCommand.cxx
- cmAddLinkOptionsCommand.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
- cmCMakeHostSystemInformationCommand.cxx
- cmCMakeHostSystemInformationCommand.h
- cmCMakeLanguageCommand.cxx
- cmCMakeLanguageCommand.h
- cmCMakeMinimumRequired.cxx
- cmCMakeMinimumRequired.h
- cmCMakePathCommand.h
- cmCMakePathCommand.cxx
- cmCMakePkgConfigCommand.h
- cmCMakePkgConfigCommand.cxx
- cmCMakePolicyCommand.cxx
- cmCMakePolicyCommand.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
- cmEnableLanguageCommand.cxx
- cmEnableLanguageCommand.h
- cmEnableTestingCommand.cxx
- cmEnableTestingCommand.h
- cmExecProgramCommand.cxx
- cmExecProgramCommand.h
- cmExecuteProcessCommand.cxx
- cmExecuteProcessCommand.h
- cmExpandedCommandArgument.cxx
- cmExpandedCommandArgument.h
- cmExperimental.cxx
- cmExperimental.h
- cmExportCommand.cxx
- cmExportCommand.h
- cmFLTKWrapUICommand.cxx
- cmFLTKWrapUICommand.h
- cmFileCommand.cxx
- cmFileCommand.h
- cmFileCommand_ReadMacho.cxx
- cmFileCommand_ReadMacho.h
- cmFindBase.cxx
- cmFindBase.h
- cmFindCommon.cxx
- cmFindCommon.h
- cmFindFileCommand.cxx
- cmFindFileCommand.h
- cmFindLibraryCommand.cxx
- cmFindLibraryCommand.h
- cmFindPackageCommand.cxx
- cmFindPackageCommand.h
- cmFindPackageStack.cxx
- cmFindPackageStack.h
- cmFindPathCommand.cxx
- cmFindPathCommand.h
- cmFindProgramCommand.cxx
- cmFindProgramCommand.h
- cmForEachCommand.cxx
- cmForEachCommand.h
- cmBlockCommand.cxx
- cmBlockCommand.h
- cmFunctionBlocker.cxx
- cmFunctionBlocker.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
- cmInstallCxxModuleBmiGenerator.cxx
- cmInstallCxxModuleBmiGenerator.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
- cmMacroCommand.cxx
- cmMacroCommand.h
- cmMakeDirectoryCommand.cxx
- cmMakeDirectoryCommand.h
- cmMarkAsAdvancedCommand.cxx
- cmMarkAsAdvancedCommand.h
- cmMathCommand.cxx
- cmMathCommand.h
- cmMessageCommand.cxx
- cmMessageCommand.h
- cmMessageMetadata.h
- cmOptionCommand.cxx
- cmOptionCommand.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
- cmString.cxx
- cmString.hxx
- cmStringReplaceHelper.cxx
- cmStringCommand.cxx
- cmStringCommand.h
- cmSubcommandTable.cxx
- cmSubcommandTable.h
- cmSubdirCommand.cxx
- cmSubdirCommand.h
- cmTargetCompileDefinitionsCommand.cxx
- cmTargetCompileDefinitionsCommand.h
- cmTargetCompileFeaturesCommand.cxx
- cmTargetCompileFeaturesCommand.h
- cmTargetCompileOptionsCommand.cxx
- cmTargetCompileOptionsCommand.h
- cmTargetIncludeDirectoriesCommand.cxx
- cmTargetIncludeDirectoriesCommand.h
- cmTargetLinkOptionsCommand.cxx
- cmTargetLinkOptionsCommand.h
- cmTargetLinkDirectoriesCommand.cxx
- cmTargetLinkDirectoriesCommand.h
- cmTargetLinkLibrariesCommand.cxx
- cmTargetLinkLibrariesCommand.h
- cmTargetPrecompileHeadersCommand.cxx
- cmTargetPrecompileHeadersCommand.h
- cmTargetPropCommandBase.cxx
- cmTargetPropCommandBase.h
- cmTargetSourcesCommand.cxx
- cmTargetSourcesCommand.h
- cmTimestamp.cxx
- cmTimestamp.h
- cmTryCompileCommand.cxx
- cmTryCompileCommand.h
- cmTryRunCommand.cxx
- cmTryRunCommand.h
- cmUnsetCommand.cxx
- cmUnsetCommand.h
- cmVariableWatchCommand.cxx
- cmVariableWatchCommand.h
- cmWhileCommand.cxx
- cmWhileCommand.h
- cmWriteFileCommand.cxx
- cmWriteFileCommand.h
- # Ninja support
- cmScanDepFormat.cxx
- 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
- cmNinjaLinkLineDeviceComputer.cxx
- cmNinjaLinkLineDeviceComputer.h
- cm_get_date.h
- cm_get_date.c
- cm_utf8.h
- cm_utf8.c
- cm_codecvt.hxx
- cm_codecvt.cxx
- cm_fileno.hxx
- cm_fileno.cxx
- cmDuration.h
- cmDuration.cxx
- bindexplib.cxx
- )
- target_include_directories(
- CMakeLib
- PUBLIC
- # add the include path to find the .h
- "${CMAKE_CURRENT_BINARY_DIR}"
- "${CMAKE_CURRENT_SOURCE_DIR}"
- "${CMAKE_CURRENT_SOURCE_DIR}/LexerParser"
- ${CMake_HAIKU_INCLUDE_DIRS}
- )
- target_link_libraries(
- CMakeLib
- PUBLIC
- cmstd
- cmsys
- CURL::libcurl
- EXPAT::EXPAT
- JsonCpp::JsonCpp
- $<TARGET_NAME_IF_EXISTS:kwiml::kwiml>
- LibArchive::LibArchive
- LibRHash::LibRHash
- LibUV::LibUV
- Threads::Threads
- ZLIB::ZLIB
- llpkgc::llpkgc
- )
- if(CMake_ENABLE_DEBUGGER)
- target_sources(
- CMakeLib
- PRIVATE
- cmDebuggerAdapter.cxx
- cmDebuggerAdapter.h
- cmDebuggerBreakpointManager.cxx
- cmDebuggerBreakpointManager.h
- cmDebuggerExceptionManager.cxx
- cmDebuggerExceptionManager.h
- cmDebuggerProtocol.cxx
- cmDebuggerProtocol.h
- cmDebuggerSourceBreakpoint.cxx
- cmDebuggerSourceBreakpoint.h
- cmDebuggerStackFrame.cxx
- cmDebuggerStackFrame.h
- cmDebuggerThread.cxx
- cmDebuggerThread.h
- cmDebuggerThreadManager.cxx
- cmDebuggerThreadManager.h
- cmDebuggerVariables.cxx
- cmDebuggerVariables.h
- cmDebuggerVariablesHelper.cxx
- cmDebuggerVariablesHelper.h
- cmDebuggerVariablesManager.cxx
- cmDebuggerVariablesManager.h
- )
- if(WIN32)
- target_sources(
- CMakeLib
- PRIVATE
- cmDebuggerWindowsPipeConnection.cxx
- cmDebuggerWindowsPipeConnection.h
- )
- else()
- target_sources(
- CMakeLib
- PRIVATE
- cmDebuggerPosixPipeConnection.cxx
- cmDebuggerPosixPipeConnection.h
- )
- endif()
- target_link_libraries(CMakeLib PUBLIC cppdap::cppdap)
- endif()
- # Check if we can build the Mach-O parser.
- if(CMake_USE_MACH_PARSER)
- target_sources(
- CMakeLib
- PRIVATE
- cmMachO.h
- cmMachO.cxx
- )
- endif()
- # Check if we can build the XCOFF parser.
- if(CMake_USE_XCOFF_PARSER)
- target_sources(
- CMakeLib
- PRIVATE
- cmXCOFF.h
- cmXCOFF.cxx
- )
- endif()
- # Xcode only works on Apple
- if(APPLE)
- target_sources(
- CMakeLib
- PRIVATE
- cmXCodeObject.cxx
- cmXCode21Object.cxx
- cmXCodeScheme.cxx
- cmGlobalXCodeGenerator.cxx
- cmGlobalXCodeGenerator.h
- cmLocalXCodeGenerator.cxx
- cmLocalXCodeGenerator.h
- )
- endif()
- if(WIN32)
- target_sources(
- CMakeLib
- PRIVATE
- cmCallVisualStudioMacro.cxx
- cmCallVisualStudioMacro.h
- )
- if(NOT UNIX)
- target_sources(
- CMakeLib
- PRIVATE
- 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
- cmVisualStudioGeneratorOptions.h
- cmVisualStudioGeneratorOptions.cxx
- cmVsProjectType.h
- cmVisualStudio10TargetGenerator.h
- cmVisualStudio10TargetGenerator.cxx
- cmLocalVisualStudio10Generator.cxx
- cmLocalVisualStudio10Generator.h
- cmGlobalVisualStudio10Generator.h
- cmGlobalVisualStudio10Generator.cxx
- cmGlobalVisualStudio11Generator.h
- cmGlobalVisualStudio11Generator.cxx
- cmGlobalVisualStudio12Generator.h
- cmGlobalVisualStudio12Generator.cxx
- cmGlobalVisualStudio14Generator.h
- cmGlobalVisualStudio14Generator.cxx
- cmGlobalVisualStudioGenerator.cxx
- cmGlobalVisualStudioGenerator.h
- cmGlobalVisualStudioVersionedGenerator.h
- cmGlobalVisualStudioVersionedGenerator.cxx
- 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
- cmVSSetupHelper.cxx
- cmVSSetupHelper.h
- )
- # Add a manifest file to executables on Windows to allow for
- # GetVersion to work properly on Windows 8 and above.
- target_sources(ManifestLib INTERFACE cmake.version.manifest)
- endif()
- endif()
- # Watcom support
- if(CMAKE_USE_WMAKE)
- target_sources(
- CMakeLib
- PRIVATE
- cmGlobalWatcomWMakeGenerator.cxx
- cmGlobalWatcomWMakeGenerator.h
- )
- endif()
- # GHS support
- # Works only for windows and linux
- if(WIN32 OR CMAKE_SYSTEM_NAME STREQUAL "Linux")
- target_sources(
- CMakeLib
- PRIVATE
- cmGlobalGhsMultiGenerator.cxx
- cmGlobalGhsMultiGenerator.h
- cmLocalGhsMultiGenerator.cxx
- cmLocalGhsMultiGenerator.h
- cmGhsMultiTargetGenerator.cxx
- cmGhsMultiTargetGenerator.h
- cmGhsMultiGpj.cxx
- cmGhsMultiGpj.h
- )
- endif()
- if(CMake_BUILD_PCH)
- target_precompile_headers(CMakeLib PRIVATE
- "$<$<COMPILE_LANGUAGE:CXX>:<string$<ANGLE-R>>"
- "$<$<COMPILE_LANGUAGE:CXX>:<iostream$<ANGLE-R>>"
- "$<$<COMPILE_LANGUAGE:CXX>:<sstream$<ANGLE-R>>"
- "$<$<COMPILE_LANGUAGE:CXX>:<iomanip$<ANGLE-R>>"
- "$<$<COMPILE_LANGUAGE:CXX>:<cm/memory$<ANGLE-R>>"
- "$<$<COMPILE_LANGUAGE:CXX>:<cm3p/cppdap/protocol.h$<ANGLE-R>>"
- "$<$<COMPILE_LANGUAGE:CXX>:cmMakefile.h>"
- "$<$<COMPILE_LANGUAGE:CXX>:cmGlobalGenerator.h>"
- "$<$<COMPILE_LANGUAGE:CXX>:cmLocalGenerator.h>"
- "$<$<COMPILE_LANGUAGE:CXX>:cmGeneratorTarget.h>"
- "$<$<COMPILE_LANGUAGE:CXX>:cmGeneratorExpression.h>"
- "$<$<COMPILE_LANGUAGE:CXX>:cmArgumentParser.h>"
- "$<$<COMPILE_LANGUAGE:CXX>:cmake.h>"
- "$<$<COMPILE_LANGUAGE:CXX>:cmCMakePath.h>"
- "$<$<COMPILE_LANGUAGE:CXX>:cmCurl.h>")
- set_source_files_properties(
- "LexerParser/cmFortranLexer.cxx"
- PROPERTIES SKIP_PRECOMPILE_HEADERS ON)
- if(WIN32)
- target_precompile_headers(CMakeLib PRIVATE
- "$<$<COMPILE_LANGUAGE:CXX>:<cm3p/uv.h$<ANGLE-R>>"
- "$<$<COMPILE_LANGUAGE:CXX>:cmVSSetupHelper.h>")
- set_source_files_properties("LexerParser/cmFortranParser.cxx" PROPERTIES SKIP_PRECOMPILE_HEADERS ON)
- else()
- set_source_files_properties(
- "LexerParser/cmGccDepfileLexer.cxx"
- "LexerParser/cmExprLexer.cxx"
- "LexerParser/cmDependsJavaLexer.cxx"
- PROPERTIES SKIP_PRECOMPILE_HEADERS ON)
- endif()
- endif()
- # 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)
- target_link_libraries(cmcldeps PRIVATE CMakeLib ManifestLib)
- list(APPEND _tools cmcldeps)
- endif()
- if(CMAKE_SYSTEM_NAME STREQUAL "SunOS" AND CMAKE_SYSTEM_VERSION STREQUAL "5.10" AND CMAKE_SYSTEM_PROCESSOR MATCHES "^(i386|x86_64)$")
- set_property(SOURCE cmSystemTools.cxx APPEND PROPERTY COMPILE_DEFINITIONS CMAKE_NO_MKDTEMP)
- endif()
- get_property(targetSupportsSharedLibs GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS)
- if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND NOT targetSupportsSharedLibs)
- # Disable getpwnam for static linux builds since it depends on shared glibc.
- set_property(SOURCE cmSystemTools.cxx APPEND PROPERTY COMPILE_DEFINITIONS CMAKE_NO_GETPWNAM)
- endif()
- # Some atomic instructions are implemented using libatomic on some platforms.
- if(CMake_HAVE_CXX_ATOMIC_LIB)
- target_link_libraries(CMakeLib PUBLIC atomic)
- endif()
- # On Apple we need CoreFoundation and CoreServices
- if(APPLE)
- target_link_libraries(CMakeLib PUBLIC "-framework CoreFoundation")
- target_link_libraries(CMakeLib PUBLIC "-framework CoreServices")
- 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 PUBLIC rpcrt4 crypt32)
- endif()
- target_compile_definitions(CMakeLib PUBLIC ${CLANG_TIDY_DEFINITIONS})
- #
- # Build CTestLib
- #
- add_library(
- CTestLib
- cmCTest.cxx
- CTest/cmProcess.cxx
- CTest/cmCTestBinPacker.cxx
- CTest/cmCTestBuildAndTest.cxx
- CTest/cmCTestBuildCommand.cxx
- CTest/cmCTestBuildHandler.cxx
- CTest/cmCTestCommand.cxx
- CTest/cmCTestConfigureCommand.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/cmCTestResourceAllocator.cxx
- CTest/cmCTestResourceSpec.cxx
- CTest/cmCTestLaunch.cxx
- CTest/cmCTestLaunchReporter.cxx
- CTest/cmCTestMemCheckCommand.cxx
- CTest/cmCTestMemCheckHandler.cxx
- CTest/cmCTestMultiProcessHandler.cxx
- CTest/cmCTestReadCustomFilesCommand.cxx
- CTest/cmCTestResourceGroupsLexerHelper.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/cmCTestTestMeasurementXMLParser.cxx
- CTest/cmCTestTypes.cxx
- CTest/cmCTestUpdateCommand.cxx
- CTest/cmCTestUploadCommand.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
- CTest/cmUVJobServerClient.cxx
- CTest/cmUVJobServerClient.h
- LexerParser/cmCTestResourceGroupsLexer.cxx
- LexerParser/cmCTestResourceGroupsLexer.h
- LexerParser/cmCTestResourceGroupsLexer.in.l
- )
- target_include_directories(
- CTestLib
- PUBLIC
- "${CMAKE_CURRENT_SOURCE_DIR}/CTest"
- )
- target_link_libraries(CTestLib PUBLIC CMakeLib)
- if(CMake_BUILD_PCH)
- target_precompile_headers(CTestLib PRIVATE
- "cmDuration.h"
- "cmMakefile.h"
- "cmSystemTools.h"
- "cmGlobalGenerator.h"
- "cmake.h"
- "CTest/cmCTestGenericHandler.h"
- "<sstream>"
- "<cm3p/uv.h>")
- if(WIN32)
- target_precompile_headers(CTestLib PRIVATE "cmCurl.h" "CTest/cmCTestMultiProcessHandler.h")
- else()
- set_source_files_properties("LexerParser/cmCTestResourceGroupsLexer.cxx" PROPERTIES SKIP_PRECOMPILE_HEADERS ON)
- endif()
- endif()
- #
- # Build CPackLib
- #
- add_library(
- CPackLib
- CPack/cmCPackArchiveGenerator.cxx
- CPack/cmCPackComponentGroup.cxx
- CPack/cmCPackDebGenerator.cxx
- CPack/cmCPackExternalGenerator.cxx
- CPack/cmCPackGeneratorFactory.cxx
- CPack/cmCPackGenerator.cxx
- CPack/cmCPackLog.cxx
- CPack/cmCPackInnoSetupGenerator.cxx
- CPack/cmCPackNSISGenerator.cxx
- CPack/cmCPackNuGetGenerator.cxx
- CPack/cmCPackSTGZGenerator.cxx
- # CPack IFW generator
- 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
- )
- target_include_directories(
- CPackLib
- PUBLIC
- "${CMAKE_CURRENT_SOURCE_DIR}/CPack"
- "${CMAKE_CURRENT_BINARY_DIR}/CPack"
- )
- target_link_libraries(CPackLib PUBLIC CMakeLib)
- option(CPACK_ENABLE_FREEBSD_PKG "Add FreeBSD pkg(8) generator to CPack." OFF)
- if(UNIX)
- target_sources(
- CPackLib
- PRIVATE
- 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(ENABLE_BUILD_FREEBSD_PKG 1)
- target_sources(CPackLib PRIVATE CPack/cmCPackFreeBSDGenerator.cxx)
- target_include_directories(CPackLib PUBLIC ${FREEBSD_PKG_INCLUDE_DIRS})
- target_link_libraries(CPackLib PUBLIC ${FREEBSD_PKG_LIBRARIES})
- 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)
- target_sources(
- CPackLib
- PRIVATE
- CPack/cmCPackCygwinBinaryGenerator.cxx
- CPack/cmCPackCygwinSourceGenerator.cxx
- )
- find_package(LibUUID)
- endif()
- if(WIN32 OR (CYGWIN AND TARGET LibUUID::LibUUID))
- set(ENABLE_BUILD_WIX_GENERATOR 1)
- target_sources(
- CPackLib
- PRIVATE
- 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
- )
- target_link_libraries(CPackLib PUBLIC $<TARGET_NAME_IF_EXISTS:LibUUID::LibUUID>)
- endif()
- if(APPLE)
- target_sources(
- CPackLib
- PRIVATE
- CPack/cmCPackBundleGenerator.cxx
- CPack/cmCPackDragNDropGenerator.cxx
- CPack/cmCPackPKGGenerator.cxx
- CPack/cmCPackProductBuildGenerator.cxx
- )
- endif()
- 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)
- target_link_libraries(CPackLib PUBLIC "-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()
- # Render config header file for CPackLib
- configure_file(CPack/cmCPackConfigure.h.in CPack/cmCPackConfigure.h)
- # Build CMake executable
- add_executable(cmake cmakemain.cxx cmcmd.cxx cmcmd.h)
- target_link_libraries(cmake PRIVATE CMakeLib ManifestLib)
- list(APPEND _tools cmake)
- # Build CTest executable
- add_executable(ctest ctest.cxx)
- target_link_libraries(ctest PRIVATE CTestLib ManifestLib)
- list(APPEND _tools ctest)
- # Build CPack executable
- add_executable(cpack CPack/cpack.cxx)
- target_link_libraries(cpack PRIVATE CPackLib ManifestLib)
- list(APPEND _tools cpack)
- # Curses GUI
- if(BUILD_CursesDialog)
- add_subdirectory(CursesDialog)
- endif()
- # Qt GUI
- option(BUILD_QtDialog "Build Qt dialog for CMake" FALSE)
- if(BUILD_QtDialog)
- add_subdirectory(QtDialog)
- endif()
- include(${CMAKE_CURRENT_BINARY_DIR}/LocalUserOptions.cmake OPTIONAL)
- include(${CMAKE_CURRENT_SOURCE_DIR}/LocalUserOptions.cmake OPTIONAL)
- if(WIN32)
- # Compute the binary version that appears in the RC file. Version
- # components in the RC file are 16-bit integers so we may have to
- # split the patch component.
- if(CMake_VERSION_PATCH MATCHES "^([0-9]+)([0-9][0-9][0-9][0-9])$")
- set(CMake_RCVERSION_YEAR "${CMAKE_MATCH_1}")
- set(CMake_RCVERSION_MONTH_DAY "${CMAKE_MATCH_2}")
- string(REGEX REPLACE "^0+" "" CMake_RCVERSION_MONTH_DAY "${CMake_RCVERSION_MONTH_DAY}")
- set(CMake_RCVERSION ${CMake_VERSION_MAJOR},${CMake_VERSION_MINOR},${CMake_RCVERSION_YEAR},${CMake_RCVERSION_MONTH_DAY})
- unset(CMake_RCVERSION_MONTH_DAY)
- unset(CMake_RCVERSION_YEAR)
- else()
- set(CMake_RCVERSION ${CMake_VERSION_MAJOR},${CMake_VERSION_MINOR},${CMake_VERSION_PATCH},0)
- endif()
- set(CMake_RCVERSION_STR ${CMake_VERSION})
- # 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 IN LISTS _tools)
- target_link_libraries(${_tool} PRIVATE CMakeVersion)
- endforeach()
- endif()
- if(CMake_JOB_POOL_LINK_BIN)
- set_property(TARGET ${_tools} PROPERTY JOB_POOL_LINK "link-bin")
- set_property(GLOBAL APPEND PROPERTY JOB_POOLS "link-bin=${CMake_JOB_POOL_LINK_BIN}")
- endif()
- # Install tools
- foreach(_tool IN LISTS _tools)
- CMake_OPTIONAL_COMPONENT(${_tool})
- install(TARGETS ${_tool} DESTINATION ${CMAKE_BIN_DIR} ${COMPONENT})
- endforeach()
- # Unset temporary variables
- unset(_tools)
|