build: re-organise assembly build files
This commit is contained in:
+10
-58
@@ -9,14 +9,13 @@ 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
|
||||
fx.compression
|
||||
fx.io
|
||||
fx.serial
|
||||
fx.term
|
||||
fx.cmdline)
|
||||
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})
|
||||
@@ -43,55 +42,8 @@ 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 ()
|
||||
|
||||
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 ()
|
||||
foreach (assembly ${fx_assemblies})
|
||||
add_subdirectory(assemblies/${assembly})
|
||||
endforeach (assembly)
|
||||
|
||||
add_executable(dynamic-test test/dynamic-test.c)
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
add_fx_assembly(
|
||||
NAME fx.cmdline
|
||||
NAMESPACES fx.cmdline
|
||||
DEPENDENCIES
|
||||
fx.runtime
|
||||
fx.collections
|
||||
fx.term)
|
||||
@@ -0,0 +1,4 @@
|
||||
add_fx_assembly(
|
||||
NAME fx.collections
|
||||
NAMESPACES fx.collections
|
||||
DEPENDENCIES fx.runtime)
|
||||
@@ -0,0 +1,4 @@
|
||||
add_fx_assembly(
|
||||
NAME fx.compression
|
||||
NAMESPACES fx.compression
|
||||
DEPENDENCIES fx.runtime)
|
||||
@@ -0,0 +1,4 @@
|
||||
add_fx_assembly(
|
||||
NAME fx.io
|
||||
NAMESPACES fx.io
|
||||
DEPENDENCIES fx.runtime)
|
||||
@@ -0,0 +1,3 @@
|
||||
add_fx_assembly(
|
||||
NAME fx.runtime
|
||||
NAMESPACES fx fx.reflection)
|
||||
@@ -0,0 +1,4 @@
|
||||
add_fx_assembly(
|
||||
NAME fx.serial
|
||||
NAMESPACES fx.serial
|
||||
DEPENDENCIES fx.runtime fx.collections)
|
||||
@@ -0,0 +1,4 @@
|
||||
add_fx_assembly(
|
||||
NAME fx.term
|
||||
NAMESPACES fx.term
|
||||
DEPENDENCIES fx.runtime fx.collections)
|
||||
@@ -17,11 +17,10 @@ function(add_fx_assembly)
|
||||
string(TOUPPER ${assembly_token} assembly_token)
|
||||
|
||||
set(assembly_include_paths "")
|
||||
set(assembly_sources
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/assemblies/${assembly_name}.c)
|
||||
set(assembly_sources ${CMAKE_CURRENT_SOURCE_DIR}/assembly.c)
|
||||
|
||||
foreach (dir ${arg_NAMESPACES})
|
||||
add_subdirectory(${dir})
|
||||
add_subdirectory(../../${dir} ../../namespaces/${dir})
|
||||
set(assembly_sources ${assembly_sources} ${namespace_sources})
|
||||
set(assembly_include_paths ${assembly_include_paths} ${namespace_include_paths})
|
||||
endforeach (dir)
|
||||
|
||||
Reference in New Issue
Block a user