Merge lp:~zorba-coders/zorba/bug-1034582-macports-flex into lp:zorba

Proposed by Chris Hillery
Status: Merged
Approved by: David Graf
Approved revision: 10982
Merged at revision: 10982
Proposed branch: lp:~zorba-coders/zorba/bug-1034582-macports-flex
Merge into: lp:zorba
Diff against target: 46 lines (+11/-5)
1 file modified
cmake_modules/CMakeUseFlex.cmake (+11/-5)
To merge this branch: bzr merge lp:~zorba-coders/zorba/bug-1034582-macports-flex
Reviewer Review Type Date Requested Status
David Graf (community) Approve
Chris Hillery Approve
Review via email: mp+119458@code.launchpad.net

Commit message

Try to find FlexLexer.h associated with the flex binary being used.

To post a comment you must log in.
Revision history for this message
Chris Hillery (ceejatec) :
review: Approve
Revision history for this message
Paul J. Lucas (paul-lucas) wrote :

Works for me.

Revision history for this message
David Graf (davidagraf) :
review: Approve
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :
Revision history for this message
Zorba Build Bot (zorba-buildbot) wrote :

Validation queue job bug-1034582-macports-flex-2012-08-14T08-26-05.466Z is finished. The final status was:

All tests succeeded!

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'cmake_modules/CMakeUseFlex.cmake'
2--- cmake_modules/CMakeUseFlex.cmake 2012-08-10 02:16:18 +0000
3+++ cmake_modules/CMakeUseFlex.cmake 2012-08-14 01:34:19 +0000
4@@ -29,7 +29,6 @@
5
6 IF(NOT FLEX_EXECUTABLE)
7 MESSAGE(STATUS "Looking for flex")
8- FIND_PATH(FLEX_INCLUDE_DIR FlexLexer.h)
9 FIND_PROGRAM(FLEX_EXECUTABLE flex)
10 IF(FLEX_EXECUTABLE)
11 EXEC_PROGRAM(
12@@ -40,15 +39,22 @@
13 # Extract major and minor versions
14 STRING (REGEX REPLACE "[^0-9]*([0-9]+)..*" "\\1" FLEX_MAJOR_VERSION_TMP ${FLEX_VERSION})
15 STRING (REGEX REPLACE "[^0-9]*[0-9]+\\.([0-9]+).*" "\\1" FLEX_MINOR_VERSION_TMP ${FLEX_VERSION})
16- STRING (REGEX REPLACE "[^0-9]*[0-9]+\\.[0-9]+\\.([0-9]+[a-z]*).*" "\\1" FLEX_REVISION_VERSION_TMP ${FLEX_VERSION})
17+ STRING (REGEX REPLACE "[^0-9]*[0-9]+\\.[0-9]+\\.([0-9]+[a-z]*).*" "\\1" FLEX_REVISION_VERSION_TMP ${FLEX_VERSION})
18 MESSAGE(STATUS "Found flex -- ${FLEX_EXECUTABLE}, version: " ${FLEX_MAJOR_VERSION_TMP} "." ${FLEX_MINOR_VERSION_TMP} "." ${FLEX_REVISION_VERSION_TMP})
19 SET (FLEX_MAJOR_VERSION ${FLEX_MAJOR_VERSION_TMP} CACHE STRING "The flex major version" FORCE)
20 SET (FLEX_MINOR_VERSION ${FLEX_MINOR_VERSION_TMP} CACHE STRING "The flex minor version" FORCE)
21- SET (FLEX_REVISION_VERSION ${FLEX_REVISION_VERSION_TMP} CACHE STRING "The flex revision version" FORCE)
22+ SET (FLEX_REVISION_VERSION ${FLEX_REVISION_VERSION_TMP} CACHE STRING "The flex revision version" FORCE)
23+
24+ # Find the FlexLexer.h header. Try our best to find the one associated
25+ # with the flex binary we're actually using.
26+ GET_FILENAME_COMPONENT(_flex_path "${FLEX_EXECUTABLE}" PATH)
27+ GET_FILENAME_COMPONENT(_flex_hint "${_flex_path}/../include" ABSOLUTE)
28+ FIND_PATH(FLEX_INCLUDE_DIR FlexLexer.h HINTS "${_flex_hint}")
29+
30 ELSE (FLEX_EXECUTABLE)
31 SET (FLEX_MAJOR_VERSION "0")
32 SET (FLEX_MINOR_VERSION "0")
33- SET (FLEX_REVISION_VERSION "0")
34+ SET (FLEX_REVISION_VERSION "0")
35 ENDIF(FLEX_EXECUTABLE)
36 SET (FLEX_VERSION_FULL ${FLEX_MAJOR_VERSION}.${FLEX_MINOR_VERSION}.${FLEX_REVISION_VERSION} CACHE STRING "The Flex version" FORCE)
37 ENDIF(NOT FLEX_EXECUTABLE)
38@@ -74,7 +80,7 @@
39 COMMAND "${CMAKE_COMMAND}"
40 ARGS -E copy_if_different
41 "${FLEX_INCLUDE_DIR}/FlexLexer.h"
42- "${FLEXLEXERH}")
43+ "${FLEXLEXERH}")
44 SET(OUTFILE "${CMAKE_CURRENT_BINARY_DIR}/${PATH}/${PREFIX}.cpp")
45 ADD_CUSTOM_COMMAND(
46 OUTPUT "${OUTFILE}"

Subscribers

People subscribed via source and target branches