Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Kitware
GitHub Repository: Kitware/CMake
Path: blob/master/Source/CMakeLists.txt
4998 views
1
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
2
# file LICENSE.rst or https://cmake.org/licensing for details.
3
4
# To ensure maximum portability across various compilers and platforms
5
# deactivate any compiler extensions. Skip this for QNX, where additional
6
# work is needed to build without compiler extensions.
7
if(NOT CMAKE_SYSTEM_NAME STREQUAL "QNX")
8
set(CMAKE_C_EXTENSIONS FALSE)
9
set(CMAKE_CXX_EXTENSIONS FALSE)
10
endif()
11
12
include(CheckIncludeFile)
13
14
if(APPLE)
15
set(CMake_USE_MACH_PARSER 1)
16
endif()
17
18
if(CMAKE_SYSTEM_NAME STREQUAL "AIX")
19
set(CMake_USE_XCOFF_PARSER 1)
20
endif()
21
22
# Watcom support
23
if(WIN32 OR CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "Darwin")
24
set(CMAKE_USE_WMAKE 1)
25
endif()
26
27
set(CMake_STAT_HAS_ST_MTIM ${KWSYS_CXX_STAT_HAS_ST_MTIM_COMPILED})
28
set(CMake_STAT_HAS_ST_MTIMESPEC ${KWSYS_CXX_STAT_HAS_ST_MTIMESPEC_COMPILED})
29
30
set(EXECUTABLE_OUTPUT_PATH ${CMake_BIN_DIR})
31
32
if(WIN32)
33
# ensure Unicode friendly APIs are used on Windows
34
add_compile_definitions(UNICODE _UNICODE)
35
36
# minimize windows.h content
37
add_compile_definitions(WIN32_LEAN_AND_MEAN)
38
endif()
39
40
# configure the .dox.in file
41
if(CMake_BUILD_DEVELOPER_REFERENCE)
42
configure_file(dir.dox.in dir.dox @ONLY)
43
endif()
44
45
# configure the .h file
46
configure_file(cmConfigure.cmake.h.in cmConfigure.h)
47
configure_file(cmVersionConfig.h.in cmVersionConfig.h)
48
49
# Tell CMake executable in the build tree where to find the source tree.
50
configure_file(
51
CMakeSourceDir.txt.in
52
"${CMake_BINARY_DIR}/CMakeFiles/CMakeSourceDir.txt"
53
@ONLY
54
)
55
56
# Add a dummy library and add sources later depends on condition
57
add_library(ManifestLib INTERFACE)
58
59
#
60
# create a library used by the command line and the GUI
61
#
62
add_library(
63
CMakeLib
64
# Lexers/Parsers
65
LexerParser/cmDependsJavaLexer.cxx
66
LexerParser/cmDependsJavaLexer.h
67
LexerParser/cmDependsJavaLexer.in.l
68
LexerParser/cmDependsJavaParser.cxx
69
LexerParser/cmDependsJavaParserTokens.h
70
LexerParser/cmDependsJavaParser.y
71
LexerParser/cmExprLexer.cxx
72
LexerParser/cmExprLexer.h
73
LexerParser/cmExprLexer.in.l
74
LexerParser/cmExprParser.cxx
75
LexerParser/cmExprParserTokens.h
76
LexerParser/cmExprParser.y
77
LexerParser/cmFortranLexer.cxx
78
LexerParser/cmFortranLexer.h
79
LexerParser/cmFortranLexer.in.l
80
LexerParser/cmFortranParser.cxx
81
LexerParser/cmFortranParserTokens.h
82
LexerParser/cmFortranParser.y
83
LexerParser/cmGccDepfileLexer.cxx
84
LexerParser/cmGccDepfileLexer.h
85
LexerParser/cmGccDepfileLexer.in.l
86
LexerParser/cmListFileLexer.c
87
LexerParser/cmListFileLexer.in.l
88
89
cmAffinity.cxx
90
cmAffinity.h
91
cmAlgorithms.h
92
cmArchiveWrite.cxx
93
cmArgumentParser.cxx
94
cmArgumentParser.h
95
cmBase32.cxx
96
cmBinUtilsLinker.cxx
97
cmBinUtilsLinker.h
98
cmBinUtilsLinuxELFGetRuntimeDependenciesTool.cxx
99
cmBinUtilsLinuxELFGetRuntimeDependenciesTool.h
100
cmBinUtilsLinuxELFLinker.cxx
101
cmBinUtilsLinuxELFLinker.h
102
cmBinUtilsLinuxELFObjdumpGetRuntimeDependenciesTool.cxx
103
cmBinUtilsLinuxELFObjdumpGetRuntimeDependenciesTool.h
104
cmBinUtilsMacOSMachOGetRuntimeDependenciesTool.cxx
105
cmBinUtilsMacOSMachOGetRuntimeDependenciesTool.h
106
cmBinUtilsMacOSMachOLinker.cxx
107
cmBinUtilsMacOSMachOLinker.h
108
cmBinUtilsMacOSMachOOToolGetRuntimeDependenciesTool.cxx
109
cmBinUtilsMacOSMachOOToolGetRuntimeDependenciesTool.h
110
cmBinUtilsWindowsPEDumpbinGetRuntimeDependenciesTool.cxx
111
cmBinUtilsWindowsPEDumpbinGetRuntimeDependenciesTool.h
112
cmBinUtilsWindowsPEGetRuntimeDependenciesTool.cxx
113
cmBinUtilsWindowsPEGetRuntimeDependenciesTool.h
114
cmBinUtilsWindowsPELinker.cxx
115
cmBinUtilsWindowsPELinker.h
116
cmBinUtilsWindowsPEObjdumpGetRuntimeDependenciesTool.cxx
117
cmBinUtilsWindowsPEObjdumpGetRuntimeDependenciesTool.h
118
cmBuildArgs.h
119
cmBuildDatabase.cxx
120
cmBuildDatabase.h
121
cmBuildOptions.h
122
cmCacheManager.cxx
123
cmCacheManager.h
124
cmCLocaleEnvironmentScope.h
125
cmCLocaleEnvironmentScope.cxx
126
cmCMakePath.h
127
cmCMakePath.cxx
128
cmCMakePresetsErrors.cxx
129
cmCMakePresetsErrors.h
130
cmCMakePresetsGraph.cxx
131
cmCMakePresetsGraph.h
132
cmCMakePresetsGraphInternal.h
133
cmCMakePresetsGraphReadJSON.cxx
134
cmCMakePresetsGraphReadJSONBuildPresets.cxx
135
cmCMakePresetsGraphReadJSONConfigurePresets.cxx
136
cmCMakePresetsGraphReadJSONPackagePresets.cxx
137
cmCMakePresetsGraphReadJSONTestPresets.cxx
138
cmCMakePresetsGraphReadJSONWorkflowPresets.cxx
139
cmCMakeString.hxx
140
cmCMakeString.cxx
141
cmCommandLineArgument.h
142
cmCommonTargetGenerator.cxx
143
cmCommonTargetGenerator.h
144
cmComputeComponentGraph.cxx
145
cmComputeComponentGraph.h
146
cmComputeLinkDepends.cxx
147
cmComputeLinkDepends.h
148
cmComputeLinkInformation.cxx
149
cmComputeLinkInformation.h
150
cmComputeTargetDepends.h
151
cmComputeTargetDepends.cxx
152
cmConfigureLog.h
153
cmConfigureLog.cxx
154
cmCPackPropertiesGenerator.h
155
cmCPackPropertiesGenerator.cxx
156
cmCryptoHash.cxx
157
cmCryptoHash.h
158
cmCurl.cxx
159
cmCurl.h
160
cmCustomCommand.cxx
161
cmCustomCommand.h
162
cmCustomCommandGenerator.cxx
163
cmCustomCommandGenerator.h
164
cmCustomCommandLines.cxx
165
cmCustomCommandLines.h
166
cmCustomCommandTypes.h
167
cmCxxModuleMapper.cxx
168
cmCxxModuleMapper.h
169
cmCxxModuleMetadata.cxx
170
cmCxxModuleMetadata.h
171
cmCxxModuleUsageEffects.cxx
172
cmCxxModuleUsageEffects.h
173
cmDefinitions.cxx
174
cmDefinitions.h
175
cmDependencyProvider.h
176
cmDepends.cxx
177
cmDepends.h
178
cmDependsC.cxx
179
cmDependsC.h
180
cmDependsFortran.cxx
181
cmDependsFortran.h
182
cmDependsJava.cxx
183
cmDependsJava.h
184
cmDependsJavaParserHelper.cxx
185
cmDependsJavaParserHelper.h
186
cmDependsCompiler.cxx
187
cmDependsCompiler.h
188
cmDocumentation.cxx
189
cmDocumentationFormatter.cxx
190
cmDyndepCollation.cxx
191
cmDyndepCollation.h
192
cmELF.h
193
cmELF.cxx
194
cmEvaluatedTargetProperty.cxx
195
cmEvaluatedTargetProperty.h
196
cmExprParserHelper.cxx
197
cmExportAndroidMKGenerator.h
198
cmExportAndroidMKGenerator.cxx
199
cmExportBuildAndroidMKGenerator.h
200
cmExportBuildAndroidMKGenerator.cxx
201
cmExportBuildCMakeConfigGenerator.h
202
cmExportBuildCMakeConfigGenerator.cxx
203
cmExportBuildFileGenerator.h
204
cmExportBuildFileGenerator.cxx
205
cmExportBuildPackageInfoGenerator.h
206
cmExportBuildPackageInfoGenerator.cxx
207
cmExportBuildSbomGenerator.h
208
cmExportBuildSbomGenerator.cxx
209
cmExportCMakeConfigGenerator.h
210
cmExportCMakeConfigGenerator.cxx
211
cmExportFileGenerator.h
212
cmExportFileGenerator.cxx
213
cmExportInstallAndroidMKGenerator.h
214
cmExportInstallAndroidMKGenerator.cxx
215
cmExportInstallCMakeConfigGenerator.h
216
cmExportInstallCMakeConfigGenerator.cxx
217
cmExportInstallFileGenerator.h
218
cmExportInstallFileGenerator.cxx
219
cmExportInstallPackageInfoGenerator.h
220
cmExportInstallPackageInfoGenerator.cxx
221
cmExportInstallSbomGenerator.h
222
cmExportInstallSbomGenerator.cxx
223
cmExportPackageInfoGenerator.h
224
cmExportPackageInfoGenerator.cxx
225
cmExportTryCompileFileGenerator.h
226
cmExportTryCompileFileGenerator.cxx
227
cmExportSbomGenerator.h
228
cmExportSbomGenerator.cxx
229
cmExportSet.h
230
cmExportSet.cxx
231
cmExternalMakefileProjectGenerator.cxx
232
cmExternalMakefileProjectGenerator.h
233
cmExtraCodeBlocksGenerator.cxx
234
cmExtraCodeBlocksGenerator.h
235
cmExtraCodeLiteGenerator.cxx
236
cmExtraCodeLiteGenerator.h
237
cmExtraEclipseCDT4Generator.cxx
238
cmExtraEclipseCDT4Generator.h
239
cmExtraKateGenerator.cxx
240
cmExtraKateGenerator.h
241
cmExtraSublimeTextGenerator.cxx
242
cmExtraSublimeTextGenerator.h
243
cmFileAPI.cxx
244
cmFileAPI.h
245
cmFileAPICache.cxx
246
cmFileAPICache.h
247
cmFileAPICodemodel.cxx
248
cmFileAPICodemodel.h
249
cmFileAPIConfigureLog.cxx
250
cmFileAPIConfigureLog.h
251
cmFileAPICMakeFiles.cxx
252
cmFileAPICMakeFiles.h
253
cmFileAPICommand.cxx
254
cmFileAPICommand.h
255
cmFileAPIToolchains.cxx
256
cmFileAPIToolchains.h
257
cmFileCopier.cxx
258
cmFileCopier.h
259
cmFileInstaller.cxx
260
cmFileInstaller.h
261
cmFileLock.cxx
262
cmFileLock.h
263
cmFileLockPool.cxx
264
cmFileLockPool.h
265
cmFileLockResult.cxx
266
cmFileLockResult.h
267
cmFilePathChecksum.cxx
268
cmFilePathChecksum.h
269
cmFileSet.cxx
270
cmFileSet.h
271
cmFileTime.cxx
272
cmFileTime.h
273
cmFileTimeCache.cxx
274
cmFileTimeCache.h
275
cmFileTimes.cxx
276
cmFileTimes.h
277
cmFortranParserImpl.cxx
278
cmFSPermissions.cxx
279
cmFSPermissions.h
280
cmGccDepfileLexerHelper.cxx
281
cmGccDepfileLexerHelper.h
282
cmGccDepfileReader.cxx
283
cmGccDepfileReader.h
284
cmGenExContext.cxx
285
cmGenExContext.h
286
cmGenExEvaluation.cxx
287
cmGenExEvaluation.h
288
cmGeneratedFileStream.cxx
289
cmGeneratorExpressionDAGChecker.cxx
290
cmGeneratorExpressionDAGChecker.h
291
cmGeneratorExpressionEvaluationFile.cxx
292
cmGeneratorExpressionEvaluationFile.h
293
cmGeneratorExpressionEvaluator.cxx
294
cmGeneratorExpressionEvaluator.h
295
cmGeneratorExpressionLexer.cxx
296
cmGeneratorExpressionLexer.h
297
cmGeneratorExpressionNode.cxx
298
cmGeneratorExpressionNode.h
299
cmGeneratorExpressionParser.cxx
300
cmGeneratorExpressionParser.h
301
cmGeneratorExpression.cxx
302
cmGeneratorExpression.h
303
cmGeneratorTarget.cxx
304
cmGeneratorTarget.h
305
cmGeneratorTarget_CompatibleInterface.cxx
306
cmGeneratorTarget_IncludeDirectories.cxx
307
cmGeneratorTarget_Link.cxx
308
cmGeneratorTarget_LinkDirectories.cxx
309
cmGeneratorTarget_Options.cxx
310
cmGeneratorTarget_Sources.cxx
311
cmGeneratorTarget_TargetPropertyEntry.cxx
312
cmGeneratorTarget_TransitiveProperty.cxx
313
cmLinkItemGraphVisitor.cxx
314
cmLinkItemGraphVisitor.h
315
cmGetPipes.cxx
316
cmGetPipes.h
317
cmGlobalCommonGenerator.cxx
318
cmGlobalCommonGenerator.h
319
cmGlobalGenerator.cxx
320
cmGlobalGenerator.h
321
cmGlobalGeneratorFactory.h
322
cmGlobalUnixMakefileGenerator3.cxx
323
cmGlobalUnixMakefileGenerator3.h
324
cmGlobVerificationManager.cxx
325
cmGlobVerificationManager.h
326
cmGraphAdjacencyList.h
327
cmGraphVizWriter.cxx
328
cmGraphVizWriter.h
329
cmImportedCxxModuleInfo.cxx
330
cmImportedCxxModuleInfo.h
331
cmInstallAndroidMKExportGenerator.cxx
332
cmInstallAndroidMKExportGenerator.h
333
cmInstallCMakeConfigExportGenerator.cxx
334
cmInstallCMakeConfigExportGenerator.h
335
cmInstallGenerator.h
336
cmInstallGenerator.cxx
337
cmInstallGetRuntimeDependenciesGenerator.h
338
cmInstallGetRuntimeDependenciesGenerator.cxx
339
cmInstallExportGenerator.cxx
340
cmInstalledFile.h
341
cmInstalledFile.cxx
342
cmInstallFileSetGenerator.h
343
cmInstallFileSetGenerator.cxx
344
cmInstallFilesGenerator.h
345
cmInstallFilesGenerator.cxx
346
cmInstallImportedRuntimeArtifactsGenerator.h
347
cmInstallImportedRuntimeArtifactsGenerator.cxx
348
cmInstallPackageInfoExportGenerator.h
349
cmInstallPackageInfoExportGenerator.cxx
350
cmInstallRuntimeDependencySet.h
351
cmInstallRuntimeDependencySet.cxx
352
cmInstallRuntimeDependencySetGenerator.h
353
cmInstallRuntimeDependencySetGenerator.cxx
354
cmInstallSbomExportGenerator.h
355
cmInstallSbomExportGenerator.cxx
356
cmInstallScriptGenerator.h
357
cmInstallScriptGenerator.cxx
358
cmInstallSubdirectoryGenerator.h
359
cmInstallSubdirectoryGenerator.cxx
360
cmInstallTargetGenerator.h
361
cmInstallTargetGenerator.cxx
362
cmInstallDirectoryGenerator.h
363
cmInstallDirectoryGenerator.cxx
364
cmInstallScriptHandler.h
365
cmInstallScriptHandler.cxx
366
cmInstrumentation.h
367
cmInstrumentation.cxx
368
cmInstrumentationCommand.h
369
cmInstrumentationCommand.cxx
370
cmInstrumentationQuery.h
371
cmInstrumentationQuery.cxx
372
cmJSONHelpers.cxx
373
cmJSONHelpers.h
374
cmJSONState.cxx
375
cmJSONState.h
376
cmLDConfigLDConfigTool.cxx
377
cmLDConfigLDConfigTool.h
378
cmLDConfigTool.cxx
379
cmLDConfigTool.h
380
cmLinkedTree.h
381
cmLinkItem.cxx
382
cmLinkItem.h
383
cmLinkLineComputer.cxx
384
cmLinkLineComputer.h
385
cmLinkLineDeviceComputer.cxx
386
cmLinkLineDeviceComputer.h
387
cmList.h
388
cmList.cxx
389
cmListFileCache.cxx
390
cmListFileCache.h
391
cmLocalCommonGenerator.cxx
392
cmLocalCommonGenerator.h
393
cmLocalGenerator.cxx
394
cmLocalGenerator.h
395
cmPkgConfigParser.cxx
396
cmPkgConfigParser.h
397
cmPkgConfigResolver.cxx
398
cmPkgConfigResolver.h
399
cmPlaceholderExpander.cxx
400
cmPlaceholderExpander.h
401
cmRulePlaceholderExpander.cxx
402
cmRulePlaceholderExpander.h
403
cmLocalUnixMakefileGenerator3.cxx
404
cmLocale.h
405
cmMakefile.cxx
406
cmMakefile.h
407
cmMakefileTargetGenerator.cxx
408
cmMakefileExecutableTargetGenerator.cxx
409
cmMakefileLibraryTargetGenerator.cxx
410
cmMakefileProfilingData.cxx
411
cmMakefileUtilityTargetGenerator.cxx
412
cmMessageType.h
413
cmMessenger.cxx
414
cmMessenger.h
415
cmMSVC60LinkLineComputer.cxx
416
cmMSVC60LinkLineComputer.h
417
cmOSXBundleGenerator.cxx
418
cmOSXBundleGenerator.h
419
cmObjectLocation.cxx
420
cmObjectLocation.h
421
cmOutputConverter.cxx
422
cmOutputConverter.h
423
cmNewLineStyle.h
424
cmNewLineStyle.cxx
425
cmOrderDirectories.cxx
426
cmOrderDirectories.h
427
cmPackageInfoArguments.cxx
428
cmPackageInfoArguments.h
429
cmPackageInfoReader.cxx
430
cmPackageInfoReader.h
431
cmPackageState.h
432
cmPathResolver.cxx
433
cmPathResolver.h
434
cmPlistParser.cxx
435
cmPlistParser.h
436
cmPolicies.h
437
cmPolicies.cxx
438
cmProcessOutput.cxx
439
cmProcessOutput.h
440
cmProcessTools.cxx
441
cmProcessTools.h
442
cmProjectInfoArguments.cxx
443
cmProjectInfoArguments.h
444
cmValue.cxx
445
cmValue.h
446
cmProperty.h
447
cmPropertyDefinition.cxx
448
cmPropertyDefinition.h
449
cmPropertyMap.cxx
450
cmPropertyMap.h
451
cmQtAutoGen.cxx
452
cmQtAutoGen.h
453
cmQtAutoGenerator.cxx
454
cmQtAutoGenerator.h
455
cmQtAutoGenGlobalInitializer.cxx
456
cmQtAutoGenGlobalInitializer.h
457
cmQtAutoGenInitializer.cxx
458
cmQtAutoGenInitializer.h
459
cmQtAutoMocUic.cxx
460
cmQtAutoMocUic.h
461
cmQtAutoRcc.cxx
462
cmQtAutoRcc.h
463
cmRST.cxx
464
cmRST.h
465
cmRuntimeDependencyArchive.cxx
466
cmRuntimeDependencyArchive.h
467
cmSarifLog.cxx
468
cmSarifLog.h
469
cmScriptGenerator.h
470
cmScriptGenerator.cxx
471
cmSourceFile.cxx
472
cmSourceFile.h
473
cmSourceFileLocation.cxx
474
cmSourceFileLocation.h
475
cmSourceFileLocationKind.h
476
cmSourceGroup.cxx
477
cmSourceGroup.h
478
cmStack.h
479
cmStack.tcc
480
cmStandardLevel.h
481
cmStandardLevelResolver.cxx
482
cmStandardLevelResolver.h
483
cmState.cxx
484
cmState.h
485
cmStateDirectory.cxx
486
cmStateDirectory.h
487
cmStateSnapshot.cxx
488
cmStateSnapshot.h
489
cmStateTypes.h
490
cmStdIoConsole.h
491
cmStdIoConsole.cxx
492
cmStdIoInit.h
493
cmStdIoInit.cxx
494
cmStdIoStream.h
495
cmStdIoStream.cxx
496
cmStdIoTerminal.h
497
cmStdIoTerminal.cxx
498
cmStringAlgorithms.cxx
499
cmStringAlgorithms.h
500
cmSyntheticTargetCache.h
501
cmSystemTools.cxx
502
cmSystemTools.h
503
cmTarget.cxx
504
cmTarget.h
505
cmTargetPropertyComputer.cxx
506
cmTargetPropertyComputer.h
507
cmTargetExport.h
508
cmTargetTraceDependencies.cxx
509
cmTargetTraceDependencies.h
510
cmTest.cxx
511
cmTest.h
512
cmTestGenerator.cxx
513
cmTestGenerator.h
514
cmTransformDepfile.cxx
515
cmTransformDepfile.h
516
cmUuid.cxx
517
cmUVHandlePtr.cxx
518
cmUVHandlePtr.h
519
cmUVProcessChain.cxx
520
cmUVProcessChain.h
521
cmUVStream.h
522
cmUVStreambuf.h
523
cmVariableWatch.cxx
524
cmVariableWatch.h
525
cmVersion_Dependencies.cxx
526
cmVersion.cxx
527
cmVersion.h
528
cmWindowsRegistry.cxx
529
cmWindowsRegistry.h
530
cmWorkerPool.cxx
531
cmWorkerPool.h
532
cmWorkingDirectory.cxx
533
cmWorkingDirectory.h
534
cmXcFramework.cxx
535
cmXcFramework.h
536
cmXMLParser.cxx
537
cmXMLParser.h
538
cmXMLSafe.cxx
539
cmXMLSafe.h
540
cmXMLWriter.cxx
541
cmXMLWriter.h
542
cmake.cxx
543
cmake.h
544
545
cmCommands.cxx
546
cmCommands.h
547
cmAddCompileDefinitionsCommand.cxx
548
cmAddCompileDefinitionsCommand.h
549
cmAddCompileOptionsCommand.cxx
550
cmAddCompileOptionsCommand.h
551
cmAddLinkOptionsCommand.cxx
552
cmAddLinkOptionsCommand.h
553
cmAddCustomCommandCommand.cxx
554
cmAddCustomCommandCommand.h
555
cmAddCustomTargetCommand.cxx
556
cmAddCustomTargetCommand.h
557
cmAddDefinitionsCommand.cxx
558
cmAddDefinitionsCommand.h
559
cmAddDependenciesCommand.cxx
560
cmAddDependenciesCommand.h
561
cmAddExecutableCommand.cxx
562
cmAddExecutableCommand.h
563
cmAddLibraryCommand.cxx
564
cmAddLibraryCommand.h
565
cmAddSubDirectoryCommand.cxx
566
cmAddSubDirectoryCommand.h
567
cmAddTestCommand.cxx
568
cmAddTestCommand.h
569
cmAuxSourceDirectoryCommand.cxx
570
cmAuxSourceDirectoryCommand.h
571
cmBreakCommand.cxx
572
cmBreakCommand.h
573
cmBuildCommand.cxx
574
cmBuildCommand.h
575
cmCMakeHostSystemInformationCommand.cxx
576
cmCMakeHostSystemInformationCommand.h
577
cmCMakeLanguageCommand.cxx
578
cmCMakeLanguageCommand.h
579
cmCMakeMinimumRequired.cxx
580
cmCMakeMinimumRequired.h
581
cmCMakePathCommand.h
582
cmCMakePathCommand.cxx
583
cmCMakePkgConfigCommand.h
584
cmCMakePkgConfigCommand.cxx
585
cmCMakePolicyCommand.cxx
586
cmCMakePolicyCommand.h
587
cmConditionEvaluator.cxx
588
cmConditionEvaluator.h
589
cmConfigureFileCommand.cxx
590
cmConfigureFileCommand.h
591
cmContinueCommand.cxx
592
cmContinueCommand.h
593
cmCoreTryCompile.cxx
594
cmCoreTryCompile.h
595
cmCreateTestSourceList.cxx
596
cmCreateTestSourceList.h
597
cmDefinePropertyCommand.cxx
598
cmDefinePropertyCommand.h
599
cmEnableLanguageCommand.cxx
600
cmEnableLanguageCommand.h
601
cmEnableTestingCommand.cxx
602
cmEnableTestingCommand.h
603
cmExecProgramCommand.cxx
604
cmExecProgramCommand.h
605
cmExecuteProcessCommand.cxx
606
cmExecuteProcessCommand.h
607
cmExpandedCommandArgument.cxx
608
cmExpandedCommandArgument.h
609
cmExperimental.cxx
610
cmExperimental.h
611
cmExportCommand.cxx
612
cmExportCommand.h
613
cmFLTKWrapUICommand.cxx
614
cmFLTKWrapUICommand.h
615
cmFileCommand.cxx
616
cmFileCommand.h
617
cmFileCommand_ReadMacho.cxx
618
cmFileCommand_ReadMacho.h
619
cmFindBase.cxx
620
cmFindBase.h
621
cmFindCommon.cxx
622
cmFindCommon.h
623
cmFindFileCommand.cxx
624
cmFindFileCommand.h
625
cmFindLibraryCommand.cxx
626
cmFindLibraryCommand.h
627
cmFindPackageCommand.cxx
628
cmFindPackageCommand.h
629
cmFindPackageStack.cxx
630
cmFindPackageStack.h
631
cmFindPathCommand.cxx
632
cmFindPathCommand.h
633
cmFindProgramCommand.cxx
634
cmFindProgramCommand.h
635
cmForEachCommand.cxx
636
cmForEachCommand.h
637
cmBlockCommand.cxx
638
cmBlockCommand.h
639
cmFunctionBlocker.cxx
640
cmFunctionBlocker.h
641
cmFunctionCommand.cxx
642
cmFunctionCommand.h
643
cmGetCMakePropertyCommand.cxx
644
cmGetCMakePropertyCommand.h
645
cmGetDirectoryPropertyCommand.cxx
646
cmGetDirectoryPropertyCommand.h
647
cmGetFilenameComponentCommand.cxx
648
cmGetFilenameComponentCommand.h
649
cmGetPropertyCommand.cxx
650
cmGetPropertyCommand.h
651
cmGetSourceFilePropertyCommand.cxx
652
cmGetSourceFilePropertyCommand.h
653
cmGetTargetPropertyCommand.cxx
654
cmGetTargetPropertyCommand.h
655
cmGetTestPropertyCommand.cxx
656
cmGetTestPropertyCommand.h
657
cmHexFileConverter.cxx
658
cmHexFileConverter.h
659
cmIfCommand.cxx
660
cmIfCommand.h
661
cmIncludeCommand.cxx
662
cmIncludeCommand.h
663
cmIncludeDirectoryCommand.cxx
664
cmIncludeDirectoryCommand.h
665
cmIncludeExternalMSProjectCommand.cxx
666
cmIncludeExternalMSProjectCommand.h
667
cmIncludeGuardCommand.cxx
668
cmIncludeGuardCommand.h
669
cmIncludeRegularExpressionCommand.cxx
670
cmIncludeRegularExpressionCommand.h
671
cmInstallCommand.cxx
672
cmInstallCommand.h
673
cmInstallCommandArguments.cxx
674
cmInstallCommandArguments.h
675
cmInstallCxxModuleBmiGenerator.cxx
676
cmInstallCxxModuleBmiGenerator.h
677
cmInstallFilesCommand.cxx
678
cmInstallFilesCommand.h
679
cmInstallProgramsCommand.cxx
680
cmInstallProgramsCommand.h
681
cmInstallTargetsCommand.cxx
682
cmInstallTargetsCommand.h
683
cmLinkDirectoriesCommand.cxx
684
cmLinkDirectoriesCommand.h
685
cmLinkLibrariesCommand.cxx
686
cmLinkLibrariesCommand.h
687
cmListCommand.cxx
688
cmListCommand.h
689
cmLoadCacheCommand.cxx
690
cmLoadCacheCommand.h
691
cmMacroCommand.cxx
692
cmMacroCommand.h
693
cmMakeDirectoryCommand.cxx
694
cmMakeDirectoryCommand.h
695
cmMarkAsAdvancedCommand.cxx
696
cmMarkAsAdvancedCommand.h
697
cmMathCommand.cxx
698
cmMathCommand.h
699
cmMessageCommand.cxx
700
cmMessageCommand.h
701
cmMessageMetadata.h
702
cmOptionCommand.cxx
703
cmOptionCommand.h
704
cmParseArgumentsCommand.cxx
705
cmParseArgumentsCommand.h
706
cmPathLabel.cxx
707
cmPathLabel.h
708
cmProjectCommand.cxx
709
cmProjectCommand.h
710
cmQTWrapCPPCommand.cxx
711
cmQTWrapCPPCommand.h
712
cmQTWrapUICommand.cxx
713
cmQTWrapUICommand.h
714
cmRemoveCommand.cxx
715
cmRemoveCommand.h
716
cmRemoveDefinitionsCommand.cxx
717
cmRemoveDefinitionsCommand.h
718
cmReturnCommand.cxx
719
cmReturnCommand.h
720
cmSbomArguments.h
721
cmSbomArguments.cxx
722
cmSbomObject.h
723
cmSbomSerializer.h
724
cmSearchPath.cxx
725
cmSearchPath.h
726
cmSeparateArgumentsCommand.cxx
727
cmSeparateArgumentsCommand.h
728
cmSetCommand.cxx
729
cmSetCommand.h
730
cmSetDirectoryPropertiesCommand.cxx
731
cmSetDirectoryPropertiesCommand.h
732
cmSetPropertyCommand.cxx
733
cmSetPropertyCommand.h
734
cmSetSourceFilesPropertiesCommand.cxx
735
cmSetSourceFilesPropertiesCommand.h
736
cmSetTargetPropertiesCommand.cxx
737
cmSetTargetPropertiesCommand.h
738
cmSetTestsPropertiesCommand.cxx
739
cmSetTestsPropertiesCommand.h
740
cmSiteNameCommand.cxx
741
cmSiteNameCommand.h
742
cmSourceGroupCommand.cxx
743
cmSourceGroupCommand.h
744
cmSpdx.cxx
745
cmSpdx.h
746
cmSpdxSerializer.cxx
747
cmSpdxSerializer.h
748
cmString.cxx
749
cmString.hxx
750
cmStringReplaceHelper.cxx
751
cmStringCommand.cxx
752
cmStringCommand.h
753
cmSubcommandTable.cxx
754
cmSubcommandTable.h
755
cmSubdirCommand.cxx
756
cmSubdirCommand.h
757
cmTargetCompileDefinitionsCommand.cxx
758
cmTargetCompileDefinitionsCommand.h
759
cmTargetCompileFeaturesCommand.cxx
760
cmTargetCompileFeaturesCommand.h
761
cmTargetCompileOptionsCommand.cxx
762
cmTargetCompileOptionsCommand.h
763
cmTargetIncludeDirectoriesCommand.cxx
764
cmTargetIncludeDirectoriesCommand.h
765
cmTargetLinkOptionsCommand.cxx
766
cmTargetLinkOptionsCommand.h
767
cmTargetLinkDirectoriesCommand.cxx
768
cmTargetLinkDirectoriesCommand.h
769
cmTargetLinkLibrariesCommand.cxx
770
cmTargetLinkLibrariesCommand.h
771
cmTargetPrecompileHeadersCommand.cxx
772
cmTargetPrecompileHeadersCommand.h
773
cmTargetPropCommandBase.cxx
774
cmTargetPropCommandBase.h
775
cmTargetSourcesCommand.cxx
776
cmTargetSourcesCommand.h
777
cmTimestamp.cxx
778
cmTimestamp.h
779
cmTryCompileCommand.cxx
780
cmTryCompileCommand.h
781
cmTryRunCommand.cxx
782
cmTryRunCommand.h
783
cmUnsetCommand.cxx
784
cmUnsetCommand.h
785
cmVariableWatchCommand.cxx
786
cmVariableWatchCommand.h
787
cmWhileCommand.cxx
788
cmWhileCommand.h
789
cmWriteFileCommand.cxx
790
cmWriteFileCommand.h
791
# Ninja support
792
cmScanDepFormat.cxx
793
cmGlobalNinjaGenerator.cxx
794
cmGlobalNinjaGenerator.h
795
cmNinjaTypes.h
796
cmLocalNinjaGenerator.cxx
797
cmLocalNinjaGenerator.h
798
cmNinjaTargetGenerator.cxx
799
cmNinjaTargetGenerator.h
800
cmNinjaNormalTargetGenerator.cxx
801
cmNinjaNormalTargetGenerator.h
802
cmNinjaUtilityTargetGenerator.cxx
803
cmNinjaUtilityTargetGenerator.h
804
cmNinjaLinkLineComputer.cxx
805
cmNinjaLinkLineComputer.h
806
cmNinjaLinkLineDeviceComputer.cxx
807
cmNinjaLinkLineDeviceComputer.h
808
# FASTBuild support
809
cmGlobalFastbuildGenerator.cxx
810
cmGlobalFastbuildGenerator.h
811
cmLocalFastbuildGenerator.cxx
812
cmLocalFastbuildGenerator.h
813
cmFastbuildTargetGenerator.cxx
814
cmFastbuildTargetGenerator.h
815
cmFastbuildLinkLineComputer.cxx
816
cmFastbuildNormalTargetGenerator.cxx
817
cmFastbuildNormalTargetGenerator.h
818
cmFastbuildUtilityTargetGenerator.cxx
819
cmFastbuildUtilityTargetGenerator.h
820
821
cm_parse_date.h
822
cm_parse_date.c
823
cm_utf8.h
824
cm_utf8.c
825
cm_codecvt.hxx
826
cm_codecvt.cxx
827
cm_fileno.hxx
828
cm_fileno.cxx
829
830
cmDuration.h
831
cmDuration.cxx
832
833
bindexplib.cxx
834
)
835
target_include_directories(
836
CMakeLib
837
PUBLIC
838
# add the include path to find the .h
839
"${CMAKE_CURRENT_BINARY_DIR}"
840
"${CMAKE_CURRENT_SOURCE_DIR}"
841
"${CMAKE_CURRENT_SOURCE_DIR}/LexerParser"
842
${CMake_HAIKU_INCLUDE_DIRS}
843
)
844
target_link_libraries(
845
CMakeLib
846
PUBLIC
847
cmstd
848
cmsys
849
CURL::libcurl
850
EXPAT::EXPAT
851
JsonCpp::JsonCpp
852
$<TARGET_NAME_IF_EXISTS:kwiml::kwiml>
853
LibArchive::LibArchive
854
LibRHash::LibRHash
855
LibUV::LibUV
856
Threads::Threads
857
ZLIB::ZLIB
858
llpkgc::llpkgc
859
)
860
861
if(CMake_ENABLE_DEBUGGER)
862
target_sources(
863
CMakeLib
864
PRIVATE
865
cmDebuggerAdapter.cxx
866
cmDebuggerAdapter.h
867
cmDebuggerBreakpointManager.cxx
868
cmDebuggerBreakpointManager.h
869
cmDebuggerExceptionManager.cxx
870
cmDebuggerExceptionManager.h
871
cmDebuggerProtocol.cxx
872
cmDebuggerProtocol.h
873
cmDebuggerSourceBreakpoint.cxx
874
cmDebuggerSourceBreakpoint.h
875
cmDebuggerStackFrame.cxx
876
cmDebuggerStackFrame.h
877
cmDebuggerThread.cxx
878
cmDebuggerThread.h
879
cmDebuggerThreadManager.cxx
880
cmDebuggerThreadManager.h
881
cmDebuggerVariables.cxx
882
cmDebuggerVariables.h
883
cmDebuggerVariablesHelper.cxx
884
cmDebuggerVariablesHelper.h
885
cmDebuggerVariablesManager.cxx
886
cmDebuggerVariablesManager.h
887
)
888
if(WIN32)
889
target_sources(
890
CMakeLib
891
PRIVATE
892
cmDebuggerWindowsPipeConnection.cxx
893
cmDebuggerWindowsPipeConnection.h
894
)
895
else()
896
target_sources(
897
CMakeLib
898
PRIVATE
899
cmDebuggerPosixPipeConnection.cxx
900
cmDebuggerPosixPipeConnection.h
901
)
902
endif()
903
target_link_libraries(CMakeLib PUBLIC cppdap::cppdap)
904
endif()
905
906
# Check if we can build the Mach-O parser.
907
if(CMake_USE_MACH_PARSER)
908
target_sources(
909
CMakeLib
910
PRIVATE
911
cmMachO.h
912
cmMachO.cxx
913
)
914
endif()
915
916
# Check if we can build the XCOFF parser.
917
if(CMake_USE_XCOFF_PARSER)
918
target_sources(
919
CMakeLib
920
PRIVATE
921
cmXCOFF.h
922
cmXCOFF.cxx
923
)
924
endif()
925
926
# Xcode only works on Apple
927
if(APPLE)
928
target_sources(
929
CMakeLib
930
PRIVATE
931
cmXCodeObject.cxx
932
cmXCode21Object.cxx
933
cmXCodeScheme.cxx
934
cmGlobalXCodeGenerator.cxx
935
cmGlobalXCodeGenerator.h
936
cmLocalXCodeGenerator.cxx
937
cmLocalXCodeGenerator.h
938
)
939
endif()
940
941
if(WIN32)
942
target_sources(
943
CMakeLib
944
PRIVATE
945
cmCallVisualStudioMacro.cxx
946
cmCallVisualStudioMacro.h
947
)
948
949
if(NOT UNIX)
950
target_sources(
951
CMakeLib
952
PRIVATE
953
cmGlobalBorlandMakefileGenerator.cxx
954
cmGlobalBorlandMakefileGenerator.h
955
cmGlobalMSYSMakefileGenerator.cxx
956
cmGlobalMinGWMakefileGenerator.cxx
957
cmGlobalNMakeMakefileGenerator.cxx
958
cmGlobalNMakeMakefileGenerator.h
959
cmGlobalJOMMakefileGenerator.cxx
960
cmGlobalJOMMakefileGenerator.h
961
cmGlobalVisualStudio7Generator.cxx
962
cmGlobalVisualStudio7Generator.h
963
cmGlobalVisualStudio8Generator.cxx
964
cmGlobalVisualStudio8Generator.h
965
cmVisualStudioGeneratorOptions.h
966
cmVisualStudioGeneratorOptions.cxx
967
cmVsProjectType.h
968
cmVisualStudio10TargetGenerator.h
969
cmVisualStudio10TargetGenerator.cxx
970
cmLocalVisualStudio10Generator.cxx
971
cmLocalVisualStudio10Generator.h
972
cmGlobalVisualStudio10Generator.h
973
cmGlobalVisualStudio10Generator.cxx
974
cmGlobalVisualStudio11Generator.h
975
cmGlobalVisualStudio11Generator.cxx
976
cmGlobalVisualStudio12Generator.h
977
cmGlobalVisualStudio12Generator.cxx
978
cmGlobalVisualStudio14Generator.h
979
cmGlobalVisualStudio14Generator.cxx
980
cmGlobalVisualStudioGenerator.cxx
981
cmGlobalVisualStudioGenerator.h
982
cmGlobalVisualStudioVersionedGenerator.h
983
cmGlobalVisualStudioVersionedGenerator.cxx
984
cmIDEFlagTable.h
985
cmIDEOptions.cxx
986
cmIDEOptions.h
987
cmLocalVisualStudio7Generator.cxx
988
cmLocalVisualStudio7Generator.h
989
cmLocalVisualStudioGenerator.cxx
990
cmLocalVisualStudioGenerator.h
991
cmVisualStudioSlnData.h
992
cmVisualStudioSlnData.cxx
993
cmVisualStudioSlnParser.h
994
cmVisualStudioSlnParser.cxx
995
cmVisualStudioWCEPlatformParser.h
996
cmVisualStudioWCEPlatformParser.cxx
997
cmVSSetupHelper.cxx
998
cmVSSetupHelper.h
999
cmVSSolution.cxx
1000
cmVSSolution.h
1001
cmVSVersion.h
1002
)
1003
1004
# Add a manifest file to executables on Windows to allow for
1005
# GetVersion to work properly on Windows 8 and above.
1006
if(MSVC)
1007
target_sources(ManifestLib INTERFACE cmake.version.manifest)
1008
else()
1009
target_sources(ManifestLib INTERFACE cmake.version.manifest.rc)
1010
endif()
1011
endif()
1012
endif()
1013
1014
# Watcom support
1015
if(CMAKE_USE_WMAKE)
1016
target_sources(
1017
CMakeLib
1018
PRIVATE
1019
cmGlobalWatcomWMakeGenerator.cxx
1020
cmGlobalWatcomWMakeGenerator.h
1021
)
1022
endif()
1023
1024
# GHS support
1025
# Works only for windows and linux
1026
if(WIN32 OR CMAKE_SYSTEM_NAME STREQUAL "Linux")
1027
target_sources(
1028
CMakeLib
1029
PRIVATE
1030
cmGlobalGhsMultiGenerator.cxx
1031
cmGlobalGhsMultiGenerator.h
1032
cmLocalGhsMultiGenerator.cxx
1033
cmLocalGhsMultiGenerator.h
1034
cmGhsMultiTargetGenerator.cxx
1035
cmGhsMultiTargetGenerator.h
1036
cmGhsMultiGpj.cxx
1037
cmGhsMultiGpj.h
1038
)
1039
endif()
1040
1041
if(CMake_BUILD_PCH)
1042
target_precompile_headers(CMakeLib PRIVATE
1043
"$<$<COMPILE_LANGUAGE:CXX>:<string$<ANGLE-R>>"
1044
"$<$<COMPILE_LANGUAGE:CXX>:<iostream$<ANGLE-R>>"
1045
"$<$<COMPILE_LANGUAGE:CXX>:<sstream$<ANGLE-R>>"
1046
"$<$<COMPILE_LANGUAGE:CXX>:<iomanip$<ANGLE-R>>"
1047
"$<$<COMPILE_LANGUAGE:CXX>:<cm/memory$<ANGLE-R>>"
1048
"$<$<COMPILE_LANGUAGE:CXX>:<cm3p/cppdap/protocol.h$<ANGLE-R>>"
1049
"$<$<COMPILE_LANGUAGE:CXX>:cmMakefile.h>"
1050
"$<$<COMPILE_LANGUAGE:CXX>:cmGlobalGenerator.h>"
1051
"$<$<COMPILE_LANGUAGE:CXX>:cmLocalGenerator.h>"
1052
"$<$<COMPILE_LANGUAGE:CXX>:cmGeneratorTarget.h>"
1053
"$<$<COMPILE_LANGUAGE:CXX>:cmGeneratorExpression.h>"
1054
"$<$<COMPILE_LANGUAGE:CXX>:cmArgumentParser.h>"
1055
"$<$<COMPILE_LANGUAGE:CXX>:cmake.h>"
1056
"$<$<COMPILE_LANGUAGE:CXX>:cmCMakePath.h>"
1057
"$<$<COMPILE_LANGUAGE:CXX>:cmCurl.h>")
1058
1059
set_source_files_properties(
1060
"LexerParser/cmFortranLexer.cxx"
1061
PROPERTIES SKIP_PRECOMPILE_HEADERS ON)
1062
1063
if(WIN32)
1064
target_precompile_headers(CMakeLib PRIVATE
1065
"$<$<COMPILE_LANGUAGE:CXX>:<cm3p/uv.h$<ANGLE-R>>"
1066
"$<$<COMPILE_LANGUAGE:CXX>:cmVSSetupHelper.h>")
1067
set_source_files_properties("LexerParser/cmFortranParser.cxx" PROPERTIES SKIP_PRECOMPILE_HEADERS ON)
1068
else()
1069
set_source_files_properties(
1070
"LexerParser/cmGccDepfileLexer.cxx"
1071
"LexerParser/cmExprLexer.cxx"
1072
"LexerParser/cmDependsJavaLexer.cxx"
1073
PROPERTIES SKIP_PRECOMPILE_HEADERS ON)
1074
endif()
1075
endif()
1076
1077
# Temporary variable for tools targets
1078
set(_tools)
1079
1080
if(WIN32 AND NOT CYGWIN)
1081
set_source_files_properties(cmcldeps.cxx PROPERTIES COMPILE_DEFINITIONS _WIN32_WINNT=0x0501)
1082
add_executable(cmcldeps cmcldeps.cxx)
1083
target_link_libraries(cmcldeps PRIVATE CMakeLib ManifestLib)
1084
list(APPEND _tools cmcldeps)
1085
endif()
1086
1087
if(CMAKE_SYSTEM_NAME STREQUAL "SunOS" AND CMAKE_SYSTEM_VERSION STREQUAL "5.10" AND CMAKE_SYSTEM_PROCESSOR MATCHES "^(i386|x86_64)$")
1088
set_property(SOURCE cmSystemTools.cxx APPEND PROPERTY COMPILE_DEFINITIONS CMAKE_NO_MKDTEMP)
1089
endif()
1090
get_property(targetSupportsSharedLibs GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS)
1091
if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND NOT targetSupportsSharedLibs)
1092
# Disable getpwnam for static linux builds since it depends on shared glibc.
1093
set_property(SOURCE cmSystemTools.cxx APPEND PROPERTY COMPILE_DEFINITIONS CMAKE_NO_GETPWNAM)
1094
endif()
1095
1096
# Some atomic instructions are implemented using libatomic on some platforms.
1097
if(CMake_HAVE_CXX_ATOMIC_LIB)
1098
target_link_libraries(CMakeLib PUBLIC atomic)
1099
endif()
1100
1101
# On Apple we need CoreFoundation and CoreServices
1102
if(APPLE)
1103
target_link_libraries(CMakeLib PUBLIC "-framework CoreFoundation")
1104
target_link_libraries(CMakeLib PUBLIC "-framework CoreServices")
1105
endif()
1106
1107
if(WIN32 AND NOT UNIX)
1108
# We need the rpcrt4 library on Windows.
1109
# We need the crypt32 library on Windows for crypto/cert APIs.
1110
target_link_libraries(CMakeLib PUBLIC rpcrt4 crypt32)
1111
endif()
1112
1113
target_compile_definitions(CMakeLib PUBLIC ${CLANG_TIDY_DEFINITIONS})
1114
1115
#
1116
# Build CTestLib
1117
#
1118
add_library(
1119
CTestLib
1120
cmCTest.cxx
1121
CTest/cmProcess.cxx
1122
CTest/cmCTestBinPacker.cxx
1123
CTest/cmCTestBuildAndTest.cxx
1124
CTest/cmCTestBuildCommand.cxx
1125
CTest/cmCTestBuildHandler.cxx
1126
CTest/cmCTestCommand.cxx
1127
CTest/cmCTestConfigureCommand.cxx
1128
CTest/cmCTestCoverageCommand.cxx
1129
CTest/cmCTestCoverageHandler.cxx
1130
CTest/cmCTestCurl.cxx
1131
CTest/cmParseMumpsCoverage.cxx
1132
CTest/cmParseCacheCoverage.cxx
1133
CTest/cmParseGTMCoverage.cxx
1134
CTest/cmParseJacocoCoverage.cxx
1135
CTest/cmParseBlanketJSCoverage.cxx
1136
CTest/cmParsePHPCoverage.cxx
1137
CTest/cmParseCoberturaCoverage.cxx
1138
CTest/cmParseDelphiCoverage.cxx
1139
CTest/cmCTestEmptyBinaryDirectoryCommand.cxx
1140
CTest/cmCTestGenericHandler.cxx
1141
CTest/cmCTestHandlerCommand.cxx
1142
CTest/cmCTestResourceAllocator.cxx
1143
CTest/cmCTestResourceSpec.cxx
1144
CTest/cmCTestLaunch.cxx
1145
CTest/cmCTestLaunchReporter.cxx
1146
CTest/cmCTestMemCheckCommand.cxx
1147
CTest/cmCTestMemCheckHandler.cxx
1148
CTest/cmCTestMultiProcessHandler.cxx
1149
CTest/cmCTestReadCustomFilesCommand.cxx
1150
CTest/cmCTestResourceGroupsLexerHelper.cxx
1151
CTest/cmCTestRunScriptCommand.cxx
1152
CTest/cmCTestRunTest.cxx
1153
CTest/cmCTestScriptHandler.cxx
1154
CTest/cmCTestSleepCommand.cxx
1155
CTest/cmCTestStartCommand.cxx
1156
CTest/cmCTestSubmitCommand.cxx
1157
CTest/cmCTestSubmitHandler.cxx
1158
CTest/cmCTestTestCommand.cxx
1159
CTest/cmCTestTestHandler.cxx
1160
CTest/cmCTestTestMeasurementXMLParser.cxx
1161
CTest/cmCTestTypes.cxx
1162
CTest/cmCTestUpdateCommand.cxx
1163
CTest/cmCTestUploadCommand.cxx
1164
1165
CTest/cmCTestVC.cxx
1166
CTest/cmCTestVC.h
1167
CTest/cmCTestGlobalVC.cxx
1168
CTest/cmCTestGlobalVC.h
1169
CTest/cmCTestCVS.cxx
1170
CTest/cmCTestCVS.h
1171
CTest/cmCTestSVN.cxx
1172
CTest/cmCTestSVN.h
1173
CTest/cmCTestBZR.cxx
1174
CTest/cmCTestBZR.h
1175
CTest/cmCTestGIT.cxx
1176
CTest/cmCTestGIT.h
1177
CTest/cmCTestHG.cxx
1178
CTest/cmCTestHG.h
1179
CTest/cmCTestP4.cxx
1180
CTest/cmCTestP4.h
1181
1182
CTest/cmUVJobServerClient.cxx
1183
CTest/cmUVJobServerClient.h
1184
1185
LexerParser/cmCTestResourceGroupsLexer.cxx
1186
LexerParser/cmCTestResourceGroupsLexer.h
1187
LexerParser/cmCTestResourceGroupsLexer.in.l
1188
)
1189
target_include_directories(
1190
CTestLib
1191
PUBLIC
1192
"${CMAKE_CURRENT_SOURCE_DIR}/CTest"
1193
)
1194
target_link_libraries(CTestLib PUBLIC CMakeLib)
1195
1196
if(CMake_BUILD_PCH)
1197
target_precompile_headers(CTestLib PRIVATE
1198
"cmDuration.h"
1199
"cmMakefile.h"
1200
"cmSystemTools.h"
1201
"cmGlobalGenerator.h"
1202
"cmake.h"
1203
"CTest/cmCTestGenericHandler.h"
1204
"<sstream>"
1205
"<cm3p/uv.h>")
1206
1207
if(WIN32)
1208
target_precompile_headers(CTestLib PRIVATE "cmCurl.h" "CTest/cmCTestMultiProcessHandler.h")
1209
else()
1210
set_source_files_properties("LexerParser/cmCTestResourceGroupsLexer.cxx" PROPERTIES SKIP_PRECOMPILE_HEADERS ON)
1211
endif()
1212
endif()
1213
1214
#
1215
# Build CPackLib
1216
#
1217
add_library(
1218
CPackLib
1219
CPack/cmCPackArchiveGenerator.cxx
1220
CPack/cmCPackComponentGroup.cxx
1221
CPack/cmCPackDebGenerator.cxx
1222
CPack/cmCPackDebGenerator.h
1223
CPack/cmCPackExternalGenerator.cxx
1224
CPack/cmCPackExternalGenerator.h
1225
CPack/cmCPackGeneratorFactory.cxx
1226
CPack/cmCPackGenerator.cxx
1227
CPack/cmCPackLog.cxx
1228
CPack/cmCPackInnoSetupGenerator.cxx
1229
CPack/cmCPackNSISGenerator.cxx
1230
CPack/cmCPackNuGetGenerator.cxx
1231
CPack/cmCPackSTGZGenerator.cxx
1232
# CPack IFW generator
1233
CPack/IFW/cmCPackIFWCommon.cxx
1234
CPack/IFW/cmCPackIFWCommon.h
1235
CPack/IFW/cmCPackIFWGenerator.cxx
1236
CPack/IFW/cmCPackIFWGenerator.h
1237
CPack/IFW/cmCPackIFWInstaller.cxx
1238
CPack/IFW/cmCPackIFWInstaller.h
1239
CPack/IFW/cmCPackIFWPackage.cxx
1240
CPack/IFW/cmCPackIFWPackage.h
1241
CPack/IFW/cmCPackIFWRepository.cxx
1242
CPack/IFW/cmCPackIFWRepository.h
1243
)
1244
target_include_directories(
1245
CPackLib
1246
PUBLIC
1247
"${CMAKE_CURRENT_SOURCE_DIR}/CPack"
1248
"${CMAKE_CURRENT_BINARY_DIR}/CPack"
1249
)
1250
target_link_libraries(CPackLib PUBLIC CMakeLib)
1251
1252
option(CPACK_ENABLE_FREEBSD_PKG "Add FreeBSD pkg(8) generator to CPack." OFF)
1253
if(UNIX)
1254
target_sources(
1255
CPackLib
1256
PRIVATE
1257
CPack/cmCPackRPMGenerator.cxx
1258
)
1259
1260
# Optionally, try to use pkg(8)
1261
if(CPACK_ENABLE_FREEBSD_PKG)
1262
# On UNIX, you may find FreeBSD's pkg(8) and attendant
1263
# library -- it can be used on FreeBSD, Dragonfly, NetBSD,
1264
# OpenBSD and also Linux and OSX. Look for the header and
1265
# the library; it's a warning on FreeBSD if they're not
1266
# found, and informational on other platforms.
1267
find_path(FREEBSD_PKG_INCLUDE_DIRS "pkg.h")
1268
if(FREEBSD_PKG_INCLUDE_DIRS)
1269
find_library(FREEBSD_PKG_LIBRARIES
1270
pkg
1271
DOC "FreeBSD pkg(8) library")
1272
if(FREEBSD_PKG_LIBRARIES)
1273
set(ENABLE_BUILD_FREEBSD_PKG 1)
1274
target_sources(CPackLib PRIVATE CPack/cmCPackFreeBSDGenerator.cxx)
1275
target_include_directories(CPackLib PUBLIC ${FREEBSD_PKG_INCLUDE_DIRS})
1276
target_link_libraries(CPackLib PUBLIC ${FREEBSD_PKG_LIBRARIES})
1277
endif()
1278
endif()
1279
1280
if(NOT FREEBSD_PKG_INCLUDE_DIRS OR NOT FREEBSD_PKG_LIBRARIES)
1281
message(FATAL_ERROR "CPack needs libpkg(3) to produce FreeBSD packages natively.")
1282
endif()
1283
else()
1284
set(FREEBSD_PKG_INCLUDE_DIRS NOTFOUND)
1285
set(FREEBSD_PKG_LIBRARIES NOTFOUND)
1286
endif()
1287
endif()
1288
1289
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
1290
target_sources(
1291
CPackLib
1292
PRIVATE
1293
CPack/cmCPackAppImageGenerator.cxx
1294
CPack/cmCPackAppImageGenerator.h
1295
)
1296
endif()
1297
1298
if(CYGWIN)
1299
target_sources(
1300
CPackLib
1301
PRIVATE
1302
CPack/cmCPackCygwinBinaryGenerator.cxx
1303
CPack/cmCPackCygwinSourceGenerator.cxx
1304
)
1305
find_package(LibUUID)
1306
endif()
1307
1308
if(WIN32 OR (CYGWIN AND TARGET LibUUID::LibUUID))
1309
set(ENABLE_BUILD_WIX_GENERATOR 1)
1310
target_sources(
1311
CPackLib
1312
PRIVATE
1313
CPack/WiX/cmCMakeToWixPath.cxx
1314
CPack/WiX/cmCMakeToWixPath.h
1315
CPack/WiX/cmCPackWIXGenerator.cxx
1316
CPack/WiX/cmCPackWIXGenerator.h
1317
CPack/WiX/cmWIXAccessControlList.cxx
1318
CPack/WiX/cmWIXAccessControlList.h
1319
CPack/WiX/cmWIXDirectoriesSourceWriter.cxx
1320
CPack/WiX/cmWIXDirectoriesSourceWriter.h
1321
CPack/WiX/cmWIXFeaturesSourceWriter.cxx
1322
CPack/WiX/cmWIXFeaturesSourceWriter.h
1323
CPack/WiX/cmWIXFilesSourceWriter.cxx
1324
CPack/WiX/cmWIXFilesSourceWriter.h
1325
CPack/WiX/cmWIXPatch.cxx
1326
CPack/WiX/cmWIXPatch.h
1327
CPack/WiX/cmWIXPatchParser.cxx
1328
CPack/WiX/cmWIXPatchParser.h
1329
CPack/WiX/cmWIXRichTextFormatWriter.cxx
1330
CPack/WiX/cmWIXRichTextFormatWriter.h
1331
CPack/WiX/cmWIXShortcut.cxx
1332
CPack/WiX/cmWIXShortcut.h
1333
CPack/WiX/cmWIXSourceWriter.cxx
1334
CPack/WiX/cmWIXSourceWriter.h
1335
)
1336
target_link_libraries(CPackLib PUBLIC $<TARGET_NAME_IF_EXISTS:LibUUID::LibUUID>)
1337
endif()
1338
1339
if(APPLE)
1340
target_sources(
1341
CPackLib
1342
PRIVATE
1343
CPack/cmCPackBundleGenerator.cxx
1344
CPack/cmCPackDragNDropGenerator.cxx
1345
CPack/cmCPackPKGGenerator.cxx
1346
CPack/cmCPackProductBuildGenerator.cxx
1347
)
1348
endif()
1349
1350
if(APPLE)
1351
# Some compilers produce errors in the CoreServices framework headers.
1352
# Ideally such errors should be fixed by either the compiler vendor
1353
# or the framework source, but we try to workaround it and build anyway.
1354
# If it does not work, build with reduced functionality and warn.
1355
check_include_file("CoreServices/CoreServices.h" HAVE_CoreServices)
1356
if(HAVE_CoreServices)
1357
target_link_libraries(CPackLib PUBLIC "-framework CoreServices")
1358
else()
1359
message(WARNING "This compiler does not appear to support\n"
1360
" #include <CoreServices/CoreServices.h>\n"
1361
"Some CPack functionality may be limited.\n"
1362
"See CMakeFiles/CMakeError.log for details of the failure.")
1363
endif()
1364
endif()
1365
1366
# Render config header file for CPackLib
1367
configure_file(CPack/cmCPackConfigure.h.in CPack/cmCPackConfigure.h)
1368
1369
1370
# Build CMake executable
1371
add_executable(cmake cmakemain.cxx cmcmd.cxx cmcmd.h)
1372
target_link_libraries(cmake PRIVATE CMakeLib ManifestLib)
1373
list(APPEND _tools cmake)
1374
1375
# Build CTest executable
1376
add_executable(ctest ctest.cxx)
1377
target_link_libraries(ctest PRIVATE CTestLib ManifestLib)
1378
list(APPEND _tools ctest)
1379
1380
# Build CPack executable
1381
add_executable(cpack CPack/cpack.cxx)
1382
target_link_libraries(cpack PRIVATE CPackLib ManifestLib)
1383
list(APPEND _tools cpack)
1384
1385
# Curses GUI
1386
if(BUILD_CursesDialog)
1387
add_subdirectory(CursesDialog)
1388
endif()
1389
1390
# Qt GUI
1391
option(BUILD_QtDialog "Build Qt dialog for CMake" FALSE)
1392
if(BUILD_QtDialog)
1393
add_subdirectory(QtDialog)
1394
endif()
1395
1396
include(${CMAKE_CURRENT_BINARY_DIR}/LocalUserOptions.cmake OPTIONAL)
1397
include(${CMAKE_CURRENT_SOURCE_DIR}/LocalUserOptions.cmake OPTIONAL)
1398
1399
if(WIN32)
1400
# Compute the binary version that appears in the RC file. Version
1401
# components in the RC file are 16-bit integers so we may have to
1402
# split the patch component.
1403
if(CMake_VERSION_PATCH MATCHES "^([0-9]+)([0-9][0-9][0-9][0-9])$")
1404
set(CMake_RCVERSION_YEAR "${CMAKE_MATCH_1}")
1405
set(CMake_RCVERSION_MONTH_DAY "${CMAKE_MATCH_2}")
1406
string(REGEX REPLACE "^0+" "" CMake_RCVERSION_MONTH_DAY "${CMake_RCVERSION_MONTH_DAY}")
1407
set(CMake_RCVERSION ${CMake_VERSION_MAJOR},${CMake_VERSION_MINOR},${CMake_RCVERSION_YEAR},${CMake_RCVERSION_MONTH_DAY})
1408
unset(CMake_RCVERSION_MONTH_DAY)
1409
unset(CMake_RCVERSION_YEAR)
1410
else()
1411
set(CMake_RCVERSION ${CMake_VERSION_MAJOR},${CMake_VERSION_MINOR},${CMake_VERSION_PATCH},0)
1412
endif()
1413
set(CMake_RCVERSION_STR ${CMake_VERSION})
1414
1415
# Add Windows executable version information.
1416
configure_file(CMakeVersion.rc.in CMakeVersion.rc @ONLY)
1417
1418
# We use a separate object library for this to work around a limitation of
1419
# MinGW's windres tool with spaces in the path to the include directories.
1420
add_library(CMakeVersion OBJECT "${CMAKE_CURRENT_BINARY_DIR}/CMakeVersion.rc")
1421
set_property(TARGET CMakeVersion PROPERTY INCLUDE_DIRECTORIES "")
1422
foreach(_tool IN LISTS _tools)
1423
target_link_libraries(${_tool} PRIVATE CMakeVersion)
1424
endforeach()
1425
endif()
1426
1427
if(CMake_JOB_POOL_LINK_BIN)
1428
set_property(TARGET ${_tools} PROPERTY JOB_POOL_LINK "link-bin")
1429
set_property(GLOBAL APPEND PROPERTY JOB_POOLS "link-bin=${CMake_JOB_POOL_LINK_BIN}")
1430
endif()
1431
1432
# Install tools
1433
1434
foreach(_tool IN LISTS _tools)
1435
CMake_OPTIONAL_COMPONENT(${_tool})
1436
install(TARGETS ${_tool} DESTINATION ${CMake_INSTALL_BIN_DIR} ${COMPONENT})
1437
endforeach()
1438
1439
# Unset temporary variables
1440
unset(_tools)
1441
1442