cmake_minimum_required(VERSION 3.14.0) project(i2c VERSION 40.0.0) # Compat version with i2clib40 from aminet get_verstring(VERSTRING) add_link_options(-ffreestanding -nostdlib -nostartfiles -Wl,-e,__start) add_compile_options(-Os -m68040 -fomit-frame-pointer) add_compile_definitions(PRIVATE VERSION_STRING="${VERSTRING}") add_library(i2c INTERFACE) target_include_directories(i2c INTERFACE include) add_executable(i2c.library src/main.c src/gpio.c src/lib_functions/alloc_i2c.c src/lib_functions/bring_back_i2c.c src/lib_functions/free_i2c.c src/lib_functions/get_i2c_opponent.c src/lib_functions/i2c_err_text.c src/lib_functions/init_i2c.c src/lib_functions/receive_i2c.c src/lib_functions/send_i2c.c src/lib_functions/set_i2c_delay.c src/lib_functions/shutdown_i2c.c src/end.c ) target_include_directories(i2c.library PRIVATE src) target_link_libraries(i2c.library i2c devicetree amiga common) target_compile_definitions(i2c.library PUBLIC LIBRARY_NAME="i2c.library" LIBRARY_VERSION=${PROJECT_VERSION_MAJOR} LIBRARY_REVISION=${PROJECT_VERSION_MINOR} LIBRARY_PRIORITY=0) install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/i2c.library DESTINATION ./I2C/)