coriolis/crlcore/cmake_modules/FindCORIOLIS.cmake

66 lines
2.2 KiB
CMake
Raw Normal View History

# - Find the Coriolis includes and libraries.
# 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)
SETUP_SEARCH_DIR(CORIOLIS)
#
# Look for an installation.
#
FIND_PATH(CRLCORE_INCLUDE_PATH NAMES crlcore/ToolEngine.h PATHS
# Look in other places.
${CORIOLIS_DIR_SEARCH}
PATH_SUFFIXES include/coriolis2 include
# Help the user find it if we cannot.
DOC "The ${CORIOLIS_INCLUDE_PATH_DESCRIPTION}"
)
FIND_LIBRARY(CRLCORE_LIBRARY_PATH
NAMES crlcore
PATHS ${CORIOLIS_DIR_SEARCH}
PATH_SUFFIXES lib${LIB_SUFFIX}
# Help the user find it if we cannot.
DOC "The ${CORIOLIS_INCLUDE_PATH_DESCRIPTION}"
)
New Library Manager Widget. Access with Tools menu or CTRL+M. * New: In CRL Core, created a LibraryManager widget. It provides a composite information based on what is present, for each Alliance library: 1. - A Cell in memory, without Catalog::State. 2. - A Catalog::State, with or whithout the Cell in memory. 3. - The files of the Cell in the librariy's directory. 4. - A file with a format referenced for one of the importers. File type recognition is based *only* on the file extension, so it may easily confused. Be careful about what you put in the library's directory. One of the big limitation is that it will not display Hurricane libraries that do not have the AllianceLibrary extension. This widget is put in a separate library <libmanager>, included in the default CRLCORE_LIBRARIES. * Change: In CRL Core, in State (through the loader), now sets the InMemory flag (event if nobody uses it yet...). Display it in the state _getString(). In AllianceFramework, new getAllianceLibraries() method. In CatalogExtension, make the static method "get()" publicly accessible, for sometimes we want the whole State. * Bug: In vlsisapd, in Path, the pathcache was not rebuild when it should, leading to incorrect results. * New: In vlsisapd, in Path, added a listdir() method to access the contents of a directory and a stat() method to poll the status of a file/directory. Rename the ".string()" method in ".toString()" to avoid tricky name resolution with std::string, refactor in all the other tools. * Change: In Hurricane, in Controller, no longer oversize the fonts of the table's headers. * New: In Unicorn, in UnicornGui, integrate LibraryManager.
2015-05-09 10:03:17 -05:00
FIND_LIBRARY(LIBMANAGER_LIBRARY_PATH
NAMES libmanager
PATHS ${CORIOLIS_DIR_SEARCH}
PATH_SUFFIXES lib${LIB_SUFFIX}
# Help the user find it if we cannot.
DOC "The ${CORIOLIS_INCLUDE_PATH_DESCRIPTION}"
)
FIND_PATH(CORIOLIS_PYTHON_INCLUDE_PATH
NAMES crlcore/PyAllianceFramework.h
PATHS ${CORIOLIS_DIR_SEARCH}
PATH_SUFFIXES include/coriolis2 include
# Help the user find it if we cannot.
DOC "${CORIOLIS_LIBRARY_PATH_DESCRIPTION}"
)
FIND_LIBRARY(CORIOLIS_PYTHON_LIBRARY_PATH
NAMES pycrlcore
PATHS ${CORIOLIS_DIR_SEARCH}
PATH_SUFFIXES lib${LIB_SUFFIX}
# Help the user find it if we cannot.
DOC "${CORIOLIS_LIBRARY_PATH_DESCRIPTION}"
)
SET_LIBRARIES_PATH(CORIOLIS CRLCORE)
New Library Manager Widget. Access with Tools menu or CTRL+M. * New: In CRL Core, created a LibraryManager widget. It provides a composite information based on what is present, for each Alliance library: 1. - A Cell in memory, without Catalog::State. 2. - A Catalog::State, with or whithout the Cell in memory. 3. - The files of the Cell in the librariy's directory. 4. - A file with a format referenced for one of the importers. File type recognition is based *only* on the file extension, so it may easily confused. Be careful about what you put in the library's directory. One of the big limitation is that it will not display Hurricane libraries that do not have the AllianceLibrary extension. This widget is put in a separate library <libmanager>, included in the default CRLCORE_LIBRARIES. * Change: In CRL Core, in State (through the loader), now sets the InMemory flag (event if nobody uses it yet...). Display it in the state _getString(). In AllianceFramework, new getAllianceLibraries() method. In CatalogExtension, make the static method "get()" publicly accessible, for sometimes we want the whole State. * Bug: In vlsisapd, in Path, the pathcache was not rebuild when it should, leading to incorrect results. * New: In vlsisapd, in Path, added a listdir() method to access the contents of a directory and a stat() method to poll the status of a file/directory. Rename the ".string()" method in ".toString()" to avoid tricky name resolution with std::string, refactor in all the other tools. * Change: In Hurricane, in Controller, no longer oversize the fonts of the table's headers. * New: In Unicorn, in UnicornGui, integrate LibraryManager.
2015-05-09 10:03:17 -05:00
SET_LIBRARIES_PATH(CORIOLIS LIBMANAGER)
SET_LIBRARIES_PATH(CORIOLIS_PYTHON CORIOLIS_PYTHON)
HURRICANE_CHECK_LIBRARIES(CORIOLIS)
HURRICANE_CHECK_LIBRARIES(CORIOLIS_PYTHON ${CORIOLIS_FIND_REQUIRED})
ENDIF(UNIX)