Skip to content

Commit d0bb70e

Browse files
committed
cmake: build more libraries
1 parent 16fbbe6 commit d0bb70e

File tree

7 files changed

+95
-4
lines changed

7 files changed

+95
-4
lines changed

cmake/utils.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# TODO investigate using interface libraries, will help with erl generation
12
# Compiles the same source file multiple times with different defines
23
function(compile_multiple target srcfile)
34
cmake_parse_arguments(PARSE_ARGV 2 "arg" "" "" "OBJECTS")

ee/CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,13 @@ add_subdirectory(dma)
1515
add_subdirectory(draw)
1616
add_subdirectory(eedebug)
1717
add_subdirectory(elf-loader)
18-
add_subdirectory(kernel)
1918
add_subdirectory(erl)
19+
add_subdirectory(font)
20+
add_subdirectory(graph)
21+
add_subdirectory(input)
22+
add_subdirectory(kernel)
2023
add_subdirectory(libcglue)
24+
add_subdirectory(math3d)
2125
add_subdirectory(rpc)
2226
add_subdirectory(sbv)
2327
add_subdirectory(startup)

ee/draw/CMakeLists.txt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@ add_library(draw)
22
target_include_directories(draw PUBLIC include)
33
target_include_directories(draw PRIVATE
44
${EE_INC}
5-
${PROJECT_SOURCE_DIR}/math3d/include
6-
${PROJECT_SOURCE_DIR}/dma/include
75
)
8-
6+
target_link_libraries(draw PRIVATE math3d dma)
97
target_sources(draw PRIVATE
108
src/draw_environment.c
119
src/draw.c

ee/font/CMakeLists.txt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
add_library(font)
2+
target_include_directories(font PUBLIC include)
3+
target_include_directories(font PRIVATE
4+
${EE_INC}
5+
)
6+
target_link_libraries(font PRIVATE draw math3d)
7+
target_sources(font PRIVATE
8+
src/fontx.c
9+
src/fsfont.c
10+
src/erl-support.c
11+
)
12+
13+
file(GLOB FONT_INCLUDE_FILES "include/*.h*")
14+
set_target_properties(font PROPERTIES PUBLIC_HEADER "${FONT_INCLUDE_FILES}")
15+
install(TARGETS font)
16+
17+
target_add_erl(font)

ee/graph/CMakeLists.txt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
add_library(graph)
2+
target_include_directories(graph PUBLIC include)
3+
target_include_directories(graph PRIVATE
4+
${EE_INC}
5+
)
6+
target_link_libraries(graph PRIVATE cdvd)
7+
target_sources(graph PRIVATE
8+
src/graph_config.c
9+
src/graph_mode.c
10+
src/graph_vram.c
11+
src/graph.c
12+
src/erl-support.c
13+
)
14+
15+
file(GLOB GRAPH_INCLUDE_FILES "include/*.h*")
16+
set_target_properties(graph PROPERTIES PUBLIC_HEADER "${GRAPH_INCLUDE_FILES}")
17+
install(TARGETS graph)
18+
19+
target_add_erl(graph)

ee/input/CMakeLists.txt

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
add_library(input)
2+
target_include_directories(input PUBLIC include)
3+
target_include_directories(input PRIVATE
4+
${EE_INC}
5+
)
6+
7+
target_link_libraries(input PRIVATE pad)
8+
9+
target_sources(input PRIVATE
10+
src/input.c
11+
src/erl-support.c
12+
)
13+
14+
file(GLOB INPUT_INCLUDE_FILES "include/*.h*")
15+
set_target_properties(input PROPERTIES PUBLIC_HEADER "${INPUT_INCLUDE_FILES}")
16+
install(TARGETS input)
17+
18+
target_add_erl(input)
19+
20+
# inputx
21+
add_library(inputx)
22+
target_include_directories(inputx PUBLIC include)
23+
target_include_directories(inputx PRIVATE
24+
${EE_INC}
25+
)
26+
target_compile_definitions(inputx PRIVATE _XINPUT)
27+
28+
target_link_libraries(inputx PRIVATE pad multitap)
29+
30+
target_sources(inputx PRIVATE
31+
src/input.c
32+
src/erl-support.c
33+
)
34+
35+
install(TARGETS inputx)
36+
target_add_erl(inputx)

ee/math3d/CMakeLists.txt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
add_library(math3d)
2+
target_include_directories(math3d PUBLIC include)
3+
target_include_directories(math3d PRIVATE
4+
${EE_INC}
5+
)
6+
target_link_libraries(math3d PRIVATE graph)
7+
target_sources(math3d PRIVATE
8+
src/math3d.c
9+
src/erl-support.c
10+
)
11+
12+
file(GLOB MATH3D_INCLUDE_FILES "include/*.h*")
13+
set_target_properties(math3d PROPERTIES PUBLIC_HEADER "${MATH3D_INCLUDE_FILES}")
14+
install(TARGETS math3d)
15+
16+
target_add_erl(math3d)

0 commit comments

Comments
 (0)