CMakeLists.txt 9.03 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
cmVariableWatch.cxx
24
25
26
27
28
29
30
cmake.h
cmakewizard.h
cmMakeDepend.h
cmMakefile.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
43
cmVariableWatch.h
Ken Martin's avatar
Ken Martin committed
44
45
)

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

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

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

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

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

Ken Martin's avatar
Ken Martin committed
88

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

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

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

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

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)

113
114
115
116
117
118
OPTION(CMAKE_BUILD_WX_DIALOG "Build wxWindows dialog for CMake" FALSE)
MARK_AS_ADVANCED(CMAKE_BUILD_WX_DIALOG)
IF(CMAKE_BUILD_WX_DIALOG)
  SUBDIRS(WXDialog)
ENDIF(CMAKE_BUILD_WX_DIALOG)

119
120
121
122
IF (NOT DART_ROOT)
SET(MAKEPROGRAM ${CMAKE_MAKE_PROGRAM})
ENDIF (NOT DART_ROOT)

123
124
125
126
CONFIGURE_FILE(
  ${CMake_SOURCE_DIR}/Source/cmaketest.h.in 
  ${CMake_BINARY_DIR}/Source/cmaketest.h ESCAPE_QUOTES)

Ken Martin's avatar
Ken Martin committed
127
128
ADD_EXECUTABLE(cmaketest cmaketest.cxx)
TARGET_LINK_LIBRARIES(cmaketest CMakeLib)
129

130
IF(BUILD_TESTING)
131
    ADD_TEST(DumpDocumentation ${CMake_BINARY_DIR}/Source/DumpDocumentation
Sebastien Barre's avatar
Sebastien Barre committed
132
133
      ${CMake_BINARY_DIR}/CMakeDoc.html)

134
135
136
137
138
    ADD_TEST(SystemInformation ${CMake_BINARY_DIR}/Source/cmaketest 
      ${CMake_SOURCE_DIR}/Tests/SystemInformation
      ${CMake_BINARY_DIR}/Tests/SystemInformation 
      DumpInformation)

139
140
    ADD_TEST(simple ${CMake_BINARY_DIR}/Source/cmaketest 
      ${CMake_SOURCE_DIR}/Tests/Simple 
Sebastien Barre's avatar
Sebastien Barre committed
141
142
143
      ${CMake_BINARY_DIR}/Tests/Simple 
      simple)

144
145
146
147
148
    ADD_TEST(conly ${CMake_BINARY_DIR}/Source/cmaketest 
      ${CMake_SOURCE_DIR}/Tests/COnly 
      ${CMake_BINARY_DIR}/Tests/COnly 
      conly)

Andy Cedilnik's avatar
Andy Cedilnik committed
149
150
151
    ADD_TEST(X11 ${CMake_BINARY_DIR}/Source/cmaketest 
      ${CMake_SOURCE_DIR}/Tests/X11
      ${CMake_BINARY_DIR}/Tests/X11 
152
      UseX11)
Andy Cedilnik's avatar
Andy Cedilnik committed
153

Ken Martin's avatar
Ken Martin committed
154
155
156
157
158
    ADD_TEST(LoadedCommand ${CMake_BINARY_DIR}/Source/cmaketest 
      ${CMake_SOURCE_DIR}/Tests/LoadCommand 
      ${CMake_BINARY_DIR}/Tests/LoadCommand 
      LoadedCommand)

Bill Hoffman's avatar
Bill Hoffman committed
159
160
161
162
    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
163
164
      ${CMake_BINARY_DIR}/Tests/Complex/bin)

Bill Hoffman's avatar
Bill Hoffman committed
165
166
167
168
169
    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
170
171
172
173
174
175
176
177
178
179
180
181
182
183
      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)

184
    INCLUDE ( ${CMAKE_ROOT}/Modules/FindQt.cmake )
Bill Hoffman's avatar
Bill Hoffman committed
185
186
187
188
189
190
    MARK_AS_ADVANCED(
     QT_INCLUDE_PATH
     QT_MOC_EXE
     QT_QT_LIBRARY
     QT_UIC_EXE)

191
192
193
194
195
196
197
    IF (QT_FOUND)
      ADD_TEST(qtwrapping ${CMake_BINARY_DIR}/Source/cmaketest 
        ${CMake_SOURCE_DIR}/Tests/Wrapping 
        ${CMake_BINARY_DIR}/Tests/Wrapping
        qtwrapping
        ${CMake_BINARY_DIR}/Tests/Wrapping/bin)
    ENDIF (QT_FOUND)
198

199
200
201
202
203
204
    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)
205

206
207
208
209
210
211
    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)
212

213
214
215
216
217
    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
218
      TestDriverTest subdir/test3)
219

220
    ADD_TEST(dependency_w_libout ${CMake_BINARY_DIR}/Source/cmaketest 
221
      ${CMake_SOURCE_DIR}/Tests/Dependency 
222
      ${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
223
      exec
224
225
226
227
228
229
230
231
      ${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
232
233
      Dependency)

234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
    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)
261
262
263
264
265
266
267
268
269
270
271
272
273
274

    ADD_TEST(linkorder1 ${CMake_BINARY_DIR}/Source/cmaketest 
      ${CMake_SOURCE_DIR}/Tests/LinkLineOrder
      ${CMake_BINARY_DIR}/Tests/LinkLineOrder
      Exec1
      ${CMake_BINARY_DIR}/Tests/LinkLineOrder
      LinkLineOrder)

    ADD_TEST(linkorder2 ${CMake_BINARY_DIR}/Source/cmaketest 
      ${CMake_SOURCE_DIR}/Tests/LinkLineOrder
      ${CMake_BINARY_DIR}/Tests/LinkLineOrder
      Exec2
      ${CMake_BINARY_DIR}/Tests/LinkLineOrder
      LinkLineOrder)
Yves Starreveld's avatar
Yves Starreveld committed
275

Andy Cedilnik's avatar
Andy Cedilnik committed
276
277
278
    ADD_TEST(curl ${CMake_BINARY_DIR}/Source/cmaketest 
             ${CMake_SOURCE_DIR}/Source/CTest/Curl
             ${CMake_BINARY_DIR}/Tests/Curl
Andy Cedilnik's avatar
Andy Cedilnik committed
279
             LIBCURL)
Andy Cedilnik's avatar
Andy Cedilnik committed
280

Yves Starreveld's avatar
Yves Starreveld committed
281
282
283
284
285
286
    IF (APPLE)
      ADD_TEST(objc++ ${CMake_BINARY_DIR}/Source/cmaketest
		        ${CMake_SOURCE_DIR}/Tests/Objc++
			${CMake_BINARY_DIR}/Tests/Objc++
			objc++)
    ENDIF (APPLE)
287
288
ENDIF(BUILD_TESTING)

Ken Martin's avatar
Ken Martin committed
289

Bill Hoffman's avatar
Bill Hoffman committed
290

Bill Hoffman's avatar
Bill Hoffman committed
291
292
INCLUDE (${CMAKE_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
INCLUDE (${CMAKE_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
293

Ken Martin's avatar
Ken Martin committed
294
INSTALL_TARGETS(/bin cmake)
295
INSTALL_TARGETS(/bin ctest)
296
INSTALL_TARGETS(/bin cmaketest)
Ken Martin's avatar
Ken Martin committed
297
INSTALL_FILES(/include cmCPluginAPI.h)