-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
48 lines (42 loc) · 1.75 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
cmake_minimum_required(VERSION 2.6)
project(libosdp)
set(OSDP_MAJOR_VERSION 0)
set(OSDP_MINOR_VERSION 6)
set(OSDP_PATCH_VERSION 1)
find_program(RAGEL_EXECUTABLE NAMES ragel)
if(CMAKE_COMPILER_IS_GNUCC)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wcast-align")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wconversion")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wextra")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wfloat-equal")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Winit-self")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wlogical-op")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wmissing-include-dirs")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-long-long")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-shadow")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wpointer-arith")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wredundant-decls")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wshadow")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wsign-conversion")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wwrite-strings")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-exceptions")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pedantic")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pipe")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c89")
endif(CMAKE_COMPILER_IS_GNUCC)
if(WIN32)
set(CMAKE_DEBUG_POSTFIX d)
endif(WIN32)
include_directories(${CMAKE_SOURCE_DIR})
set(OSDP_C ${CMAKE_BINARY_DIR}/osdp.c)
set(OSDP_RL ${CMAKE_SOURCE_DIR}/osdp.rl)
add_custom_command(
COMMAND ${RAGEL_EXECUTABLE} -o ${OSDP_C} ${OSDP_RL}
DEPENDS ${OSDP_RL} OUTPUT ${OSDP_C} VERBATIM)
set_source_files_properties(${OSDP_C} PROPERTIES GENERATED TRUE)
add_library(osdp STATIC ${OSDP_C})
add_executable(example example.c)
target_link_libraries(example osdp)
install(FILES osdp.h DESTINATION include)
install(TARGETS osdp DESTINATION lib)