PROJECT(CRLCORE)

CMAKE_MINIMUM_REQUIRED(VERSION 2.4.0)

IF(COMMAND CMAKE_POLICY)
  CMAKE_POLICY(SET CMP0003 NEW)
  CMAKE_POLICY(SET CMP0005 NEW)
  CMAKE_POLICY(SET CMP0014 OLD)
ENDIF(COMMAND CMAKE_POLICY)

# 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}_USER_TOP}" STREQUAL "") )
    MESSAGE("-- ${project}_USER_TOP is set to $ENV{${project}_USER_TOP}")
    SET(PROJECT_MODULE_PATH "$ENV{${project}_USER_TOP}/share/cmake_modules/")
    LIST(FIND CMAKE_MODULE_PATH "${PROJECT_MODULE_PATH}" DIR_INDEX)
    IF( DIR_INDEX LESS 0)
      LIST(INSERT CMAKE_MODULE_PATH 0 "${PROJECT_MODULE_PATH}")
    ENDIF( DIR_INDEX LESS 0)
  ENDIF( NOT("$ENV{${project}_USER_TOP}" STREQUAL "") )
  
  IF( NOT("$ENV{${project}_TOP}" STREQUAL "") )
    MESSAGE("-- ${project}_TOP is set to $ENV{${project}_TOP}")
    SET(PROJECT_MODULE_PATH "$ENV{${project}_TOP}/share/cmake_modules/")
    LIST(FIND CMAKE_MODULE_PATH "${PROJECT_MODULE_PATH}" DIR_INDEX)
    IF( DIR_INDEX LESS 0)
      LIST(INSERT CMAKE_MODULE_PATH 0 "${PROJECT_MODULE_PATH}")
    ENDIF( DIR_INDEX LESS 0)
  ENDIF( NOT("$ENV{${project}_TOP}" STREQUAL "") )
ENDMACRO(SETUP_PROJECT_PATHS project)

SETUP_PROJECT_PATHS(IO)
SETUP_PROJECT_PATHS(CORIOLIS)

MESSAGE("-- Components of CMAKE_MODULE_PATH:")
FOREACH(PATH IN LISTS CMAKE_MODULE_PATH)
  MESSAGE("--   ${PATH}")
ENDFOREACH(PATH)

SET(QT_USE_QTXML    "true")
#SET(QT_USE_QTOPENGL "true")

FIND_PACKAGE(Boost 1.33.1 COMPONENTS program_options REQUIRED)
FIND_PACKAGE(Qt4 REQUIRED) # find and setup Qt4 for this project
FIND_PACKAGE(BISON REQUIRED)
FIND_PACKAGE(FLEX REQUIRED)
FIND_PACKAGE(LEFDEF)
FIND_PACKAGE(OPENACCESS)
FIND_PACKAGE(IO REQUIRED)
FIND_PACKAGE(HURRICANE REQUIRED)

#LIST(INSERT CMAKE_MODULE_PATH 0 "${CRLCORE_SOURCE_DIR}/cmake_modules/")

SET_LIB_LINK_MODE()

ADD_SUBDIRECTORY(src)
ADD_SUBDIRECTORY(etc)
ADD_SUBDIRECTORY(cmake_modules)
