Skip to content

Commit

Permalink
Added clauses to find dependencies under MSVC. I will be making a zip…
Browse files Browse the repository at this point in the history
… file with file with all deps for streamlining the dev environment setup process

git-svn-id: http://svn.osgeo.org/qgis/trunk@7236 c8812cc2-4d05-0410-92ff-de0c093fc19c
  • Loading branch information
timlinux committed Oct 1, 2007
1 parent c5b914a commit b720ac5
Show file tree
Hide file tree
Showing 8 changed files with 180 additions and 110 deletions.
112 changes: 58 additions & 54 deletions cmake/Bison.cmake
@@ -1,54 +1,58 @@
# use bison for .yy files # use bison for .yy files


# search for bison # search for bison
MACRO(FIND_BISON) MACRO(FIND_BISON)
IF(NOT BISON_EXECUTABLE) IF(NOT BISON_EXECUTABLE)
FIND_PROGRAM(BISON_EXECUTABLE bison) IF (MSVC)
IF (NOT BISON_EXECUTABLE) FIND_PROGRAM(BISON_EXECUTABLE "c:/dev/cpp/bison/bin/bison.exe")

ELSE (MSVC)
MESSAGE(FATAL_ERROR "Bison not found - aborting") FIND_PROGRAM(BISON_EXECUTABLE bison)

ENDIF (MSVC)
ELSE (NOT BISON_EXECUTABLE) IF (NOT BISON_EXECUTABLE)


EXEC_PROGRAM(${BISON_EXECUTABLE} ARGS --version OUTPUT_VARIABLE BISON_VERSION_STR) MESSAGE(FATAL_ERROR "Bison not found - aborting")
# get first line in case it's multiline
STRING(REGEX REPLACE "([^\n]+).*" "\\1" FIRST_LINE "${BISON_VERSION_STR}") ELSE (NOT BISON_EXECUTABLE)
# get version information
STRING(REGEX REPLACE ".* ([0-9]+)\\.([0-9]+)" "\\1" BISON_VERSION_MAJOR "${FIRST_LINE}") EXEC_PROGRAM(${BISON_EXECUTABLE} ARGS --version OUTPUT_VARIABLE BISON_VERSION_STR)
STRING(REGEX REPLACE ".* ([0-9]+)\\.([0-9]+)" "\\2" BISON_VERSION_MINOR "${FIRST_LINE}") # get first line in case it's multiline
IF (BISON_VERSION_MAJOR LESS 2) STRING(REGEX REPLACE "([^\n]+).*" "\\1" FIRST_LINE "${BISON_VERSION_STR}")
MESSAGE (FATAL_ERROR "Bison version is too old (${BISON_VERSION_MAJOR}.${BISON_VERSION_MINOR}). Use 2.0 or higher.") # get version information
ENDIF (BISON_VERSION_MAJOR LESS 2) STRING(REGEX REPLACE ".* ([0-9]+)\\.([0-9]+)" "\\1" BISON_VERSION_MAJOR "${FIRST_LINE}")

STRING(REGEX REPLACE ".* ([0-9]+)\\.([0-9]+)" "\\2" BISON_VERSION_MINOR "${FIRST_LINE}")
ENDIF (NOT BISON_EXECUTABLE) IF (BISON_VERSION_MAJOR LESS 2)
ENDIF(NOT BISON_EXECUTABLE) MESSAGE (FATAL_ERROR "Bison version is too old (${BISON_VERSION_MAJOR}.${BISON_VERSION_MINOR}). Use 2.0 or higher.")

ENDIF (BISON_VERSION_MAJOR LESS 2)
ENDMACRO(FIND_BISON)

ENDIF (NOT BISON_EXECUTABLE)
MACRO(ADD_BISON_FILES _sources ) ENDIF(NOT BISON_EXECUTABLE)
FIND_BISON()

ENDMACRO(FIND_BISON)
FOREACH (_current_FILE ${ARGN})
GET_FILENAME_COMPONENT(_in ${_current_FILE} ABSOLUTE) MACRO(ADD_BISON_FILES _sources )
GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME_WE) FIND_BISON()


