Skip to content

Commit 256993d

Browse files
committed
Merge pull request #1215 from pguyot/w26/install-atomvm-apps
Install AtomVM applications with beams, source code and avm package This allows users to create dialyzer plt for their version of dialyzer Until we manage versions of application, these are installed under PREFIX/lib/atomvm/lib/APP-ATOMVM_VERSION These changes are made under both the "Apache 2.0" and the "GNU Lesser General Public License 2.1 or later" license terms (dual license). SPDX-License-Identifier: Apache-2.0 OR LGPL-2.1-or-later
2 parents 67a8ae1 + f97ac34 commit 256993d

File tree

7 files changed

+127
-0
lines changed

7 files changed

+127
-0
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ also non string parameters (e.g. `Enum.join([1, 2], ",")`
3030
- ESP32: Elixir library is not shipped anymore with `esp32boot.avm`. Use `elixir_esp32boot.avm`
3131
instead
3232
- `Enum.find_index` and `Enum.find_value` support Enumerable and not just lists
33+
- Install AtomVM libraries source code and binaries for better dialyzer integration
3334

3435
### Fixed
3536

libs/alisp/src/CMakeLists.txt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,24 @@ set(ERLANG_MODULES
3232
)
3333

3434
pack_archive(alisp ${ERLANG_MODULES})
35+
36+
include(../../../version.cmake)
37+
38+
set(ALISP_VERSION ${ATOMVM_BASE_VERSION})
39+
40+
install(
41+
DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/beams/
42+
DESTINATION lib/atomvm/lib/alisp-${ALISP_VERSION}/ebin
43+
FILES_MATCHING PATTERN "*.beam"
44+
)
45+
46+
install(
47+
FILES ${CMAKE_CURRENT_BINARY_DIR}/alisp.avm
48+
DESTINATION lib/atomvm/lib/alisp-${ALISP_VERSION}/ebin/
49+
)
50+
51+
install(
52+
DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/
53+
DESTINATION lib/atomvm/lib/alisp-${ALISP_VERSION}/src
54+
FILES_MATCHING PATTERN "*.erl"
55+
)

libs/eavmlib/src/CMakeLists.txt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,3 +46,24 @@ set(ERLANG_MODULES
4646
)
4747

4848
pack_archive(eavmlib ${ERLANG_MODULES})
49+
50+
include(../../../version.cmake)
51+
52+
set(EAVMLIB_VERSION ${ATOMVM_BASE_VERSION})
53+
54+
install(
55+
DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/beams/
56+
DESTINATION lib/atomvm/lib/eavmlib-${EAVMLIB_VERSION}/ebin
57+
FILES_MATCHING PATTERN "*.beam"
58+
)
59+
60+
install(
61+
FILES ${CMAKE_CURRENT_BINARY_DIR}/eavmlib.avm
62+
DESTINATION lib/atomvm/lib/eavmlib-${EAVMLIB_VERSION}/ebin/
63+
)
64+
65+
install(
66+
DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/
67+
DESTINATION lib/atomvm/lib/eavmlib-${EAVMLIB_VERSION}/src
68+
FILES_MATCHING PATTERN "*.erl"
69+
)

libs/esp32devmode/src/CMakeLists.txt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,24 @@ project(esp32devmode)
2323
include(BuildErlang)
2424

2525
pack_archive(esp32devmode esp32devmode)
26+
27+
include(../../../version.cmake)
28+
29+
set(ESP32DEVMODE_VERSION ${ATOMVM_BASE_VERSION})
30+
31+
install(
32+
DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/beams/
33+
DESTINATION lib/atomvm/lib/esp32devmode-${ESP32DEVMODE_VERSION}/ebin
34+
FILES_MATCHING PATTERN "*.beam"
35+
)
36+
37+
install(
38+
FILES ${CMAKE_CURRENT_BINARY_DIR}/esp32devmode.avm
39+
DESTINATION lib/atomvm/lib/esp32devmode-${ESP32DEVMODE_VERSION}/ebin/
40+
)
41+
42+
install(
43+
DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/
44+
DESTINATION lib/atomvm/lib/esp32devmode-${ESP32DEVMODE_VERSION}/src
45+
FILES_MATCHING PATTERN "*.erl"
46+
)

libs/estdlib/src/CMakeLists.txt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,24 @@ set(ERLANG_MODULES
6060
)
6161

6262
pack_archive(estdlib ${ERLANG_MODULES})
63+
64+
include(../../../version.cmake)
65+
66+
set(ESTDLIB_VERSION ${ATOMVM_BASE_VERSION})
67+
68+
install(
69+
DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/beams/
70+
DESTINATION lib/atomvm/lib/estdlib-${ESTDLIB_VERSION}/ebin
71+
FILES_MATCHING PATTERN "*.beam"
72+
)
73+
74+
install(
75+
FILES ${CMAKE_CURRENT_BINARY_DIR}/estdlib.avm
76+
DESTINATION lib/atomvm/lib/estdlib-${ESTDLIB_VERSION}/ebin/
77+
)
78+
79+
install(
80+
DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/
81+
DESTINATION lib/atomvm/lib/estdlib-${ESTDLIB_VERSION}/src
82+
FILES_MATCHING PATTERN "*.erl"
83+
)

libs/etest/src/CMakeLists.txt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,24 @@ set(ERLANG_MODULES
2727
)
2828

2929
pack_archive(etest ${ERLANG_MODULES})
30+
31+
include(../../../version.cmake)
32+
33+
set(ETEST_VERSION ${ATOMVM_BASE_VERSION})
34+
35+
install(
36+
DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/beams/
37+
DESTINATION lib/atomvm/lib/etest-${ETEST_VERSION}/ebin
38+
FILES_MATCHING PATTERN "*.beam"
39+
)
40+
41+
install(
42+
FILES ${CMAKE_CURRENT_BINARY_DIR}/etest.avm
43+
DESTINATION lib/atomvm/lib/etest-${ETEST_VERSION}/ebin/
44+
)
45+
46+
install(
47+
DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/
48+
DESTINATION lib/atomvm/lib/etest-${ETEST_VERSION}/src
49+
FILES_MATCHING PATTERN "*.erl"
50+
)

libs/exavmlib/lib/CMakeLists.txt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,3 +92,24 @@ set(ELIXIR_MODULES
9292
)
9393

9494
pack_archive(exavmlib ${ELIXIR_MODULES})
95+
96+
include(../../../version.cmake)
97+
98+
set(EXAVMLIB_VERSION ${ATOMVM_BASE_VERSION})
99+
100+
install(
101+
DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/beams/
102+
DESTINATION lib/atomvm/lib/exavmlib-${EXAVMLIB_VERSION}/ebin
103+
FILES_MATCHING PATTERN "*.beam"
104+
)
105+
106+
install(
107+
FILES ${CMAKE_CURRENT_BINARY_DIR}/exavmlib.avm
108+
DESTINATION lib/atomvm/lib/exavmlib-${EXAVMLIB_VERSION}/ebin/
109+
)
110+
111+
install(
112+
DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/
113+
DESTINATION lib/atomvm/lib/exavmlib-${EXAVMLIB_VERSION}/lib
114+
FILES_MATCHING PATTERN "*.ex"
115+
)

0 commit comments

Comments
 (0)