Added install routine to CMake and added a classic Makefile as a wrapper for easy building.
This commit is contained in:
parent
05818899fe
commit
dbd8b73134
2 changed files with 47 additions and 0 deletions
|
|
@ -4,6 +4,8 @@ project(fun C)
|
||||||
set(CMAKE_C_STANDARD 11)
|
set(CMAKE_C_STANDARD 11)
|
||||||
set(CMAKE_C_STANDARD_REQUIRED ON)
|
set(CMAKE_C_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
|
include(GNUInstallDirs)
|
||||||
|
|
||||||
# Core VM/library sources
|
# Core VM/library sources
|
||||||
add_library(fun_core
|
add_library(fun_core
|
||||||
src/bytecode.c
|
src/bytecode.c
|
||||||
|
|
@ -58,3 +60,20 @@ add_custom_target(dist-clean
|
||||||
${CMAKE_BINARY_DIR}/.ninja_*
|
${CMAKE_BINARY_DIR}/.ninja_*
|
||||||
COMMENT "Remove build outputs and CMake-generated files (reconfigure needed)"
|
COMMENT "Remove build outputs and CMake-generated files (reconfigure needed)"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Install rules
|
||||||
|
# - Binary
|
||||||
|
install(TARGETS fun
|
||||||
|
RUNTIME DESTINATION /usr/bin)
|
||||||
|
|
||||||
|
# - Optionally install example scripts
|
||||||
|
option(FUN_INSTALL_EXAMPLES "Install example .fun scripts" ON)
|
||||||
|
if(FUN_INSTALL_EXAMPLES)
|
||||||
|
install(DIRECTORY examples/
|
||||||
|
DESTINATION /usr/share/fun/examples
|
||||||
|
FILES_MATCHING PATTERN "*.fun")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# - Docs
|
||||||
|
install(FILES README.md LICENSE
|
||||||
|
DESTINATION /usr/share/doc/fun)
|
||||||
|
|
|
||||||
28
Makefile
Normal file
28
Makefile
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
all:
|
||||||
|
make clean
|
||||||
|
make fun
|
||||||
|
make fun_test
|
||||||
|
make test_opcodes
|
||||||
|
|
||||||
|
fun:
|
||||||
|
cmake -S . -B build -DFUN_DEBUG=ON
|
||||||
|
cmake --build build --target fun
|
||||||
|
|
||||||
|
fun_test:
|
||||||
|
cmake -S . -B build -DFUN_DEBUG=ON
|
||||||
|
cmake --build build --target fun_test
|
||||||
|
|
||||||
|
clean:
|
||||||
|
cmake --build build --target clean-build
|
||||||
|
|
||||||
|
# Or set a custom prefix: cmake --install build --prefix "$HOME/.local"
|
||||||
|
# Defaults:
|
||||||
|
# Binary: /usr/bin/fun
|
||||||
|
# Docs: /share/doc/fun/README.md, LICENSE
|
||||||
|
# Examples: /share/fun/examples/*.fun
|
||||||
|
install:
|
||||||
|
cmake --install build
|
||||||
|
|
||||||
|
test_opcodes:
|
||||||
|
cmake -S . -B build -DFUN_DEBUG=ON
|
||||||
|
cmake --build build --target test_opcodes
|
||||||
Loading…
Add table
Add a link
Reference in a new issue