CMakeLists.txt 7.16 KB
Newer Older
Ken Martin's avatar
Ken Martin committed
1
2
CMAKE_MINIMUM_REQUIRED(VERSION 1.3)

3
SET(SRCS
4
cmake.cxx
5
cmakewizard.cxx
6
7
8
9
10
11
cmMakeDepend.cxx
cmMakefile.cxx
cmRegularExpression.cxx
cmSourceFile.cxx
cmSystemTools.cxx
cmDirectory.cxx
Ken Martin's avatar
Ken Martin committed
12
cmDynamicLoader.cxx
13
14
15
16
17
cmCommands.cxx
cmTarget.cxx
cmCustomCommand.cxx
cmCacheManager.cxx
cmSourceGroup.cxx
18
cmListFileCache.cxx
Ken Martin's avatar
Ken Martin committed
19
20
21
22
cmGlobalGenerator.cxx
cmGlobalUnixMakefileGenerator.cxx
cmLocalGenerator.cxx
cmLocalUnixMakefileGenerator.cxx
23
24
25
26
27
28
29
30
cmake.h
cmakewizard.h
cmMakeDepend.h
cmMakefile.h
cmMakefileGenerator.h
cmRegularExpression.h
cmSourceFile.h
cmSystemTools.h
Ken Martin's avatar
Ken Martin committed
31
cmDynamicLoader.h
32
33
34
35
36
37
38
cmDirectory.h
cmCommands.h
cmTarget.h
cmCustomCommand.h
cmCacheManager.h
cmSourceGroup.h
cmListFileCache.h
Ken Martin's avatar
Ken Martin committed
39
40
41
42
cmGlobalGenerator.h
cmGlobalUnixMakefileGenerator.h
cmLocalGenerator.h
cmLocalUnixMakefileGenerator.h
Ken Martin's avatar
Ken Martin committed
43
44
)

45
46
47
# configure the .h file
CONFIGURE_FILE(
${CMake_SOURCE_DIR}/Source/cmConfigure.cmake.h.in 
48
${CMake_BINARY_DIR}/Source/cmConfigure.h )
49

50
51
# add the include path to find the .h 
INCLUDE_DIRECTORIES(${CMake_BINARY_DIR}/Source)
52
INCLUDE_DIRECTORIES(${CMake_SOURCE_DIR}/Source)
53

54
55
56
# let cmake know it is supposed to use it
ADD_DEFINITIONS(-DCMAKE_BUILD_WITH_CMAKE)

Ken Martin's avatar
Ken Martin committed
57
IF (WIN32)
58
59
  IF(NOT UNIX)
    SET(SRCS ${SRCS}
Ken Martin's avatar
Ken Martin committed
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
                    cmGlobalBorlandMakefileGenerator.cxx
                    cmLocalBorlandMakefileGenerator.cxx
                    cmGlobalNMakeMakefileGenerator.cxx
                    cmLocalNMakeMakefileGenerator.cxx
                    cmGlobalVisualStudio6Generator.cxx
                    cmLocalVisualStudio6Generator.cxx
                    cmGlobalVisualStudio7Generator.cxx
                    cmLocalVisualStudio7Generator.cxx
                    cmGlobalBorlandMakefileGenerator.h
                    cmLocalBorlandMakefileGenerator.h
                    cmGlobalNMakeMakefileGenerator.h
                    cmLocalNMakeMakefileGenerator.h
                    cmGlobalVisualStudio6Generator.h
                    cmLocalVisualStudio6Generator.h
                    cmGlobalVisualStudio7Generator.h
                    cmLocalVisualStudio7Generator.h
76
                    )
Bill Hoffman's avatar
Bill Hoffman committed
77
    IF(  NOT BORLAND )
78
      LINK_LIBRARIES( rpcrt4.lib )
79
      SUBDIRS(MFCDialog)
Bill Hoffman's avatar
Bill Hoffman committed
80
    ENDIF( NOT BORLAND )
81
  ENDIF(NOT UNIX)
Ken Martin's avatar
Ken Martin committed
82
83
ENDIF (WIN32)

