Skip to content

Commit

Permalink
Linux CMake fixes. Should compile out of the box now.
Browse files Browse the repository at this point in the history
  • Loading branch information
ivansafrin committed Jun 15, 2011
1 parent f5467f3 commit f49d134
Show file tree
Hide file tree
Showing 11 changed files with 227 additions and 36 deletions.
1 change: 1 addition & 0 deletions CMake/ExternalOpenAL.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ SET(openal_PREFIX ${CMAKE_CURRENT_BINARY_DIR}/openal)

SET(openal_CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
-DLIBTYPE=STATIC
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_DEBUG_POSTFIX=d
)
Expand Down
41 changes: 24 additions & 17 deletions CMake/FindAssimp.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -8,36 +8,43 @@
# ASSIMP_LIBRARY - Link these to use Assimp
# ASSIMP_LIBRARIES

SET(ASSIMP_SEARCH_PATHS
${POLYCODE_RELEASE_DIR}/Framework/Tools/Dependencies/lib
${POLYCODE_RELEASE_DIR}/Framework/Tools/Dependencies/include/assimp
${POLYCODE_RELEASE_DIR}/Framework/Tools/Dependencies/include/
)


find_path (ASSIMP_INCLUDE_DIR NAMES assimp.h
PATH_SUFFIXES include/assimp include
PATHS ENV{CPATH} $ENV{ASSIMP_DIR} $ENV{ASSIMP_DIR}/include $ENV{INCLUDE} $ENV{INCLUDE}
/usr/include /usr/local/include /opt/local/include ENV INCLUDE/assimp
${ASSIMP_ROOT}/include
HINTS
NO_DEFAULT_PATH
NO_CMAKE_ENVIRONMENT_PATH
NO_CMAKE_SYSTEM_PATH
NO_SYSTEM_ENVIRONMENT_PATH
NO_CMAKE_PATH
CMAKE_FIND_FRAMEWORK NEVER
PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
PATHS ${ASSIMP_SEARCH_PATHS}
)

set (LIB_PATHS $ENV{LD_LIBRARY_PATH} $ENV{LIBRARY_PATH} $ENV{LIB}
/usr/lib /usr/local/lib /opt/local/lib
${ASSIMP_INCLUDE_DIR}/../lib)
find_library (ASSIMP_LIBRARY_DEBUG NAMES assimpd libassimpd libassimp_d PATHS ${ASSIMP_SEARCH_PATHS})
find_library (ASSIMP_LIBRARY_RELEASE NAMES assimp libassimp PATHS ${ASSIMP_SEARCH_PATHS})

find_library (ASSIMP_LIBRARY_DEBUG NAMES assimpd PATHS ${LIB_PATHS})
find_library (ASSIMP_LIBRARY_RELEASE NAMES assimp PATHS ${LIB_PATHS})

if (ASSIMP_INCLUDE_DIR AND ASSIMP_LIBRARY_DEBUG AND ASSIMP_LIBRARY_RELEASE)
if (ASSIMP_INCLUDE_DIR AND ASSIMP_LIBRARY_RELEASE)
set(ASSIMP_FOUND TRUE)
endif()

if (ASSIMP_LIBRARY_RELEASE)
set (ASSIMP_LIBRARY ${ASSIMP_LIBRARY_RELEASE})
endif()

