File: nios-toolchain.cmake

package info (click to toggle)
bladerf 0.2022.11-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 373,752 kB
  • sloc: ansic: 1,186,428; xml: 150,799; vhdl: 24,182; tcl: 15,408; python: 3,409; sh: 1,551; makefile: 1,255; asm: 158; csh: 18; cpp: 9
file content (50 lines) | stat: -rw-r--r-- 1,864 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
################################################################################
# Configure CMake and setup variables for the Nios II environment
#
# Inputs:
#   QUARTUS_ROOTDIR   Path to Quartus Prime installation.
#
#
################################################################################
cmake_minimum_required(VERSION 3.5)

if(NOT "$ENV{QUARTUS_ROOTDIR}" STREQUAL "")
    set(QUARTUS_ROOTDIR "$ENV{QUARTUS_ROOTDIR}")
endif()

# There seems to be some known strange behavior where CMake loses track of
# cached variables when (re)parsing toolchain files. This is a workaround
# identified in http://stackoverflow.com/questions/28613394/check-cmake-cache-variable-in-toolchain-file
if(QUARTUS_ROOTDIR)
    # Use the environment to back up this definition, per that above workaround
    set(ENV{_QUARTUS_ROOTDIR} "${QUARTUS_ROOTDIR}")
else()
    if(NOT "$ENV{_QUARTUS_ROOTDIR}" STREQUAL "")
        # Use the definition we backed up in the environment.
        set(QUARTUS_ROOTDIR "$ENV{_QUARTUS_ROOTDIR}")
    endif()
endif()

if("${QUARTUS_ROOTDIR}" STREQUAL "")
    message(FATAL_ERROR "QUARTUS_ROOTDIR not defined")
else()
    message(STATUS "QUARTUS_ROOTDIR = ${QUARTUS_ROOTDIR}")
endif()


################################################################################
# CMake toolchain file configuration
################################################################################

find_program(CMAKE_C_COMPILER nios2-elf-gcc ${QUARTUS_ROOTDIR}/nios2eds/)
find_program(CMAKE_CXX_COMPILER nios2-elf-g++ ${QUARTUS_ROOTDIR}/nios2eds/)
set(CMAKE_C_COMPILER_WORKS 1)
set(CMAKE_CXX_COMPILER_WORKS 1)

set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_SYSTEM_PROCESSOR nios2)

set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)