diff --git a/crlcore/CMakeLists.txt b/crlcore/CMakeLists.txt index ab753f2a..efa3d941 100644 --- a/crlcore/CMakeLists.txt +++ b/crlcore/CMakeLists.txt @@ -8,8 +8,32 @@ IF(COMMAND CMAKE_POLICY) CMAKE_POLICY(SET CMP0014 OLD) ENDIF(COMMAND CMAKE_POLICY) -SET(CMAKE_MODULE_PATH "${CRLCORE_SOURCE_DIR}/cmake_modules/" "$ENV{HURRICANE_TOP}/share/cmake_modules/" "$ENV{IO_TOP}/share/cmake_modules/" ) +# 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}_DIR_SEARCH "$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(APPEND CMAKE_MODULE_PATH "${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}") + LIST(APPEND ${project}_DIR_SEARCH "$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(APPEND CMAKE_MODULE_PATH "${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) SET(QT_USE_QTXML "true") #SET(QT_USE_QTOPENGL "true") @@ -18,10 +42,17 @@ 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(HURRICANE REQUIRED) -FIND_PACKAGE(IO REQUIRED) -FIND_PACKAGE(OPENACCESS) 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/") + +MESSAGE("-- Components of CMAKE_MODULE_PATH:") +FOREACH(PATH IN LISTS CMAKE_MODULE_PATH) + MESSAGE("-- ${PATH}") +ENDFOREACH(PATH) SET_LIB_LINK_MODE() diff --git a/crlcore/cmake_modules/FindCORIOLIS.cmake b/crlcore/cmake_modules/FindCORIOLIS.cmake index 305286a8..d9c56a3a 100644 --- a/crlcore/cmake_modules/FindCORIOLIS.cmake +++ b/crlcore/cmake_modules/FindCORIOLIS.cmake @@ -1,19 +1,15 @@ # - Find the Coriolis includes and libraries. -# The following variables are set if Coriolis is found. If CORIOLIS is not -# found, CORIOLIS_FOUND is set to false. -# CORIOLIS_FOUND - True when the Coriolis include directory is found. -# CORIOLIS_INCLUDE_DIR - the path to where the Coriolis include files are. -# CORIOLIS_LIBRARIES - The path to where the Coriolis library files are. - +# The following variables are set if Coriolis is found. +# If Coriolis is not found, CRLCORE_FOUND is set to false. +# CRLCORE_FOUND - True when the Coriolis include directory is found. +# CRLCORE_INCLUDE_DIR - the path to where the Coriolis include files are. +# CRLCORE_LIBRARIES - The path to where the Coriolis library files are. SET(CORIOLIS_INCLUDE_PATH_DESCRIPTION "directory containing the Coriolis include files. E.g /usr/local/include/coriolis or /asim/coriolis/include/coriolis") - SET(CORIOLIS_DIR_MESSAGE "Set the CORIOLIS_INCLUDE_DIR cmake cache entry to the ${CORIOLIS_INCLUDE_PATH_DESCRIPTION}") # don't even bother under WIN32 IF(UNIX) - - SET(CORIOLIS_DIR_SEARCH $ENV{CORIOLIS_TOP} $ENV{HURRICANE_TOP}) # # Look for an installation. #