Configuring Travis CI with CMake

This commit is contained in:
2017-10-04 21:21:29 -07:00
parent cfd00f40b3
commit ce191bf054
5 changed files with 64 additions and 4 deletions

View File

@@ -23,7 +23,47 @@ macro (add_sources)
endif() endif()
endmacro() endmacro()
macro (add_public_header)
file (RELATIVE_PATH _relPath "${PROJECT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}")
foreach (_src ${ARGN})
if (_relPath)
list (APPEND KRAKEN_PUBLIC_HEADERS "${_relPath}/${_src}")
else()
list (APPEND KRAKEN_PUBLIC_HEADERS "${_src}")
endif()
endforeach()
if (_relPath)
# propagate KRAKEN_PUBLIC_HEADERS to parent directory
set (KRAKEN_PUBLIC_HEADERS ${KRAKEN_PUBLIC_HEADERS} PARENT_SCOPE)
endif()
endmacro()
IF(APPLE)
# SET(GUI_TYPE MACOSX_BUNDLE)
# INCLUDE_DIRECTORIES ( /Developer/Headers/FlatCarbon )
FIND_LIBRARY(OPENGL_LIBRARY OpenGL)
FIND_LIBRARY(AUDIO_TOOLBOX_LIBRARY AudioToolbox)
MARK_AS_ADVANCED (OPENGL_LIBRARY
AUDIO_TOOLBOX_LIBRARY)
SET(EXTRA_LIBS ${OPENGL_LIBRARY} ${AUDIO_TOOLBOX_LIBRARY})
FIND_PATH(COCOA_INCLUDE_DIR OpenGL/gl3.h)
ENDIF (APPLE)
add_subdirectory(kraken) add_subdirectory(kraken)
add_library(kraken ${SRCS}) add_library(kraken STATIC ${SRCS} ${KRAKEN_PUBLIC_HEADERS})
TARGET_LINK_LIBRARIES( kraken ${EXTRA_LIBS} )
SET_TARGET_PROPERTIES(
kraken
PROPERTIES
FRAMEWORK ON
SOVERSION 0
VERSION 0.1.0
PUBLIC_HEADER "${KRAKEN_PUBLIC_HEADERS}"
PRIVATE_HEADER "${PRIVATE_HEADER_FILES}"
ARCHIVE_OUTPUT_DIRECTORY "archive"
LIBRARY_OUTPUT_DIRECTORY "lib"
OUTPUT_NAME kraken
)

View File

@@ -1,4 +1,8 @@
include_directories(public) include_directories(public)
add_subdirectory(public)
set(KRAKEN_PUBLIC_HEADERS "${KRAKEN_PUBLIC_HEADERS}" PARENT_SCOPE)
add_sources(scalar.cpp)
add_sources(vector2.cpp) add_sources(vector2.cpp)
add_sources(vector3.cpp) add_sources(vector3.cpp)
add_sources(vector4.cpp) add_sources(vector4.cpp)
@@ -6,4 +10,3 @@ add_sources(triangle3.cpp)
add_sources(quaternion.cpp) add_sources(quaternion.cpp)
add_sources(matrix4.cpp) add_sources(matrix4.cpp)
add_sources(aabb.cpp) add_sources(aabb.cpp)

View File

@@ -7,6 +7,9 @@
#include <GL/gl.h> #include <GL/gl.h>
#include <GL/glu.h> #include <GL/glu.h>
#include <GL/glext.h> #include <GL/glext.h>
#elif defined(__APPLE__)
#include <OpenGL/gl3.h>
#include <OpenGL/gl3ext.h>
#endif #endif
#include "../3rdparty/tinyxml2/tinyxml2.h" #include "../3rdparty/tinyxml2/tinyxml2.h"

View File

@@ -0,0 +1,10 @@
add_public_header(kraken.h)
add_public_header(scalar.h)
add_public_header(vector2.h)
add_public_header(vector3.h)
add_public_header(vector4.h)
add_public_header(triangle3.h)
add_public_header(quaternion.h)
add_public_header(aabb.h)
add_public_header(matrix4.h)
set(KRAKEN_PUBLIC_HEADERS "${KRAKEN_PUBLIC_HEADERS}" PARENT_SCOPE)

View File

@@ -6,10 +6,14 @@
// Copyright (c) 2013 Kearwood Software. All rights reserved. // Copyright (c) 2013 Kearwood Software. All rights reserved.
// //
#include "public\kraken.h" #include "public/kraken.h"
float kraken::SmoothStep(float a, float b, float t) namespace kraken {
float SmoothStep(float a, float b, float t)
{ {
float d = (3.0 * t * t - 2.0 * t * t * t); float d = (3.0 * t * t - 2.0 * t * t * t);
return a * (1.0f - d) + b * d; return a * (1.0f - d) + b * d;
} }
} // namespace kraken