SET(_out ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp) FOREACH (_current_FILE ${ARGN})

GET_FILENAME_COMPONENT(_in ${_current_FILE} ABSOLUTE)

GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME_WE)
# bison options:
# -t add debugging facilities SET(_out ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.cpp)
# -d produce additional header file (used in parser.l)
# -v produce additional *.output file with parser states

# bison options:
ADD_CUSTOM_COMMAND( # -t add debugging facilities
OUTPUT ${_out} # -d produce additional header file (used in parser.l)
COMMAND ${BISON_EXECUTABLE} # -v produce additional *.output file with parser states
ARGS
-o${_out} -d -v -t ADD_CUSTOM_COMMAND(
${_in} OUTPUT ${_out}
DEPENDS ${_in} COMMAND ${BISON_EXECUTABLE}
) ARGS

-o${_out} -d -v -t
SET(${_sources} ${${_sources}} ${_out} ) ${_in}
ENDFOREACH (_current_FILE) DEPENDS ${_in}
ENDMACRO(ADD_BISON_FILES) )

SET(${_sources} ${${_sources}} ${_out} )
ENDFOREACH (_current_FILE)
ENDMACRO(ADD_BISON_FILES)
16 changes: 13 additions & 3 deletions cmake/FindExpat.cmake
Expand Up @@ -8,9 +8,19 @@
# EXPAT_LIBRARY # EXPAT_LIBRARY




FIND_PATH(EXPAT_INCLUDE_DIR expat.h /usr/local/include /usr/include c:/msys/local/include) FIND_PATH(EXPAT_INCLUDE_DIR expat.h

/usr/local/include
FIND_LIBRARY(EXPAT_LIBRARY NAMES expat PATHS /usr/local/lib /usr/lib c:/msys/local/lib) /usr/include
c:/msys/local/include
"C:/dev/cpp/Expat 2.0.1/Source/Lib"
)
#libexpat needed for msvc version
FIND_LIBRARY(EXPAT_LIBRARY NAMES expat libexpat PATHS
/usr/local/lib
/usr/lib
c:/msys/local/lib
"C:/dev/cpp/Expat 2.0.1/Bin"
)


IF (EXPAT_INCLUDE_DIR AND EXPAT_LIBRARY) IF (EXPAT_INCLUDE_DIR AND EXPAT_LIBRARY)
SET(EXPAT_FOUND TRUE) SET(EXPAT_FOUND TRUE)
Expand Down
13 changes: 10 additions & 3 deletions cmake/FindGDAL.cmake
Expand Up @@ -11,9 +11,16 @@


IF(WIN32) IF(WIN32)


FIND_PATH(GDAL_INCLUDE_DIR gdal.h /usr/local/include /usr/include c:/msys/local/include) IF (MINGW)
FIND_LIBRARY(GDAL_LIBRARY NAMES gdal PATHS /usr/local/lib /usr/lib c:/msys/local/lib) FIND_PATH(GDAL_INCLUDE_DIR gdal.h /usr/local/include /usr/include c:/msys/local/include)

FIND_LIBRARY(GDAL_LIBRARY NAMES gdal PATHS /usr/local/lib /usr/lib c:/msys/local/lib)
ENDIF (MINGW)

IF (MSVC)
SET (GDAL_INCLUDE_DIR C:/dev/cpp/gdal/gcore;C:/dev/cpp/gdal/port;C:/dev/cpp/gdal/ogr;C:/dev/cpp/gdal/alg;C:/dev/cpp/gdal/ogr/ogrsf_frmts CACHE STRING INTERNAL)
SET (GDAL_LIBRARY C:/dev/cpp/gdal/gdal.lib;odbc32;odbccp32 CACHE STRING INTERNAL)
ENDIF (MSVC)



ELSE(WIN32) ELSE(WIN32)
IF(UNIX) IF(UNIX)
Expand Down
18 changes: 15 additions & 3 deletions cmake/FindGEOS.cmake
Expand Up @@ -7,9 +7,21 @@
# GEOS_LIBRARY # GEOS_LIBRARY




