PROJECT(CRLCORE) CMAKE_MINIMUM_REQUIRED(VERSION 2.4.0) #IF(COMMAND CMAKE_POLICY) # CMAKE_POLICY(SET CMP0003 NEW) # CMAKE_POLICY(SET CMP0005 NEW) # IF(NOT (CMAKE_VERSION VERSION_LESS 2.8.0)) # CMAKE_POLICY(SET CMP0014 OLD) # ENDIF(NOT (CMAKE_VERSION VERSION_LESS 2.8.0)) #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}_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) LIST(INSERT CMAKE_MODULE_PATH 0 "${CRLCORE_SOURCE_DIR}/cmake_modules/") MESSAGE("-- Components of CMAKE_MODULE_PATH:") FOREACH(PATH IN LISTS CMAKE_MODULE_PATH) MESSAGE("-- ${PATH}") ENDFOREACH(PATH) STRING(REGEX MATCH "^/usr" IS_USR "$ENV{CORIOLIS_TOP}") STRING(REGEX MATCH "^/opt" IS_OPT "$ENV{CORIOLIS_TOP}") IF(IS_USR OR IS_OPT) MESSAGE("-- Using system-wide /etc.") SET(SYS_CONF_DIR "/etc" CACHE STRING "System configuration directory (/etc)" FORCE) ELSE(IS_USR OR IS_OPT) MESSAGE("-- Using install tree /etc.") SET(SYS_CONF_DIR "etc" CACHE STRING "System configuration directory (/etc)" FORCE) ENDIF(IS_USR OR IS_OPT) SET(QT_USE_QTXML "true") FIND_PACKAGE(Goodies REQUIRED) set_cmake_policies() set_lib_link_mode() setup_boost(program_options filesystem python regex) FIND_PACKAGE(LibXml2 REQUIRED) FIND_PACKAGE(PythonLibs REQUIRED) FIND_PACKAGE(PythonSitePackages 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(VLSISAPD REQUIRED) FIND_PACKAGE(HURRICANE REQUIRED) INCLUDE(UseLATEX) ADD_SUBDIRECTORY(src) ADD_SUBDIRECTORY(etc) ADD_SUBDIRECTORY(cmake_modules) IF(BUILD_DOC) ADD_SUBDIRECTORY(doc) ENDIF(BUILD_DOC)