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();
|
||||
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)
|
||||
|
||||
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.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(
|
||||
TARGET ${PROJECT_NAME}
|
||||
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/CompileShaders.py ${CMAKE_CURRENT_SOURCE_DIR}/src/Shaders
|
||||
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)
|
||||
|
||||
@ -7,24 +7,25 @@ os.chdir(sys.argv[1])
|
||||
|
||||
# Configure logging
|
||||
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)
|
||||
format="%(asctime)s - %(levelname)s - %(message)s", # Log format
|
||||
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):
|
||||
logging.info(fileName)
|
||||
name, ext = fileName.split(".")
|
||||
return ext != "spv"
|
||||
params = fileName.split(".")
|
||||
return params[len(params) - 1] != "spv"
|
||||
|
||||
def __main__():
|
||||
logging.info("SHADER PATH: " + SHADERS_PATH)
|
||||
logging.info("GLSLC PATH:" + GLSLC_PATH)
|
||||
SHADERS_PATH = os.path.join(os.getcwd())
|
||||
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))
|
||||
for shader in shaders:
|
||||
@ -37,7 +38,8 @@ def __main__():
|
||||
os.path.join(SHADERS_PATH, name + "." + ext + ".spv")
|
||||
]
|
||||
|
||||
logging.info(command + " " + str.join(" ", args))
|
||||
subprocess.run(command + " " + str.join(" ", args))
|
||||
logging.info(str.join(" ", ["Compiling:", shader]))
|
||||
logging.info(str.join(" ", [command] + args))
|
||||
subprocess.Popen([command] + args)
|
||||
if __name__ == "__main__":
|
||||
__main__()
|
||||
Loading…
x
Reference in New Issue
Block a user