mirror of
https://github.com/RPCS3/glslang.git
synced 2024-11-23 19:29:44 +00:00
CMake: Collapse into a single library all the libraries under the glslang directory, and represent the proper hierarchy in MSVS. There are still a total of 3 libraries to link against: glslang, OGLCompiler, and OSDependent.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26137 e7fa87d3-cd2b-0410-9028-fcbf551c1848
This commit is contained in:
parent
e564fc5e85
commit
fde703438f
@ -7,20 +7,11 @@ project(glslang)
|
|||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(CMAKE_GENERATOR_TOOLSET "v110" CACHE STRING "Platform Toolset" FORCE)
|
set(CMAKE_GENERATOR_TOOLSET "v110" CACHE STRING "Platform Toolset" FORCE)
|
||||||
include(ChooseMSVCCRT.cmake)
|
include(ChooseMSVCCRT.cmake)
|
||||||
foreach(build_type ${CMAKE_CONFIGURATION_TYPES} ${CMAKE_BUILD_TYPE})
|
|
||||||
string(TOUPPER "${build_type}" build)
|
|
||||||
message("CMAKE_CXX_FLAGS_${build} are ${CMAKE_CXX_FLAGS_${build}}")
|
|
||||||
endforeach(build_type)
|
|
||||||
|
|
||||||
add_subdirectory(glslang/OSDependent/Windows)
|
|
||||||
elseif(UNIX)
|
elseif(UNIX)
|
||||||
add_subdirectory(glslang/OSDependent/Linux)
|
|
||||||
else(WIN32)
|
else(WIN32)
|
||||||
message("unkown platform")
|
message("unkown platform")
|
||||||
endif(WIN32)
|
endif(WIN32)
|
||||||
|
|
||||||
add_subdirectory(glslang/MachineIndependent)
|
add_subdirectory(glslang)
|
||||||
add_subdirectory(glslang/MachineIndependent/preprocessor)
|
|
||||||
add_subdirectory(glslang/GenericCodeGen)
|
|
||||||
add_subdirectory(OGLCompilersDLL)
|
add_subdirectory(OGLCompilersDLL)
|
||||||
add_subdirectory(StandAlone)
|
add_subdirectory(StandAlone)
|
||||||
|
@ -6,10 +6,16 @@ if(WIN32)
|
|||||||
elseif(UNIX)
|
elseif(UNIX)
|
||||||
include_directories(${include_directories} ../glslang/OSDependent/Linux)
|
include_directories(${include_directories} ../glslang/OSDependent/Linux)
|
||||||
else(WIN32)
|
else(WIN32)
|
||||||
message("unkown platform")
|
message("unknown platform")
|
||||||
endif(WIN32)
|
endif(WIN32)
|
||||||
|
|
||||||
add_library(OGLCompiler STATIC InitializeDll.cpp InitializeDll.h)
|
set(SOURCES InitializeDll.cpp InitializeDll.h)
|
||||||
|
|
||||||
|
add_library(OGLCompiler STATIC ${SOURCES})
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
source_group("Source" FILES ${SOURCES})
|
||||||
|
endif(WIN32)
|
||||||
|
|
||||||
install(TARGETS OGLCompiler
|
install(TARGETS OGLCompiler
|
||||||
ARCHIVE DESTINATION lib)
|
ARCHIVE DESTINATION lib)
|
||||||
|
@ -1,30 +1,34 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
cmake_minimum_required(VERSION 2.8)
|
||||||
|
|
||||||
include_directories(.)
|
include_directories(.)
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
include_directories(${include_directories} ../glslang/OSDependent/Windows)
|
include_directories(${include_directories} ../glslang/OSDependent/Windows)
|
||||||
elseif(UNIX)
|
elseif(UNIX)
|
||||||
include_directories(${include_directories} ../glslang/OSDependent/Linux)
|
include_directories(${include_directories} ../glslang/OSDependent/Linux)
|
||||||
else(WIN32)
|
else(WIN32)
|
||||||
message("unkown platform")
|
message("unkown platform")
|
||||||
endif(WIN32)
|
endif(WIN32)
|
||||||
|
|
||||||
add_executable(glslangValidator StandAlone.cpp)
|
set(SOURCES StandAlone.cpp)
|
||||||
|
|
||||||
set(LIBRARIES
|
add_executable(glslangValidator ${SOURCES})
|
||||||
glslang
|
|
||||||
GenericCodeGen
|
set(LIBRARIES
|
||||||
OSDependent
|
glslang
|
||||||
Preprocessor
|
OGLCompiler
|
||||||
OGLCompiler)
|
OSDependent)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(LIBRARIES ${LIBRARIES} psapi)
|
set(LIBRARIES ${LIBRARIES} psapi)
|
||||||
elseif(UNIX)
|
elseif(UNIX)
|
||||||
set(LIBRARIES ${LIBRARIES} pthread)
|
set(LIBRARIES ${LIBRARIES} pthread)
|
||||||
endif(WIN32)
|
endif(WIN32)
|
||||||
|
|
||||||
target_link_libraries(glslangValidator ${LIBRARIES})
|
target_link_libraries(glslangValidator ${LIBRARIES})
|
||||||
|
|
||||||
install(TARGETS glslangValidator
|
if(WIN32)
|
||||||
RUNTIME DESTINATION bin)
|
source_group("Source" FILES ${SOURCES})
|
||||||
|
endif(WIN32)
|
||||||
|
|
||||||
|
install(TARGETS glslangValidator
|
||||||
|
RUNTIME DESTINATION bin)
|
||||||
|
97
glslang/CMakeLists.txt
Normal file
97
glslang/CMakeLists.txt
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
cmake_minimum_required(VERSION 2.8)
|
||||||
|
|
||||||
|
include_directories(MachineIndependent ../OGLCompilersDLL ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
|
if(WIN32)
|
||||||
|
add_subdirectory(OSDependent/Windows)
|
||||||
|
include_directories(${include_directories} OSDependent/Windows)
|
||||||
|
elseif(UNIX)
|
||||||
|
add_subdirectory(OSDependent/Linux)
|
||||||
|
include_directories(${include_directories} OSDependent/Linux)
|
||||||
|
else(WIN32)
|
||||||
|
message("unkown platform")
|
||||||
|
endif(WIN32)
|
||||||
|
|
||||||
|
set(SOURCES
|
||||||
|
MachineIndependent/glslang.y
|
||||||
|
MachineIndependent/Constant.cpp
|
||||||
|
MachineIndependent/InfoSink.cpp
|
||||||
|
MachineIndependent/Initialize.cpp
|
||||||
|
MachineIndependent/IntermTraverse.cpp
|
||||||
|
MachineIndependent/Intermediate.cpp
|
||||||
|
MachineIndependent/ParseHelper.cpp
|
||||||
|
MachineIndependent/PoolAlloc.cpp
|
||||||
|
MachineIndependent/RemoveTree.cpp
|
||||||
|
MachineIndependent/Scan.cpp
|
||||||
|
MachineIndependent/ShaderLang.cpp
|
||||||
|
MachineIndependent/SymbolTable.cpp
|
||||||
|
MachineIndependent/Versions.cpp
|
||||||
|
MachineIndependent/intermOut.cpp
|
||||||
|
MachineIndependent/limits.cpp
|
||||||
|
MachineIndependent/linkValidate.cpp
|
||||||
|
MachineIndependent/parseConst.cpp
|
||||||
|
MachineIndependent/reflection.cpp
|
||||||
|
MachineIndependent/preprocessor/Pp.cpp
|
||||||
|
MachineIndependent/preprocessor/PpAtom.cpp
|
||||||
|
MachineIndependent/preprocessor/PpContext.cpp
|
||||||
|
MachineIndependent/preprocessor/PpMemory.cpp
|
||||||
|
MachineIndependent/preprocessor/PpScanner.cpp
|
||||||
|
MachineIndependent/preprocessor/PpSymbols.cpp
|
||||||
|
MachineIndependent/preprocessor/PpTokens.cpp
|
||||||
|
GenericCodeGen/CodeGen.cpp
|
||||||
|
GenericCodeGen/Link.cpp)
|
||||||
|
|
||||||
|
set(HEADERS
|
||||||
|
Public/ShaderLang.h
|
||||||
|
Include/BaseTypes.h
|
||||||
|
Include/Common.h
|
||||||
|
Include/ConstantUnion.h
|
||||||
|
Include/InfoSink.h
|
||||||
|
Include/InitializeGlobals.h
|
||||||
|
Include/intermediate.h
|
||||||
|
Include/PoolAlloc.h
|
||||||
|
Include/ResourceLimits.h
|
||||||
|
Include/revision.h
|
||||||
|
Include/ShHandle.h
|
||||||
|
Include/Types.h
|
||||||
|
MachineIndependent/gl_types.h
|
||||||
|
MachineIndependent/Initialize.h
|
||||||
|
MachineIndependent/localintermediate.h
|
||||||
|
MachineIndependent/ParseHelper.h
|
||||||
|
MachineIndependent/reflection.h
|
||||||
|
MachineIndependent/RemoveTree.h
|
||||||
|
MachineIndependent/Scan.h
|
||||||
|
MachineIndependent/ScanContext.h
|
||||||
|
MachineIndependent/SymbolTable.h
|
||||||
|
MachineIndependent/unistd.h
|
||||||
|
MachineIndependent/Versions.h
|
||||||
|
MachineIndependent/preprocessor/PpContext.h
|
||||||
|
MachineIndependent/preprocessor/PpTokens.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 MachineIndependent/glslang.y -o ${CMAKE_CURRENT_BINARY_DIR}/glslang_tab.cpp
|
||||||
|
MAIN_DEPENDENCY MachineIndependent/glslang.y
|
||||||
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
set(BISON_GLSLParser_OUTPUT_SOURCE ${CMAKE_CURRENT_BINARY_DIR}/glslang_tab.cpp)
|
||||||
|
endif(BISON_FOUND)
|
||||||
|
|
||||||
|
add_library(glslang STATIC ${BISON_GLSLParser_OUTPUT_SOURCE} ${SOURCES} ${HEADERS})
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
source_group("Public" REGULAR_EXPRESSION "Public/*")
|
||||||
|
source_group("MachineIndependent" REGULAR_EXPRESSION "MachineIndependent/[^/]*")
|
||||||
|
source_group("Generated Files" FILES ${CMAKE_CURRENT_BINARY_DIR}/glslang_tab.cpp ${CMAKE_CURRENT_BINARY_DIR}/glslang_tab.cpp.h)
|
||||||
|
source_group("Include" REGULAR_EXPRESSION "Include/[^/]*")
|
||||||
|
source_group("GenericCodeGen" REGULAR_EXPRESSION "GenericCodeGen/*")
|
||||||
|
source_group("MachineIndependent\\Preprocessor" REGULAR_EXPRESSION "MachineIndependent/preprocessor/*")
|
||||||
|
endif(WIN32)
|
||||||
|
|
||||||
|
install(TARGETS glslang
|
||||||
|
ARCHIVE DESTINATION lib)
|
@ -1,7 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8)
|
|
||||||
|
|
||||||
include_directories(. ..)
|
|
||||||
set(SOURCES CodeGen.cpp Link.cpp)
|
|
||||||
|
|
||||||
add_library(GenericCodeGen STATIC ${SOURCES})
|
|
||||||
|
|
@ -1,63 +0,0 @@
|
|||||||
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
|
|
||||||
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)
|
|
@ -1,20 +0,0 @@
|
|||||||
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)
|
|
@ -2,7 +2,13 @@ cmake_minimum_required(VERSION 2.8)
|
|||||||
|
|
||||||
include_directories(. ../../../OGLCompilersDLL)
|
include_directories(. ../../../OGLCompilersDLL)
|
||||||
|
|
||||||
add_library(OSDependent STATIC ossource.cpp osinclude.h)
|
set(SOURCES ossource.cpp osinclude.h)
|
||||||
|
|
||||||
|
add_library(OSDependent STATIC ${SOURCES})
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
source_group("Source" FILES ${SOURCES})
|
||||||
|
endif(WIN32)
|
||||||
|
|
||||||
install(TARGETS OSDependent
|
install(TARGETS OSDependent
|
||||||
ARCHIVE DESTINATION lib)
|
ARCHIVE DESTINATION lib)
|
||||||
|
Loading…
Reference in New Issue
Block a user