3 # execute FindFLEX script by "find_package (Flex)" is required to define FLEX_TARGET macro
5 # delete obsolete 3RDPARTY_FLEX_EXECUTABLE cache variable (not used anymore)
6 unset (3RDPARTY_FLEX_EXECUTABLE CACHE)
8 # delete FLEX_EXECUTABLE cache variable if it is empty, otherwise find_package will fail
9 # without reasonable diagnostic
10 if (NOT FLEX_EXECUTABLE)
11 unset (FLEX_EXECUTABLE CACHE)
14 # Add paths to 3rdparty subfolders containing name "flex" to CMAKE_PROGRAM_PATH variable to make
15 # these paths searhed by find_package
17 file (GLOB FLEX_PATHS LIST_DIRECTORIES true "${3RDPARTY_DIR}/*flex*")
18 foreach (candidate_path ${FLEX_PATHS})
19 if (IS_DIRECTORY ${candidate_path})
20 list (APPEND CMAKE_PROGRAM_PATH ${candidate_path})
25 find_package (FLEX 2.5.3)
27 if (NOT FLEX_FOUND OR NOT FLEX_EXECUTABLE OR NOT EXISTS "${FLEX_EXECUTABLE}")
28 list (APPEND 3RDPARTY_NOT_INCLUDED FLEX_EXECUTABLE)