43 lines
1.3 KiB
CMake
43 lines
1.3 KiB
CMake
cmake_minimum_required(VERSION 3.26)
|
|
project(Demo1)
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
|
|
find_package(Python3 REQUIRED COMPONENTS Interpreter)
|
|
|
|
set(SHADER_FILES
|
|
src/Shaders/Test.frag
|
|
src/Shaders/Test.vert
|
|
)
|
|
|
|
add_executable(${PROJECT_NAME}
|
|
src/main.cpp
|
|
src/Demo1.cpp
|
|
src/Demo1.h
|
|
)
|
|
|
|
# STAMP FILE THAT TRACK THE CHANGES IN SHADERS
|
|
set(OUTPUT_SHADER_STAMP "${CMAKE_CURRENT_SOURCE_DIR}/src/Shaders/shaders.stamp")
|
|
|
|
# COMPILE SHADERS USING PYTHON
|
|
add_custom_command(
|
|
OUTPUT ${OUTPUT_SHADER_STAMP}
|
|
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/CompileShaders.py ${CMAKE_CURRENT_SOURCE_DIR}/src/Shaders ${CMAKE_CURRENT_SOURCE_DIR}
|
|
DEPENDS ${SHADER_FILES}
|
|
COMMENT "Compiling shaders"
|
|
)
|
|
|
|
# CREATE CUSTOM TARGET THAT LINK THE COMMAND TO THE PROJECT
|
|
add_custom_target(shader_compilation DEPENDS ${OUTPUT_SHADER_STAMP})
|
|
|
|
# ADD THE CUSTOM TARGET AS A DEPENDENCY
|
|
add_dependencies(${PROJECT_NAME} shader_compilation)
|
|
|
|
target_link_directories(${PROJECT_NAME} PRIVATE ${CMAKE_SOURCE_DIR}/ConjureEngine)
|
|
|
|
find_package(SDL2 REQUIRED)
|
|
|
|
target_include_directories(${PROJECT_NAME} PRIVATE include)
|
|
target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_SOURCE_DIR}/ConjureEngine/src)
|
|
|
|
target_link_libraries(${PROJECT_NAME} SDL2::SDL2 ConjureEngine) |