CMakeLists.txt 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. PROJECT(dcc_original)
  2. cmake_minimum_required(VERSION 2.8)
  3. ADD_DEFINITIONS(-D__UNIX__ -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS)
  4. if(CMAKE_BUILD_TOOL MATCHES "(msdev|devenv|nmake)")
  5. ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS -D__UNIX__ -D_CRT_NONSTDC_NO_DEPRECATE)
  6. add_definitions(/W4)
  7. else()
  8. #-D_GLIBCXX_DEBUG
  9. SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra --std=c++0x")
  10. SET(CMAKE_CXX_FLAGS_DEBUG "--coverage ${CMAKE_CXX_FLAGS_DEBUG}" )
  11. endif()
  12. FIND_PACKAGE(LLVM)
  13. FIND_PACKAGE(Boost)
  14. llvm_map_components_to_libraries(REQ_LLVM_LIBRARIES jit native)
  15. INCLUDE_DIRECTORIES(
  16. include
  17. ${Boost_INCLUDE_DIRS}
  18. ${LLVM_INCLUDE_DIRS}
  19. )
  20. set(dcc_SOURCES
  21. src/dcc.cpp
  22. src/ast.cpp
  23. src/backend.cpp
  24. src/bundle.cpp
  25. src/chklib.cpp
  26. src/comwrite.cpp
  27. src/control.cpp
  28. src/dataflow.cpp
  29. src/disassem.cpp
  30. src/error.cpp
  31. src/fixwild.cpp
  32. src/frontend.cpp
  33. src/graph.cpp
  34. src/hlicode.cpp
  35. src/icode.cpp
  36. src/idioms.cpp
  37. src/locident.cpp
  38. src/parser.cpp
  39. src/perfhlib.cpp
  40. src/procs.cpp
  41. src/proplong.cpp
  42. src/reducible.cpp
  43. src/scanner.cpp
  44. src/symtab.cpp
  45. src/udm.cpp
  46. src/BasicBlock.cpp
  47. )
  48. set(dcc_HEADERS
  49. include/ast.h
  50. include/bundle.h
  51. include/dcc.h
  52. include/disassem.h
  53. include/dosdcc.h
  54. include/error.h
  55. include/graph.h
  56. include/hlicode.h
  57. include/icode.h
  58. include/locident.h
  59. include/perfhlib.h
  60. include/scanner.h
  61. include/state.h
  62. include/symtab.h
  63. include/types.h
  64. include/BasicBlock.h
  65. include/Enums.h
  66. include/IdentType.h
  67. include/Procedure.h
  68. include/StackFrame.h
  69. )
  70. ADD_EXECUTABLE(dcc_original ${dcc_SOURCES} ${dcc_HEADERS})
  71. TARGET_LINK_LIBRARIES(dcc_original ${REQ_LLVM_LIBRARIES})