2025-10-17 08:07:27 -05:00
|
|
|
cmake_minimum_required(VERSION 3.10)
|
|
|
|
|
project(Iony C)
|
|
|
|
|
|
|
|
|
|
set(CMAKE_C_STANDARD 11)
|
|
|
|
|
set(CMAKE_C_STANDARD_REQUIRED ON)
|
|
|
|
|
|
|
|
|
|
include_directories(${PROJECT_SOURCE_DIR}/Include)
|
|
|
|
|
file(GLOB_RECURSE SRC_FILES "${PROJECT_SOURCE_DIR}/Src/*.c")
|
|
|
|
|
|
|
|
|
|
add_library(Iony STATIC ${SRC_FILES})
|
|
|
|
|
add_executable(IonyTest ${PROJECT_SOURCE_DIR}/Tests/Main.c)
|
|
|
|
|
|
|
|
|
|
target_include_directories(IonyTest PRIVATE ${PROJECT_SOURCE_DIR}/Tests)
|
|
|
|
|
target_link_libraries(IonyTest Iony)
|
|
|
|
|
|
|
|
|
|
if (MSVC)
|
2025-10-19 08:06:38 -05:00
|
|
|
target_compile_options(Iony PRIVATE /W4 /Zl /GS- /kernel)
|
|
|
|
|
|
|
|
|
|
target_link_options(IonyTest PRIVATE /NODEFAULTLIB /ENTRY:_start)
|
|
|
|
|
|
|
|
|
|
target_link_libraries(Iony PRIVATE kernel32)
|
|
|
|
|
target_link_libraries(IonyTest PRIVATE kernel32)
|
2025-10-17 08:07:27 -05:00
|
|
|
else()
|
2025-10-19 08:06:38 -05:00
|
|
|
target_compile_options(Iony PRIVATE -Wall -Wextra -pedantic -ffreestanding -fno-builtin)
|
|
|
|
|
target_link_options(Iony PRIVATE -nostdlib)
|
|
|
|
|
target_link_options(IonyTest PRIVATE -nostdlib)
|
2025-10-17 08:07:27 -05:00
|
|
|
endif()
|