mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-19 13:49:17 +02:00
Build images and .meta lists with ALL target
This commit is contained in:
parent
fe953319ff
commit
b827cfb429
1 changed files with 21 additions and 6 deletions
|
@ -160,6 +160,8 @@ endif()
|
||||||
set(chibi-ffi ${CMAKE_CURRENT_SOURCE_DIR}/tools/chibi-ffi)
|
set(chibi-ffi ${CMAKE_CURRENT_SOURCE_DIR}/tools/chibi-ffi)
|
||||||
set(chibi-genstatic ${CMAKE_CURRENT_SOURCE_DIR}/tools/chibi-genstatic)
|
set(chibi-genstatic ${CMAKE_CURRENT_SOURCE_DIR}/tools/chibi-genstatic)
|
||||||
|
|
||||||
|
add_custom_target(chibi-compiled-libs)
|
||||||
|
|
||||||
function(add_compiled_library cfile)
|
function(add_compiled_library cfile)
|
||||||
if (NOT BUILD_SHARED_LIBS)
|
if (NOT BUILD_SHARED_LIBS)
|
||||||
return()
|
return()
|
||||||
|
@ -177,6 +179,7 @@ function(add_compiled_library cfile)
|
||||||
|
|
||||||
add_library(${libname} ${cfile})
|
add_library(${libname} ${cfile})
|
||||||
target_link_libraries(${libname} PRIVATE libchibi-scheme)
|
target_link_libraries(${libname} PRIVATE libchibi-scheme)
|
||||||
|
add_dependencies(chibi-compiled-libs ${libname})
|
||||||
|
|
||||||
set_target_properties(${libname} PROPERTIES
|
set_target_properties(${libname} PROPERTIES
|
||||||
LIBRARY_OUTPUT_DIRECTORY ${libdir}
|
LIBRARY_OUTPUT_DIRECTORY ${libdir}
|
||||||
|
@ -446,16 +449,28 @@ add_test(NAME "foreign-typeid"
|
||||||
# Image, pkgconfig and meta file generation
|
# Image, pkgconfig and meta file generation
|
||||||
#
|
#
|
||||||
|
|
||||||
add_custom_target(chibi-images
|
add_custom_command(OUTPUT chibi.img
|
||||||
COMMAND chibi-scheme -I ${CMAKE_CURRENT_BINARY_DIR}/lib
|
COMMAND chibi-scheme -I ${CMAKE_CURRENT_BINARY_DIR}/lib -mchibi.repl
|
||||||
-mchibi.repl -d ${CMAKE_CURRENT_BINARY_DIR}/chibi.img
|
-d ${CMAKE_CURRENT_BINARY_DIR}/chibi.img
|
||||||
COMMAND chibi-scheme -I ${CMAKE_CURRENT_BINARY_DIR}/lib
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
-xscheme.red -mchibi.repl -d ${CMAKE_CURRENT_BINARY_DIR}/red.img
|
add_custom_command(OUTPUT red.img
|
||||||
|
COMMAND chibi-scheme -I ${CMAKE_CURRENT_BINARY_DIR}/lib -xscheme.red -mchibi.repl
|
||||||
|
-d ${CMAKE_CURRENT_BINARY_DIR}/red.img
|
||||||
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
add_custom_command(OUTPUT snow.img
|
||||||
COMMAND chibi-scheme -I ${CMAKE_CURRENT_BINARY_DIR}/lib
|
COMMAND chibi-scheme -I ${CMAKE_CURRENT_BINARY_DIR}/lib
|
||||||
-mchibi.snow.commands -mchibi.snow.interface -mchibi.snow.package -mchibi.snow.utils
|
-mchibi.snow.commands -mchibi.snow.interface -mchibi.snow.package -mchibi.snow.utils
|
||||||
-d ${CMAKE_CURRENT_BINARY_DIR}/snow.img
|
-d ${CMAKE_CURRENT_BINARY_DIR}/snow.img
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
|
||||||
|
add_custom_target(chibi-images ALL
|
||||||
|
DEPENDS
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/chibi.img
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/red.img
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/snow.img
|
||||||
|
# The dependency on libchibi-scheme is crucial here:
|
||||||
|
chibi-compiled-libs)
|
||||||
|
|
||||||
configure_file(contrib/chibi-scheme.pc.cmake.in chibi-scheme.pc @ONLY)
|
configure_file(contrib/chibi-scheme.pc.cmake.in chibi-scheme.pc @ONLY)
|
||||||
|
|
||||||
function(generate_package_list libdir output)
|
function(generate_package_list libdir output)
|
||||||
|
@ -479,7 +494,7 @@ generate_package_list(lib/chibi .chibi.meta)
|
||||||
generate_package_list(lib/scheme .scheme.meta)
|
generate_package_list(lib/scheme .scheme.meta)
|
||||||
generate_package_list(lib/srfi .srfi.meta)
|
generate_package_list(lib/srfi .srfi.meta)
|
||||||
|
|
||||||
add_custom_target(meta-lists
|
add_custom_target(chibi-meta-lists ALL
|
||||||
DEPENDS
|
DEPENDS
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/.chibi.meta
|
${CMAKE_CURRENT_BINARY_DIR}/.chibi.meta
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/.scheme.meta
|
${CMAKE_CURRENT_BINARY_DIR}/.scheme.meta
|
||||||
|
|
Loading…
Add table
Reference in a new issue