PROJECT(HURRICANE) CMAKE_MINIMUM_REQUIRED(VERSION 2.4.0) IF(COMMAND CMAKE_POLICY) CMAKE_POLICY(SET CMP0003 NEW) ENDIF(COMMAND CMAKE_POLICY) SET(CMAKE_C_FLAGS_DEBUG "-g -Wall" CACHE STRING "Debug options." FORCE) SET(CMAKE_CXX_FLAGS_DEBUG "-g -Wall" CACHE STRING "Debug options." FORCE) SET(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG -Wall" CACHE STRING "Release options." FORCE) SET(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG -Wall" CACHE STRING "Release options." FORCE) 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(VLSISAPD) LIST(INSERT CMAKE_MODULE_PATH 0 "${HURRICANE_SOURCE_DIR}/cmake_modules/") OPTION(BUILD_DOC "Build the documentation (doxygen)" OFF) SET(QT_USE_QTXML "true") #SET(QT_USE_QTOPENGL "true") FIND_PACKAGE(Qt4 REQUIRED) # find and setup Qt4 for this project FIND_PACKAGE(BISON REQUIRED) FIND_PACKAGE(FLEX REQUIRED) FIND_PACKAGE(PythonLibs REQUIRED) FIND_PACKAGE(PythonSitePackages REQUIRED) FIND_PACKAGE(VLSISAPD REQUIRED) IF(BUILD_DOC) FIND_PACKAGE(Doxygen) ENDIF(BUILD_DOC) #SET_LIB_LINK_MODE() IF(NOT BUILD_SHARED_LIBS) # check for qmake FIND_PROGRAM(QT_QMAKE_EXECUTABLE NAMES qmake-qt4 qmake PATHS /opt/qt4-static-4.3.2/bin NO_DEFAULT_PATH ) MESSAGE(STATUS "Building static libraries.") ELSE(NOT BUILD_SHARED_LIBS) MESSAGE(STATUS "Building dynamic libraries.") ENDIF(NOT BUILD_SHARED_LIBS) SET(Boost_USE_STATIC_LIBS ON) MESSAGE(STATUS "Always uses Boost static libraries.") FIND_PACKAGE(Boost 1.35.0 COMPONENTS regex) IF(NOT Boost_FOUND) FIND_PACKAGE(Boost 1.33.1 COMPONENTS regex REQUIRED) ENDIF(NOT Boost_FOUND) MESSAGE(STATUS "Found Boost libraries ${Boost_LIB_VERSION} in ${Boost_INCLUDE_DIR}") MESSAGE(STATUS " ${Boost_LIBRARIES}") ADD_SUBDIRECTORY(src) ADD_SUBDIRECTORY(cmake_modules) ADD_SUBDIRECTORY(tests) IF(BUILD_DOC AND DOXYGEN_FOUND) ADD_SUBDIRECTORY(doc) ENDIF(BUILD_DOC AND DOXYGEN_FOUND) ENABLE_TESTING() ADD_TEST(HurricaneTest ${PROJECT_BINARY_DIR}/tests/htest)