84
# create a library used by the command line and the GUI
85
86
ADD_LIBRARY(CMakeLib ${SRCS})

Ken Martin's avatar
Ken Martin committed
87

88
89
# always link in the library
# the library is found here
Berk Geveci's avatar
Berk Geveci committed
90
LINK_DIRECTORIES(${CMake_BINARY_DIR}/Source)
91

92
ADD_EXECUTABLE(cmake cmakemain.cxx)
93
ADD_EXECUTABLE(DumpDocumentation cmDumpDocumentation)
Ken Martin's avatar
Ken Martin committed
94
95
ADD_EXECUTABLE(ctest ctest.cxx)

96
97
98
99
IF (UNIX)
  TARGET_LINK_LIBRARIES(CMakeLib ${CMAKE_DL_LIBS})
ENDIF (UNIX)

Ken Martin's avatar
Ken Martin committed
100
101
102
TARGET_LINK_LIBRARIES(cmake CMakeLib)
TARGET_LINK_LIBRARIES(DumpDocumentation CMakeLib)
TARGET_LINK_LIBRARIES(ctest CMakeLib)
Bill Hoffman's avatar
Bill Hoffman committed
103
104
105
106
107
108
109
110
111

IF (UNIX)
  INCLUDE (${CMake_SOURCE_DIR}/Modules/FindCurses.cmake OPTIONAL)
  IF (CURSES_LIBRARY)
    SUBDIRS(CursesDialog/form)
    INCLUDE(${CMake_SOURCE_DIR}/Source/CursesDialog/CMakeLists.txt)
  ENDIF (CURSES_LIBRARY)
ENDIF (UNIX)

112
113
114
115
IF (NOT DART_ROOT)
SET(MAKEPROGRAM ${CMAKE_MAKE_PROGRAM})
ENDIF (NOT DART_ROOT)

116
117
118
119
CONFIGURE_FILE(
  ${CMake_SOURCE_DIR}/Source/cmaketest.h.in 
  ${CMake_BINARY_DIR}/Source/cmaketest.h ESCAPE_QUOTES)

Ken Martin's avatar
Ken Martin committed
120
121
ADD_EXECUTABLE(cmaketest cmaketest.cxx)
TARGET_LINK_LIBRARIES(cmaketest CMakeLib)
122

123
IF(BUILD_TESTING)
124
    ADD_TEST(DumpDocumentation ${CMake_BINARY_DIR}/Source/DumpDocumentation
Sebastien Barre's avatar
Sebastien Barre committed
125
126
      ${CMake_BINARY_DIR}/CMakeDoc.html)

127
128
    ADD_TEST(simple ${CMake_BINARY_DIR}/Source/cmaketest 
      ${CMake_SOURCE_DIR}/Tests/Simple 
Sebastien Barre's avatar
Sebastien Barre committed
129
130
131
      ${CMake_BINARY_DIR}/Tests/Simple 
      simple)

132
133
134
135
136
    ADD_TEST(conly ${CMake_BINARY_DIR}/Source/cmaketest 
      ${CMake_SOURCE_DIR}/Tests/COnly 
      ${CMake_BINARY_DIR}/Tests/COnly 
      conly)

Bill Hoffman's avatar
Bill Hoffman committed
137
138
139
140
    ADD_TEST(complex ${CMake_BINARY_DIR}/Source/cmaketest 
      ${CMake_SOURCE_DIR}/Tests/Complex 
      ${CMake_BINARY_DIR}/Tests/Complex 
      complex 
Sebastien Barre's avatar
Sebastien Barre committed
141
142
      ${CMake_BINARY_DIR}/Tests/Complex/bin)

