* All Tools:

- Change: Using more Bootstrap macros. Simpler way of setting the
        CMAKE_MODULE_PATH.
This commit is contained in:
Jean-Paul Chaput 2010-07-15 14:31:23 +00:00
parent 75df67f391
commit 765ba00f60
1 changed files with 38 additions and 55 deletions

View File

@ -1,58 +1,41 @@
PROJECT(KATABATIC)
OPTION(BUILD_DOC "Build the documentation (doxygen)" OFF)
OPTION(CHECK_DATABASE "Run database in full check mode (very slow)" OFF)
project(KATABATIC)
CMAKE_MINIMUM_REQUIRED(VERSION 2.4.0)
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(BOOTSTRAP)
SETUP_PROJECT_PATHS(VLSISAPD)
SETUP_PROJECT_PATHS(CORIOLIS)
FIND_PACKAGE(Bootstrap REQUIRED)
SET_CMAKE_POLICIES()
SET_LIB_LINK_MODE()
SETUP_BOOST(program_options filesystem python regex)
IF(BUILD_DOC)
FIND_PACKAGE(Doxygen)
ENDIF(BUILD_DOC)
SET(QT_USE_QTXML "true")
FIND_PACKAGE(Qt4 REQUIRED) # find and setup Qt4 for this project
FIND_PACKAGE(VLSISAPD REQUIRED)
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)
list(INSERT CMAKE_MODULE_PATH 0 "$ENV{BOOTSTRAP_TOP}/share/cmake/Modules/")
find_package(Bootstrap REQUIRED)
setup_project_paths(VLSISAPD)
setup_project_paths(CORIOLIS)
set_cmake_policies()
set_lib_link_mode()
setup_boost(program_options filesystem python regex)
set(QT_USE_QTXML "true")
find_package(Qt4 REQUIRED)
find_package(VLSISAPD REQUIRED)
find_package(HURRICANE REQUIRED)
find_package(CORIOLIS REQUIRED)
find_package(KNIK REQUIRED)
if(BUILD_DOC)
find_package(Doxygen)
ENDIF(BUILD_DOC)
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)