Skip to content

Commit c627270

Browse files
author
Jan Svoboda
committed
Add CMake build system support
1 parent bc132d5 commit c627270

1 file changed

Lines changed: 53 additions & 0 deletions

File tree

‎CMakeLists.txt‎

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
cmake_minimum_required(VERSION 2.8.4)
2+
3+
project(tinyexpr)
4+
5+
option(build_tinyexpr_test "Build TinyExpr tests." OFF)
6+
option(build_tinyexpr_test_pr "Build TinyExpr tests PR." OFF)
7+
option(build_tinyexpr_bench "Build TinyExpr benchmark." OFF)
8+
option(build_tinyexpr_example "Build TinyExpr example." OFF)
9+
option(build_tinyexpr_example2 "Build TinyExpr example 2." OFF)
10+
option(build_tinyexpr_example3 "Build TinyExpr example 3." OFF)
11+
12+
find_library(MATH_LIB m)
13+
14+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ansi -Wall -Wshadow -O2")
15+
16+
set(SOURCE_FILES
17+
tinyexpr.c
18+
tinyexpr.h
19+
)
20+
21+
add_library(tinyexpr STATIC ${SOURCE_FILES})
22+
target_link_libraries(tinyexpr ${MATH_LIB})
23+
24+
if (build_tinyexpr_test)
25+
add_executable(tinyexpr_test test.c)
26+
target_link_libraries(tinyexpr_test tinyexpr)
27+
endif()
28+
29+
if (build_tinyexpr_test_pr)
30+
add_definitions(-DTE_POW_FROM_RIGHT -DTE_NAT_LOG)
31+
add_executable(tinyexpr_test_pr test.c)
32+
target_link_libraries(tinyexpr_test_pr tinyexpr)
33+
endif()
34+
35+
if (build_tinyexpr_bench)
36+
add_executable(tinyexpr_benchmark benchmark.c)
37+
target_link_libraries(tinyexpr_benchmark tinyexpr)
38+
endif()
39+
40+
if (build_tinyexpr_example)
41+
add_executable(tinyexpr_example example.c)
42+
target_link_libraries(tinyexpr_example tinyexpr)
43+
endif()
44+
45+
if (build_tinyexpr_example2)
46+
add_executable(tinyexpr_example2 example2.c)
47+
target_link_libraries(tinyexpr_example2 tinyexpr)
48+
endif()
49+
50+
if (build_tinyexpr_example3)
51+
add_executable(tinyexpr_example3 example3.c)
52+
target_link_libraries(tinyexpr_example3 tinyexpr)
53+
endif()

0 commit comments

Comments
 (0)