Bill Hoffman's avatar
Bill Hoffman committed
143
144
145
146
147
    ADD_TEST(Example ${CMake_BINARY_DIR}/Source/cmaketest 
      ${CMake_SOURCE_DIR}/Example
      ${CMake_BINARY_DIR}/Example
      helloDemo
      ${CMake_BINARY_DIR}/Example/Demo
Sebastien Barre's avatar
Sebastien Barre committed
148
149
150
151
152
153
154
155
156
157
158
159
160
161
      HELLO)

    ADD_TEST(testing ${CMake_BINARY_DIR}/Source/cmaketest 
      ${CMake_SOURCE_DIR}/Tests/Testing 
      ${CMake_BINARY_DIR}/Tests/Testing
      testing
      ${CMake_BINARY_DIR}/Tests/Testing/bin)

    ADD_TEST(wrapping ${CMake_BINARY_DIR}/Source/cmaketest 
      ${CMake_SOURCE_DIR}/Tests/Wrapping 
      ${CMake_BINARY_DIR}/Tests/Wrapping
      wrapping
      ${CMake_BINARY_DIR}/Tests/Wrapping/bin)

162
163
164
165
166
167
    ADD_TEST(testdriver1 ${CMake_BINARY_DIR}/Source/cmaketest 
      ${CMake_SOURCE_DIR}/Tests/TestDriver 
      ${CMake_BINARY_DIR}/Tests/TestDriver
      TestDriverTest
      ${CMake_BINARY_DIR}/Tests/Wrapping/bin
      TestDriverTest test1)
168

169
170
171
172
173
174
    ADD_TEST(testdriver2 ${CMake_BINARY_DIR}/Source/cmaketest 
      ${CMake_SOURCE_DIR}/Tests/TestDriver 
      ${CMake_BINARY_DIR}/Tests/TestDriver
      TestDriverTest
      ${CMake_BINARY_DIR}/Tests/Wrapping/bin
      TestDriverTest test2)
175

176
177
178
179
180
    ADD_TEST(testdriver3 ${CMake_BINARY_DIR}/Source/cmaketest 
      ${CMake_SOURCE_DIR}/Tests/TestDriver 
      ${CMake_BINARY_DIR}/Tests/TestDriver
      TestDriverTest
      ${CMake_BINARY_DIR}/Tests/Wrapping/bin
181
      TestDriverTest subdir/test3)
182

183
    ADD_TEST(dependency_w_libout ${CMake_BINARY_DIR}/Source/cmaketest 
184
      ${CMake_SOURCE_DIR}/Tests/Dependency 
185
      ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
186
      exec
187
188
189
190
191
192
193
194
      ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec
      Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)

    ADD_TEST(dependency_wo_lib_out ${CMake_BINARY_DIR}/Source/cmaketest 
      ${CMake_SOURCE_DIR}/Tests/Dependency 
      ${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut
      exec
      ${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut/Exec
195
196
      Dependency)

197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
    ADD_TEST(dependency2 ${CMake_BINARY_DIR}/Source/cmaketest 
      ${CMake_SOURCE_DIR}/Tests/Dependency 
      ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
      exec2
      ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec2
      Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)

    ADD_TEST(dependency3 ${CMake_BINARY_DIR}/Source/cmaketest 
      ${CMake_SOURCE_DIR}/Tests/Dependency 
      ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
      exec3
      ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec3
      Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)

    ADD_TEST(dependency4 ${CMake_BINARY_DIR}/Source/cmaketest 
      ${CMake_SOURCE_DIR}/Tests/Dependency 
      ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
      exec4
      ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Exec4
      Dependency CMAKE_ARGS -DLIBRARY_OUTPUT_PATH:PATH=${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut/Lib)

    ADD_TEST(linkline ${CMake_BINARY_DIR}/Source/cmaketest 
      ${CMake_SOURCE_DIR}/Tests/LinkLine
      ${CMake_BINARY_DIR}/Tests/LinkLine
      Exec
      ${CMake_BINARY_DIR}/Tests/LinkLine
      LinkLine)

225
  ENDIF (DART_ROOT)
226
227
ENDIF(BUILD_TESTING)

Ken Martin's avatar
Ken Martin committed
228

Bill Hoffman's avatar
Bill Hoffman committed
229
230
INCLUDE (${CMAKE_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
INCLUDE (${CMAKE_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
231

Ken Martin's avatar
Ken Martin committed
232
INSTALL_TARGETS(/bin cmake)
233
INSTALL_TARGETS(/bin ctest)
234
INSTALL_TARGETS(/bin cmaketest)
Ken Martin's avatar
Ken Martin committed
235