Skip to content
Snippets Groups Projects
Unverified Commit 65abe515 authored by TheJackiMonster's avatar TheJackiMonster
Browse files

Adjusted project generation script

parent c7ab753d
No related branches found
No related tags found
No related merge requests found
...@@ -9,6 +9,9 @@ option(BUILD_DOXYGEN_DOCS "Enables building the VkCV doxygen documentation" OFF) ...@@ -9,6 +9,9 @@ option(BUILD_DOXYGEN_DOCS "Enables building the VkCV doxygen documentation" OFF)
option(BUILD_SHARED "Enables building VkCV as shared libraries" OFF) option(BUILD_SHARED "Enables building VkCV as shared libraries" OFF)
option(BUILD_VMA_VULKAN_VERSION "Enforce a specific Vulkan version for VMA" OFF) option(BUILD_VMA_VULKAN_VERSION "Enforce a specific Vulkan version for VMA" OFF)
# uncomment the following line if cmake will refuse to build projects
#set(BUILD_PROJECTS ON)
if ((WIN32) AND (NOT BUILD_VMA_VULKAN_VERSION)) if ((WIN32) AND (NOT BUILD_VMA_VULKAN_VERSION))
set(BUILD_VMA_VULKAN_VERSION "1.3.0") set(BUILD_VMA_VULKAN_VERSION "1.3.0")
endif() endif()
......
#!/bin/sh #!/bin/sh
CMAKE_PROJECT_DIR="$(pwd)" if [ $# -gt 0 ]; then
CMAKE_PROJECT_DIR="$(realpath "$1")"
mkdir -p $CMAKE_PROJECT_DIR
else
CMAKE_PROJECT_DIR="$(pwd)"
fi
CMAKE_PROJECT_NAME="$(basename "$CMAKE_PROJECT_DIR")" CMAKE_PROJECT_NAME="$(basename "$CMAKE_PROJECT_DIR")"
# Navigate to the main directory of the cloned repository # Navigate to the main directory of the cloned repository
...@@ -8,6 +14,12 @@ cd .. ...@@ -8,6 +14,12 @@ cd ..
CMAKE_FRAMEWORK_DIR="$(realpath -s --relative-to="$CMAKE_PROJECT_DIR" "$(pwd)")" CMAKE_FRAMEWORK_DIR="$(realpath -s --relative-to="$CMAKE_PROJECT_DIR" "$(pwd)")"
if [ "$CMAKE_FRAMEWORK_DIR" == "../.." ]; then
IS_INTERNAL_PROJECT=true
else
IS_INTERNAL_PROJECT=false
fi
# Navigate back to the project directory # Navigate back to the project directory
cd "$CMAKE_PROJECT_DIR" || exit cd "$CMAKE_PROJECT_DIR" || exit
...@@ -21,16 +33,26 @@ generate_cmake_lists() { ...@@ -21,16 +33,26 @@ generate_cmake_lists() {
echo "set(CMAKE_CXX_STANDARD 20)" echo "set(CMAKE_CXX_STANDARD 20)"
echo "set(CMAKE_CXX_STANDARD_REQUIRED ON)" echo "set(CMAKE_CXX_STANDARD_REQUIRED ON)"
echo echo
echo "set(BUILD_MODULES ON CACHE INTERNAL \"\")"
echo "set(BUILD_PROJECTS OFF CACHE INTERNAL \"\")" if test "$IS_INTERNAL_PROJECT" = false; then
echo "set(BUILD_DOXYGEN_DOCS OFF CACHE INTERNAL \"\")" echo "set(BUILD_MODULES ON CACHE INTERNAL \"\")"
echo "set(BUILD_SHARED OFF CACHE INTERNAL \"\")" echo "set(BUILD_PROJECTS OFF CACHE INTERNAL \"\")"
echo "add_subdirectory($CMAKE_FRAMEWORK_DIR)" echo "set(BUILD_DOXYGEN_DOCS OFF CACHE INTERNAL \"\")"
echo echo "set(BUILD_SHARED OFF CACHE INTERNAL \"\")"
echo "add_subdirectory($CMAKE_FRAMEWORK_DIR)"
echo
fi
echo "add_executable($CMAKE_PROJECT_NAME src/main.cpp)" echo "add_executable($CMAKE_PROJECT_NAME src/main.cpp)"
echo echo
echo "target_include_directories($CMAKE_PROJECT_NAME SYSTEM BEFORE PRIVATE \${vkcv_includes})"
echo "target_link_libraries($CMAKE_PROJECT_NAME \${vkcv_libraries})" if test "$IS_INTERNAL_PROJECT" = true; then
echo "target_include_directories($CMAKE_PROJECT_NAME SYSTEM BEFORE PRIVATE \${vkcv_include} \${vkcv_includes})"
echo "target_link_libraries($CMAKE_PROJECT_NAME vkcv \${vkcv_libraries})"
else
echo "target_include_directories($CMAKE_PROJECT_NAME SYSTEM BEFORE PRIVATE \${vkcv_includes})"
echo "target_link_libraries($CMAKE_PROJECT_NAME \${vkcv_libraries})"
fi
} }
generate_main_cpp() { generate_main_cpp() {
...@@ -44,7 +66,12 @@ generate_main_cpp() { ...@@ -44,7 +66,12 @@ generate_main_cpp() {
echo " { VK_KHR_SWAPCHAIN_EXTENSION_NAME }" echo " { VK_KHR_SWAPCHAIN_EXTENSION_NAME }"
echo " );" echo " );"
echo " " echo " "
echo " vkcv::WindowHandle windowHandle = core.createWindow(\"$CMAKE_PROJECT_NAME\", 800, 600, true);" echo " vkcv::WindowHandle windowHandle = core.createWindow("
echo " \"$CMAKE_PROJECT_NAME\","
echo " 800,"
echo " 600,"
echo " true"
echo " );"
echo " " echo " "
echo " while (vkcv::Window::hasOpenWindow()) {" echo " while (vkcv::Window::hasOpenWindow()) {"
echo " vkcv::Window::pollEvents();" echo " vkcv::Window::pollEvents();"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment