2025-04-09 18:19:41 -05:00
|
|
|
cmake_minimum_required(VERSION 3.10)
|
|
|
|
|
project(Hallocy C)
|
|
|
|
|
|
|
|
|
|
set(CMAKE_C_STANDARD 11)
|
|
|
|
|
set(CMAKE_C_STANDARD_REQUIRED ON)
|
|
|
|
|
|
|
|
|
|
include_directories(${PROJECT_SOURCE_DIR}/Include)
|
2025-04-12 15:10:26 -05:00
|
|
|
file(GLOB_RECURSE SRC_FILES "${PROJECT_SOURCE_DIR}/Src/*.c")
|
2025-04-09 18:19:41 -05:00
|
|
|
|
|
|
|
|
add_library(Hallocy STATIC ${SRC_FILES})
|
2025-04-12 15:10:26 -05:00
|
|
|
add_executable(HallocyTest ${PROJECT_SOURCE_DIR}/Tests/Main.c)
|
2025-04-09 18:19:41 -05:00
|
|
|
|
2025-04-12 15:10:26 -05:00
|
|
|
target_include_directories(HallocyTest PRIVATE ${PROJECT_SOURCE_DIR}/Tests)
|
|
|
|
|
target_link_libraries(HallocyTest Hallocy)
|
2025-04-09 18:19:41 -05:00
|
|
|
|
|
|
|
|
if (MSVC)
|
|
|
|
|
target_compile_options(Hallocy PRIVATE /W4 /Zl)
|
|
|
|
|
else()
|
|
|
|
|
target_compile_options(Hallocy PRIVATE -mavx512f -mavx512vl)
|
2025-04-12 15:10:26 -05:00
|
|
|
target_compile_options(HallocyTest PRIVATE -mavx512f -mavx512vl)
|
2025-04-09 18:19:41 -05:00
|
|
|
|
|
|
|
|
target_compile_options(Hallocy PRIVATE -march=native)
|
2025-04-12 15:10:26 -05:00
|
|
|
target_compile_options(HallocyTest PRIVATE -march=native)
|
2025-04-09 18:19:41 -05:00
|
|
|
|
|
|
|
|
target_compile_options(Hallocy PRIVATE -Wall -Wextra -pedantic)
|
|
|
|
|
endif()
|