PROJECT(CMake) CMAKE_MINIMUM_REQUIRED(VERSION 2.0) MARK_AS_ADVANCED(CMAKE_BACKWARDS_COMPATIBILITY) # The CMake version number. SET(CMake_VERSION_MAJOR 2) SET(CMake_VERSION_MINOR 1) SET(CMake_VERSION_PATCH 0) SET(CMake_VERSION "${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}") SET(CMake_VERSION_FULL "${CMake_VERSION}.${CMake_VERSION_PATCH}") SET(CMAKE_DATA_DIR "/share/CMake" CACHE STRING "Install location for data (relative to prefix).") SET(CMAKE_DOC_DIR "/doc/CMake" CACHE STRING "Install location for documentation (relative to prefix).") SET(CMAKE_MAN_DIR "/man" CACHE STRING "Install location for man pages (relative to prefix).") MARK_AS_ADVANCED(CMAKE_DATA_DIR CMAKE_DOC_DIR CMAKE_MAN_DIR) IF(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 1.4) IF(CMAKE_GENERATOR MATCHES "Visual Studio 7") SET(CMAKE_SKIP_COMPATIBILITY_TESTS 1) ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 7") IF(CMAKE_GENERATOR MATCHES "Visual Studio 6") SET(CMAKE_SKIP_COMPATIBILITY_TESTS 1) ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 6") INCLUDE (${CMAKE_ROOT}/Modules/CMakeBackwardCompatibilityCXX.cmake) ENDIF(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 1.4) #silence duplicate symbol warnings on AIX IF(CMAKE_SYSTEM MATCHES "AIX.*") IF(NOT CMAKE_COMPILER_IS_GNUCXX) SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -bhalt:5 ") ENDIF(NOT CMAKE_COMPILER_IS_GNUCXX) ENDIF(CMAKE_SYSTEM MATCHES "AIX.*") IF(CMAKE_SYSTEM MATCHES "IRIX.*") IF(NOT CMAKE_COMPILER_IS_GNUCXX) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,-woff84 -no_auto_include") SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-woff15") ENDIF(NOT CMAKE_COMPILER_IS_GNUCXX) ENDIF(CMAKE_SYSTEM MATCHES "IRIX.*") IF(CMAKE_SYSTEM MATCHES "OSF1-V.*") IF(NOT CMAKE_COMPILER_IS_GNUCXX) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -timplicit_local -no_implicit_include ") ENDIF(NOT CMAKE_COMPILER_IS_GNUCXX) ENDIF(CMAKE_SYSTEM MATCHES "OSF1-V.*") #----------------------------------------------------------------------------- # Create the kwsys library for CMake. SET(KWSYS_NAMESPACE cmsys) SET(KWSYS_USE_SystemTools 1) SET(KWSYS_USE_Directory 1) SET(KWSYS_USE_RegularExpression 1) SET(KWSYS_USE_Base64 1) SET(KWSYS_USE_Process 1) SET(KWSYS_USE_CommandLineArguments 1) SET(KWSYS_HEADER_ROOT ${CMake_BINARY_DIR}/Source) SUBDIRS(Source/kwsys) #----------------------------------------------------------------------------- # Build Curl library for CTest. SET(CMAKE_BUILD_WITH_CURL 1) SUBDIRS(Source/CTest/Curl) #----------------------------------------------------------------------------- # Build expat library for CMake and CTest. INCLUDE_DIRECTORIES(${CMake_BINARY_DIR}/Utilities) SUBDIRS(Utilities/cmexpat) IF (UNIX) INCLUDE (${CMake_SOURCE_DIR}/Modules/FindCurses.cmake OPTIONAL) IF (CURSES_LIBRARY) SUBDIRS(Source/CursesDialog/form) ELSE (CURSES_LIBRARY) MESSAGE("Curses libraries were not found. Curses GUI for CMake will not be build.") ENDIF (CURSES_LIBRARY) ENDIF (UNIX) SUBDIRS(Source Modules Templates Utilities) ENABLE_TESTING() # Include the standard Dart testing module INCLUDE (${CMAKE_ROOT}/Modules/Dart.cmake) # use the ansi CXX compile flag for building cmake IF (CMAKE_ANSI_CXXFLAGS) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_ANSI_CXXFLAGS}") ENDIF (CMAKE_ANSI_CXXFLAGS) IF (CMAKE_ANSI_CFLAGS) SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_ANSI_CFLAGS}") ENDIF (CMAKE_ANSI_CFLAGS) # add some testing dependencies IF(BUILD_TESTING) IF (DART_ROOT) CONFIGURE_FILE(${CMake_SOURCE_DIR}/CMakeLogo.gif ${CMake_BINARY_DIR}/Testing/HTML/TestingResults/Icons/Logo.gif COPYONLY) ENDIF (DART_ROOT) ENDIF(BUILD_TESTING) MARK_AS_ADVANCED(DART_ROOT) MARK_AS_ADVANCED(CURL_TESTING) SET(EXECUTABLE_OUTPUT_PATH ${CMake_BINARY_DIR}/bin CACHE INTERNAL "Where to put the executables for CMake" ) SET(LIBRARY_OUTPUT_PATH "" CACHE INTERNAL "Where to put the libraries for CMake" ) INCLUDE_REGULAR_EXPRESSION("^(\\.\\./)?(cm|CMake|form|ctest).*") CONFIGURE_FILE(${CMake_SOURCE_DIR}/Tests/.NoDartCoverage ${CMake_BINARY_DIR}/Tests/.NoDartCoverage) CONFIGURE_FILE(${CMake_SOURCE_DIR}/Tests/.NoDartCoverage ${CMake_BINARY_DIR}/Modules/.NoDartCoverage) CONFIGURE_FILE(${CMake_SOURCE_DIR}/CTestCustom.ctest.in ${CMake_BINARY_DIR}/CTestCustom.ctest @ONLY) SET(CMAKE_BUILD_MFC_DIALOG 0) IF(WIN32) IF(NOT UNIX) IF(NOT BORLAND) IF(NOT MINGW ) SET(CMAKE_BUILD_MFC_DIALOG 1) ENDIF(NOT MINGW ) ENDIF(NOT BORLAND) ENDIF(NOT UNIX) ENDIF(WIN32) CONFIGURE_FILE( "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" IMMEDIATE @ONLY) ADD_CUSTOM_TARGET(uninstall "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")