2010-03-09 09:24:29 -06:00
|
|
|
PROJECT(KATABATIC)
|
|
|
|
|
|
|
|
OPTION(BUILD_DOC "Build the documentation (doxygen)" OFF)
|
|
|
|
OPTION(CHECK_DATABASE "Run database in full check mode (very slow)" OFF)
|
|
|
|
|
|
|
|
CMAKE_MINIMUM_REQUIRED(VERSION 2.4.0)
|
|
|
|
|
2010-03-18 10:32:36 -05:00
|
|
|
# This macro has to be included in all the tools CMakeLists.txt as it's
|
|
|
|
# the sole means of localizing other tools/projects.
|
|
|
|
MACRO(SETUP_PROJECT_PATHS project)
|
|
|
|
IF( NOT("$ENV{${project}_TOP}" STREQUAL "") )
|
|
|
|
MESSAGE("-- ${project}_TOP is set to $ENV{${project}_TOP}")
|
2010-05-22 09:14:25 -05:00
|
|
|
SET(PROJECT_MODULE_PATH "${DESTDIR}$ENV{${project}_TOP}/share/cmake/Modules/")
|
2010-04-28 16:54:58 -05:00
|
|
|
LIST(INSERT CMAKE_MODULE_PATH 0 "${PROJECT_MODULE_PATH}")
|
2010-03-18 10:32:36 -05:00
|
|
|
ENDIF( NOT("$ENV{${project}_TOP}" STREQUAL "") )
|
2010-04-28 10:43:30 -05:00
|
|
|
|
|
|
|
IF( NOT("$ENV{${project}_USER_TOP}" STREQUAL "") )
|
|
|
|
MESSAGE("-- ${project}_USER_TOP is set to $ENV{${project}_USER_TOP}")
|
2010-05-22 09:14:25 -05:00
|
|
|
SET(PROJECT_MODULE_PATH "${DESTDIR}$ENV{${project}_USER_TOP}/share/cmake/Modules/")
|
2010-04-28 16:54:58 -05:00
|
|
|
LIST(INSERT CMAKE_MODULE_PATH 0 "${PROJECT_MODULE_PATH}")
|
2010-04-28 10:43:30 -05:00
|
|
|
ENDIF( NOT("$ENV{${project}_USER_TOP}" STREQUAL "") )
|
2010-04-28 16:54:58 -05:00
|
|
|
|
|
|
|
LIST(REMOVE_DUPLICATES CMAKE_MODULE_PATH)
|
2010-03-18 10:32:36 -05:00
|
|
|
ENDMACRO(SETUP_PROJECT_PATHS project)
|
|
|
|
|
2010-07-13 11:25:31 -05:00
|
|
|
SETUP_PROJECT_PATHS(GOODIES)
|
2010-05-18 10:04:38 -05:00
|
|
|
SETUP_PROJECT_PATHS(VLSISAPD)
|
2010-03-18 10:32:36 -05:00
|
|
|
SETUP_PROJECT_PATHS(CORIOLIS)
|
2010-03-09 09:24:29 -06:00
|
|
|
|
2010-07-13 11:25:31 -05:00
|
|
|
FIND_PACKAGE(Goodies REQUIRED)
|
|
|
|
SET_CMAKE_POLICIES()
|
|
|
|
SET_LIB_LINK_MODE()
|
|
|
|
SETUP_BOOST(program_options filesystem python regex)
|
2010-03-09 09:24:29 -06:00
|
|
|
|
|
|
|
IF(BUILD_DOC)
|
|
|
|
FIND_PACKAGE(Doxygen)
|
|
|
|
ENDIF(BUILD_DOC)
|
2010-07-13 11:25:31 -05:00
|
|
|
SET(QT_USE_QTXML "true")
|
2010-03-09 09:24:29 -06:00
|
|
|
FIND_PACKAGE(Qt4 REQUIRED) # find and setup Qt4 for this project
|
2010-06-18 09:03:16 -05:00
|
|
|
FIND_PACKAGE(VLSISAPD REQUIRED)
|
2010-03-09 09:24:29 -06:00
|
|
|
FIND_PACKAGE(HURRICANE REQUIRED)
|
|
|
|
FIND_PACKAGE(CORIOLIS REQUIRED)
|
|
|
|
FIND_PACKAGE(KNIK REQUIRED)
|
|
|
|
|
|
|
|
ADD_SUBDIRECTORY(src)
|
|
|
|
ADD_SUBDIRECTORY(cmake_modules)
|
|
|
|
IF(BUILD_DOC AND DOXYGEN_FOUND)
|
|
|
|
ADD_SUBDIRECTORY(doc)
|
|
|
|
ENDIF(BUILD_DOC AND DOXYGEN_FOUND)
|
|
|
|
|
|
|
|
IF(CHECK_DATABASE)
|
|
|
|
ADD_DEFINITIONS(-DCHECK_DATABASE)
|
|
|
|
MESSAGE(STATUS "Checking database enabled (very slow).")
|
|
|
|
ENDIF(CHECK_DATABASE)
|
|
|
|
IF(CHECK_DETERMINISM)
|
|
|
|
ADD_DEFINITIONS(-DCHECK_DETERMINISM)
|
|
|
|
MESSAGE(STATUS "Checking determinism enabled.")
|
|
|
|
ENDIF(CHECK_DETERMINISM)
|