[Add] Initial project structure.
This commit is contained in:
parent
53d067c0e0
commit
01e6d432a4
18
.gitignore
vendored
Normal file
18
.gitignore
vendored
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# Build output.
|
||||||
|
bin/
|
||||||
|
build/
|
||||||
|
|
||||||
|
# Editor/IDE, whatever people use.
|
||||||
|
.vscode/
|
||||||
|
.idea/
|
||||||
|
*.suo
|
||||||
|
*.user
|
||||||
|
*.clangd/
|
||||||
|
|
||||||
|
# For those messy OS'es that like to put files everywhere.
|
||||||
|
.DS_Store
|
||||||
|
|
||||||
|
# Misc.
|
||||||
|
assets/design_doc.org
|
||||||
|
.clangd
|
||||||
|
*.swp
|
||||||
9
CMakeLists.txt
Normal file
9
CMakeLists.txt
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.16)
|
||||||
|
project(bettola CXX)
|
||||||
|
|
||||||
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
|
add_subdirectory(common)
|
||||||
|
add_subdirectory(client)
|
||||||
|
add_subdirectory(server)
|
||||||
34
Makefile
Normal file
34
Makefile
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
# Wrapper Makefile.
|
||||||
|
|
||||||
|
# Build artifacts.
|
||||||
|
BUILD_DIR := bin
|
||||||
|
|
||||||
|
# Client path.
|
||||||
|
CLIENT_EXE := $(BUILD_DIR)/client/bettolac
|
||||||
|
# Server path.
|
||||||
|
SERVER_EXE := $(BUILD_DIR)/server/bettolas
|
||||||
|
|
||||||
|
.PHONY: all build config runc runs clean
|
||||||
|
|
||||||
|
# Default target when running 'make'.
|
||||||
|
all: build
|
||||||
|
|
||||||
|
build: config
|
||||||
|
@echo "=== Building Bettola. ==="
|
||||||
|
@$(MAKE) -C $(BUILD_DIR)
|
||||||
|
|
||||||
|
config:
|
||||||
|
@echo "=== Configuring Project. ==="
|
||||||
|
@cmake -B $(BUILD_DIR) -S .
|
||||||
|
|
||||||
|
runc: build
|
||||||
|
@echo "=== Running Bettola Client. ==="
|
||||||
|
@$(CLIENT_EXE)
|
||||||
|
|
||||||
|
runs: build
|
||||||
|
@echo "=== Running Bettola Server. ==="
|
||||||
|
@$(SERVER_EXE)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
@echo "=== Cleaning Build Directory. ==="
|
||||||
|
@rm -rf $(BUILD_DIR)
|
||||||
7
client/CMakeLists.txt
Normal file
7
client/CMakeLists.txt
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
file(GLOB_RECURSE CLIENT_SOURCES "src/*.cpp")
|
||||||
|
|
||||||
|
add_executable(bettolac
|
||||||
|
${CLIENT_SOURCES}
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(bettolac PRIVATE bettola)
|
||||||
6
client/src/main.cpp
Normal file
6
client/src/main.cpp
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
#include "bettola.h"
|
||||||
|
|
||||||
|
int main(int argc, char** argv) {
|
||||||
|
bettola_function();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
8
common/CMakeLists.txt
Normal file
8
common/CMakeLists.txt
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
file(GLOB_RECURSE BETTOLA_SOURCES "src/*.cpp")
|
||||||
|
|
||||||
|
add_library(bettola
|
||||||
|
${BETTOLA_SOURCES}
|
||||||
|
)
|
||||||
|
|
||||||
|
target_include_directories(bettola PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src)
|
||||||
|
|
||||||
6
common/src/bettola.cpp
Normal file
6
common/src/bettola.cpp
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
#include <cstdio>
|
||||||
|
#include "bettola.h"
|
||||||
|
|
||||||
|
void bettola_function(void) {
|
||||||
|
printf("Hello from libbettola!\n");
|
||||||
|
}
|
||||||
3
common/src/bettola.h
Normal file
3
common/src/bettola.h
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
void bettola_function(void);
|
||||||
8
server/CMakeLists.txt
Normal file
8
server/CMakeLists.txt
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
file(GLOB_RECURSE BETTOLAS_SOURCES "src/*.cpp")
|
||||||
|
|
||||||
|
add_executable(bettolas
|
||||||
|
${BETTOLAS_SOURCES}
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(bettolas PRIVATE bettola)
|
||||||
|
|
||||||
8
server/src/main.cpp
Normal file
8
server/src/main.cpp
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#include <cstdio>
|
||||||
|
#include "bettola.h"
|
||||||
|
|
||||||
|
int main(int argc, char** argv) {
|
||||||
|
printf("=== Server starting ===\n");
|
||||||
|
bettola_function();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user