CONGE-2 MADE THE MAC COMPILATION WORK
This commit is contained in:
parent
63d9eb1081
commit
2e2dd848f7
@ -22,7 +22,7 @@ namespace ConjureEngine {
|
|||||||
std::string error = SDL_GetError();
|
std::string error = SDL_GetError();
|
||||||
if(!error.empty())
|
if(!error.empty())
|
||||||
{
|
{
|
||||||
SDL_Log("Cleaned up with errors: %s", error);
|
SDL_Log("Cleaned up with errors: %s", error.c_str());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -5,19 +5,34 @@ set(CMAKE_CXX_STANDARD 20)
|
|||||||
|
|
||||||
find_package(Python3 REQUIRED COMPONENTS Interpreter)
|
find_package(Python3 REQUIRED COMPONENTS Interpreter)
|
||||||
|
|
||||||
|
set(SHADER_FILES
|
||||||
|
src/Shaders/Test.frag
|
||||||
|
src/Shaders/Test.vert
|
||||||
|
)
|
||||||
|
|
||||||
add_executable(${PROJECT_NAME} src/main.cpp
|
add_executable(${PROJECT_NAME}
|
||||||
|
src/main.cpp
|
||||||
src/Demo1.cpp
|
src/Demo1.cpp
|
||||||
src/Demo1.h
|
src/Demo1.h
|
||||||
)
|
)
|
||||||
|
|
||||||
# SHADERS
|
# 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(
|
add_custom_command(
|
||||||
TARGET ${PROJECT_NAME}
|
OUTPUT ${OUTPUT_SHADER_STAMP}
|
||||||
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/CompileShaders.py ${CMAKE_CURRENT_SOURCE_DIR}/src/Shaders
|
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"
|
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)
|
target_link_directories(${PROJECT_NAME} PRIVATE ${CMAKE_SOURCE_DIR}/ConjureEngine)
|
||||||
|
|
||||||
find_package(SDL2 REQUIRED)
|
find_package(SDL2 REQUIRED)
|
||||||
|
|||||||
@ -7,24 +7,25 @@ os.chdir(sys.argv[1])
|
|||||||
|
|
||||||
# Configure logging
|
# Configure logging
|
||||||
logging.basicConfig(
|
logging.basicConfig(
|
||||||
filename=os.path.join("D:/Dev/ETS/CONJURE/conjure-engine/Demo1", "CompileShaders.log"), # Log file name
|
filename=os.path.join(sys.argv[2], "CompileShaders.log"), # Log file name
|
||||||
filemode="w", # Append mode (use "w" for overwrite)
|
filemode="w", # Append mode (use "w" for overwrite)
|
||||||
format="%(asctime)s - %(levelname)s - %(message)s", # Log format
|
format="%(asctime)s - %(levelname)s - %(message)s", # Log format
|
||||||
level=logging.INFO # Logging level
|
level=logging.INFO # Logging level
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
SHADERS_PATH = os.path.join(os.getcwd())
|
|
||||||
GLSLC_PATH = os.path.join(os.environ.get("VULKAN_SDK"), "bin", "glslc")
|
|
||||||
|
|
||||||
def filterFunc(fileName):
|
def filterFunc(fileName):
|
||||||
logging.info(fileName)
|
params = fileName.split(".")
|
||||||
name, ext = fileName.split(".")
|
return params[len(params) - 1] != "spv"
|
||||||
return ext != "spv"
|
|
||||||
|
|
||||||
def __main__():
|
def __main__():
|
||||||
logging.info("SHADER PATH: " + SHADERS_PATH)
|
SHADERS_PATH = os.path.join(os.getcwd())
|
||||||
logging.info("GLSLC PATH:" + GLSLC_PATH)
|
if os.name == "nt":
|
||||||
|
GLSLC_PATH = os.path.join(os.environ.get("VULKAN_SDK"), "bin", "glslc")
|
||||||
|
else:
|
||||||
|
GLSLC_PATH = "/usr/local/bin/glslc"
|
||||||
|
|
||||||
|
logging.info(str.join(" ", ["SHADER PATH:", SHADERS_PATH]))
|
||||||
|
logging.info(str.join(" ", ["GLSLC PATH:", GLSLC_PATH]))
|
||||||
|
|
||||||
shaders = filter(filterFunc, os.listdir(SHADERS_PATH))
|
shaders = filter(filterFunc, os.listdir(SHADERS_PATH))
|
||||||
for shader in shaders:
|
for shader in shaders:
|
||||||
@ -37,7 +38,8 @@ def __main__():
|
|||||||
os.path.join(SHADERS_PATH, name + "." + ext + ".spv")
|
os.path.join(SHADERS_PATH, name + "." + ext + ".spv")
|
||||||
]
|
]
|
||||||
|
|
||||||
logging.info(command + " " + str.join(" ", args))
|
logging.info(str.join(" ", ["Compiling:", shader]))
|
||||||
subprocess.run(command + " " + str.join(" ", args))
|
logging.info(str.join(" ", [command] + args))
|
||||||
|
subprocess.Popen([command] + args)
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
__main__()
|
__main__()
|
||||||
Loading…
x
Reference in New Issue
Block a user