FIND_PATH(GEOS_INCLUDE_DIR geos.h /usr/local/include /usr/include c:/msys/local/include) FIND_PATH(GEOS_INCLUDE_DIR geos.h

/usr/local/include
FIND_LIBRARY(GEOS_LIBRARY NAMES geos PATHS /usr/local/lib /usr/lib c:/msys/local/lib) /usr/include
c:/msys/local/include
#MSVC
C:/dev/cpp/geos-2.2.1/source/headers
)

FIND_LIBRARY(GEOS_LIBRARY NAMES geos PATHS
/usr/local/lib
/usr/lib
c:/msys/local/lib
#MSVC
C:/dev/cpp/geos-2.2.1/source
)


IF (GEOS_INCLUDE_DIR AND GEOS_LIBRARY) IF (GEOS_INCLUDE_DIR AND GEOS_LIBRARY)
SET(GEOS_FOUND TRUE) SET(GEOS_FOUND TRUE)
Expand Down
23 changes: 17 additions & 6 deletions cmake/FindGSL.cmake
Expand Up @@ -25,12 +25,23 @@


IF(WIN32) IF(WIN32)


SET(GSL_PREFIX "c:/msys/local" CACHE PATH "Path to GSL directory") SET(GSL_MINGW_PREFIX "c:/msys/local" )

SET(GSL_MSVC_PREFIX "C:/dev/cpp/gsl" )
FIND_LIBRARY(GSL_LIB gsl PATHS ${GSL_PREFIX}/lib)
FIND_LIBRARY(GSLCBLAS_LIB gslcblas PATHS ${GSL_PREFIX}/lib) FIND_LIBRARY(GSL_LIB gsl PATHS

${GSL_MINGW_PREFIX}/lib
FIND_PATH(GSL_INCLUDE_DIR gsl/gsl_version.h ${GSL_PREFIX}/include) ${GSL_MSVC_PREFIX}/lib
)
#MSVC version of the lib is just called 'cblas'
FIND_LIBRARY(GSLCBLAS_LIB gslcblas cblas PATHS
${GSL_PREFIX}/lib
${GSL_MSVC_PREFIX}/lib
)

FIND_PATH(GSL_INCLUDE_DIR gsl/gsl_version.h
${GSL_PREFIX}/include
${GSL_MSVC_PREFIX}/include
)


IF (GSL_LIB AND GSLCBLAS_LIB) IF (GSL_LIB AND GSLCBLAS_LIB)
SET (GSL_LIBRARIES ${GSL_LIB} ${GSLCBLAS_LIB}) SET (GSL_LIBRARIES ${GSL_LIB} ${GSLCBLAS_LIB})
Expand Down
16 changes: 13 additions & 3 deletions cmake/FindProj.cmake
Expand Up @@ -7,9 +7,19 @@
# PROJ_LIBRARY # PROJ_LIBRARY




FIND_PATH(PROJ_INCLUDE_DIR proj_api.h /usr/local/include /usr/include c:/msys/local/include) FIND_PATH(PROJ_INCLUDE_DIR proj_api.h

/usr/local/include
FIND_LIBRARY(PROJ_LIBRARY NAMES proj PATHS /usr/local/lib /usr/lib c:/msys/local/lib) /usr/include
c:/msys/local/include
C:/dev/cpp/proj-4.5.0/src
)

FIND_LIBRARY(PROJ_LIBRARY NAMES proj PATHS
/usr/local/lib
/usr/lib
c:/msys/local/lib
C:/dev/cpp/proj-4.5.0/src
)


IF (PROJ_INCLUDE_DIR AND PROJ_LIBRARY) IF (PROJ_INCLUDE_DIR AND PROJ_LIBRARY)
SET(PROJ_FOUND TRUE) SET(PROJ_FOUND TRUE)
Expand Down
18 changes: 15 additions & 3 deletions cmake/FindSqlite3.cmake
Expand Up @@ -7,9 +7,21 @@
# SQLITE3_LIBRARY # SQLITE3_LIBRARY




FIND_PATH(SQLITE3_INCLUDE_DIR sqlite3.h /usr/local/include /usr/include c:/msys/local/include) FIND_PATH(SQLITE3_INCLUDE_DIR sqlite3.h

/usr/local/include
FIND_LIBRARY(SQLITE3_LIBRARY NAMES sqlite3 PATHS /usr/local/lib /usr/lib c:/msys/local/lib) /usr/include
c:/msys/local/include
#msvc
c:/dev/cpp/sqlite3
)

FIND_LIBRARY(SQLITE3_LIBRARY NAMES sqlite3 PATHS
/usr/local/lib
/usr/lib
c:/msys/local/lib
#msvc
c:/dev/cpp/sqlite3
)


IF (SQLITE3_INCLUDE_DIR AND SQLITE3_LIBRARY) IF (SQLITE3_INCLUDE_DIR AND SQLITE3_LIBRARY)
SET(SQLITE3_FOUND TRUE) SET(SQLITE3_FOUND TRUE)
Expand Down
74 changes: 39 additions & 35 deletions cmake/Flex.cmake
@@ -1,36 +1,40 @@
# flex a .ll file # flex a .ll file


# search flex # search flex
MACRO(FIND_FLEX) MACRO(FIND_FLEX)
IF(NOT FLEX_EXECUTABLE) IF(NOT FLEX_EXECUTABLE)
FIND_PROGRAM(FLEX_EXECUTABLE flex) IF (MSVC)
IF (NOT FLEX_EXECUTABLE) FIND_PROGRAM(FLEX_EXECUTABLE "C:/dev/cpp/flex/bin/flex.exe")
MESSAGE(FATAL_ERROR "flex not found - aborting") ELSE(MSVC)
ENDIF (NOT FLEX_EXECUTABLE) FIND_PROGRAM(FLEX_EXECUTABLE flex)
ENDIF(NOT FLEX_EXECUTABLE) ENDIF (MSVC)
ENDMACRO(FIND_FLEX) IF (NOT FLEX_EXECUTABLE)

MESSAGE(FATAL_ERROR "flex not found - aborting")
MACRO(ADD_FLEX_FILES _sources ) ENDIF (NOT FLEX_EXECUTABLE)
FIND_FLEX() ENDIF(NOT FLEX_EXECUTABLE)

ENDMACRO(FIND_FLEX)
FOREACH (_current_FILE ${ARGN})
GET_FILENAME_COMPONENT(_in ${_current_FILE} ABSOLUTE) MACRO(ADD_FLEX_FILES _sources )
GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME_WE) FIND_FLEX()


SET(_out ${CMAKE_CURRENT_BINARY_DIR}/flex_${_basename}.cpp) FOREACH (_current_FILE ${ARGN})

GET_FILENAME_COMPONENT(_in ${_current_FILE} ABSOLUTE)

GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME_WE)

SET(_out ${CMAKE_CURRENT_BINARY_DIR}/flex_${_basename}.cpp)


# -d option for flex means that it will produce output to stderr while analyzing # -d option for flex means that it will produce output to stderr while analyzing


ADD_CUSTOM_COMMAND( ADD_CUSTOM_COMMAND(
OUTPUT ${_out} OUTPUT ${_out}
COMMAND ${FLEX_EXECUTABLE} COMMAND ${FLEX_EXECUTABLE}
ARGS ARGS
-o${_out} -d -o${_out} -d
${_in} ${_in}
DEPENDS ${_in} DEPENDS ${_in}
) )


SET(${_sources} ${${_sources}} ${_out} ) SET(${_sources} ${${_sources}} ${_out} )
ENDFOREACH (_current_FILE) ENDFOREACH (_current_FILE)
ENDMACRO(ADD_FLEX_FILES) ENDMACRO(ADD_FLEX_FILES)

0 comments on commit b720ac5

Please sign in to comment.