Add project-creation script
This commit is contained in:
parent
c350c8f911
commit
0568521879
1 changed files with 93 additions and 0 deletions
93
package/bin/psemek-create-project
Executable file
93
package/bin/psemek-create-project
Executable file
|
|
@ -0,0 +1,93 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$#" -ne 1 ]; then
|
||||
echo "Usage: psemek-create-project <project-name>"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
#git init .
|
||||
#git submodule add git@bitbucket.org:lisyarus/psemek.git
|
||||
#git submodule update --init --recursive
|
||||
|
||||
mkdir -p source include/${1}
|
||||
|
||||
cat > .gitignore << EOF
|
||||
.gitignore
|
||||
build
|
||||
package
|
||||
CMakeLists.txt.user
|
||||
EOF
|
||||
|
||||
cat > CMakeLists.txt << EOF
|
||||
cmake_minimum_required(VERSION 3.16)
|
||||
project(${1})
|
||||
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
set(PSEMEK_EXAMPLES OFF)
|
||||
|
||||
set(PSEMEK_PACKAGE_OUTPUT_PATH package)
|
||||
set(PSEMEK_GRAPHICS_API OPENGL)
|
||||
|
||||
add_subdirectory(psemek)
|
||||
|
||||
file(GLOB_RECURSE ${1^^}_SOURCES LIST_DIRECTORIES FALSE "\${CMAKE_CURRENT_SOURCE_DIR}/source/*")
|
||||
file(GLOB_RECURSE ${1^^}_HEADERS LIST_DIRECTORIES FALSE "\${CMAKE_CURRENT_SOURCE_DIR}/include/*")
|
||||
|
||||
psemek_add_application(${1} \${${1^^}_SOURCES} \${${1^^}_HEADERS})
|
||||
EOF
|
||||
|
||||
cat > source/application.cpp << EOF
|
||||
#include <psemek/app/default_application_factory.hpp>
|
||||
|
||||
namespace ${1}
|
||||
{
|
||||
|
||||
using namespace psemek;
|
||||
|
||||
struct application
|
||||
: app::application
|
||||
{
|
||||
application(options const &, context const &)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
bool running() const override
|
||||
{
|
||||
return running_;
|
||||
}
|
||||
|
||||
void stop() override
|
||||
{
|
||||
running_ = false;
|
||||
}
|
||||
|
||||
void update() override
|
||||
{}
|
||||
|
||||
void present() override
|
||||
{}
|
||||
|
||||
private:
|
||||
bool running_ = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
namespace psemek::app
|
||||
{
|
||||
|
||||
std::unique_ptr<application::factory> make_application_factory()
|
||||
{
|
||||
application::options options
|
||||
{
|
||||
.name = "${1^}",
|
||||
};
|
||||
|
||||
return default_application_factory<${1}::application>(options);
|
||||
}
|
||||
|
||||
}
|
||||
EOF
|
||||
Loading…
Add table
Reference in a new issue