aboutsummaryrefslogtreecommitdiff
path: root/src/CMakeLists.txt
blob: f5fe29d13aadb08a7c152588feb71b61d9ff118c (plain)
  1. set(LIBRARY "commonmark")
  2. set(HEADERS cmark.h
  3. buffer.h
  4. chunk.h
  5. references.h
  6. debug.h
  7. utf8.h
  8. scanners.h
  9. inlines.h
  10. html/html_unescape.h
  11. html/houdini.h
  12. )
  13. set(LIBRARY_SOURCES blocks.c
  14. inlines.c
  15. print.c
  16. scanners.c
  17. scanners.re
  18. utf8.c
  19. buffer.c
  20. references.c
  21. html/html.c
  22. html/html_unescape.gperf
  23. html/houdini_href_e.c
  24. html/houdini_html_e.c
  25. html/houdini_html_u.c
  26. ${HEADERS}
  27. )
  28. set(PROGRAM "cmark")
  29. set(PROGRAM_SOURCES ${LIBRARY_SOURCES}
  30. main.c)
  31. include_directories(. html)
  32. if (MSVC)
  33. file(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR} DOS_CURRENT_SOURCE_DIR)
  34. add_custom_command( OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/scanners.c
  35. DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/scanners.re
  36. COMMAND ${RE2C} --case-insensitive -b -i ${DOS_CURRENT_SOURCE_DIR}\\scanners.re >${DOS_CURRENT_SOURCE_DIR}\\scanners.c)
  37. else(MSVC)
  38. add_custom_command( OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/scanners.c
  39. DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/scanners.re
  40. COMMAND ${RE2C} --case-insensitive -b -i ${CMAKE_CURRENT_SOURCE_DIR}/scanners.re >${CMAKE_CURRENT_SOURCE_DIR}/scanners.c)
  41. endif(MSVC)
  42. add_executable(${PROGRAM}
  43. ${PROGRAM_SOURCES})
  44. add_library(${LIBRARY} SHARED ${LIBRARY_SOURCES})
  45. set_property(TARGET ${LIBRARY}
  46. APPEND PROPERTY MACOSX_RPATH true)
  47. if (MSVC)
  48. set_property(TARGET ${PROGRAM}
  49. APPEND PROPERTY LINK_FLAGS /INCREMENTAL:NO)
  50. # if sometimes libs are needed ...
  51. #target_link_libraries(${PROGRAM_chronolog})
  52. endif(MSVC)
  53. install(TARGETS ${PROGRAM} ${LIBRARY}
  54. RUNTIME DESTINATION bin
  55. LIBRARY DESTINATION lib)