root/simulator/trunk/vendor/cmake/Source/CMakeLists.txt

Revision 1463, 14.3 kB (checked in by sehenley, 7 months ago)

Update to cmake-2.8.1-rc3

Line 
1 #=============================================================================
2 # CMake - Cross Platform Makefile Generator
3 # Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
4 #
5 # Distributed under the OSI-approved BSD License (the "License");
6 # see accompanying file Copyright.txt for details.
7 #
8 # This software is distributed WITHOUT ANY WARRANTY; without even the
9 # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10 # See the License for more information.
11 #=============================================================================
12
13 # ####################################################
14 # Modified by OSRail Project to create a CodeBlocks
15 # generator for gcc projects. sehenley@comcast.net
16 # ###################################################
17
18 INCLUDE(CheckIncludeFile)
19 # Check if we can build support for ELF parsing.
20 CHECK_INCLUDE_FILE("elf.h" HAVE_ELF_H)
21 IF(HAVE_ELF_H)
22   SET(CMAKE_USE_ELF_PARSER 1)
23 ELSE(HAVE_ELF_H)
24   SET(CMAKE_USE_ELF_PARSER)
25 ENDIF(HAVE_ELF_H)
26
27 SET(EXECUTABLE_OUTPUT_PATH ${CMake_BIN_DIR})
28
29 # configure the .h file
30 CONFIGURE_FILE(
31   "${CMake_SOURCE_DIR}/Source/cmConfigure.cmake.h.in"
32   "${CMake_BINARY_DIR}/Source/cmConfigure.h"
33   )
34 CONFIGURE_FILE(
35   "${CMake_SOURCE_DIR}/Source/cmVersionConfig.h.in"
36   "${CMake_BINARY_DIR}/Source/cmVersionConfig.h"
37   )
38 CONFIGURE_FILE(
39   "${CMake_SOURCE_DIR}/Source/CPack/cmCPackConfigure.h.in"
40   "${CMake_BINARY_DIR}/Source/CPack/cmCPackConfigure.h"
41   )
42
43 # add the include path to find the .h
44 INCLUDE_DIRECTORIES(
45   "${CMake_BINARY_DIR}/Source"
46   "${CMake_SOURCE_DIR}/Source"
47   ${CMAKE_ZLIB_INCLUDES}
48   ${CMAKE_EXPAT_INCLUDES}
49   ${CMAKE_TAR_INCLUDES}
50   ${CMAKE_COMPRESS_INCLUDES}
51   )
52
53 # let cmake know it is supposed to use it
54 ADD_DEFINITIONS(-DCMAKE_BUILD_WITH_CMAKE)
55
56 OPTION(CMAKE_REGENERATE_YACCLEX
57   "Regenerate YACC and LEXX files" OFF)
58 MARK_AS_ADVANCED(CMAKE_REGENERATE_YACCLEX)
59 IF(CMAKE_REGENERATE_YACCLEX)
60   SET(parsersLexers cmDependsFortran cmCommandArgument cmExpr)
61   FIND_PROGRAM(YACC_EXECUTABLE
62     NAMES yacc bison
63     PATHS /usr/bin
64     DOC "Yacc or Bison executable")
65   FIND_PROGRAM(FLEX_EXECUTABLE
66     NAMES flex
67     PATHS /usr/bin
68     DOC "Flex executable")
69   MARK_AS_ADVANCED(YACC_EXECUTABLE FLEX_EXECUTABLE)
70   IF(YACC_EXECUTABLE)
71     SET(BISON_FLAGS)
72     IF(YACC_EXECUTABLE MATCHES "bison")
73       SET(BISON_FLAGS "--yacc")
74     ENDIF(YACC_EXECUTABLE MATCHES "bison")
75     SET(yacc_files)
76     FOREACH(name ${parsersLexers})
77       SET(src "${CMAKE_CURRENT_SOURCE_DIR}/${name}Parser.y")
78       SET(dst "${CMAKE_CURRENT_BINARY_DIR}/${name}Parser.cxx")
79       SET(hdr "${CMAKE_CURRENT_BINARY_DIR}/${name}ParserTokens.h")
80       ADD_CUSTOM_COMMAND(
81         OUTPUT "${dst}"
82         DEPENDS "${src}"
83         COMMAND
84         ${YACC_EXECUTABLE}
85         --name-prefix=${name}_yy --defines=${hdr} -o${dst} ${src}
86         )
87       SET(yacc_files ${yacc_files} "${dst}")
88     ENDFOREACH(name)
89     ADD_CUSTOM_TARGET(RerunYacc DEPENDS ${yacc_files})
90   ENDIF(YACC_EXECUTABLE)
91   IF(FLEX_EXECUTABLE)
92     SET(lex_files)
93     FOREACH(name ${parsersLexers})
94       SET(src "${CMAKE_CURRENT_SOURCE_DIR}/${name}Lexer.in.l")
95       SET(dst "${CMAKE_CURRENT_BINARY_DIR}/${name}Lexer.cxx")
96       SET(hdr "${CMAKE_CURRENT_BINARY_DIR}/${name}Lexer.h")
97       ADD_CUSTOM_COMMAND(
98         OUTPUT "${dst}"
99         DEPENDS "${src}"
100         COMMAND
101         ${FLEX_EXECUTABLE}
102         --prefix=${name}_yy --header-file=${hdr} -o${dst} ${src}
103         )
104       SET(lex_files ${lex_files} "${dst}")
105     ENDFOREACH(name)
106     ADD_CUSTOM_TARGET(RerunLex DEPENDS ${lex_files})
107   ENDIF(FLEX_EXECUTABLE)
108
109 ENDIF(CMAKE_REGENERATE_YACCLEX)
110
111 # Check if we can build the ELF parser.
112 IF(CMAKE_USE_ELF_PARSER)
113   SET(ELF_SRCS cmELF.h cmELF.cxx)
114 ENDIF(CMAKE_USE_ELF_PARSER)
115
116
117
118 # ####################################################
119 # Modified by OSRail Project to create a CodeBlocks
120 # generator for gcc projects. sehenley@comcast.net
121 # ###################################################
122 # Added
123 #  cmGlobalCodeBlocksGenerator.cxx
124 #  cmGlobalCodeBlocksGenerator.h
125 #  cmLocalCodeBlocksGenerator.cxx
126 #  cmLocalCodeBlocksGenerator.h
127 #  cmPackageConfigureCommand.h
128 #  cmPackageConfigureCommand.cpp
129 # ##################################################
130
131
132
133 #
134 # Sources for CMakeLib
135 #
136 SET(SRCS
137
138   cmGlobalCodeBlocksGenerator.cxx
139   cmGlobalCodeBlocksGenerator.h
140   cmLocalCodeBlocksGenerator.cxx
141   cmLocalCodeBlocksGenerator.h
142   cmPackageConfigureCommand.h
143   cmPackageConfigureCommand.cpp
144
145   cmBootstrapCommands.cxx
146   cmCacheManager.cxx
147   cmCacheManager.h
148   cmCommands.cxx
149   cmCommands.h
150   cmCommandArgumentLexer.cxx
151   cmCommandArgumentParser.cxx
152   cmCommandArgumentParserHelper.cxx
153   cmComputeComponentGraph.cxx
154   cmComputeComponentGraph.h
155   cmComputeLinkDepends.cxx
156   cmComputeLinkDepends.h
157   cmComputeLinkInformation.cxx
158   cmComputeLinkInformation.h
159   cmComputeTargetDepends.h
160   cmComputeTargetDepends.cxx
161   cmCustomCommand.cxx
162   cmCustomCommand.h
163   cmDefinitions.cxx
164   cmDefinitions.h
165   cmDepends.cxx
166   cmDepends.h
167   cmDependsC.cxx
168   cmDependsC.h
169   cmDependsFortran.cxx
170   cmDependsFortran.h
171   cmDependsFortranLexer.cxx
172   cmDependsFortranParser.cxx
173   cmDependsFortranParser.h
174   cmDependsJava.cxx
175   cmDependsJava.h
176   cmDependsJavaLexer.cxx
177   cmDependsJavaParser.cxx
178   cmDependsJavaParserHelper.cxx
179   cmDependsJavaParserHelper.h
180   cmDocumentation.cxx
181   cmDocumentationFormatter.cxx
182   cmDocumentationFormatterHTML.cxx
183   cmDocumentationFormatterDocbook.cxx
184   cmDocumentationFormatterMan.cxx
185   cmDocumentationFormatterText.cxx
186   cmDocumentationFormatterUsage.cxx
187   cmDocumentationSection.cxx
188   cmDocumentVariables.cxx
189   cmDynamicLoader.cxx
190   cmDynamicLoader.h
191   ${ELF_SRCS}
192   cmExprLexer.cxx
193   cmExprParser.cxx
194   cmExprParserHelper.cxx
195   cmExportBuildFileGenerator.h
196   cmExportBuildFileGenerator.cxx
197   cmExportFileGenerator.h
198   cmExportFileGenerator.cxx
199   cmExportInstallFileGenerator.h
200   cmExportInstallFileGenerator.cxx
201   cmExtraCodeBlocksGenerator.cxx
202   cmExtraCodeBlocksGenerator.h
203   cmExtraEclipseCDT4Generator.cxx
204   cmExtraEclipseCDT4Generator.h
205   cmFileTimeComparison.cxx
206   cmFileTimeComparison.h
207   cmGeneratedFileStream.cxx
208   cmGeneratorExpression.cxx
209   cmGeneratorExpression.h
210   cmGlobalGenerator.cxx
211   cmGlobalGenerator.h
212   cmGlobalUnixMakefileGenerator3.cxx
213   cmGlobalUnixMakefileGenerator3.h
214   cmGraphAdjacencyList.h
215   cmInstallGenerator.h
216   cmInstallGenerator.cxx
217   cmInstallExportGenerator.cxx
218   cmInstallFilesGenerator.h
219   cmInstallFilesGenerator.cxx
220   cmInstallScriptGenerator.h
221   cmInstallScriptGenerator.cxx
222   cmInstallTargetGenerator.h
223   cmInstallTargetGenerator.cxx
224   cmInstallDirectoryGenerator.h
225   cmInstallDirectoryGenerator.cxx
226   cmListFileCache.cxx
227   cmListFileCache.h
228   cmListFileLexer.c
229   cmLocalGenerator.cxx
230   cmLocalGenerator.h
231   cmLocalUnixMakefileGenerator3.cxx
232   cmMakeDepend.cxx
233   cmMakeDepend.h
234   cmMakefile.cxx
235   cmMakefile.h
236   cmMakefileTargetGenerator.cxx
237   cmMakefileExecutableTargetGenerator.cxx
238   cmMakefileLibraryTargetGenerator.cxx
239   cmMakefileUtilityTargetGenerator.cxx
240   cmOrderDirectories.cxx
241   cmOrderDirectories.h
242   cmPolicies.h
243   cmPolicies.cxx
244   cmProcessTools.cxx
245   cmProcessTools.h
246   cmProperty.cxx
247   cmProperty.h
248   cmPropertyDefinition.cxx
249   cmPropertyDefinition.h
250   cmPropertyDefinitionMap.cxx
251   cmPropertyDefinitionMap.h
252   cmPropertyMap.cxx
253   cmPropertyMap.h
254   cmScriptGenerator.h
255   cmScriptGenerator.cxx
256   cmSourceFile.cxx
257   cmSourceFile.h
258   cmSourceFileLocation.cxx
259   cmSourceFileLocation.h
260   cmSourceGroup.cxx
261   cmSourceGroup.h
262   cmSystemTools.cxx
263   cmSystemTools.h
264   cmTarget.cxx
265   cmTarget.h
266   cmTest.cxx
267   cmTest.h
268   cmTestGenerator.cxx
269   cmTestGenerator.h
270   cmVariableWatch.cxx
271   cmVariableWatch.h
272   cmVersion.cxx
273   cmVersion.h
274   cmXMLParser.cxx
275   cmXMLParser.h
276   cmXMLSafe.cxx
277   cmXMLSafe.h
278   cmake.cxx
279   cmake.h
280   cmakewizard.cxx
281   cmakewizard.h
282
283   cm_utf8.h
284   cm_utf8.c
285   )
286
287 # Kdevelop only works on UNIX and not windows
288 IF(UNIX)
289   SET(SRCS ${SRCS} cmGlobalKdevelopGenerator.cxx)
290 ENDIF(UNIX)
291
292 # XCode only works on apple
293 IF(APPLE)
294   SET(SRCS ${SRCS}
295     cmXCodeObject.cxx
296     cmXCode21Object.cxx
297     cmGlobalXCodeGenerator.cxx
298     cmGlobalXCodeGenerator.h
299     cmLocalXCodeGenerator.cxx
300     cmLocalXCodeGenerator.h)
301 ENDIF(APPLE)
302
303
304 IF (WIN32)
305   SET(SRCS ${SRCS}
306     cmCallVisualStudioMacro.cxx
307     cmCallVisualStudioMacro.h
308     )
309
310   IF(NOT UNIX)
311     SET(SRCS ${SRCS}
312       cmGlobalBorlandMakefileGenerator.cxx
313       cmGlobalBorlandMakefileGenerator.h
314       cmGlobalMSYSMakefileGenerator.cxx
315       cmGlobalMinGWMakefileGenerator.cxx
316       cmGlobalNMakeMakefileGenerator.cxx
317       cmGlobalNMakeMakefileGenerator.h
318       cmGlobalJOMMakefileGenerator.cxx
319       cmGlobalJOMMakefileGenerator.h
320       cmGlobalVisualStudio6Generator.cxx
321       cmGlobalVisualStudio6Generator.h
322       cmGlobalVisualStudio71Generator.cxx
323       cmGlobalVisualStudio71Generator.h
324       cmGlobalVisualStudio7Generator.cxx
325       cmGlobalVisualStudio7Generator.h
326       cmGlobalVisualStudio8Generator.cxx
327       cmGlobalVisualStudio8Generator.h
328       cmGlobalVisualStudio9Generator.cxx
329       cmGlobalVisualStudio9Generator.h
330       cmGlobalVisualStudio8Win64Generator.cxx
331       cmGlobalVisualStudio8Win64Generator.h
332       cmGlobalVisualStudio9Win64Generator.cxx
333       cmGlobalVisualStudio9Win64Generator.h
334       cmVisualStudioGeneratorOptions.h
335       cmVisualStudioGeneratorOptions.cxx
336       cmVisualStudio10TargetGenerator.h
337       cmVisualStudio10TargetGenerator.cxx
338       cmLocalVisualStudio10Generator.cxx
339       cmLocalVisualStudio10Generator.h
340       cmGlobalVisualStudio10Generator.h
341       cmGlobalVisualStudio10Generator.cxx
342       cmGlobalVisualStudio10Win64Generator.h
343       cmGlobalVisualStudio10Win64Generator.cxx
344       cmGlobalVisualStudioGenerator.cxx
345       cmGlobalVisualStudioGenerator.h
346       cmGlobalWatcomWMakeGenerator.cxx
347       cmIDEFlagTable.h
348       cmIDEOptions.cxx
349       cmIDEOptions.h
350       cmLocalVisualStudio6Generator.cxx
351       cmLocalVisualStudio6Generator.h
352       cmLocalVisualStudio7Generator.cxx
353       cmLocalVisualStudio7Generator.h
354       cmLocalVisualStudioGenerator.cxx
355       cmLocalVisualStudioGenerator.h
356       cmWin32ProcessExecution.cxx
357       cmWin32ProcessExecution.h
358       )
359   ENDIF(NOT UNIX)
360 ENDIF (WIN32)
361
362 # create a library used by the command line and the GUI
363 ADD_LIBRARY(CMakeLib ${SRCS})
364 TARGET_LINK_LIBRARIES(CMakeLib cmsys
365   ${CMAKE_EXPAT_LIBRARIES} ${CMAKE_ZLIB_LIBRARIES}
366   ${CMAKE_TAR_LIBRARIES} ${CMAKE_COMPRESS_LIBRARIES}
367   ${CMAKE_CURL_LIBRARIES})
368
369 # On Apple we need Carbon
370 IF(APPLE)
371   TARGET_LINK_LIBRARIES(CMakeLib "-framework CoreFoundation")
372 ENDIF(APPLE)
373
374 # On some platforms we need the rpcrt4 library for the VS 7 generators.
375 IF(CMAKE_BUILD_ON_VISUAL_STUDIO OR MINGW)
376   TARGET_LINK_LIBRARIES(CMakeLib rpcrt4)
377 ENDIF(CMAKE_BUILD_ON_VISUAL_STUDIO OR MINGW)
378
379 #
380 # CTestLib
381 #
382 INCLUDE_DIRECTORIES(
383   "${CMAKE_SOURCE_DIR}/Source/CTest"
384   ${CMAKE_XMLRPC_INCLUDES}
385   ${CMAKE_CURL_INCLUDES}
386   )
387 #
388 # Sources for CTestLib
389 #
390 SET(CTEST_SRCS cmCTest.cxx
391   CTest/cmProcess.cxx
392   CTest/cmCTestBatchTestHandler.cxx
393   CTest/cmCTestBuildAndTestHandler.cxx
394   CTest/cmCTestBuildCommand.cxx
395   CTest/cmCTestBuildHandler.cxx
396   CTest/cmCTestConfigureCommand.cxx
397   CTest/cmCTestConfigureHandler.cxx
398   CTest/cmCTestCoverageCommand.cxx
399   CTest/cmCTestCoverageHandler.cxx
400   CTest/cmCTestEmptyBinaryDirectoryCommand.cxx
401   CTest/cmCTestGenericHandler.cxx
402   CTest/cmCTestHandlerCommand.cxx
403   CTest/cmCTestLaunch.cxx
404   CTest/cmCTestMemCheckCommand.cxx
405   CTest/cmCTestMemCheckHandler.cxx
406   CTest/cmCTestMultiProcessHandler.cxx
407   CTest/cmCTestReadCustomFilesCommand.cxx
408   CTest/cmCTestRunScriptCommand.cxx
409   CTest/cmCTestRunTest.cxx
410   CTest/cmCTestScriptHandler.cxx
411   CTest/cmCTestSleepCommand.cxx
412   CTest/cmCTestStartCommand.cxx
413   CTest/cmCTestSubmitCommand.cxx
414   CTest/cmCTestSubmitHandler.cxx
415   CTest/cmCTestTestCommand.cxx
416   CTest/cmCTestTestHandler.cxx
417   CTest/cmCTestUpdateCommand.cxx
418   CTest/cmCTestUpdateHandler.cxx
419
420   CTest/cmCTestVC.cxx
421   CTest/cmCTestVC.h
422   CTest/cmCTestGlobalVC.cxx
423   CTest/cmCTestGlobalVC.h
424   CTest/cmCTestCVS.cxx
425   CTest/cmCTestCVS.h
426   CTest/cmCTestSVN.cxx
427   CTest/cmCTestSVN.h
428   CTest/cmCTestBZR.cxx
429   CTest/cmCTestBZR.h
430   CTest/cmCTestGIT.cxx
431   CTest/cmCTestGIT.h
432   CTest/cmCTestHG.cxx
433   CTest/cmCTestHG.h
434   )
435
436 # Build CTestLib
437 ADD_LIBRARY(CTestLib ${CTEST_SRCS})
438 TARGET_LINK_LIBRARIES(CTestLib CMakeLib ${CMAKE_CURL_LIBRARIES} ${CMAKE_XMLRPC_LIBRARIES})
439
440 #
441 # Sources for CPack
442 #
443 SET(CPACK_SRCS
444   CPack/cmCPackComponentGroup.cxx
445   CPack/cmCPackGeneratorFactory.cxx
446   CPack/cmCPackGenerator.cxx
447   CPack/cmCPackLog.cxx
448   CPack/cmCPackNSISGenerator.cxx
449   CPack/cmCPackSTGZGenerator.cxx
450   CPack/cmCPackTGZGenerator.cxx
451   CPack/cmCPackTarBZip2Generator.cxx
452   CPack/cmCPackTarCompressGenerator.cxx
453   CPack/cmCPackZIPGenerator.cxx
454   )
455
456 IF(CYGWIN)
457   SET(CPACK_SRCS ${CPACK_SRCS}
458     CPack/cmCPackCygwinBinaryGenerator.cxx
459     CPack/cmCPackCygwinSourceGenerator.cxx
460     )
461 ENDIF(CYGWIN)
462
463 IF(UNIX)
464   SET(CPACK_SRCS ${CPACK_SRCS}
465     CPack/cmCPackDebGenerator.cxx
466     CPack/cmCPackRPMGenerator.cxx
467     )
468 ENDIF(UNIX)
469
470 IF(APPLE)
471   SET(CPACK_SRCS ${CPACK_SRCS}
472     CPack/cmCPackBundleGenerator.cxx
473     CPack/cmCPackDragNDropGenerator.cxx
474     CPack/cmCPackOSXX11Generator.cxx
475     CPack/cmCPackPackageMakerGenerator.cxx
476     )
477 ENDIF(APPLE)
478
479 # Build CPackLib
480 ADD_LIBRARY(CPackLib ${CPACK_SRCS})
481 TARGET_LINK_LIBRARIES(CPackLib CMakeLib)
482
483 IF(APPLE)
484   ADD_EXECUTABLE(cmakexbuild cmakexbuild.cxx)
485   TARGET_LINK_LIBRARIES(cmakexbuild CMakeLib)
486   ADD_EXECUTABLE(OSXScriptLauncher
487     CPack/OSXScriptLauncher.cxx)
488   TARGET_LINK_LIBRARIES(OSXScriptLauncher cmsys)
489   TARGET_LINK_LIBRARIES(OSXScriptLauncher "-framework Carbon")
490 ENDIF(APPLE)
491
492 # Build CMake executable
493 ADD_EXECUTABLE(cmake cmakemain.cxx)
494 TARGET_LINK_LIBRARIES(cmake CMakeLib)
495
496 # Build special executable for running programs on Windows 98
497 IF(WIN32)
498   IF(NOT UNIX)
499     ADD_EXECUTABLE(cmw9xcom cmw9xcom.cxx)
500     TARGET_LINK_LIBRARIES(cmw9xcom CMakeLib)
501     INSTALL_TARGETS(/bin cmw9xcom)
502   ENDIF(NOT UNIX)
503 ENDIF(WIN32)
504
505 # Build CTest executable
506 ADD_EXECUTABLE(ctest ctest.cxx)
507 TARGET_LINK_LIBRARIES(ctest CTestLib)
508
509 # Build CPack executable
510 ADD_EXECUTABLE(cpack CPack/cpack.cxx)
511 TARGET_LINK_LIBRARIES(cpack CPackLib)
512
513 # Curses GUI
514 IF(BUILD_CursesDialog)
515   INCLUDE(${CMake_SOURCE_DIR}/Source/CursesDialog/CMakeLists.txt)
516 ENDIF(BUILD_CursesDialog)
517
518 # Qt GUI
519 OPTION(BUILD_QtDialog "Build Qt dialog for CMake" FALSE)
520 IF(BUILD_QtDialog)
521   SUBDIRS(QtDialog)
522 ENDIF(BUILD_QtDialog)
523
524 INCLUDE (${CMAKE_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
525 INCLUDE (${CMAKE_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
526
527 INSTALL_TARGETS(/bin cmake)
528 INSTALL_TARGETS(/bin ctest)
529 INSTALL_TARGETS(/bin cpack)
530 IF(APPLE)
531   INSTALL_TARGETS(/bin cmakexbuild)
532 ENDIF(APPLE)
533
534 INSTALL_FILES(${CMAKE_DATA_DIR}/include cmCPluginAPI.h)
Note: See TracBrowser for help on using the browser.