Files

53 lines
1.4 KiB
CMake
Raw Permalink Normal View History

2024-08-03 07:54:28 +01:00
cmake_minimum_required(VERSION 3.25)
2026-05-04 16:37:06 +01:00
project(fx C ASM)
2024-08-03 07:54:28 +01:00
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
include (TestBigEndian)
include(Templates)
include(Platform)
set(CMAKE_C_STANDARD 99)
set(CMAKE_C_EXTENSIONS OFF)
2024-11-14 16:56:12 +00:00
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
2026-05-03 20:20:16 +01:00
set(fx_source_root ${CMAKE_CURRENT_SOURCE_DIR})
set(fx_build_root ${CMAKE_CURRENT_BINARY_DIR})
2026-05-03 17:05:48 +01:00
file(GLOB _all_assemblies assemblies/*
LIST_DIRECTORIES TRUE)
foreach (assembly_path ${_all_assemblies})
get_filename_component(assembly_name ${assembly_path} NAME)
set(fx_all_assemblies ${fx_all_assemblies} ${assembly_name})
endforeach (assembly_path)
if (NOT DEFINED fx_assemblies)
set(fx_assemblies ${fx_all_assemblies})
endif ()
if (NOT DEFINED fx_enable_floating_point)
set(fx_enable_floating_point 1)
endif ()
if (NOT DEFINED fx_enable_tests)
set(fx_enable_tests 1)
endif ()
message(STATUS "Floating point support: ${fx_enable_floating_point}")
2024-08-03 07:54:28 +01:00
get_platform_details(
SYSTEM fx_system_name
PROCESSOR fx_system_arch)
2024-08-03 07:54:28 +01:00
2026-05-04 16:37:06 +01:00
message(STATUS "Target system: ${fx_system_name}-${fx_system_arch}")
2024-10-24 21:33:19 +01:00
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin)
2026-05-03 17:05:48 +01:00
foreach (assembly ${fx_assemblies})
add_subdirectory(assemblies/${assembly})
endforeach (assembly)
2026-05-04 16:37:06 +01:00
add_subdirectory(test)