PROJECT(KITE) 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) # 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}") SET(PROJECT_MODULE_PATH "${DESTDIR}$ENV{${project}_TOP}/share/cmake/Modules/") LIST(INSERT CMAKE_MODULE_PATH 0 "${PROJECT_MODULE_PATH}") ENDIF( NOT("$ENV{${project}_TOP}" STREQUAL "") ) IF( NOT("$ENV{${project}_USER_TOP}" STREQUAL "") ) MESSAGE("-- ${project}_USER_TOP is set to $ENV{${project}_USER_TOP}") SET(PROJECT_MODULE_PATH "${DESTDIR}$ENV{${project}_USER_TOP}/share/cmake/Modules/") LIST(INSERT CMAKE_MODULE_PATH 0 "${PROJECT_MODULE_PATH}") ENDIF( NOT("$ENV{${project}_USER_TOP}" STREQUAL "") ) LIST(REMOVE_DUPLICATES CMAKE_MODULE_PATH) ENDMACRO(SETUP_PROJECT_PATHS project) SETUP_PROJECT_PATHS(GOODIES) SETUP_PROJECT_PATHS(VLSISAPD) SETUP_PROJECT_PATHS(CORIOLIS) FIND_PACKAGE(Goodies REQUIRED) SET_CMAKE_POLICIES() SET_LIB_LINK_MODE() SETUP_BOOST(program_options filesystem python regex) IF(BUILD_DOC) FIND_PACKAGE(Doxygen) ENDIF(BUILD_DOC) FIND_PACKAGE(LibXml2 REQUIRED) SET(QT_USE_QTXML "true") FIND_PACKAGE(Qt4 REQUIRED) # find and setup Qt4 for this project FIND_PACKAGE(PythonLibs REQUIRED) FIND_PACKAGE(PythonSitePackages REQUIRED) FIND_PACKAGE(VLSISAPD REQUIRED) FIND_PACKAGE(LEFDEF REQUIRED) FIND_PACKAGE(HURRICANE REQUIRED) FIND_PACKAGE(CORIOLIS REQUIRED) FIND_PACKAGE(KNIK REQUIRED) FIND_PACKAGE(KATABATIC REQUIRED) IF(CHECK_DATABASE) ADD_DEFINITIONS(-DCHECK_DATABASE) ENDIF(CHECK_DATABASE) IF(CHECK_DETERMINISM) ADD_DEFINITIONS(-DCHECK_DETERMINISM) ENDIF(CHECK_DETERMINISM) ADD_SUBDIRECTORY(src) ADD_SUBDIRECTORY(cmake_modules) IF(BUILD_DOC AND DOXYGEN_FOUND) ADD_SUBDIRECTORY(doc) ENDIF(BUILD_DOC AND DOXYGEN_FOUND)