Skip to content

Commit

Permalink
Add CMake support for Visual Studio and installation, with an expecte…
Browse files Browse the repository at this point in the history
…d "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
  • Loading branch information
johnkslang committed Mar 11, 2014
1 parent 6b57784 commit d18e2d8
Show file tree
Hide file tree
Showing 9 changed files with 134 additions and 50 deletions.
10 changes: 9 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,17 @@
cmake_minimum_required(VERSION 2.8)

project(glslang)

add_subdirectory(glslang/MachineIndependent)
add_subdirectory(glslang/MachineIndependent/preprocessor)
add_subdirectory(glslang/GenericCodeGen)
add_subdirectory(glslang/OSDependent/Linux)
add_subdirectory(OGLCompilersDLL)
add_subdirectory(StandAlone)

if(WIN32)
add_subdirectory(glslang/OSDependent/Windows)
elseif(UNIX)
add_subdirectory(glslang/OSDependent/Linux)
else(WIN32)
message("unkown platform")
endif(WIN32)
13 changes: 11 additions & 2 deletions OGLCompilersDLL/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
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)
18 changes: 15 additions & 3 deletions StandAlone/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,13 +1,25 @@
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)

target_link_libraries(glslangValidator
glslang
GenericCodeGen
OSDependent
Preprocessor
OGLCompiler
pthread)
OGLCompiler)
if(UNIX)
target_link_libraries(${target_link_libraries} pthread)
endif(UNIX)

install(TARGETS glslangValidator
RUNTIME DESTINATION bin)
2 changes: 2 additions & 0 deletions Test/glslangValidator
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#!/usr/bin/env bash
../build/install/bin/glslangValidator $*
2 changes: 1 addition & 1 deletion Test/runtests
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

TARGETDIR=localResults
BASEDIR=baseResults
EXE=./glslangValidator
EXE=../build/install/bin/glslangValidator
mkdir -p localResults

#
Expand Down
93 changes: 64 additions & 29 deletions glslang/MachineIndependent/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,29 +1,64 @@
cmake_minimum_required(VERSION 2.8)

include_directories(. ../OSDependent/Linux ../../OGLCompilersDLL ${CMAKE_CURRENT_BINARY_DIR})
set(SOURCES
Constant.cpp
InfoSink.cpp
Initialize.cpp
IntermTraverse.cpp
Intermediate.cpp
ParseHelper.cpp
PoolAlloc.cpp
RemoveTree.cpp
Scan.cpp
ShaderLang.cpp
SymbolTable.cpp
Versions.cpp
intermOut.cpp
limits.cpp
linkValidate.cpp
parseConst.cpp
reflection.cpp)

find_package(BISON)
BISON_TARGET(GLSLParser glslang.y ${CMAKE_CURRENT_BINARY_DIR}/gen_glslang_tab.cpp
COMPILE_FLAGS
"--defines=${CMAKE_CURRENT_BINARY_DIR}/glslang_tab.cpp.h")

add_library(glslang STATIC ${BISON_GLSLParser_OUTPUT_SOURCE} ${SOURCES})

cmake_minimum_required(VERSION 2.8)

include_directories(. ../../OGLCompilersDLL ${CMAKE_CURRENT_BINARY_DIR})
if(WIN32)
include_directories(${include_directories} ../OSDependent/Windows)
elseif(UNIX)
include_directories(${include_directories} ../OSDependent/Linux)
else(WIN32)
message("unkown platform")
endif(WIN32)

set(SOURCES
Constant.cpp
InfoSink.cpp
Initialize.cpp
IntermTraverse.cpp
Intermediate.cpp
ParseHelper.cpp
PoolAlloc.cpp
RemoveTree.cpp
Scan.cpp
ShaderLang.cpp
SymbolTable.cpp
Versions.cpp
intermOut.cpp
limits.cpp
linkValidate.cpp
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)
32 changes: 19 additions & 13 deletions glslang/MachineIndependent/preprocessor/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,14 +1,20 @@
cmake_minimum_required(VERSION 2.8)

include_directories(. ..)
set(SOURCES
Pp.cpp
PpAtom.cpp
PpContext.cpp
PpMemory.cpp
PpScanner.cpp
PpSymbols.cpp
PpTokens.cpp)

add_library(Preprocessor STATIC ${SOURCES})
cmake_minimum_required(VERSION 2.8)

include_directories(. ..)
set(SOURCES
Pp.cpp
PpAtom.cpp
PpContext.cpp
PpMemory.cpp
PpScanner.cpp
PpSymbols.cpp
PpTokens.cpp)

set(HEADERS
PpContext.h
PpTokens.h)

add_library(Preprocessor STATIC ${SOURCES} ${HEADERS})

install(TARGETS Preprocessor
ARCHIVE DESTINATION lib)
6 changes: 5 additions & 1 deletion glslang/OSDependent/Linux/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@


cmake_minimum_required(VERSION 2.8)

include_directories(. ../../../OGLCompilersDLL)

add_library(OSDependent STATIC ossource.cpp)
add_library(OSDependent STATIC ossource.cpp osinclude.h)

install(TARGETS OSDependent
ARCHIVE DESTINATION lib)
8 changes: 8 additions & 0 deletions glslang/OSDependent/Windows/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -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)

0 comments on commit d18e2d8

Please sign in to comment.