CMake/Source/CMakeLists.txt

395 lines
12 KiB
CMake
Raw Normal View History

CMAKE_MINIMUM_REQUIRED(VERSION 1.5)
2002-04-22 19:50:43 +04:00
SET(SRCS
cmake.cxx
2001-12-01 00:48:52 +03:00
cmakewizard.cxx
cmMakeDepend.cxx
cmMakefile.cxx
cmSourceFile.cxx
cmSystemTools.cxx
cmDocumentation.cxx
2002-08-21 19:57:12 +04:00
cmDynamicLoader.cxx
cmCommands.cxx
cmTarget.cxx
cmCustomCommand.cxx
cmCacheManager.cxx
cmSourceGroup.cxx
cmListFileCache.cxx
cmListFileLexer.c
2003-07-08 22:18:17 +04:00
cmGlob.cxx
2002-09-06 21:06:23 +04:00
cmGlobalGenerator.cxx
cmGlobalUnixMakefileGenerator.cxx
cmLocalGenerator.cxx
cmLocalUnixMakefileGenerator.cxx
2003-01-08 20:59:52 +03:00
cmVariableWatch.cxx
2002-03-13 18:25:11 +03:00
cmake.h
cmakewizard.h
cmMakeDepend.h
cmMakefile.h
cmSourceFile.h
cmSystemTools.h
2002-08-21 19:57:12 +04:00
cmDynamicLoader.h
2002-03-13 18:25:11 +03:00
cmCommands.h
cmTarget.h
cmCustomCommand.h
cmCacheManager.h
cmSourceGroup.h
cmListFileCache.h
2002-09-06 21:06:23 +04:00
cmGlobalGenerator.h
cmGlobalUnixMakefileGenerator.h
cmLocalGenerator.h
cmLocalUnixMakefileGenerator.h
2003-01-08 20:59:52 +03:00
cmVariableWatch.h
2001-06-12 21:30:13 +04:00
)
# configure the .h file
CONFIGURE_FILE(
${CMake_SOURCE_DIR}/Source/cmConfigure.cmake.h.in
2001-06-21 21: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 22:47:44 +04:00
IF (APPLE)
SET(SRCS ${SRCS}
cmGlobalCodeWarriorGenerator.cxx
cmLocalCodeWarriorGenerator.cxx
cmGlobalCodeWarriorGenerator.h
cmLocalCodeWarriorGenerator.h
)
ENDIF (APPLE)
2001-06-12 21: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 21:30:13 +04:00
ENDIF (WIN32)
# create a library used by the command line and the GUI
ADD_LIBRARY(CMakeLib ${SRCS})
2003-06-23 16:58:58 +04:00
TARGET_LINK_LIBRARIES(CMakeLib cmsys)
2002-08-21 19:57:12 +04:00
# always link in the library
# the library is found here
2001-09-10 19: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-24 01:40:07 +04:00
ADD_EXECUTABLE(DumpDocumentation cmDumpDocumentation)
SET(CMTEST_SRCS ctest.cxx cmCTest.cxx)
2002-08-21 19:57:12 +04:00
IF (UNIX)
TARGET_LINK_LIBRARIES(CMakeLib ${CMAKE_DL_LIBS})
ENDIF (UNIX)
2002-08-21 19: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 23: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 19: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-20 05:23:19 +03: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-17 03: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-17 03: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-13 02:27:28 +03:00
INCLUDE (${CMAKE_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
INCLUDE (${CMAKE_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
2001-06-12 21:30:13 +04:00
INSTALL_TARGETS(/bin cmake)
2001-08-23 19:12:19 +04:00
INSTALL_TARGETS(/bin ctest)
INSTALL_FILES(${CMAKE_DATA_DIR}/include cmCPluginAPI.h)