summaryrefslogtreecommitdiff
path: root/src/CMakeLists.txt
blob: f5fe29d13aadb08a7c152588feb71b61d9ff118c (plain)
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
49
50
51
52
53
54
55
56
57
58
59
60
61
set(LIBRARY "commonmark")
set(HEADERS                 cmark.h
                            buffer.h
                            chunk.h
                            references.h
                            debug.h
                            utf8.h
                            scanners.h
                            inlines.h
                            html/html_unescape.h
                            html/houdini.h
                            )
set(LIBRARY_SOURCES         blocks.c
                            inlines.c
                            print.c
                            scanners.c
                            scanners.re
                            utf8.c
                            buffer.c
                            references.c
                            html/html.c
                            html/html_unescape.gperf
                            html/houdini_href_e.c
                            html/houdini_html_e.c
                            html/houdini_html_u.c
                            ${HEADERS}
                            )
set(PROGRAM "cmark")
set(PROGRAM_SOURCES   ${LIBRARY_SOURCES}
                            main.c)

include_directories(. html)

if (MSVC)
    file(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR} DOS_CURRENT_SOURCE_DIR)
    add_custom_command( OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/scanners.c
                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/scanners.re
                        COMMAND ${RE2C} --case-insensitive -b -i ${DOS_CURRENT_SOURCE_DIR}\\scanners.re >${DOS_CURRENT_SOURCE_DIR}\\scanners.c)
else(MSVC)
    add_custom_command( OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/scanners.c
                        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/scanners.re
                        COMMAND ${RE2C} --case-insensitive -b -i ${CMAKE_CURRENT_SOURCE_DIR}/scanners.re >${CMAKE_CURRENT_SOURCE_DIR}/scanners.c)
endif(MSVC)

add_executable(${PROGRAM}
                ${PROGRAM_SOURCES})

add_library(${LIBRARY} SHARED ${LIBRARY_SOURCES})

set_property(TARGET ${LIBRARY}
  APPEND PROPERTY MACOSX_RPATH true)

if (MSVC)
set_property(TARGET ${PROGRAM}
                     APPEND PROPERTY LINK_FLAGS /INCREMENTAL:NO)
# if sometimes libs are needed ...
#target_link_libraries(${PROGRAM_chronolog})
endif(MSVC)
install(TARGETS ${PROGRAM} ${LIBRARY}
  RUNTIME DESTINATION bin
  LIBRARY DESTINATION lib)