Skip to content

Commit

Permalink
Merge pull request #23 from kingtaurus/master
Browse files Browse the repository at this point in the history
Proposed changes to fix issue #16.
  • Loading branch information
mikesartain committed Mar 18, 2014
2 parents b2efc44 + a046a3d commit f56fdbb
Show file tree
Hide file tree
Showing 11 changed files with 118 additions and 40 deletions.
6 changes: 6 additions & 0 deletions bin/chroot_configure.sh
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,12 @@ if [[ -n "$DO_PACKAGES" ]]; then
apt_get_install -y libncurses5-dev
apt_get_install -y libgpm-dev

# Install tinyxml
apt_get_install -y libtinyxml-dev

# Install lzma
apt_get_install -y liblzma-dev

# Install readline
apt_get_install -y libreadline6-dev

Expand Down
13 changes: 9 additions & 4 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@ set(SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}")

option(BUILD_GL_TESTS "Build OpenGL tests" TRUE)
option(BUILD_GL_SAMPLES "Build various OpenGL samples" TRUE)
option(HAS_UPDATED_LIBUNWIND "Build using unw_backtrace_skip" FALSE)

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")

find_package(LibLZMA REQUIRED)
find_package(TinyXML REQUIRED)

message("")
message("cmake options:")
Expand All @@ -19,6 +25,7 @@ message(" -DCLANG_EVERYTHING=[On|Off]: Do clang build with -Weverything.")
message(" -DUSE_TELEMETRY=[On|Off]: Build with Telemetry.")
message(" -DBUILD_GL_TESTS=[On|Off]: Build OpenGL tests.")
message(" -DBUILD_GL_SAMPLES=[On|Off]: Build OpenGL samples.")
message(" -DHAS_UPDATED_LIBUNWIND=[On|Off]: Build using unw_backtrace_skip (from valve patched libunwind)")
message("")

#
Expand All @@ -37,6 +44,8 @@ add_subdirectory(voglserver)
add_subdirectory(voglcmd)
add_subdirectory(glxspheres)
add_subdirectory(vogleditor)
add_subdirectory(libbacktrace)
add_subdirectory(libbacktrace_test)

if (BUILD_GL_TESTS)
message("Building OpenGL tests (BUILD_GL_TESTS=TRUE)")
Expand All @@ -52,7 +61,3 @@ if (BUILD_GL_SAMPLES)
else()
message("Not building OpenGL samples (BUILD_GL_SAMPLES=FALSE)")
endif()

add_subdirectory(libbacktrace)
add_subdirectory(libbacktrace_test)

75 changes: 75 additions & 0 deletions src/cmake/Modules/FindTinyXML.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
##################################################################################################
#
# CMake script for finding TinyXML.
#
# Input variables:
#
# - TinyXML_ROOT_DIR (optional): When specified, header files and libraries will be searched for in
# ${TinyXML_ROOT_DIR}/include
# ${TinyXML_ROOT_DIR}/libs
# respectively, and the default CMake search order will be ignored. When unspecified, the default
# CMake search order is used.
# This variable can be specified either as a CMake or environment variable. If both are set,
# preference is given to the CMake variable.
# Use this variable for finding packages installed in a nonstandard location, or for enforcing
# that one of multiple package installations is picked up.
#
#
# Cache variables (not intended to be used in CMakeLists.txt files)
#
# - TinyXML_INCLUDE_DIR: Absolute path to package headers.
# - TinyXML_LIBRARY: Absolute path to library.
#
#
# Output variables:
#
# - TinyXML_FOUND: Boolean that indicates if the package was found
# - TinyXML_INCLUDE_DIRS: Paths to the necessary header files
# - TinyXML_LIBRARIES: Package libraries
#
#
# Example usage:
#
# find_package(TinyXML)
# if(NOT TinyXML_FOUND)
# # Error handling
# endif()
# ...
# include_directories(${TinyXML_INCLUDE_DIRS} ...)
# ...
# target_link_libraries(my_target ${TinyXML_LIBRARIES})
#
##################################################################################################
#from: https://github.com/ros/cmake_modules/blob/0.3-devel/cmake/Modules/FindTinyXML.cmake

# Get package location hint from environment variable (if any)
if(NOT TinyXML_ROOT_DIR AND DEFINED ENV{TinyXML_ROOT_DIR})
set(TinyXML_ROOT_DIR "$ENV{TinyXML_ROOT_DIR}" CACHE PATH
"TinyXML base directory location (optional, used for nonstandard installation paths)")
endif()

# Search path for nonstandard package locations
if(TinyXML_ROOT_DIR)
set(TinyXML_INCLUDE_PATH PATHS "${TinyXML_ROOT_DIR}/include" NO_DEFAULT_PATH)
set(TinyXML_LIBRARY_PATH PATHS "${TinyXML_ROOT_DIR}/lib" NO_DEFAULT_PATH)
endif()

# Find headers and libraries
find_path(TinyXML_INCLUDE_DIR NAMES tinyxml.h PATH_SUFFIXES "tinyxml" ${TinyXML_INCLUDE_PATH})
find_library(TinyXML_LIBRARY NAMES tinyxml PATH_SUFFIXES "tinyxml" ${TinyXML_LIBRARY_PATH})

mark_as_advanced(TinyXML_INCLUDE_DIR
TinyXML_LIBRARY)

# Output variables generation
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(TinyXML DEFAULT_MSG TinyXML_LIBRARY
TinyXML_INCLUDE_DIR)

set(TinyXML_FOUND ${TINYXML_FOUND}) # Enforce case-correctness: Set appropriately cased variable...
unset(TINYXML_FOUND) # ...and unset uppercase variable generated by find_package_handle_standard_args

if(TinyXML_FOUND)
set(TinyXML_INCLUDE_DIRS ${TinyXML_INCLUDE_DIR})
set(TinyXML_LIBRARIES ${TinyXML_LIBRARY})
endif()
2 changes: 1 addition & 1 deletion src/gltests/msaa_depthstencil/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ include("${SRC_DIR}/build_options.cmake")

aux_source_directory(. SRC_LIST)

add_definitions("-Wno-unused-variable")
add_definitions("-Wno-unused-variable -std=c99")

add_executable(${PROJECT_NAME} ${SRC_LIST})

Expand Down
1 change: 1 addition & 0 deletions src/gltests/msaa_depthstencil/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,7 @@ int main( int argc , char* args[] )
}

float f = 0.0f;
typedef unsigned int uint;
uint s = 0;

while( running )
Expand Down
11 changes: 4 additions & 7 deletions src/glxspheres/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,16 @@ cmake_minimum_required(VERSION 2.8)

include("${SRC_DIR}/build_options.cmake")
find_package(X11 REQUIRED)
find_package(GLU REQUIRED)

aux_source_directory(. SRC_LIST)
set(glxsphere_SRC glxspheres.c)

include_directories(
${PROJECT_SOURCE_DIR}/../include
)

add_executable(${PROJECT_NAME} ${SRC_LIST})
add_executable(${PROJECT_NAME} ${glxsphere_SRC})

target_link_libraries(${PROJECT_NAME}
${X11_X11_LIB}
${OPENGL_LIBRARY}
m
GLU)
${GLU_LIBRARIES})

build_options_finalize()
11 changes: 9 additions & 2 deletions src/libbacktrace/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,7 @@ include_directories (
${SRC_DIR}/voglcore
${LIBUNWIND_INCLUDE_DIR}
)

