mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-08 06:22:14 +02:00
Changed the way shader type is sent to Scribe
This commit is contained in:
parent
7b420d48e2
commit
54690219e3
2 changed files with 24 additions and 13 deletions
|
@ -54,13 +54,13 @@ function(AUTOSCRIBE_SHADER SHADER_FILE)
|
|||
# Target dependant Custom rule on the SHADER_FILE
|
||||
if (APPLE)
|
||||
set(GLPROFILE MAC_GL)
|
||||
set(SCRIBE_ARGS -c++ -${SHADER_TYPE} -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE})
|
||||
set(SCRIBE_ARGS -c++ -T ${SHADER_TYPE} -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE})
|
||||
|
||||
add_custom_command(OUTPUT ${SHADER_TARGET_HEADER} COMMAND scribe ${SCRIBE_ARGS} DEPENDS scribe)
|
||||
add_custom_command(OUTPUT ${SHADER_TARGET_SOURCE} COMMAND scribe ${SCRIBE_ARGS} DEPENDS scribe ${SHADER_INCLUDE_FILES} ${SHADER_FILE})
|
||||
elseif (ANDROID)
|
||||
set(GLPROFILE LINUX_GL)
|
||||
set(SCRIBE_ARGS -c++ -${SHADER_TYPE} -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE})
|
||||
set(SCRIBE_ARGS -c++ -T ${SHADER_TYPE} -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE})
|
||||
|
||||
# for an android build, we can't use the scribe that cmake would normally produce as a target,
|
||||
# since it's unrunnable by the cross-compiling build machine
|
||||
|
@ -80,13 +80,13 @@ function(AUTOSCRIBE_SHADER SHADER_FILE)
|
|||
add_custom_command(OUTPUT ${SHADER_TARGET_SOURCE} COMMAND ${NATIVE_SCRIBE} ${SCRIBE_ARGS} DEPENDS ${SHADER_INCLUDE_FILES} ${SHADER_FILE})
|
||||
elseif (UNIX)
|
||||
set(GLPROFILE LINUX_GL)
|
||||
set(SCRIBE_ARGS -c++ -${SHADER_TYPE} -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE})
|
||||
set(SCRIBE_ARGS -c++ -T ${SHADER_TYPE} -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE})
|
||||
|
||||
add_custom_command(OUTPUT ${SHADER_TARGET_HEADER} COMMAND scribe ${SCRIBE_ARGS} DEPENDS scribe)
|
||||
add_custom_command(OUTPUT ${SHADER_TARGET_SOURCE} COMMAND scribe ${SCRIBE_ARGS} DEPENDS scribe ${SHADER_INCLUDE_FILES} ${SHADER_FILE})
|
||||
else ()
|
||||
set(GLPROFILE PC_GL)
|
||||
set(SCRIBE_ARGS -c++ -${SHADER_TYPE} -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE})
|
||||
set(SCRIBE_ARGS -c++ -T ${SHADER_TYPE} -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE})
|
||||
|
||||
add_custom_command(OUTPUT ${SHADER_TARGET_HEADER} ${SHADER_TARGET_SOURCE} COMMAND scribe ${SCRIBE_ARGS} DEPENDS scribe ${SHADER_INCLUDE_FILES} ${SHADER_FILE})
|
||||
endif()
|
||||
|
|
|
@ -41,6 +41,7 @@ int main (int argc, char** argv) {
|
|||
GRAB_VAR_VALUE,
|
||||
GRAB_INCLUDE_PATH,
|
||||
GRAB_TARGET_NAME,
|
||||
GRAB_SHADER_TYPE,
|
||||
EXIT,
|
||||
} mode = READY;
|
||||
|
||||
|
@ -78,15 +79,8 @@ int main (int argc, char** argv) {
|
|||
} else if (inputs.back() == "-c++") {
|
||||
makeCPlusPlus = true;
|
||||
mode = READY;
|
||||
} else if (inputs.back() == "-vert") {
|
||||
type = VERTEX;
|
||||
mode = READY;
|
||||
} else if (inputs.back() == "-frag") {
|
||||
type = FRAGMENT;
|
||||
mode = READY;
|
||||
} else if (inputs.back() == "-geom") {
|
||||
type = GEOMETRY;
|
||||
mode = READY;
|
||||
} else if (inputs.back() == "-T") {
|
||||
mode = GRAB_SHADER_TYPE;
|
||||
} else {
|
||||
// just grabbed the source filename, stop parameter parsing
|
||||
srcFilename = inputs.back();
|
||||
|
@ -127,6 +121,21 @@ int main (int argc, char** argv) {
|
|||
}
|
||||
break;
|
||||
|
||||
case GRAB_SHADER_TYPE:
|
||||
{
|
||||
if (inputs.back() == "frag") {
|
||||
type = FRAGMENT;
|
||||
} else if (inputs.back() == "geom") {
|
||||
type = GEOMETRY;
|
||||
} else if (inputs.back() == "vert") {
|
||||
type = VERTEX;
|
||||
} else {
|
||||
cerr << "Unrecognized shader type. Supported is vert, frag or geom" << endl;
|
||||
}
|
||||
mode = READY;
|
||||
}
|
||||
break;
|
||||
|
||||
case EXIT: {
|
||||
// THis shouldn't happen
|
||||
}
|
||||
|
@ -145,6 +154,8 @@ int main (int argc, char** argv) {
|
|||
cerr << " -listVars : Will list the vars name and value in the standard output." << endl;
|
||||
cerr << " -showParseTree : Draw the tree obtained while parsing the source" << endl;
|
||||
cerr << " -c++ : Generate a c++ source file containing the output file stream stored as a char[] variable" << endl;
|
||||
cerr << " -T vert/frag/geom : define the type of the shader. Defaults to VERTEX if not specified." << endl;
|
||||
cerr << " This is necessary if the -c++ option is used." << endl;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue