Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
- # Add path for custom modules
- SET(CMAKE_MODULE_PATH
- ${CMAKE_MODULE_PATH}
- "${CMAKE_CURRENT_SOURCE_DIR}/../cmake/modules"
- )
- # this one is important
- SET(CMAKE_SYSTEM_NAME newlib)
- # eCos doesn't support shared libs
- SET_PROPERTY(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE)
- # cd /home/user/Downloads/pruefungen/systemC/Imperas.20131018/
- # source ./setup.sh
- # setupImperas ~/Downloads/pruefungen/systemC/Imperas.20131018/
- # SET(_CMAKE_TOOLCHAIN_PREFIX "/home/user/Downloads/pruefungen/systemC/Imperas.20131018/lib/Linux64/CrossCompiler/or32-elf/bin/or32-elf-")
- SET(_CMAKE_TOOLCHAIN_PREFIX "or32-elf-")
- SET(CMAKE_C_COMPILER ${_CMAKE_TOOLCHAIN_PREFIX}gcc)
- SET(CMAKE_CXX_COMPILER ${_CMAKE_TOOLCHAIN_PREFIX}g++)
- #INCLUDE(CMakeForceCompiler)
- #
- ## specify the cross compiler
- #CMAKE_FORCE_C_COMPILER(or32-elf-gcc GNU)
- #CMAKE_FORCE_CXX_COMPILER(or32-elf-g++ GNU)
- SET(CMAKE_ASM_COMPILER ${_CMAKE_TOOLCHAIN_PREFIX}gcc)
- SET(CMAKE_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER> -c <FLAGS> -o <OBJECT> <SOURCE>")
- ENABLE_LANGUAGE(ASM)
- # # special link commands for newlib executables
- # SET(CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_CXX_COMPILER> -mbaremetal <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
- # SET(CMAKE_C_LINK_EXECUTABLE "<CMAKE_C_COMPILER> -mbaremetal <FLAGS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>")
- # search for programs in the build host directories
- SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
- # for libraries and headers in the target directories
- SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
- SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
- PROJECT (sw)
- # This stuff must be after PROJECT
- SET(CMAKE_STATIC_LIBRARY_PREFIX "lib")
- SET(CMAKE_STATIC_LIBRARY_SUFFIX ".a")
- SET(CMAKE_EXECUTABLE_SUFFIX ".elf")
- SET(CMAKE_FIND_LIBRARY_PREFIXES "lib")
- SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
- IF(NOT CMAKE_FLAGS_RELEASE)
- SET(CMAKE_FLAGS_RELEASE "-O2 -DNDEBUG")
- ENDIF(NOT CMAKE_FLAGS_RELEASE)
- IF(NOT CMAKE_FLAGS_DEBUG)
- SET(CMAKE_FLAGS_DEBUG "-ggdb")
- ENDIF(NOT CMAKE_FLAGS_DEBUG)
- SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${CMAKE_FLAGS_RELEASE}")
- SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${CMAKE_FLAGS_RELEASE}")
- SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${CMAKE_FLAGS_DEBUG}")
- SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${CMAKE_FLAGS_DEBUG}")
- INCLUDE(CheckIncludeFiles)
- CHECK_INCLUDE_FILES(endian.h HAVE_ENDIAN_H)
- CHECK_INCLUDE_FILES("machine/endian.h" HAVE_MACHINE_ENDIAN_H)
- CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/config.h.in ${PROJECT_BINARY_DIR}/config.h)
- INCLUDE_DIRECTORIES(
- ${PROJECT_BINARY_DIR} # for config.h
- ${PROJECT_SOURCE_DIR}/../include # for PlatformDescr.hpp
- ${PROJECT_SOURCE_DIR}/../fractal
- ${PROJECT_SOURCE_DIR}/../hw #fractal accel
- )
- ADD_EXECUTABLE(main
- crt0.S
- main.cpp
- )
- SET_TARGET_PROPERTIES(main PROPERTIES
- COMPILE_FLAGS -msoft-float
- LINK_FLAGS -mbaremetal
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement