Add CMake support for Visual Studio and installation, with an expected "install"...
authorJohn Kessenich <cepheus@frii.com>
Tue, 11 Mar 2014 02:10:26 +0000 (02:10 +0000)
committerJohn Kessenich <cepheus@frii.com>
Tue, 11 Mar 2014 02:10:26 +0000 (02:10 +0000)
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25791 e7fa87d3-cd2b-0410-9028-fcbf551c1848

CMakeLists.txt
OGLCompilersDLL/CMakeLists.txt
StandAlone/CMakeLists.txt
Test/glslangValidator [new file with mode: 0755]
Test/runtests
glslang/MachineIndependent/CMakeLists.txt
glslang/MachineIndependent/preprocessor/CMakeLists.txt
glslang/OSDependent/Linux/CMakeLists.txt
glslang/OSDependent/Windows/CMakeLists.txt [new file with mode: 0644]

index 91c9d8a..1bbd8b8 100644 (file)
@@ -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)
index e61ce73..ad38f7a 100644 (file)
@@ -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 \r
+        ARCHIVE DESTINATION lib)\r
index 98f3816..dc68f10 100644 (file)
@@ -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)
diff --git a/Test/glslangValidator b/Test/glslangValidator
new file mode 100755 (executable)
index 0000000..856aa1a
--- /dev/null
@@ -0,0 +1,2 @@
+#!/usr/bin/env bash
+../build/install/bin/glslangValidator $*
index 5826951..a93444c 100755 (executable)
@@ -2,7 +2,7 @@
 
 TARGETDIR=localResults
 BASEDIR=baseResults
-EXE=./glslangValidator
+EXE=../build/install/bin/glslangValidator
 mkdir -p localResults
 
 #
index dfaef07..de38d6e 100644 (file)
@@ -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)\r
+\r
+include_directories(. ../../OGLCompilersDLL ${CMAKE_CURRENT_BINARY_DIR})\r
+if(WIN32)\r
+    include_directories(${include_directories} ../OSDependent/Windows)\r
+elseif(UNIX)\r
+    include_directories(${include_directories} ../OSDependent/Linux)\r
+else(WIN32)\r
+    message("unkown platform")\r
+endif(WIN32)\r
+\r
+set(SOURCES\r
+    Constant.cpp\r
+    InfoSink.cpp\r
+    Initialize.cpp\r
+    IntermTraverse.cpp\r
+    Intermediate.cpp\r
+    ParseHelper.cpp\r
+    PoolAlloc.cpp\r
+    RemoveTree.cpp\r
+    Scan.cpp\r
+    ShaderLang.cpp\r
+    SymbolTable.cpp\r
+    Versions.cpp\r
+    intermOut.cpp\r
+    limits.cpp\r
+    linkValidate.cpp\r
+    parseConst.cpp\r
+    reflection.cpp)\r
+\r
+set(HEADERS\r
+    ../Public/ShaderLang.h\r
+    gl_types.h\r
+    glslang_tab.cpp.h\r
+    Initialize.h\r
+    localintermediate.h\r
+    ParseHelper.h\r
+    reflection.h\r
+    RemoveTree.h\r
+    Scan.h\r
+    ScanContext.h\r
+    SymbolTable.h\r
+    unistd.h\r
+    Versions.h)\r
+\r
+find_package(BISON)\r
+if(BISON_FOUND)\r
+    message("bison found")\r
+    BISON_TARGET(GLSLParser glslang.y ${CMAKE_CURRENT_BINARY_DIR}/gen_glslang_tab.cpp\r
+                 COMPILE_FLAGS\r
+                 "--defines=${CMAKE_CURRENT_BINARY_DIR}/glslang_tab.cpp.h")\r
+else(BISON_FOUND)\r
+    message("using custom command for bison on glslang.y")\r
+    add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/glslang_tab.cpp ${CMAKE_CURRENT_BINARY_DIR}/glslang_tab.cpp.h\r
+                       COMMAND ../../tools/bison.exe --defines=${CMAKE_CURRENT_BINARY_DIR}/glslang_tab.cpp.h -t glslang.y -o ${CMAKE_CURRENT_BINARY_DIR}/glslang_tab.cpp\r
+                       MAIN_DEPENDENCY glslang.y\r
+                       WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})\r
+    set(BISON_GLSLParser_OUTPUT_SOURCE glslang_tab.cpp)\r
+endif(BISON_FOUND)\r
+\r
+add_library(glslang STATIC ${BISON_GLSLParser_OUTPUT_SOURCE} ${SOURCES} ${HEADERS})\r
+\r
+install(TARGETS glslang \r
+        ARCHIVE DESTINATION lib)\r
index c13a19e..71ff687 100644 (file)
@@ -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)\r
+\r
+include_directories(. ..)\r
+set(SOURCES \r
+    Pp.cpp\r
+    PpAtom.cpp\r
+    PpContext.cpp\r
+    PpMemory.cpp\r
+    PpScanner.cpp\r
+    PpSymbols.cpp\r
+    PpTokens.cpp)\r
+\r
+set(HEADERS\r
+    PpContext.h\r
+    PpTokens.h)\r
+\r
+add_library(Preprocessor STATIC ${SOURCES} ${HEADERS})\r
 
+install(TARGETS Preprocessor\r
+        ARCHIVE DESTINATION lib)\r
index 1542de8..13b53a1 100644 (file)
@@ -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 \r
+        ARCHIVE DESTINATION lib)\r
diff --git a/glslang/OSDependent/Windows/CMakeLists.txt b/glslang/OSDependent/Windows/CMakeLists.txt
new file mode 100644 (file)
index 0000000..1cedd8a
--- /dev/null
@@ -0,0 +1,8 @@
+cmake_minimum_required(VERSION 2.8)
+
+include_directories(. ../../../OGLCompilersDLL)
+
+add_library(OSDependent STATIC ossource.cpp osinclude.h)
+
+install(TARGETS OSDependent \r
+        ARCHIVE DESTINATION lib)\r