CMake/Source/CMakeLists.txt

395 lines
12 KiB
CMake
Raw Normal View History

CMAKE_MINIMUM_REQUIRED(VERSION 1.5)
2002-04-22 11:50:43 -04:00
SET(SRCS
cmake.cxx
2001-11-30 16:48:52 -05:00
cmakewizard.cxx
cmMakeDepend.cxx
cmMakefile.cxx
cmSourceFile.cxx
cmSystemTools.cxx
cmDocumentation.cxx
2002-08-21 11:57:12 -04:00
cmDynamicLoader.cxx
cmCommands.cxx
cmTarget.cxx
cmCustomCommand.cxx
cmCacheManager.cxx
cmSourceGroup.cxx
cmListFileCache.cxx
cmListFileLexer.c
2003-07-08 14:18:17 -04:00
cmGlob.cxx
2002-09-06 13:06:23 -04:00
cmGlobalGenerator.cxx
cmGlobalUnixMakefileGenerator.cxx
cmLocalGenerator.cxx
cmLocalUnixMakefileGenerator.cxx
2003-01-08 12:59:52 -05:00
cmVariableWatch.cxx
2002-03-13 10:25:11 -05:00
cmake.h
cmakewizard.h
cmMakeDepend.h
cmMakefile.h
cmSourceFile.h
cmSystemTools.h
2002-08-21 11:57:12 -04:00
cmDynamicLoader.h
2002-03-13 10:25:11 -05:00
cmCommands.h
cmTarget.h
cmCustomCommand.h
cmCacheManager.h
cmSourceGroup.h
cmListFileCache.h
2002-09-06 13:06:23 -04:00
cmGlobalGenerator.h
cmGlobalUnixMakefileGenerator.h
cmLocalGenerator.h
cmLocalUnixMakefileGenerator.h
2003-01-08 12:59:52 -05:00
cmVariableWatch.h
2001-06-12 13:30:13 -04:00
)
# configure the .h file
CONFIGURE_FILE(
${CMake_SOURCE_DIR}/Source/cmConfigure.cmake.h.in
2001-06-21 13:48:08 -04:00
${CMake_BINARY_DIR}/Source/cmConfigure.h )
# add the include path to find the .h
INCLUDE_DIRECTORIES(${CMake_BINARY_DIR}/Source)
INCLUDE_DIRECTORIES(${CMake_SOURCE_DIR}/Source)
# let cmake know it is supposed to use it
ADD_DEFINITIONS(-DCMAKE_BUILD_WITH_CMAKE)
2003-04-16 14:47:44 -04:00
IF (APPLE)
SET(SRCS ${SRCS}
cmGlobalCodeWarriorGenerator.cxx
cmLocalCodeWarriorGenerator.cxx
cmGlobalCodeWarriorGenerator.h
cmLocalCodeWarriorGenerator.h
)
ENDIF (APPLE)
2001-06-12 13:30:13 -04:00
IF (WIN32)
IF(NOT UNIX)
SET(SRCS ${SRCS}
cmGlobalBorlandMakefileGenerator.cxx
cmGlobalNMakeMakefileGenerator.cxx
cmGlobalVisualStudio6Generator.cxx
cmLocalVisualStudio6Generator.cxx
cmGlobalBorlandMakefileGenerator.h
cmGlobalNMakeMakefileGenerator.h
cmGlobalVisualStudio6Generator.h
cmLocalVisualStudio6Generator.h
cmWin32ProcessExecution.cxx
cmWin32ProcessExecution.h
)
IF(NOT MINGW)
SET(SRCS ${SRCS}
cmGlobalVisualStudio7Generator.h
cmLocalVisualStudio7Generator.h
cmGlobalVisualStudio71Generator.cxx
cmGlobalVisualStudio7Generator.cxx
cmLocalVisualStudio7Generator.cxx)
ENDIF(NOT MINGW)
ENDIF(NOT UNIX)
2001-06-12 13:30:13 -04:00
ENDIF (WIN32)
# create a library used by the command line and the GUI
ADD_LIBRARY(CMakeLib ${SRCS})
2003-06-23 08:58:58 -04:00
TARGET_LINK_LIBRARIES(CMakeLib cmsys)
2002-08-21 11:57:12 -04:00
# always link in the library
# the library is found here
2001-09-10 11:03:30 -04:00
LINK_DIRECTORIES(${CMake_BINARY_DIR}/Source)
IF(CMAKE_BUILD_MFC_DIALOG)
LINK_LIBRARIES( rpcrt4.lib )
ADD_EXECUTABLE(cmw9xcom cmw9xcom.cxx)
TARGET_LINK_LIBRARIES(cmw9xcom CMakeLib)
SUBDIRS(MFCDialog)
ENDIF(CMAKE_BUILD_MFC_DIALOG)
ADD_EXECUTABLE(cmake cmakemain.cxx)
2001-08-23 17:40:07 -04:00
ADD_EXECUTABLE(DumpDocumentation cmDumpDocumentation)
SET(CMTEST_SRCS ctest.cxx cmCTest.cxx)
2002-08-21 11:57:12 -04:00
IF (UNIX)
TARGET_LINK_LIBRARIES(CMakeLib ${CMAKE_DL_LIBS})
ENDIF (UNIX)
2002-08-21 11:57:12 -04:00
TARGET_LINK_LIBRARIES(cmake CMakeLib)
TARGET_LINK_LIBRARIES(DumpDocumentation CMakeLib)
IF(CMAKE_BUILD_WITH_CURL)
SUBDIRS(CTest)
SET(CMTEST_SRCS ${CMTEST_SRCS} CTest/cmCTestSubmit.cxx)
ADD_DEFINITIONS(-DHAVE_CURL)
INCLUDE_DIRECTORIES(
${CMAKE_SOURCE_DIR}/Source/CTest/Curl
${CMAKE_SOURCE_DIR}/Source/CTest
)
ENDIF(CMAKE_BUILD_WITH_CURL)
ADD_EXECUTABLE(ctest ${CMTEST_SRCS})
TARGET_LINK_LIBRARIES(ctest CMakeLib)
IF(CMAKE_BUILD_WITH_CURL)
TARGET_LINK_LIBRARIES(ctest Curl)
ENDIF(CMAKE_BUILD_WITH_CURL)
2002-05-02 15:10:19 -04:00
IF (UNIX)
INCLUDE (${CMake_SOURCE_DIR}/Modules/FindCurses.cmake OPTIONAL)
IF (CURSES_LIBRARY)
INCLUDE(${CMake_SOURCE_DIR}/Source/CursesDialog/CMakeLists.txt)
ENDIF (CURSES_LIBRARY)
ENDIF (UNIX)
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)
IF (NOT DART_ROOT)
SET(MAKEPROGRAM ${CMAKE_MAKE_PROGRAM})
ENDIF (NOT DART_ROOT)
CONFIGURE_FILE(
${CMake_SOURCE_DIR}/Source/cmaketest.h.in
${CMake_BINARY_DIR}/Source/cmaketest.h ESCAPE_QUOTES)
2002-08-21 11:57:12 -04:00
ADD_EXECUTABLE(cmaketest cmaketest.cxx)
TARGET_LINK_LIBRARIES(cmaketest CMakeLib)
IF(BUILD_TESTING)
ADD_TEST(CommandLineTest ${EXECUTABLE_OUTPUT_PATH}/cmaketest
${CMake_SOURCE_DIR}/Tests/CommandLineTest
${CMake_BINARY_DIR}/Tests/CommandLineTest
CommandLineTest)
ADD_TEST(CustomCommand ${EXECUTABLE_OUTPUT_PATH}/cmaketest
${CMake_SOURCE_DIR}/Tests/CustomCommand
${CMake_BINARY_DIR}/Tests/CustomCommand
CustomCommand
${CMake_BINARY_DIR}/Tests/CustomCommand/bin)
ADD_TEST(FindPackageTest ${EXECUTABLE_OUTPUT_PATH}/cmaketest
${CMake_SOURCE_DIR}/Tests/FindPackageTest
${CMake_BINARY_DIR}/Tests/FindPackageTest
FindPackageTest)
ADD_TEST(SystemInformation ${EXECUTABLE_OUTPUT_PATH}/cmaketest
${CMake_SOURCE_DIR}/Tests/SystemInformation
${CMake_BINARY_DIR}/Tests/SystemInformation
DumpInformation)
ADD_TEST(StringFileTest ${EXECUTABLE_OUTPUT_PATH}/cmaketest
${CMake_SOURCE_DIR}/Tests/StringFileTest
${CMake_BINARY_DIR}/Tests/StringFileTest
StringFileTest)
ADD_TEST(TryCompile ${EXECUTABLE_OUTPUT_PATH}/cmaketest
${CMake_SOURCE_DIR}/Tests/TryCompile
${CMake_BINARY_DIR}/Tests/TryCompile
TryCompile)
ADD_TEST(simple ${EXECUTABLE_OUTPUT_PATH}/cmaketest
${CMake_SOURCE_DIR}/Tests/Simple
${CMake_BINARY_DIR}/Tests/Simple
simple)
ADD_TEST(conly ${EXECUTABLE_OUTPUT_PATH}/cmaketest
${CMake_SOURCE_DIR}/Tests/COnly
${CMake_BINARY_DIR}/Tests/COnly
conly)
ADD_TEST(X11 ${EXECUTABLE_OUTPUT_PATH}/cmaketest
${CMake_SOURCE_DIR}/Tests/X11
${CMake_BINARY_DIR}/Tests/X11
UseX11)
ADD_TEST(LoadedCommand ${EXECUTABLE_OUTPUT_PATH}/cmaketest
${CMake_SOURCE_DIR}/Tests/LoadCommand
${CMake_BINARY_DIR}/Tests/LoadCommand
LoadedCommand)
ADD_TEST(LoadedCommandOneConfig ${EXECUTABLE_OUTPUT_PATH}/cmaketest
${CMake_SOURCE_DIR}/Tests/LoadCommand
${CMake_BINARY_DIR}/Tests/LoadCommandOneConfig
LoadedCommand ONLY_ONE_CONFIG)
# Como does not seem to support shared libraries.
GET_FILENAME_COMPONENT(CMAKE_BASE_NAME ${CMAKE_CXX_COMPILER} NAME_WE)
IF(CMAKE_BASE_NAME MATCHES "^como$")
SET(COMPILER_IS_COMO 1)
ENDIF(CMAKE_BASE_NAME MATCHES "^como$")
IF(NOT COMPILER_IS_COMO)
ADD_TEST(complex ${EXECUTABLE_OUTPUT_PATH}/cmaketest
${CMake_SOURCE_DIR}/Tests/Complex
${CMake_BINARY_DIR}/Tests/Complex
complex
${CMake_BINARY_DIR}/Tests/Complex/bin)
ADD_TEST(complexOneConfig ${EXECUTABLE_OUTPUT_PATH}/cmaketest
${CMake_SOURCE_DIR}/Tests/Complex
${CMake_BINARY_DIR}/Tests/ComplexOneConfig
complex
${CMake_BINARY_DIR}/Tests/ComplexOneConfig/bin ONLY_ONE_CONFIG)
ENDIF(NOT COMPILER_IS_COMO)
ADD_TEST(Example ${EXECUTABLE_OUTPUT_PATH}/cmaketest
${CMake_SOURCE_DIR}/Example
${CMake_BINARY_DIR}/Example
helloDemo
${CMake_BINARY_DIR}/Example/Demo
HELLO)
ADD_TEST(testing ${EXECUTABLE_OUTPUT_PATH}/cmaketest
${CMake_SOURCE_DIR}/Tests/Testing
${CMake_BINARY_DIR}/Tests/Testing
testing
${CMake_BINARY_DIR}/Tests/Testing/bin)
ADD_TEST(wrapping ${EXECUTABLE_OUTPUT_PATH}/cmaketest
${CMake_SOURCE_DIR}/Tests/Wrapping
${CMake_BINARY_DIR}/Tests/Wrapping
wrapping
${CMake_BINARY_DIR}/Tests/Wrapping/bin)
INCLUDE ( ${CMAKE_ROOT}/Modules/FindQt.cmake )
MARK_AS_ADVANCED(
QT_INCLUDE_PATH
QT_MOC_EXE
QT_QT_LIBRARY
QT_UIC_EXE)
IF (QT_FOUND)
ADD_TEST(qtwrapping ${EXECUTABLE_OUTPUT_PATH}/cmaketest
2002-01-19 21:23:19 -05:00
${CMake_SOURCE_DIR}/Tests/Wrapping
${CMake_BINARY_DIR}/Tests/Wrapping
qtwrapping
${CMake_BINARY_DIR}/Tests/Wrapping/bin
wrapping)
ENDIF (QT_FOUND)
ADD_TEST(testdriver1 ${EXECUTABLE_OUTPUT_PATH}/cmaketest
${CMake_SOURCE_DIR}/Tests/TestDriver
${CMake_BINARY_DIR}/Tests/TestDriver
TestDriverTest
${CMake_BINARY_DIR}/Tests/Wrapping/bin
TestDriverTest test1)
ADD_TEST(testdriver2 ${EXECUTABLE_OUTPUT_PATH}/cmaketest
${CMake_SOURCE_DIR}/Tests/TestDriver
${CMake_BINARY_DIR}/Tests/TestDriver
TestDriverTest
${CMake_BINARY_DIR}/Tests/Wrapping/bin
TestDriverTest test2)
ADD_TEST(testdriver3 ${EXECUTABLE_OUTPUT_PATH}/cmaketest
${CMake_SOURCE_DIR}/Tests/TestDriver
${CMake_BINARY_DIR}/Tests/TestDriver
TestDriverTest
${CMake_BINARY_DIR}/Tests/Wrapping/bin
TestDriverTest subdir/test3)
ADD_TEST(dependency_w_libout ${EXECUTABLE_OUTPUT_PATH}/cmaketest
${CMake_SOURCE_DIR}/Tests/Dependency
${CMake_BINARY_DIR}/Tests/Dependency/WithLibOut
exec
${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 ${EXECUTABLE_OUTPUT_PATH}/cmaketest
${CMake_SOURCE_DIR}/Tests/Dependency
${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut
exec
${CMake_BINARY_DIR}/Tests/Dependency/WOLibOut/Exec
Dependency)
ADD_TEST(dependency2 ${EXECUTABLE_OUTPUT_PATH}/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 ${EXECUTABLE_OUTPUT_PATH}/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 ${EXECUTABLE_OUTPUT_PATH}/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 ${EXECUTABLE_OUTPUT_PATH}/cmaketest
${CMake_SOURCE_DIR}/Tests/LinkLine
${CMake_BINARY_DIR}/Tests/LinkLine
Exec
${CMake_BINARY_DIR}/Tests/LinkLine
LinkLine)
ADD_TEST(linkorder1 ${EXECUTABLE_OUTPUT_PATH}/cmaketest
${CMake_SOURCE_DIR}/Tests/LinkLineOrder
${CMake_BINARY_DIR}/Tests/LinkLineOrder
Exec1
${CMake_BINARY_DIR}/Tests/LinkLineOrder
LinkLineOrder)
ADD_TEST(linkorder2 ${EXECUTABLE_OUTPUT_PATH}/cmaketest
${CMake_SOURCE_DIR}/Tests/LinkLineOrder
${CMake_BINARY_DIR}/Tests/LinkLineOrder
Exec2
${CMake_BINARY_DIR}/Tests/LinkLineOrder
LinkLineOrder)
ADD_TEST(curl ${EXECUTABLE_OUTPUT_PATH}/cmaketest
${CMake_SOURCE_DIR}/Source/CTest/Curl
${CMake_BINARY_DIR}/Tests/Curl
LIBCURL)
ADD_TEST(kwsys ${EXECUTABLE_OUTPUT_PATH}/cmaketest
${CMake_SOURCE_DIR}/Source/kwsys
${CMake_BINARY_DIR}/Tests/kwsys
test1
${CMake_BINARY_DIR}/Tests/kwsys
kwsys)
IF (APPLE)
ADD_TEST(objc++ ${EXECUTABLE_OUTPUT_PATH}/cmaketest
${CMake_SOURCE_DIR}/Tests/Objc++
${CMake_BINARY_DIR}/Tests/Objc++
objc++)
ENDIF (APPLE)
2003-10-16 19:15:44 -04:00
IF (CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE OR WXWINDOWS_INCLUDE_DIR)
# Will be set if the wxwindows gui is on
ADD_TEST(UseWX ${EXECUTABLE_OUTPUT_PATH}/cmaketest
${CMake_SOURCE_DIR}/Tests/UseWX
${CMake_BINARY_DIR}/Tests/UseWX
UseWX
${CMake_BINARY_DIR}/Tests/UseWX
UsewxWindows
CMAKE_ARGS -DCMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE:FILEPATH=${CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE})
2003-10-16 19:15:44 -04:00
ENDIF (CMAKE_WXWINDOWS_WXCONFIG_EXECUTABLE OR WXWINDOWS_INCLUDE_DIR)
IF(UNIX)
IF("x${CMAKE_INSTALL_PREFIX}" MATCHES "^x${CMake_BINARY_DIR}/Tests/TestInstall/Prefix$")
CONFIGURE_FILE(
${CMake_SOURCE_DIR}/Tests/TestInstall.sh.in
${CMake_BINARY_DIR}/Tests/TestInstall/TestInstall.sh
@ONLY IMMEDIATE
)
ADD_TEST(Install /bin/sh ${CMake_BINARY_DIR}/Tests/TestInstall/TestInstall.sh)
ENDIF("x${CMAKE_INSTALL_PREFIX}" MATCHES "^x${CMake_BINARY_DIR}/Tests/TestInstall/Prefix$")
ENDIF(UNIX)
ENDIF(BUILD_TESTING)
2001-12-12 18:27:28 -05:00
INCLUDE (${CMAKE_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
INCLUDE (${CMAKE_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
2001-06-12 13:30:13 -04:00
INSTALL_TARGETS(/bin cmake)
2001-08-23 11:12:19 -04:00
INSTALL_TARGETS(/bin ctest)
INSTALL_FILES(${CMAKE_DATA_DIR}/include cmCPluginAPI.h)