if (ASSIMP_LIBRARY_DEBUG AND ASSIMP_LIBRARY_RELEASE)
if (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
set (ASSIMP_LIBRARY debug ${ASSIMP_LIBRARY_DEBUG} optimized ${ASSIMP_LIBRARY_RELEASE} )
else()
set (ASSIMP_LIBRARY ${ASSIMP_LIBRARY_RELEASE})
endif()
# FIXME: This probably should be set for both cases
set (ASSIMP_LIBRARIES debug ${ASSIMP_LIBRARY_DEBUG} optimized ${ASSIMP_LIBRARY_RELEASE})
endif()


if (ASSIMP_FOUND)
MESSAGE("-- Found Assimp ${ASSIMP_LIBRARIES}")
mark_as_advanced (ASSIMP_INCLUDE_DIR ASSIMP_LIBRARY ASSIMP_LIBRARIES)
endif()

Expand Down
147 changes: 147 additions & 0 deletions CMake/FindBullet.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@

SET(BULLET_SEARCH_PATHS
${POLYCODE_RELEASE_DIR}/Framework/Core/Dependencies/lib
${POLYCODE_RELEASE_DIR}/Framework/Modules/Dependencies/lib
${POLYCODE_RELEASE_DIR}/Framework/Modules/Dependencies/include/bullet
${POLYCODE_RELEASE_DIR}/Framework/Tools/Dependencies/lib
)

# - Try to find Bullet
# Once done this will define
#
# BULLET_FOUND - system has bullet
# BULLET_INCLUDE_DIR - the bullet include directory
# BULLET_LIBRARIES - Link these to use Collada DOM
#

SET(BULLETDYNAMICS "BulletDynamics")
SET(BULLETCOLLISION "BulletCollision")
SET(BULLETMATH "LinearMath")
SET(BULLETSOFTBODY "BulletSoftBody")
SET(BULLETMULTITHREADED "BulletMultiThreaded")

FIND_PATH(BULLET_INCLUDE_DIR NAMES btBulletCollisionCommon.h
HINTS
NO_DEFAULT_PATH
NO_CMAKE_ENVIRONMENT_PATH
NO_CMAKE_SYSTEM_PATH
NO_SYSTEM_ENVIRONMENT_PATH
NO_CMAKE_PATH
CMAKE_FIND_FRAMEWORK NEVER
PATHS ${BULLET_SEARCH_PATHS}
)

FIND_LIBRARY(LIBBULLETDYNAMICS
NAMES
${BULLETDYNAMICS}
HINTS
NO_DEFAULT_PATH
NO_CMAKE_ENVIRONMENT_PATH
NO_CMAKE_SYSTEM_PATH
NO_SYSTEM_ENVIRONMENT_PATH
NO_CMAKE_PATH
CMAKE_FIND_FRAMEWORK NEVER
$ENV{BULLETDIR}
$ENV{BULLET_PATH}
PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
PATHS ${BULLET_SEARCH_PATHS}
)

IF(NOT LIBBULLETDYNAMICS)
MESSAGE ("WARNING: Could not find Bullet Dynamics - depending targets will be disabled.")
ENDIF(NOT LIBBULLETDYNAMICS)


FIND_LIBRARY(LIBBULLETCOLLISION
NAMES
${BULLETCOLLISION}
HINTS
NO_DEFAULT_PATH
NO_CMAKE_ENVIRONMENT_PATH
NO_CMAKE_SYSTEM_PATH
NO_SYSTEM_ENVIRONMENT_PATH
NO_CMAKE_PATH
CMAKE_FIND_FRAMEWORK NEVER
$ENV{BULLETDIR}
$ENV{BULLET_PATH}
PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
PATHS ${BULLET_SEARCH_PATHS}
)

IF(NOT LIBBULLETCOLLISION)
MESSAGE ("WARNING: Could not find Bullet Collision - depending targets will be disabled.")
ENDIF(NOT LIBBULLETCOLLISION)

FIND_LIBRARY(LIBBULLETMATH
NAMES
${BULLETMATH}
HINTS
NO_DEFAULT_PATH
NO_CMAKE_ENVIRONMENT_PATH
NO_CMAKE_SYSTEM_PATH
NO_SYSTEM_ENVIRONMENT_PATH
NO_CMAKE_PATH
CMAKE_FIND_FRAMEWORK NEVER
$ENV{BULLETDIR}
$ENV{BULLET_PATH}
PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
PATHS ${BULLET_SEARCH_PATHS}
)

IF(NOT LIBBULLETMATH)
MESSAGE ("WARNING: Could not find Bullet Math - depending targets will be disabled.")
ENDIF(NOT LIBBULLETMATH)

FIND_LIBRARY(LIBBULLETSOFTBODY
NAMES
${BULLETSOFTBODY}
HINTS
NO_DEFAULT_PATH
NO_CMAKE_ENVIRONMENT_PATH
NO_CMAKE_SYSTEM_PATH
NO_SYSTEM_ENVIRONMENT_PATH
NO_CMAKE_PATH
CMAKE_FIND_FRAMEWORK NEVER
$ENV{BULLETDIR}
$ENV{BULLET_PATH}
PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
PATHS ${BULLET_SEARCH_PATHS}
)

IF(NOT LIBBULLETSOFTBODY)
MESSAGE ("WARNING: Could not find Bullet SoftBody - depending targets will be disabled.")
ENDIF(NOT LIBBULLETSOFTBODY)


FIND_LIBRARY(LIBBULLETMULTITHREADED
NAMES
${BULLETMULTITHREADED}
HINTS
NO_DEFAULT_PATH
NO_CMAKE_ENVIRONMENT_PATH
NO_CMAKE_SYSTEM_PATH
NO_SYSTEM_ENVIRONMENT_PATH
NO_CMAKE_PATH
CMAKE_FIND_FRAMEWORK NEVER
$ENV{BULLETDIR}
$ENV{BULLET_PATH}
PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
PATHS ${BULLET_SEARCH_PATHS}
)

IF(NOT LIBBULLETMULTITHREADED)
MESSAGE ("WARNING: Could not find Bullet MultiThreaded - depending targets will be disabled.")
ENDIF(NOT LIBBULLETMULTITHREADED)

SET(BULLET_LIBRARIES ${LIBBULLETMULTITHREADED} ${LIBBULLETSOFTBODY} ${LIBBULLETDYNAMICS} ${LIBBULLETCOLLISION} ${LIBBULLETMATH})

IF(BULLET_INCLUDE_DIR AND BULLET_LIBRARIES)
SET(BULLET_FOUND TRUE)
ENDIF(BULLET_INCLUDE_DIR AND BULLET_LIBRARIES)

# show the BULLET_INCLUDE_DIR and BULLET_LIBRARIES variables only in the advanced view
IF(BULLET_FOUND)
MESSAGE ("Bullet found (${BULLET_INCLUDE_DIR}) (${BULLET_LIBRARIES})")
MARK_AS_ADVANCED(BULLET_INCLUDE_DIR BULLET_LIBRARIES )
ENDIF(BULLET_FOUND)

4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@ ENDIF(NOT CMAKE_BUILD_TYPE)
# Options for what components to build
#OPTION(POLYCODE_BUILD_SHARED "Build Polycode shared libraries" OFF)
#OPTION(POLYCODE_BUILD_STATIC "Build Polycode static libraries" ON)
OPTION(POLYCODE_BUILD_BINDINGS "Build Polycode Lua bindings" ON)
OPTION(POLYCODE_BUILD_BINDINGS "Build Polycode Lua bindings" OFF)
OPTION(POLYCODE_BUILD_MODULES "Build Polycode modules" ON)
OPTION(POLYCODE_BUILD_PLAYER "Build Polycode standalone player" OFF)
OPTION(POLYCODE_BUILD_TOOLS "Build Polycode tools" ON)
OPTION(POLYCODE_BUILD_DOCS "Build Polycode documentation" ON)
OPTION(POLYCODE_BUILD_DOCS "Build Polycode documentation" OFF)

OPTION(POLYCODE_INSTALL_FRAMEWORK "Install Polycode Core, Modules and Tools" ON)
OPTION(POLYCODE_INSTALL_PLAYER "Install Polycode Player" ${POLYCODE_BUILD_PLAYER})
Expand Down
24 changes: 14 additions & 10 deletions Dependencies/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@ SET(POLYCODE_DEPS_TOOLS_PREFIX ${POLYCODE_RELEASE_DIR}/Framework/Tools/Dependenc
SET(CMAKE_MODULE_PATH ${PolycodeDependencies_SOURCE_DIR}/../CMake)

# Download and build all dependencies on Windows and Mac, for Linux recommend using prebuilt packages
IF(APPLE OR WIN32)
#IF(APPLE OR WIN32)
SET(common_deps ON)
ELSE()
SET(common_deps OFF)
ENDIF()
#ELSE()
# SET(common_deps OFF)
#ENDIF()

# Options for what components should be downloaded and built

Expand Down Expand Up @@ -62,42 +62,46 @@ ENDIF(MSVC)
#IF(PHYSFS_FOUND)
# SET(internal_PHYSFS OFF)
#ELSE(PHYSFS_FOUND)
SET(internal_PHYSFS ${common_deps})
SET(internal_PHYSFS ON)
#ENDIF(PHYSFS_FOUND)

IF(APPLE)
FIND_PACKAGE(OpenAL)
IF(OPENAL_FOUND)
SET(internal_OPENAL OFF)
ELSE(OPENAL_FOUND)
SET(internal_OPENAL ${common_deps})
SET(internal_OPENAL ON)
ENDIF(OPENAL_FOUND)
ELSE()
SET(internal_OPENAL ON)
ENDIF(APPLE)

#FIND_PACKAGE(Freetype)
#IF(FREETYPE_FOUND)
# SET(internal_FREETYPE OFF)
#ELSE(FREETYPE_FOUND)
SET(internal_FREETYPE ${common_deps})
SET(internal_FREETYPE ON)
#ENDIF(FREETYPE_FOUND)

#FIND_PACKAGE(PNG)
#IF(PNG_FOUND)
# SET(internal_PNG OFF)
#ELSE(PNG_FOUND)
SET(internal_PNG ${common_deps})
SET(internal_PNG ON)
#ENDIF(PNG_FOUND)

#FIND_PACKAGE(VorbisFile)
#IF(VORBISFILE_FOUND)
# SET(internal_VORBISFILE OFF)
#ELSE(VORBISFILE_FOUND)
SET(internal_VORBISFILE ${common_deps})
SET(internal_VORBISFILE ON)
#ENDIF(VORBISFILE_FOUND)

#FIND_PACKAGE(Lua51)
#IF(LUA51_FOUND)
# SET(internal_LUA OFF)
#ELSE(LUA51_FOUND)
SET(internal_LUA ${common_deps})
SET(internal_LUA ON)
#ENDIF(LUA51_FOUND)

#FIND_PACKAGE(Box2D)
Expand Down
14 changes: 14 additions & 0 deletions Examples/C++/Build/Linux/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
CC=g++
CFLAGS=-I../../Core/Dependencies/include -I../../Core/Dependencies/include/AL -I../../Core/include
LDFLAGS=../../Core/lib/libPolycore.a ../../Core/Dependencies/lib/libfreetype.a ../../Core/Dependencies/lib/liblibogg.a ../../Core/Dependencies/lib/liblibvorbis.a ../../Core/Dependencies/lib/liblibvorbisfile.a ../../Core/Dependencies/lib/libopenal.a ../../Core/Dependencies/lib/libphysfs.a ../../Core/Dependencies/lib/libpng15.a ../../Core/Dependencies/lib/libz.a -lGL -lGLU -lSDL

default: BasicText BasicImage

clean:
rm BasicText
rm BasicImage

BasicText:
${CC} $(CFLAGS) -I./Contents/BasicText main.cpp Contents/BasicText/HelloPolycodeApp.cpp -o BasicText $(LDFLAGS)
BasicImage:
${CC} $(CFLAGS) -I./Contents/BasicImage main.cpp Contents/BasicImage/HelloPolycodeApp.cpp -o BasicImage $(LDFLAGS)
10 changes: 10 additions & 0 deletions Examples/C++/Build/Linux/main.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#include "Polycode.h"
#include "PolycodeView.h"
#include "HelloPolycodeApp.h"

int main(int argc, char *argv[]) {
PolycodeView *view = new PolycodeView("Hello Polycode!");
HelloPolycodeApp *app = new HelloPolycodeApp(view);
while(app->Update()) {}
return 0;
}
2 changes: 1 addition & 1 deletion Modules/Contents/3DPhysics/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ SET(polycode3DPhysics_HDRS
)

INCLUDE_DIRECTORIES(
${BULLET_INCLUDE_DIRS}
${BULLET_INCLUDE_DIR}
Include
)

Expand Down
6 changes: 5 additions & 1 deletion Tools/Contents/polybuild/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,11 @@ SET(minizip_SRCS

#IF(POLYCODE_BUILD_STATIC)
ADD_EXECUTABLE(polybuild ${minizip_SRCS} Source/polybuild.cpp Include/polybuild.h)
TARGET_LINK_LIBRARIES(polybuild Polycore ${PHYSFS_LIBRARY} ${ZLIB_LIBRARIES} "-framework IOKit" "-framework Cocoa")
IF(APPLE)
TARGET_LINK_LIBRARIES(polybuild Polycore ${PHYSFS_LIBRARY} ${ZLIB_LIBRARIES} "-framework IOKit" "-framework Cocoa")
ELSE()
TARGET_LINK_LIBRARIES(polybuild Polycore ${PHYSFS_LIBRARY} ${ZLIB_LIBRARIES})
ENDIF(APPLE)
#ENDIF(POLYCODE_BUILD_STATIC)

IF(POLYCODE_INSTALL_FRAMEWORK)
Expand Down
6 changes: 5 additions & 1 deletion Tools/Contents/polyimport/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,11 @@ SET(CMAKE_DEBUG_POSTFIX "_d")

#IF(POLYCODE_BUILD_STATIC)
ADD_EXECUTABLE(polyimport Source/polyimport.cpp Include/polyimport.h)
TARGET_LINK_LIBRARIES(polyimport Polycore ${PHYSFS_LIBRARY} ${ZLIB_LIBRARIES} ${ASSIMP_LIBRARIES} "-framework IOKit" "-framework Cocoa")
IF(APPLE)
TARGET_LINK_LIBRARIES(polyimport Polycore ${PHYSFS_LIBRARY} ${ZLIB_LIBRARIES} ${ASSIMP_LIBRARY} "-framework IOKit" "-framework Cocoa")
ELSE()
TARGET_LINK_LIBRARIES(polyimport Polycore ${PHYSFS_LIBRARY} ${ZLIB_LIBRARIES} ${ASSIMP_LIBRARY})
ENDIF(APPLE)
#ENDIF(POLYCODE_BUILD_STATIC)

IF(POLYCODE_INSTALL_FRAMEWORK)
Expand Down
8 changes: 4 additions & 4 deletions Tools/Dependencies/unzip11/ioapi.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,14 @@
#endif
#endif

#define fopen64 fopen
#define ftello64 ftello
#define fseeko64 fseeko

#include <stdio.h>
#include <stdlib.h>
#include "zlib.h"

#define fopen64 fopen
#define ftello64 ftello
#define fseeko64 fseeko

#if defined(USE_FILE32API)
#define fopen64 fopen
#define ftello64 ftell
Expand Down

0 comments on commit f49d134

Please sign in to comment.