forked from pe-brian/Zoom
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Pierre-Emmanuel Brian
committed
May 27, 2012
0 parents
commit 308202e
Showing
26 changed files
with
2,597 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
*.doc diff=astextplain | ||
*.DOC diff=astextplain | ||
*.docx diff=astextplain | ||
*.DOCX diff=astextplain | ||
*.dot diff=astextplain | ||
*.DOT diff=astextplain | ||
*.pdf diff=astextplain | ||
*.PDF diff=astextplain | ||
*.rtf diff=astextplain | ||
*.RTF diff=astextplain | ||
|
||
*.jpg binary | ||
*.png binary | ||
*.gif binary | ||
|
||
*.cs text=auto diff=csharp | ||
*.vb text=auto | ||
*.c text=auto | ||
*.cpp text=auto | ||
*.cxx text=auto | ||
*.h text=auto | ||
*.hxx text=auto | ||
*.py text=auto | ||
*.rb text=auto | ||
*.java text=auto | ||
*.html text=auto | ||
*.htm text=auto | ||
*.css text=auto | ||
*.scss text=auto | ||
*.sass text=auto | ||
*.less text=auto | ||
*.js text=auto | ||
*.lisp text=auto | ||
*.clj text=auto | ||
*.sql text=auto | ||
*.php text=auto | ||
*.lua text=auto | ||
*.m text=auto | ||
*.asm text=auto | ||
*.erl text=auto | ||
*.fs text=auto | ||
*.fsx text=auto | ||
*.hs text=auto | ||
|
||
*.csproj text=auto merge=union | ||
*.vbproj text=auto merge=union | ||
*.fsproj text=auto merge=union | ||
*.dbproj text=auto merge=union | ||
*.sln text=auto eol=crlf merge=union |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
################################################################################# | ||
# | ||
# Zinetic C++ Library | ||
# Copyright (c) 2011-2012 ZinTech | ||
# | ||
# This software is provided 'as-is', without any express or implied | ||
# warranty. In no event will the authors be held liable for any damages | ||
# arising from the use of this software. | ||
# | ||
# Permission is granted to anyone to use this software for any purpose, | ||
# including commercial applications, and to alter it and redistribute it | ||
# freely, subject to the following restrictions: | ||
# | ||
# 1. The origin of this software must not be misrepresented; you must not | ||
# claim that you wrote the original software. If you use this software | ||
# in a product, an acknowledgment in the product documentation would be | ||
# appreciated but is not required. | ||
# | ||
# 2. Altered source versions must be plainly marked as such, and must not be | ||
# misrepresented as being the original software. | ||
# | ||
# 3. This notice may not be removed or altered from any source distribution. | ||
# | ||
################################################################################# | ||
|
||
# set the version of cmake | ||
cmake_minimum_required(VERSION 2.8) | ||
|
||
# set the rootdir | ||
set(ROOTDIR ${CMAKE_SOURCE_DIR}) | ||
|
||
# specify the cmake configuration file | ||
include(cmake/config.cmake) | ||
|
||
# set the include directory | ||
include_directories( | ||
${ROOTDIR}/include | ||
${ZOOST_INCLUDE_DIR} | ||
${SFML_INCLUDE_DIR} | ||
) | ||
|
||
# set the compilation options | ||
add_definitions( | ||
-Wfatal-errors | ||
-std=c++0x | ||
-DZOOM_EXPORTS | ||
) | ||
|
||
# add an option for choosing the build type (shared or static) | ||
set(BUILD_SHARED_LIBS TRUE CACHE BOOL "TRUE to build SFML as shared libraries, FALSE to build it as static libraries") | ||
|
||
# add an option for building the examples | ||
set(BUILD_EXAMPLES FALSE CACHE BOOL "TRUE to build the SFML examples, FALSE to ignore them") | ||
|
||
# add the source files | ||
add_subdirectory(src) | ||
|
||
# add the examples files | ||
if(BUILD_EXAMPLES) | ||
add_subdirectory(examples) | ||
endif() | ||
|
||
install( | ||
DIRECTORY ./include/Zoom | ||
DESTINATION include | ||
COMPONENT devel | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
if (NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") | ||
message(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"") | ||
endif(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") | ||
|
||
file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files) | ||
string(REGEX REPLACE "\n" ";" files "${files}") | ||
foreach (file ${files}) | ||
message(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"") | ||
if (EXISTS "$ENV{DESTDIR}${file}") | ||
execute_process( | ||
COMMAND @CMAKE_COMMAND@ -E remove "$ENV{DESTDIR}${file}" | ||
OUTPUT_VARIABLE rm_out | ||
RESULT_VARIABLE rm_retval | ||
) | ||
if(NOT ${rm_retval} EQUAL 0) | ||
message(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"") | ||
endif (NOT ${rm_retval} EQUAL 0) | ||
else (EXISTS "$ENV{DESTDIR}${file}") | ||
message(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.") | ||
endif (EXISTS "$ENV{DESTDIR}${file}") | ||
endforeach(file) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
cmake_minimum_required(VERSION 2.8) | ||
|
||
if(NOT ZOOM_CONFIG_DEFINED) | ||
set(ZOOM_CONFIG_DEFINED 1) | ||
configure_file( | ||
"${ROOTDIR}/cmake/cmake_uninstall.cmake.in" | ||
"${ROOTDIR}/cmake_uninstall.cmake" | ||
IMMEDIATE @ONLY) | ||
|
||
add_custom_target(uninstall | ||
COMMAND ${CMAKE_COMMAND} -P | ||
${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake) | ||
|
||
set(CMAKE_MODULE_PATH ${ROOTDIR}/cmake/modules) | ||
|
||
set(EXECUTABLE_OUTPUT_PATH ${ROOTDIR}/examples/bin) | ||
set(LIBRARY_OUTPUT_PATH ${ROOTDIR}/lib) | ||
|
||
# detect the OS | ||
if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") | ||
set(WINDOWS 1) | ||
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") | ||
set(LINUX 1) | ||
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") | ||
set(MACOSX 1) | ||
else() | ||
message(WARNING "Unsupported operating system") | ||
return() | ||
endif() | ||
|
||
find_package(OpenGL REQUIRED) | ||
find_package(SFML REQUIRED graphics window system) | ||
find_package(Zoost REQUIRED) | ||
|
||
if(NOT ${SFML_FOUND}) | ||
message( ERROR "Can't compile, SFML not found") | ||
endif() | ||
|
||
if(NOT ${ZOOST_FOUND}) | ||
message( ERROR "Can't compile, Zoost not found") | ||
endif() | ||
endif() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,174 @@ | ||
# Locate the SFML library | ||
# | ||
# This module defines the following variables: | ||
# - For each module XXX (SYSTEM, WINDOW, GRAPHICS, NETWORK, AUDIO, MAIN): | ||
# - SFML_XXX_LIBRARY_DEBUG, the name of the debug library of the xxx module (set to SFML_XXX_LIBRARY_RELEASE is no debug version is found) | ||
# - SFML_XXX_LIBRARY_RELEASE, the name of the release library of the xxx module (set to SFML_XXX_LIBRARY_DEBUG is no release version is found) | ||
# - SFML_XXX_LIBRARY, the name of the library to link to for the xxx module (includes both debug and optimized names if necessary) | ||
# - SFML_XXX_FOUND, true if either the debug or release library of the xxx module is found | ||
# - SFML_LIBRARIES, the list of all libraries corresponding to the required modules | ||
# - SFML_FOUND, true if all the required modules are found | ||
# - SFML_INCLUDE_DIR, the path where SFML headers are located (the directory containing the SFML/Config.hpp file) | ||
# | ||
# By default, the dynamic libraries of SFML will be found. To find the static ones instead, | ||
# you must set the SFML_STATIC_LIBRARIES variable to TRUE before calling find_package(SFML ...). | ||
# In case of static linking, the SFML_STATIC macro will also be defined by this script. | ||
# | ||
# On Mac OS X if SFML_STATIC_LIBRARIES is not set to TRUE then by default CMake will search for frameworks unless | ||
# CMAKE_FIND_FRAMEWORK is set to "NEVER" for example. Please refer to CMake documentation for more details. | ||
# Moreover, keep in mind that SFML frameworks are only available as release libraries unlike dylibs which | ||
# are available for both release and debug modes. | ||
# | ||
# If SFML is not installed in a standard path, you can use the SFMLDIR CMake variable or environment variable | ||
# to tell CMake where SFML is. | ||
|
||
# define the SFML_STATIC macro if static build was chosen | ||
if(SFML_STATIC_LIBRARIES) | ||
add_definitions(-DSFML_STATIC) | ||
endif() | ||
|
||
# deduce the libraries suffix from the options | ||
set(FIND_SFML_LIB_SUFFIX "") | ||
if(SFML_STATIC_LIBRARIES) | ||
set(FIND_SFML_LIB_SUFFIX "${FIND_SFML_LIB_SUFFIX}-s") | ||
endif() | ||
|
||
# find the SFML include directory | ||
find_path(SFML_INCLUDE_DIR SFML/Config.hpp | ||
PATH_SUFFIXES include | ||
PATHS | ||
~/Library/Frameworks | ||
/Library/Frameworks | ||
/usr/local/ | ||
/usr/ | ||
/sw # Fink | ||
/opt/local/ # DarwinPorts | ||
/opt/csw/ # Blastwave | ||
/opt/ | ||
${SFMLDIR} | ||
$ENV{SFMLDIR}) | ||
|
||
# check the version number | ||
set(SFML_VERSION_OK TRUE) | ||
if(SFML_FIND_VERSION AND SFML_INCLUDE_DIR) | ||
# extract the major and minor version numbers from SFML/Config.hpp | ||
FILE(READ "${SFML_INCLUDE_DIR}/SFML/Config.hpp" SFML_CONFIG_HPP_CONTENTS) | ||
STRING(REGEX MATCH ".*#define SFML_VERSION_MAJOR ([0-9]+).*#define SFML_VERSION_MINOR ([0-9]+).*" SFML_CONFIG_HPP_CONTENTS "${SFML_CONFIG_HPP_CONTENTS}") | ||
STRING(REGEX REPLACE ".*#define SFML_VERSION_MAJOR ([0-9]+).*" "\\1" SFML_VERSION_MAJOR "${SFML_CONFIG_HPP_CONTENTS}") | ||
STRING(REGEX REPLACE ".*#define SFML_VERSION_MINOR ([0-9]+).*" "\\1" SFML_VERSION_MINOR "${SFML_CONFIG_HPP_CONTENTS}") | ||
math(EXPR SFML_REQUESTED_VERSION "${SFML_FIND_VERSION_MAJOR} * 10 + ${SFML_FIND_VERSION_MINOR}") | ||
|
||
# if we could extract them, compare with the requested version number | ||
if (SFML_VERSION_MAJOR) | ||
# transform version numbers to an integer | ||
math(EXPR SFML_VERSION "${SFML_VERSION_MAJOR} * 10 + ${SFML_VERSION_MINOR}") | ||
|
||
# compare them | ||
if(SFML_VERSION LESS SFML_REQUESTED_VERSION) | ||
set(SFML_VERSION_OK FALSE) | ||
endif() | ||
else() | ||
# SFML version is < 2.0 | ||
if (SFML_REQUESTED_VERSION GREATER 19) | ||
set(SFML_VERSION_OK FALSE) | ||
set(SFML_VERSION_MAJOR 1) | ||
set(SFML_VERSION_MINOR x) | ||
endif() | ||
endif() | ||
endif() | ||
|
||
# find the requested modules | ||
set(SFML_FOUND TRUE) # will be set to false if one of the required modules is not found | ||
set(FIND_SFML_LIB_PATHS ~/Library/Frameworks | ||
/Library/Frameworks | ||
/usr/local | ||
/usr | ||
/sw | ||
/opt/local | ||
/opt/csw | ||
/opt | ||
${SFMLDIR} | ||
$ENV{SFMLDIR}) | ||
foreach(FIND_SFML_COMPONENT ${SFML_FIND_COMPONENTS}) | ||
string(TOLOWER ${FIND_SFML_COMPONENT} FIND_SFML_COMPONENT_LOWER) | ||
string(TOUPPER ${FIND_SFML_COMPONENT} FIND_SFML_COMPONENT_UPPER) | ||
set(FIND_SFML_COMPONENT_NAME sfml-${FIND_SFML_COMPONENT_LOWER}${FIND_SFML_LIB_SUFFIX}) | ||
|
||
# no suffix for sfml-main, it is always a static library | ||
if(FIND_SFML_COMPONENT_LOWER STREQUAL "main") | ||
set(FIND_SFML_COMPONENT_NAME sfml-${FIND_SFML_COMPONENT_LOWER}) | ||
endif() | ||
|
||
# debug library | ||
find_library(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DEBUG | ||
NAMES ${FIND_SFML_COMPONENT_NAME}-d | ||
PATH_SUFFIXES lib64 lib | ||
PATHS ${FIND_SFML_LIB_PATHS}) | ||
|
||
# release library | ||
find_library(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_RELEASE | ||
NAMES ${FIND_SFML_COMPONENT_NAME} | ||
PATH_SUFFIXES lib64 lib | ||
PATHS ${FIND_SFML_LIB_PATHS}) | ||
|
||
if (SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DEBUG OR SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_RELEASE) | ||
# library found | ||
set(SFML_${FIND_SFML_COMPONENT_UPPER}_FOUND TRUE) | ||
|
||
# if both are found, set SFML_XXX_LIBRARY to contain both | ||
if (SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DEBUG AND SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_RELEASE) | ||
set(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY debug ${SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DEBUG} | ||
optimized ${SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_RELEASE}) | ||
endif() | ||
|
||
# if only one debug/release variant is found, set the other to be equal to the found one | ||
if (SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DEBUG AND NOT SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_RELEASE) | ||
# debug and not release | ||
set(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_RELEASE ${SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DEBUG}) | ||
set(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY ${SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DEBUG}) | ||
endif() | ||
if (SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_RELEASE AND NOT SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DEBUG) | ||
# release and not debug | ||
set(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DEBUG ${SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_RELEASE}) | ||
set(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY ${SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_RELEASE}) | ||
endif() | ||
else() | ||
# library not found | ||
set(SFML_FOUND FALSE) | ||
set(SFML_${FIND_SFML_COMPONENT_UPPER}_FOUND FALSE) | ||
set(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY "") | ||
set(FIND_SFML_MISSING "${FIND_SFML_MISSING} SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY") | ||
endif() | ||
|
||
# mark as advanced | ||
MARK_AS_ADVANCED(SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY | ||
SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_RELEASE | ||
SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY_DEBUG) | ||
|
||
# add to the global list of libraries | ||
set(SFML_LIBRARIES ${SFML_LIBRARIES} "${SFML_${FIND_SFML_COMPONENT_UPPER}_LIBRARY}") | ||
endforeach() | ||
|
||
# handle errors | ||
if(NOT SFML_VERSION_OK) | ||
# SFML version not ok | ||
set(FIND_SFML_ERROR "SFML found but version too low (requested: ${SFML_FIND_VERSION}, found: ${SFML_VERSION_MAJOR}.${SFML_VERSION_MINOR})") | ||
set(SFML_FOUND FALSE) | ||
elseif(NOT SFML_FOUND) | ||
# include directory or library not found | ||
set(FIND_SFML_ERROR "Could NOT find SFML (missing: ${FIND_SFML_MISSING})") | ||
endif() | ||
if (NOT SFML_FOUND) | ||
if(SFML_FIND_REQUIRED) | ||
# fatal error | ||
message(FATAL_ERROR ${FIND_SFML_ERROR}) | ||
elseif(NOT SFML_FIND_QUIETLY) | ||
# error but continue | ||
message("${FIND_SFML_ERROR}") | ||
endif() | ||
endif() | ||
|
||
# handle success | ||
if(SFML_FOUND) | ||
message("Found SFML: ${SFML_INCLUDE_DIR}") | ||
endif() |
Oops, something went wrong.