Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
CMake 2.97 KB | None | 0 0
  1. CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
  2.  
  3. # Add path for custom modules
  4. SET(CMAKE_MODULE_PATH
  5.   ${CMAKE_MODULE_PATH}
  6.   "${CMAKE_CURRENT_SOURCE_DIR}/../cmake/modules"
  7. )
  8.  
  9. # this one is important
  10. SET(CMAKE_SYSTEM_NAME newlib)
  11.  
  12. # eCos doesn't support shared libs
  13. SET_PROPERTY(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE)
  14.  
  15. # cd /home/user/Downloads/pruefungen/systemC/Imperas.20131018/
  16. # source ./setup.sh
  17. # setupImperas ~/Downloads/pruefungen/systemC/Imperas.20131018/
  18.  
  19. # SET(_CMAKE_TOOLCHAIN_PREFIX "/home/user/Downloads/pruefungen/systemC/Imperas.20131018/lib/Linux64/CrossCompiler/or32-elf/bin/or32-elf-")
  20. SET(_CMAKE_TOOLCHAIN_PREFIX "or32-elf-")
  21. SET(CMAKE_C_COMPILER ${_CMAKE_TOOLCHAIN_PREFIX}gcc)
  22. SET(CMAKE_CXX_COMPILER ${_CMAKE_TOOLCHAIN_PREFIX}g++)
  23.  
  24. #INCLUDE(CMakeForceCompiler)
  25. #
  26. ## specify the cross compiler
  27. #CMAKE_FORCE_C_COMPILER(or32-elf-gcc GNU)
  28. #CMAKE_FORCE_CXX_COMPILER(or32-elf-g++ GNU)
  29.  
  30. SET(CMAKE_ASM_COMPILER ${_CMAKE_TOOLCHAIN_PREFIX}gcc)
  31. SET(CMAKE_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER> -c <FLAGS> -o <OBJECT> <SOURCE>")
  32. ENABLE_LANGUAGE(ASM)
  33.  
  34. # # special link commands for newlib executables
  35. # SET(CMAKE_CXX_LINK_EXECUTABLE  "<CMAKE_CXX_COMPILER> -mbaremetal <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
  36. # SET(CMAKE_C_LINK_EXECUTABLE    "<CMAKE_C_COMPILER>   -mbaremetal <FLAGS> <CMAKE_C_LINK_FLAGS>   <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
  37.  
  38. # search for programs in the build host directories
  39. SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
  40. # for libraries and headers in the target directories
  41. SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
  42. SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
  43.  
  44. PROJECT (sw)
  45.  
  46. # This stuff must be after PROJECT
  47. SET(CMAKE_STATIC_LIBRARY_PREFIX "lib")
  48. SET(CMAKE_STATIC_LIBRARY_SUFFIX ".a")
  49. SET(CMAKE_EXECUTABLE_SUFFIX ".elf")
  50. SET(CMAKE_FIND_LIBRARY_PREFIXES "lib")
  51. SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
  52.  
  53. IF(NOT CMAKE_FLAGS_RELEASE)
  54.   SET(CMAKE_FLAGS_RELEASE "-O2 -DNDEBUG")
  55. ENDIF(NOT CMAKE_FLAGS_RELEASE)
  56. IF(NOT CMAKE_FLAGS_DEBUG)
  57.   SET(CMAKE_FLAGS_DEBUG "-ggdb")
  58. ENDIF(NOT CMAKE_FLAGS_DEBUG)
  59.  
  60. SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${CMAKE_FLAGS_RELEASE}")
  61. SET(CMAKE_C_FLAGS_RELEASE   "${CMAKE_C_FLAGS_RELEASE} ${CMAKE_FLAGS_RELEASE}")
  62. SET(CMAKE_CXX_FLAGS_DEBUG   "${CMAKE_CXX_FLAGS_DEBUG} ${CMAKE_FLAGS_DEBUG}")
  63. SET(CMAKE_C_FLAGS_DEBUG     "${CMAKE_C_FLAGS_DEBUG} ${CMAKE_FLAGS_DEBUG}")
  64.  
  65. INCLUDE(CheckIncludeFiles)
  66.  
  67. CHECK_INCLUDE_FILES(endian.h HAVE_ENDIAN_H)
  68. CHECK_INCLUDE_FILES("machine/endian.h" HAVE_MACHINE_ENDIAN_H)
  69.  
  70. CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/config.h.in ${PROJECT_BINARY_DIR}/config.h)
  71.  
  72. INCLUDE_DIRECTORIES(
  73.   ${PROJECT_BINARY_DIR} # for config.h
  74.   ${PROJECT_SOURCE_DIR}/../include # for PlatformDescr.hpp
  75.   ${PROJECT_SOURCE_DIR}/../fractal
  76.   ${PROJECT_SOURCE_DIR}/../hw  #fractal accel
  77. )
  78.  
  79. ADD_EXECUTABLE(main
  80.   crt0.S
  81.   main.cpp
  82. )
  83. SET_TARGET_PROPERTIES(main PROPERTIES
  84.   COMPILE_FLAGS -msoft-float
  85.   LINK_FLAGS -mbaremetal
  86. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement