build: re-organise assembly build files

This commit is contained in:
2026-05-03 17:05:48 +01:00
parent f4469c9eb0
commit 87270b686c
16 changed files with 42 additions and 61 deletions
+10 -58
View File
@@ -9,14 +9,13 @@ set(CMAKE_C_EXTENSIONS OFF)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
set_property(GLOBAL PROPERTY USE_FOLDERS ON) set_property(GLOBAL PROPERTY USE_FOLDERS ON)
set(fx_all_assemblies file(GLOB _all_assemblies assemblies/*
fx.runtime LIST_DIRECTORIES TRUE)
fx.collections
fx.compression foreach (assembly_path ${_all_assemblies})
fx.io get_filename_component(assembly_name ${assembly_path} NAME)
fx.serial set(fx_all_assemblies ${fx_all_assemblies} ${assembly_name})
fx.term endforeach (assembly_path)
fx.cmdline)
if (NOT DEFINED fx_assemblies) if (NOT DEFINED fx_assemblies)
set(fx_assemblies ${fx_all_assemblies}) set(fx_assemblies ${fx_all_assemblies})
@@ -43,55 +42,8 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin)
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Templates.cmake) include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Templates.cmake)
if ("fx.runtime" IN_LIST fx_assemblies) foreach (assembly ${fx_assemblies})
add_fx_assembly( add_subdirectory(assemblies/${assembly})
NAME fx.runtime endforeach (assembly)
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 ()
if ("fx.io" IN_LIST fx_assemblies)
add_fx_assembly(
NAME fx.io
NAMESPACES fx.io
DEPENDENCIES fx.runtime)
endif ()
if ("fx.compression" IN_LIST fx_assemblies)
add_fx_assembly(
NAME fx.compression
NAMESPACES fx.compression
DEPENDENCIES fx.runtime)
endif ()
if ("fx.serial" IN_LIST fx_assemblies)
add_fx_assembly(
NAME fx.serial
NAMESPACES fx.serial
DEPENDENCIES fx.runtime fx.collections)
endif ()
if ("fx.term" IN_LIST fx_assemblies)
add_fx_assembly(
NAME fx.term
NAMESPACES fx.term
DEPENDENCIES fx.runtime fx.collections)
endif ()
if ("fx.cmdline" IN_LIST fx_assemblies)
add_fx_assembly(
NAME fx.cmdline
NAMESPACES fx.cmdline
DEPENDENCIES
fx.runtime
fx.collections
fx.term)
endif ()
add_executable(dynamic-test test/dynamic-test.c) add_executable(dynamic-test test/dynamic-test.c)
+7
View File
@@ -0,0 +1,7 @@
add_fx_assembly(
NAME fx.cmdline
NAMESPACES fx.cmdline
DEPENDENCIES
fx.runtime
fx.collections
fx.term)
+4
View File
@@ -0,0 +1,4 @@
add_fx_assembly(
NAME fx.collections
NAMESPACES fx.collections
DEPENDENCIES fx.runtime)
+4
View File
@@ -0,0 +1,4 @@
add_fx_assembly(
NAME fx.compression
NAMESPACES fx.compression
DEPENDENCIES fx.runtime)
+4
View File
@@ -0,0 +1,4 @@
add_fx_assembly(
NAME fx.io
NAMESPACES fx.io
DEPENDENCIES fx.runtime)
+3
View File
@@ -0,0 +1,3 @@
add_fx_assembly(
NAME fx.runtime
NAMESPACES fx fx.reflection)
+4
View File
@@ -0,0 +1,4 @@
add_fx_assembly(
NAME fx.serial
NAMESPACES fx.serial
DEPENDENCIES fx.runtime fx.collections)
+4
View File
@@ -0,0 +1,4 @@
add_fx_assembly(
NAME fx.term
NAMESPACES fx.term
DEPENDENCIES fx.runtime fx.collections)
+2 -3
View File
@@ -17,11 +17,10 @@ function(add_fx_assembly)
string(TOUPPER ${assembly_token} assembly_token) string(TOUPPER ${assembly_token} assembly_token)
set(assembly_include_paths "") set(assembly_include_paths "")
set(assembly_sources set(assembly_sources ${CMAKE_CURRENT_SOURCE_DIR}/assembly.c)
${CMAKE_CURRENT_SOURCE_DIR}/assemblies/${assembly_name}.c)
foreach (dir ${arg_NAMESPACES}) foreach (dir ${arg_NAMESPACES})
add_subdirectory(${dir}) add_subdirectory(../../${dir} ../../namespaces/${dir})
set(assembly_sources ${assembly_sources} ${namespace_sources}) set(assembly_sources ${assembly_sources} ${namespace_sources})
set(assembly_include_paths ${assembly_include_paths} ${namespace_include_paths}) set(assembly_include_paths ${assembly_include_paths} ${namespace_include_paths})
endforeach (dir) endforeach (dir)