cmake_minimum_required(VERSION 3.25) project(fx C) include (TestBigEndian) set(CMAKE_C_STANDARD 99) set(CMAKE_C_EXTENSIONS OFF) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake) set_property(GLOBAL PROPERTY USE_FOLDERS ON) set(fx_all_assemblies fx.runtime fx.collections) 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}") set(fx_system_name ${CMAKE_SYSTEM_NAME}) string(TOLOWER ${fx_system_name} fx_system_name) message(STATUS "System name: ${fx_system_name}") 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) include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Templates.cmake) if ("fx.runtime" IN_LIST fx_assemblies) add_fx_assembly( NAME fx.runtime NAMESPACES fx fx.reflection) endif () if ("fx.collections" IN_LIST fx_assemblies) add_fx_assembly( NAME fx.collections NAMESPACES fx.collections DEPENDENCIES fx.runtime) endif () add_executable(dynamic-test test/dynamic-test.c)