BG implemented
This commit is contained in:
49
cmake/toolchains/gbdk.cmake
Normal file
49
cmake/toolchains/gbdk.cmake
Normal file
@ -0,0 +1,49 @@
|
||||
set(GBDK_HOME "$ENV{GBDK_HOME}")
|
||||
if(NOT GBDK_HOME)
|
||||
set(GBDK_HOME "/opt/gbdk")
|
||||
message(STATUS "GBDK_HOME not set, using default: ${GBDK_HOME}")
|
||||
endif()
|
||||
|
||||
# Use Linux to omit any unwanted file extension in the created ROM file
|
||||
set(CMAKE_SYSTEM_NAME Generic)
|
||||
|
||||
set(CMAKE_C_COMPILER lcc)
|
||||
set(CMAKE_C_COMPILER_FORCED TRUE)
|
||||
|
||||
set(GBDK_INCLUDE_DIR ${GBDK_HOME}/include)
|
||||
set(GBDK_LIB_DIR ${GBDK_HOME}/lib)
|
||||
|
||||
set(CMAKE_PROGRAM_PATH ${GBDK_HOME}/bin)
|
||||
set(CMAKE_INCLUDE_PATH ${GBDK_INCLUDE_DIR})
|
||||
set(CMAKE_LIBRARY_PATH ${GBDK_LIB_DIR})
|
||||
|
||||
|
||||
set(CMAKE_SYSTEM_INCLUDE_PATH ${GBDK_INCLUDE_DIR})
|
||||
set(CMAKE_SYSTEM_LIBRARY_PATH ${GBDK_LIB_DIR})
|
||||
|
||||
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)
|
||||
|
||||
set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE)
|
||||
|
||||
function(add_gb_rom target)
|
||||
set(GB_MBC_TYPE 0)
|
||||
if(ARGC GREATER_EQUAL 2)
|
||||
set(GB_MBC_TYPE ${ARGV1})
|
||||
endif()
|
||||
set(GB_ROM_BANKS 2)
|
||||
if(ARGC GREATER_EQUAL 3)
|
||||
set(GB_ROM_BANKS ${ARGV2})
|
||||
endif()
|
||||
set(GB_RAM_BANKS 0)
|
||||
if(ARGC GREATER_EQUAL 4)
|
||||
set(GB_RAM_BANKS ${ARGV3})
|
||||
endif()
|
||||
|
||||
|
||||
set_target_properties(${target} PROPERTIES OUTPUT_NAME ${target} SUFFIX ".gb")
|
||||
target_compile_options(${target} PRIVATE -Wa-l -Wl-m -Wl-j -DUSE_SFR_FOR_REG)
|
||||
target_link_options(${target} PRIVATE "-Wl-yt${GB_MBC_TYPE}" "-Wl-yo${GB_ROM_BANKS}" "-Wl-ya${GB_RAM_BANKS}")
|
||||
endfunction()
|
Reference in New Issue
Block a user