add_library (backtrace STATIC EXCLUDE_FROM_ALL
${BACKTRACE_FILE}
${FORMAT_FILE}
Expand All @@ -173,10 +174,16 @@ add_library (backtrace STATIC EXCLUDE_FROM_ALL
btrace.cpp
libelftc_dem_gnu3.c
)

if(HAS_UPDATED_LIBUNWIND)
add_definitions(-DCMAKE_HAS_UPDATED_LIBUNWIND)
endif(HAS_UPDATED_LIBUNWIND)


target_link_libraries(backtrace voglcore)

find_library(LIBUNWIND_LIBRARY libunwind.a)
target_link_libraries(backtrace ${LIBUNWIND_LIBRARY})
find_library(LIBUNWIND_LIBRARY NAMES unwind libunwind REQUIRE)
target_link_libraries(backtrace ${LIBUNWIND_LIBRARY} ${LIBLZMA_LIBRARIES})

set_target_properties (backtrace PROPERTIES
COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_C_FLAGS}"
Expand Down
2 changes: 1 addition & 1 deletion src/libbacktrace/btrace.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ btrace_glinfo& btrace_get_glinfo()
int
btrace_get(uintptr_t *addrs, size_t count_addrs, uint32_t addrs_to_skip)
{
#if 1
#ifdef CMAKE_HAS_UPDATED_LIBUNWIND
return unw_backtrace_skip((void **)addrs, (int)count_addrs, addrs_to_skip);
#else
size_t count = 0;
Expand Down
22 changes: 4 additions & 18 deletions src/voglcore/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ endif ()
include("${SRC_DIR}/build_options.cmake")

include_directories(
"${PROJECT_SOURCE_DIR}/../inc"
${LZMA_INCLUDE_DIR}
${LZMADEC_INCLUDE_DIR}
"${SRC_DIR}/chromiumlib"
)

Expand Down Expand Up @@ -66,23 +67,6 @@ set(SRC_LIST
vogl_applauncher.cpp
vogl_etc.cpp
vogl_rg_etc1.cpp

lzma_7zBuf2.cpp
lzma_7zBuf.cpp
lzma_7zCrc.cpp
lzma_7zFile.cpp
lzma_7zStream.cpp
lzma_Alloc.cpp
lzma_Bcj2.cpp
lzma_Bra86.cpp
lzma_Bra.cpp
lzma_BraIA64.cpp
lzma_LzFind.cpp
# lzma_LzFindMt.cpp
lzma_LzmaDec.cpp
lzma_LzmaEnc.cpp
lzma_LzmaLib.cpp
# lzma_Threads.cpp
rmalloc.c
regex/debug.c
regex/regcomp.c
Expand Down Expand Up @@ -113,6 +97,8 @@ add_library(${PROJECT_NAME} ${SRC_LIST})
target_link_libraries(${PROJECT_NAME}
${CMAKE_THREAD_LIBS_INIT}
rt
${LZMA_LIBRARIES}
${LZMADEC_LIBRARIES}
)

build_options_finalize()
Expand Down
7 changes: 5 additions & 2 deletions src/voglgen/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,20 @@ cmake_minimum_required(VERSION 2.8)

include("${SRC_DIR}/build_options.cmake")

aux_source_directory(. SRC_LIST)
aux_source_directory(tinyxml SRC_LIST)
set(SRC_LIST voglgen.cpp)

add_definitions(-DTIXML_USE_STL)

include_directories(
${SRC_DIR}/voglcore
${TinyXML_INCLUDE_DIRS}
)

add_executable(${PROJECT_NAME} ${SRC_LIST})

target_link_libraries(${PROJECT_NAME}
voglcore
${TinyXML_LIBRARIES}
)

build_options_finalize()
Expand Down
8 changes: 3 additions & 5 deletions src/vogltrace/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
cmake_minimum_required(VERSION 2.8)
project(vogltrace)

option(VOGLTRACE_NO_PUBLIC_EXPORTS "Don't define any public GL exports in libvogltraceXX.so, this .so will only be useful for manual loading" FALSE)

Expand All @@ -9,11 +10,8 @@ if (NOT CMAKE_USE_PTHREADS_INIT)
endif ()
find_package(X11 REQUIRED)

project(vogltrace)

include_directories(${CMAKE_CURRENT_BINARY_DIR})


add_compiler_flag("-DVOGL_REMOTING")

set(SRC_LIST
Expand Down Expand Up @@ -57,9 +55,9 @@ target_link_libraries(${PROJECT_NAME}
voglcore
${CMAKE_THREAD_LIBS_INIT}
${CMAKE_DL_LIBS}
${X11_X11_LIB}
libturbojpeg.a
${X11_LIBRARIES}
rt
turbojpeg
)

build_options_finalize()
Expand Down

0 comments on commit f56fdbb

Please sign in to comment.