Skip to content

Commit cf30b38

Browse files
committed
remove lex and yacc files; update cmake files
1 parent e4cc906 commit cf30b38

File tree

4 files changed

+39
-4
lines changed

4 files changed

+39
-4
lines changed

CMakeLists.txt

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ set(CMAKE_COLOR_MAKEFILE ON)
1111
set(CMAKE_VERBOSE_MAKEFILE OFF)
1212
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR})
1313

14+
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
15+
1416
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
1517
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
1618

@@ -32,6 +34,9 @@ if (PID_PATH)
3234
set(BZ_PID_PATH TRUE)
3335
endif (PID_PATH)
3436

37+
find_package(Flex REQUIRED)
38+
find_package(Bison REQUIRED)
39+
3540
# check header files
3641
include(CheckIncludeFiles)
3742

@@ -45,9 +50,8 @@ check_function_exists(getopt_long HAVE_GETOPT_LONG)
4550
check_function_exists(getifaddrs HAVE_GETIFADDRS)
4651
check_function_exists(pselect HAVE_PSELECT)
4752

48-
include_directories(${CMAKE_CURRENT_BINARY_DIR}
49-
${CMAKE_CURRENT_BINARY_DIR}/src
50-
${CMAKE_CURRENT_SOURCE_DIR}/src
53+
include_directories(${PROJECT_BINARY_DIR}
54+
${PROJECT_SOURCE_DIR}/src
5155
)
5256

5357
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
@@ -56,7 +60,7 @@ if (CMAKE_COMPILER_IS_GNUCC)
5660
add_definitions(-D_GNU_SOURCE)
5761
endif (CMAKE_COMPILER_IS_GNUCC)
5862

59-
configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
63+
configure_file(config.h.cmake ${PROJECT_BINARY_DIR}/config.h)
6064

6165
add_subdirectory(src)
6266

src/CMakeLists.txt

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,38 @@ set(bitzer_SRCS
99
alloc.c
1010
)
1111

12+
add_custom_command(
13+
SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/conf_scan.l
14+
COMMAND ${FLEX_EXECUTABLE}
15+
ARGS -o${CMAKE_CURRENT_BINARY_DIR}/conf_scan.c
16+
${CMAKE_CURRENT_SOURCE_DIR}/conf_scan.l
17+
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/conf_scan.c
18+
)
19+
20+
add_custom_command(
21+
SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/conf_gram.y
22+
COMMAND ${BISON_EXECUTABLE}
23+
ARGS -d -o ${CMAKE_CURRENT_BINARY_DIR}/conf_gram.c
24+
${CMAKE_CURRENT_SOURCE_DIR}/conf_gram.y
25+
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/conf_scan.c
26+
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/conf_gram.c
27+
)
28+
29+
set(bitzer_SRCS ${bitzer_SRCS}
30+
${CMAKE_CURRENT_BINARY_DIR}/conf_scan.c
31+
${CMAKE_CURRENT_BINARY_DIR}/conf_gram.c
32+
)
33+
34+
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/conf_scan.c PROPERTIES GENERATED TRUE)
35+
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/conf_gram.c PROPERTIES GENERATED TRUE)
36+
1237
add_executable(bitzer ${bitzer_SRCS})
1338

39+
add_custom_target(bitzerconf DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/conf_gram.c)
40+
41+
add_dependencies(bitzer bitzerconf)
42+
43+
include_directories(${CMAKE_CURRENT_BINARY_DIR})
44+
1445
install(TARGETS bitzer DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
1546

File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)