70 lines
2.3 KiB
CMake
70 lines
2.3 KiB
CMake
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_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(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(Boost 1.33.1 COMPONENTS regex REQUIRED)
|
|
FIND_PACKAGE(PythonLibs REQUIRED)
|
|
FIND_PACKAGE(PythonSitePackages REQUIRED)
|
|
IF(BUILD_DOC)
|
|
FIND_PACKAGE(Doxygen)
|
|
ENDIF(BUILD_DOC)
|
|
|
|
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)
|