mirror of
https://github.com/reactos/CMake.git
synced 2024-11-29 22:40:25 +00:00
394 lines
12 KiB
CMake
394 lines
12 KiB
CMake
CMAKE_MINIMUM_REQUIRED(VERSION 1.5)
|
|
|
|
SET(SRCS
|
|
cmake.cxx
|
|
cmakewizard.cxx
|
|
cmMakeDepend.cxx
|
|
cmMakefile.cxx
|
|
cmSourceFile.cxx
|
|
cmSystemTools.cxx
|
|
cmDocumentation.cxx
|
|
cmDynamicLoader.cxx
|
|
cmCommands.cxx
|
|
cmTarget.cxx
|
|
cmCustomCommand.cxx
|
|
cmCacheManager.cxx
|
|
cmSourceGroup.cxx
|
|
cmListFileCache.cxx
|
|
cmGlob.cxx
|
|
cmGlobalGenerator.cxx
|
|
cmGlobalUnixMakefileGenerator.cxx
|
|
cmLocalGenerator.cxx
|
|
cmLocalUnixMakefileGenerator.cxx
|
|
cmVariableWatch.cxx
|
|
cmake.h
|
|
cmakewizard.h
|
|
cmMakeDepend.h
|
|
cmMakefile.h
|
|
cmSourceFile.h
|
|
cmSystemTools.h
|
|
cmDynamicLoader.h
|
|
cmCommands.h
|
|
cmTarget.h
|
|
cmCustomCommand.h
|
|
cmCacheManager.h
|
|
cmSourceGroup.h
|
|
cmListFileCache.h
|
|
cmGlobalGenerator.h
|
|
cmGlobalUnixMakefileGenerator.h
|
|
cmLocalGenerator.h
|
|
cmLocalUnixMakefileGenerator.h
|
|
cmVariableWatch.h
|
|
)
|
|
|
|
# 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)
|
|
INCLUDE_DIRECTORIES(${CMake_SOURCE_DIR}/Source)
|
|
|
|
# let cmake know it is supposed to use it
|
|
ADD_DEFINITIONS(-DCMAKE_BUILD_WITH_CMAKE)
|
|
|
|
IF (APPLE)
|
|
SET(SRCS ${SRCS}
|
|
cmGlobalCodeWarriorGenerator.cxx
|
|
cmLocalCodeWarriorGenerator.cxx
|
|
cmGlobalCodeWarriorGenerator.h
|
|
cmLocalCodeWarriorGenerator.h
|
|
)
|
|
ENDIF (APPLE)
|
|
|
|
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)
|
|
ENDIF (WIN32)
|
|
|
|
# create a library used by the command line and the GUI
|
|
ADD_LIBRARY(CMakeLib ${SRCS})
|
|
TARGET_LINK_LIBRARIES(CMakeLib cmsys)
|
|
|
|
# always link in the library
|
|
# the library is found here
|
|
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)
|
|
ADD_EXECUTABLE(DumpDocumentation cmDumpDocumentation)
|
|
|
|
SET(CMTEST_SRCS ctest.cxx cmCTest.cxx)
|
|
|
|
IF (UNIX)
|
|
TARGET_LINK_LIBRARIES(CMakeLib ${CMAKE_DL_LIBS})
|
|
ENDIF (UNIX)
|
|
|
|
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)
|
|
|
|
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)
|
|
|
|
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
|
|
${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)
|
|
|
|
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})
|
|
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)
|
|
|
|
INCLUDE (${CMAKE_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
|
|
INCLUDE (${CMAKE_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
|
|
|
|
INSTALL_TARGETS(/bin cmake)
|
|
INSTALL_TARGETS(/bin ctest)
|
|
INSTALL_FILES(${CMAKE_DATA_DIR}/include cmCPluginAPI.h)
|