Add CMake support for Visual Studio and installation, with an expected "install" for CMAKE_INSTALL_PREFIX, and updated test scripts to consume the CMake installation.

git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25791 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
John Kessenich 2014-03-11 02:10:26 +00:00
parent 6b57784690
commit d18e2d8adc
9 changed files with 134 additions and 50 deletions

View File

@ -1,9 +1,17 @@
cmake_minimum_required(VERSION 2.8) cmake_minimum_required(VERSION 2.8)
project(glslang)
add_subdirectory(glslang/MachineIndependent) add_subdirectory(glslang/MachineIndependent)
add_subdirectory(glslang/MachineIndependent/preprocessor) add_subdirectory(glslang/MachineIndependent/preprocessor)
add_subdirectory(glslang/GenericCodeGen) add_subdirectory(glslang/GenericCodeGen)
add_subdirectory(glslang/OSDependent/Linux)
add_subdirectory(OGLCompilersDLL) add_subdirectory(OGLCompilersDLL)
add_subdirectory(StandAlone) add_subdirectory(StandAlone)
if(WIN32)
add_subdirectory(glslang/OSDependent/Windows)
elseif(UNIX)
add_subdirectory(glslang/OSDependent/Linux)
else(WIN32)
message("unkown platform")
endif(WIN32)

View File

@ -1,6 +1,15 @@
cmake_minimum_required(VERSION 2.8) cmake_minimum_required(VERSION 2.8)
include_directories(. ../glslang ../glslang/OSDependent/Linux) include_directories(. ../glslang)
if(WIN32)
include_directories(${include_directories} ../glslang/OSDependent/Windows)
elseif(UNIX)
include_directories(${include_directories} ../glslang/OSDependent/Linux)
else(WIN32)
message("unkown platform")
endif(WIN32)
add_library(OGLCompiler STATIC InitializeDll.cpp) add_library(OGLCompiler STATIC InitializeDll.cpp InitializeDll.h)
install(TARGETS OGLCompiler
ARCHIVE DESTINATION lib)

View File

@ -1,13 +1,25 @@
cmake_minimum_required(VERSION 2.8) cmake_minimum_required(VERSION 2.8)
include_directories(. ../glslang/OSDependent/Linux) include_directories(.)
if(WIN32)
include_directories(${include_directories} ../glslang/OSDependent/Windows)
elseif(UNIX)
include_directories(${include_directories} ../glslang/OSDependent/Linux)
else(WIN32)
message("unkown platform")
endif(WIN32)
add_executable(glslangValidator StandAlone.cpp) add_executable(glslangValidator StandAlone.cpp)
target_link_libraries(glslangValidator target_link_libraries(glslangValidator
glslang glslang
GenericCodeGen GenericCodeGen
OSDependent OSDependent
Preprocessor Preprocessor
OGLCompiler OGLCompiler)
pthread) if(UNIX)
target_link_libraries(${target_link_libraries} pthread)
endif(UNIX)
install(TARGETS glslangValidator
RUNTIME DESTINATION bin)

2
Test/glslangValidator Executable file
View File

@ -0,0 +1,2 @@
#!/usr/bin/env bash
../build/install/bin/glslangValidator $*

View File

@ -2,7 +2,7 @@
TARGETDIR=localResults TARGETDIR=localResults
BASEDIR=baseResults BASEDIR=baseResults
EXE=./glslangValidator EXE=../build/install/bin/glslangValidator
mkdir -p localResults mkdir -p localResults
# #

View File

@ -1,29 +1,64 @@
cmake_minimum_required(VERSION 2.8) cmake_minimum_required(VERSION 2.8)
include_directories(. ../OSDependent/Linux ../../OGLCompilersDLL ${CMAKE_CURRENT_BINARY_DIR}) include_directories(. ../../OGLCompilersDLL ${CMAKE_CURRENT_BINARY_DIR})
set(SOURCES if(WIN32)
Constant.cpp include_directories(${include_directories} ../OSDependent/Windows)
InfoSink.cpp elseif(UNIX)
Initialize.cpp include_directories(${include_directories} ../OSDependent/Linux)
IntermTraverse.cpp else(WIN32)
Intermediate.cpp message("unkown platform")
ParseHelper.cpp endif(WIN32)
PoolAlloc.cpp
RemoveTree.cpp set(SOURCES
Scan.cpp Constant.cpp
ShaderLang.cpp InfoSink.cpp
SymbolTable.cpp Initialize.cpp
Versions.cpp IntermTraverse.cpp
intermOut.cpp Intermediate.cpp
limits.cpp ParseHelper.cpp
linkValidate.cpp PoolAlloc.cpp
parseConst.cpp RemoveTree.cpp
reflection.cpp) Scan.cpp
ShaderLang.cpp
find_package(BISON) SymbolTable.cpp
BISON_TARGET(GLSLParser glslang.y ${CMAKE_CURRENT_BINARY_DIR}/gen_glslang_tab.cpp Versions.cpp
COMPILE_FLAGS intermOut.cpp
"--defines=${CMAKE_CURRENT_BINARY_DIR}/glslang_tab.cpp.h") limits.cpp
linkValidate.cpp
add_library(glslang STATIC ${BISON_GLSLParser_OUTPUT_SOURCE} ${SOURCES}) parseConst.cpp
reflection.cpp)
set(HEADERS
../Public/ShaderLang.h
gl_types.h
glslang_tab.cpp.h
Initialize.h
localintermediate.h
ParseHelper.h
reflection.h
RemoveTree.h
Scan.h
ScanContext.h
SymbolTable.h
unistd.h
Versions.h)
find_package(BISON)
if(BISON_FOUND)
message("bison found")
BISON_TARGET(GLSLParser glslang.y ${CMAKE_CURRENT_BINARY_DIR}/gen_glslang_tab.cpp
COMPILE_FLAGS
"--defines=${CMAKE_CURRENT_BINARY_DIR}/glslang_tab.cpp.h")
else(BISON_FOUND)
message("using custom command for bison on glslang.y")
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/glslang_tab.cpp ${CMAKE_CURRENT_BINARY_DIR}/glslang_tab.cpp.h
COMMAND ../../tools/bison.exe --defines=${CMAKE_CURRENT_BINARY_DIR}/glslang_tab.cpp.h -t glslang.y -o ${CMAKE_CURRENT_BINARY_DIR}/glslang_tab.cpp
MAIN_DEPENDENCY glslang.y
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
set(BISON_GLSLParser_OUTPUT_SOURCE glslang_tab.cpp)
endif(BISON_FOUND)
add_library(glslang STATIC ${BISON_GLSLParser_OUTPUT_SOURCE} ${SOURCES} ${HEADERS})
install(TARGETS glslang
ARCHIVE DESTINATION lib)

View File

@ -1,14 +1,20 @@
cmake_minimum_required(VERSION 2.8) cmake_minimum_required(VERSION 2.8)
include_directories(. ..) include_directories(. ..)
set(SOURCES set(SOURCES
Pp.cpp Pp.cpp
PpAtom.cpp PpAtom.cpp
PpContext.cpp PpContext.cpp
PpMemory.cpp PpMemory.cpp
PpScanner.cpp PpScanner.cpp
PpSymbols.cpp PpSymbols.cpp
PpTokens.cpp) PpTokens.cpp)
add_library(Preprocessor STATIC ${SOURCES}) set(HEADERS
PpContext.h
PpTokens.h)
add_library(Preprocessor STATIC ${SOURCES} ${HEADERS})
install(TARGETS Preprocessor
ARCHIVE DESTINATION lib)

View File

@ -1,6 +1,10 @@
cmake_minimum_required(VERSION 2.8) cmake_minimum_required(VERSION 2.8)
include_directories(. ../../../OGLCompilersDLL) include_directories(. ../../../OGLCompilersDLL)
add_library(OSDependent STATIC ossource.cpp) add_library(OSDependent STATIC ossource.cpp osinclude.h)
install(TARGETS OSDependent
ARCHIVE DESTINATION lib)

View File

@ -0,0 +1,8 @@
cmake_minimum_required(VERSION 2.8)
include_directories(. ../../../OGLCompilersDLL)
add_library(OSDependent STATIC ossource.cpp osinclude.h)
install(TARGETS OSDependent
ARCHIVE DESTINATION lib)