summaryrefslogtreecommitdiffstats
path: root/Source/CMakeLists.txt
blob: ad340db6e03a9b9fc90ecde00a0b65c813160cac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
INCLUDE (${CMAKE_ROOT}/Modules/FindFLTK.cmake)
IF(FLTK_LIBRARY)
  IF(FLTK_INCLUDE_PATH)
    OPTION(BUILD_FLTK_GUI "Build FLTK CMake GUI." "ON")
    IF(BUILD_FLTK_GUI)
      SUBDIRS(FLTKDialog)
    ENDIF(BUILD_FLTK_GUI)
  ENDIF(FLTK_INCLUDE_PATH)
ENDIF(FLTK_LIBRARY)

SOURCE_FILES(SRCS
cmake.cxx
cmMakeDepend.cxx
cmMakefile.cxx
cmMakefileGenerator.cxx
cmRegularExpression.cxx
cmSourceFile.cxx
cmSystemTools.cxx
cmDirectory.cxx
cmCommands.cxx
cmTarget.cxx
cmCustomCommand.cxx
cmCacheManager.cxx
cmCableClassSet.cxx
cmSourceGroup.cxx
cmListFileCache.cxx
)

# configure the .h file
CONFIGURE_FILE(
${CMake_SOURCE_DIR}/Source/cmConfigure.cmake.h.in 
${CMake_BINARY_DIR}/Source/cmConfigure.h )
# add the include path to find the .h 
INCLUDE_DIRECTORIES(${CMake_BINARY_DIR}/Source)
# let cmake know it is supposed to use it
ADD_DEFINITIONS(-DCMAKE_BUILD_WITH_CMAKE)

IF (WIN32)
  SOURCE_FILES(SRCS cmDSWWriter.cxx cmDSPWriter.cxx cmMSProjectGenerator.cxx)
  SOURCE_FILES(SRCS cmBorlandMakefileGenerator.cpp)
  SOURCE_FILES(SRCS cmNMakeMakefileGenerator.cxx)
  IF(NOT UNIX)
    IF(  CMAKE_CXX_COMPILER MATCHES Borland )
    ELSE (CMAKE_CXX_COMPILER MATCHES Borland )
      SUBDIRS(MFCDialog)
    ENDIF( CMAKE_CXX_COMPILER MATCHES Borland)
  ENDIF(NOT UNIX)
ENDIF (WIN32)

IF (UNIX)
  INCLUDE (${CMAKE_ROOT}/Modules/FindCurses.cmake OPTIONAL)
  IF (CURSES_LIBRARY)
    SUBDIRS(CursesDialog/form)
    SUBDIRS(CursesDialog)
    SUBDIR_DEPENDS(CursesDialog CursesDialog/form)
  ENDIF (CURSES_LIBRARY)
ENDIF (UNIX)

SOURCE_FILES(SRCS cmUnixMakefileGenerator.cxx)


# create a library used by the command line and the GUI
ADD_LIBRARY(CMakeLib SRCS)
# always link in the library
LINK_LIBRARIES(CMakeLib)
# the library is found here
LINK_DIRECTORIES(${CMake_BINARY_DIR}/Source)

ADD_EXECUTABLE(cmake cmakemain)
ADD_EXECUTABLE(DumpDocumentation cmDumpDocumentation)

ADD_EXECUTABLE(ctest ctest.cxx cmSystemTools.cxx cmRegularExpression.cxx)

IF(BUILD_TESTING)
  IF (DART_ROOT)
    ADD_EXECUTABLE(cmaketest cmaketest.cxx cmSystemTools.cxx)
    ADD_DEPENDENCIES(cmaketest cmake)
    ADD_DEPENDENCIES(Nightly cmaketest cmake)
    ADD_DEPENDENCIES(Experimental cmaketest cmake)

    CONFIGURE_FILE(
      ${CMake_SOURCE_DIR}/Source/cmaketest.h.in 
      ${CMake_BINARY_DIR}/Source/cmaketest.h ESCAPE_QUOTES)
    ADD_TEST(DumpDocumentation ${CMake_BINARY_DIR}/Source/DumpDocumentation
      ${CMake_BINARY_DIR}/CMakeDoc.html )
    ADD_TEST(simple ${CMake_BINARY_DIR}/Source/cmaketest 
      ${CMake_SOURCE_DIR}/Tests/Simple 
      ${CMake_BINARY_DIR}/Tests/Simple simple )
    ADD_TEST(complex ${CMake_BINARY_DIR}/Source/cmaketest 
      ${CMake_SOURCE_DIR}/Tests/Complex 
      ${CMake_BINARY_DIR}/Tests/Complex 
      complex 
      ${CMake_BINARY_DIR}/Tests/Complex/bin )

  ENDIF (DART_ROOT)
ENDIF(BUILD_TESTING)



INSTALL_TARGETS(/bin cmake)
INSTALL_TARGETS(/bin ctest)