* All Tools:
- Change: New structure for the installation & CMake system. * Tools are now grouped in "projects". There are three projects: 1. - IO: Standalones parsers/drivers (IO_USER_TOP, IO_TOP). 2. - Coriolis: Base & digital tools (CORIOLIS_USER_TOP, CORIOLIS_TOP). 3. - Chams: Analogic tools (CHAMS_USER_TOP, CHAMS_TOP). Each *project* has a two "TOP" environement variables, for example: IO_TOP and IO_USER_TOP. Thoses variables are the only ones useds to locate the tool (CMake modules, headers & libraries). The local path always takes precedence over the global one. The localisation process occurs in each tool top CMakeLists.txt where the macro SETUP_PROJECT_PATH is to be defined. There is no way to put it in a shared includes file as it's the macro precisely used to locates the includes... You have to call the macro once for each project you wants to uses: SETUP_PROJECT_PATHS(IO) SETUP_PROJECT_PATHS(CORIOLIS) * In FindTOOL.cmake, supress the <TOOL>_DIR_SEARCH and uses the <PROJECT>_DIR_SEARCH instead (example: CORIOLIS_DIR_SEARCH). * buildCoriolis.py modificated according to the new "TOP" scheme.
This commit is contained in:
parent
093baff9b6
commit
9c72b88210
|
@ -2,7 +2,7 @@ PROJECT(IO)
|
||||||
|
|
||||||
CMAKE_MINIMUM_REQUIRED(VERSION 2.4.0)
|
CMAKE_MINIMUM_REQUIRED(VERSION 2.4.0)
|
||||||
|
|
||||||
SET(CMAKE_MODULE_PATH "${IO_SOURCE_DIR}/cmake_modules/")
|
LIST(INSERT CMAKE_MODULE_PATH 0 "${IO_SOURCE_DIR}/cmake_modules/")
|
||||||
|
|
||||||
FIND_PACKAGE(LibXml2 REQUIRED)
|
FIND_PACKAGE(LibXml2 REQUIRED)
|
||||||
|
|
||||||
|
|
|
@ -1,72 +1,73 @@
|
||||||
# - Try to find the IO libraries
|
# - Try to find the IO libraries
|
||||||
# Once done this will define
|
# Once done this will define
|
||||||
#
|
#
|
||||||
# IO_FOUND - system has the IO library
|
# IO_FOUND - system has the IO library
|
||||||
# IO_INCLUDE_DIR - the IO include directory
|
# IO_INCLUDE_DIR - the IO include directory
|
||||||
# IO_LIBRARIES - The libraries needed to use IO
|
# IO_LIBRARIES - The libraries needed to use IO
|
||||||
|
|
||||||
SET(IO_DIR_SEARCH $ENV{IO_TOP})
|
|
||||||
|
|
||||||
SET(IO_FOUND FALSE)
|
SET(IO_FOUND FALSE)
|
||||||
# AGDS
|
|
||||||
FIND_PATH(AGDS_INCLUDE_DIR
|
|
||||||
NAMES io/agds/GdsLibrary.h
|
|
||||||
PATHS ${IO_DIR_SEARCH}
|
|
||||||
PATH_SUFFIXES include
|
|
||||||
)
|
|
||||||
FIND_LIBRARY(AGDS_LIBRARY
|
|
||||||
NAMES agds
|
|
||||||
PATHS ${IO_DIR_SEARCH}
|
|
||||||
PATH_SUFFIXES lib
|
|
||||||
)
|
|
||||||
IF(AGDS_INCLUDE_DIR AND AGDS_LIBRARY)
|
|
||||||
SET(AGDS_FOUND TRUE)
|
|
||||||
#SET(IO_FOUND TRUE)
|
|
||||||
# SET(IO_LIBRARIES ${AGDS_LIBRARY})
|
|
||||||
ELSE(AGDS_INCLUDE_DIR AND AGDS_LIBRARY)
|
|
||||||
SET(AGDS_FOUND FALSE)
|
|
||||||
# SET(IO_LIBRARIES)
|
|
||||||
ENDIF(AGDS_INCLUDE_DIR AND AGDS_LIBRARY)
|
|
||||||
|
|
||||||
# CIF
|
IF(IO_DIR_SEARCH)
|
||||||
FIND_PATH(CIF_INCLUDE_DIR
|
# AGDS
|
||||||
NAMES io/cif/CifCircuit.h
|
FIND_PATH(AGDS_INCLUDE_DIR
|
||||||
PATHS ${IO_DIR_SEARCH}
|
NAMES io/agds/GdsLibrary.h
|
||||||
PATH_SUFFIXES include
|
PATHS ${IO_DIR_SEARCH}
|
||||||
)
|
PATH_SUFFIXES include
|
||||||
FIND_LIBRARY(CIF_LIBRARY
|
)
|
||||||
NAMES cif
|
FIND_LIBRARY(AGDS_LIBRARY
|
||||||
PATHS ${IO_DIR_SEARCH}
|
NAMES agds
|
||||||
PATH_SUFFIXES lib
|
PATHS ${IO_DIR_SEARCH}
|
||||||
)
|
PATH_SUFFIXES lib
|
||||||
IF(CIF_INCLUDE_DIR AND CIF_LIBRARY)
|
)
|
||||||
SET(CIF_FOUND TRUE)
|
IF(AGDS_INCLUDE_DIR AND AGDS_LIBRARY)
|
||||||
ELSE(CIF_INCLUDE_DIR AND CIF_LIBRARY)
|
SET(AGDS_FOUND TRUE)
|
||||||
SET(CIF_FOUND FALSE)
|
#SET(IO_FOUND TRUE)
|
||||||
ENDIF(CIF_INCLUDE_DIR AND CIF_LIBRARY)
|
# SET(IO_LIBRARIES ${AGDS_LIBRARY})
|
||||||
|
ELSE(AGDS_INCLUDE_DIR AND AGDS_LIBRARY)
|
||||||
|
SET(AGDS_FOUND FALSE)
|
||||||
|
# SET(IO_LIBRARIES)
|
||||||
|
ENDIF(AGDS_INCLUDE_DIR AND AGDS_LIBRARY)
|
||||||
|
|
||||||
# OPENCHAMS
|
# CIF
|
||||||
FIND_PATH(OPENCHAMS_INCLUDE_DIR
|
FIND_PATH(CIF_INCLUDE_DIR
|
||||||
NAMES io/openChams/Circuit.h
|
NAMES io/cif/CifCircuit.h
|
||||||
PATHS ${IO_DIR_SEARCH}
|
PATHS ${IO_DIR_SEARCH}
|
||||||
PATH_SUFFIXES include
|
PATH_SUFFIXES include
|
||||||
)
|
)
|
||||||
FIND_LIBRARY(OPENCHAMS_LIBRARY
|
FIND_LIBRARY(CIF_LIBRARY
|
||||||
NAMES openChams
|
NAMES cif
|
||||||
PATHS ${IO_DIR_SEARCH}
|
PATHS ${IO_DIR_SEARCH}
|
||||||
PATH_SUFFIXES lib
|
PATH_SUFFIXES lib
|
||||||
)
|
)
|
||||||
IF(OPENCHAMS_INCLUDE_DIR AND OPENCHAMS_LIBRARY)
|
IF(CIF_INCLUDE_DIR AND CIF_LIBRARY)
|
||||||
SET(OPENCHAMS_FOUND TRUE)
|
SET(CIF_FOUND TRUE)
|
||||||
ELSE(OPENCHAMS_INCLUDE_DIR AND OPENCHAMS_LIBRARY)
|
ELSE(CIF_INCLUDE_DIR AND CIF_LIBRARY)
|
||||||
SET(OPENCHAMS_FOUND FALSE)
|
SET(CIF_FOUND FALSE)
|
||||||
ENDIF(OPENCHAMS_INCLUDE_DIR AND OPENCHAMS_LIBRARY)
|
ENDIF(CIF_INCLUDE_DIR AND CIF_LIBRARY)
|
||||||
|
|
||||||
IF(AGDS_FOUND AND CIF_FOUND AND OPENCHAMS_FOUND)
|
# OPENCHAMS
|
||||||
SET(IO_FOUND TRUE)
|
FIND_PATH(OPENCHAMS_INCLUDE_DIR
|
||||||
ELSE(AGDS_FOUND AND CIF_FOUND AND OPENCHAMS_FOUND)
|
NAMES io/openChams/Circuit.h
|
||||||
SET(IO_FOUND FALSE)
|
PATHS ${IO_DIR_SEARCH}
|
||||||
ENDIF(AGDS_FOUND AND CIF_FOUND AND OPENCHAMS_FOUND)
|
PATH_SUFFIXES include
|
||||||
|
)
|
||||||
|
FIND_LIBRARY(OPENCHAMS_LIBRARY
|
||||||
|
NAMES openChams
|
||||||
|
PATHS ${IO_DIR_SEARCH}
|
||||||
|
PATH_SUFFIXES lib
|
||||||
|
)
|
||||||
|
IF(OPENCHAMS_INCLUDE_DIR AND OPENCHAMS_LIBRARY)
|
||||||
|
SET(OPENCHAMS_FOUND TRUE)
|
||||||
|
ELSE(OPENCHAMS_INCLUDE_DIR AND OPENCHAMS_LIBRARY)
|
||||||
|
SET(OPENCHAMS_FOUND FALSE)
|
||||||
|
ENDIF(OPENCHAMS_INCLUDE_DIR AND OPENCHAMS_LIBRARY)
|
||||||
|
|
||||||
|
IF(AGDS_FOUND AND CIF_FOUND AND OPENCHAMS_FOUND)
|
||||||
|
SET(IO_FOUND TRUE)
|
||||||
|
ELSE(AGDS_FOUND AND CIF_FOUND AND OPENCHAMS_FOUND)
|
||||||
|
SET(IO_FOUND FALSE)
|
||||||
|
ENDIF(AGDS_FOUND AND CIF_FOUND AND OPENCHAMS_FOUND)
|
||||||
|
ENDIF(IO_DIR_SEARCH)
|
||||||
|
|
||||||
IF (NOT IO_FOUND)
|
IF (NOT IO_FOUND)
|
||||||
SET(IO_MESSAGE
|
SET(IO_MESSAGE
|
||||||
|
|
Loading…
Reference in New Issue