CMakeLists.txt 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. PROJECT(dcc_original)
  2. cmake_minimum_required(VERSION 2.8)
  3. ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS -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. SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall --std=c++0x")
  9. #SET(CMAKE_CXX_FLAGS_DEBUG "-D_GLIBCXX_DEBUG ${CMAKE_CXX_FLAGS_DEBUG}" )
  10. endif()
  11. FIND_PACKAGE(LLVM)
  12. FIND_PACKAGE(Boost)
  13. llvm_map_components_to_libraries(REQ_LLVM_LIBRARIES jit native mc support)
  14. INCLUDE_DIRECTORIES(
  15. include
  16. include/idioms
  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/machine_x86.cpp
  36. src/icode.cpp
  37. src/idioms.cpp
  38. src/idioms/idiom1.cpp
  39. src/idioms/arith_idioms.cpp
  40. src/idioms/call_idioms.cpp
  41. src/idioms/epilogue_idioms.cpp
  42. src/idioms/mov_idioms.cpp
  43. src/idioms/neg_idioms.cpp
  44. src/idioms/shift_idioms.cpp
  45. src/idioms/xor_idioms.cpp
  46. src/locident.cpp
  47. src/parser.cpp
  48. src/perfhlib.cpp
  49. src/procs.cpp
  50. src/proplong.cpp
  51. src/reducible.cpp
  52. src/scanner.cpp
  53. src/symtab.cpp
  54. src/udm.cpp
  55. src/BasicBlock.cpp
  56. )
  57. set(dcc_HEADERS
  58. include/ast.h
  59. include/bundle.h
  60. include/dcc.h
  61. include/disassem.h
  62. include/dosdcc.h
  63. include/error.h
  64. include/graph.h
  65. include/hlicode.h
  66. include/machine_x86.h
  67. include/icode.h
  68. include/idioms/idiom.h
  69. include/idioms/idiom1.h
  70. include/idioms/arith_idioms.h
  71. include/idioms/call_idioms.h
  72. include/idioms/epilogue_idioms.h
  73. include/idioms/mov_idioms.h
  74. include/idioms/neg_idioms.h
  75. include/idioms/shift_idioms.h
  76. include/idioms/xor_idioms.h
  77. include/locident.h
  78. include/perfhlib.h
  79. include/scanner.h
  80. include/state.h
  81. include/symtab.h
  82. include/types.h
  83. include/Procedure.h
  84. include/StackFrame.h
  85. include/BasicBlock.h
  86. )
  87. ADD_EXECUTABLE(dcc_original ${dcc_SOURCES} ${dcc_HEADERS})
  88. TARGET_LINK_LIBRARIES(dcc_original ${REQ_LLVM_LIBRARIES})