From d43b4a8ca5bd7d12884a8d7e3fd434ffde97b3fb Mon Sep 17 00:00:00 2001 From: Jonas Strandstedt Date: Tue, 18 Feb 2014 18:33:20 -0500 Subject: [PATCH] Small bugfix for OS X --- CMakeLists.txt | 32 +++++----------- ext/FindSGCT.cmake | 94 ++++++++++++++++++++++++++++++++++++++++++++++ ext/ghoul | 2 +- ext/spice | 2 +- src/CMakeLists.txt | 23 ++++++++++++ 5 files changed, 128 insertions(+), 25 deletions(-) create mode 100644 ext/FindSGCT.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 2105fb24bb..470a23b315 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -53,24 +53,10 @@ set(DEPENDENT_LIBS ${DEPENDENT_LIBS} Ghoul) # Add ghoul ext set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${GHOUL_ROOT_DIR}/ext) -# SGCT (TODO: write cmake script) -#set(SGCT_ROOT_DIR "$ENV{SGCT_ROOT_DIR}") -#set(SGCT_ROOT_DIR "C:/Program Files/SGCT/SGCT_2.0.7") -#set(SGCT_ROOT_DIR "C:/Program Files (x86)/SGCT/SGCT_2.0.5_x86") -set(SGCT_ROOT_DIR "C:/Program Files/SGCT/SGCT_2.0.7") -add_definitions(-D__WIN32__) -add_definitions(-DGLEW_STATIC) -include_directories("${SGCT_ROOT_DIR}/include") -#set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} ${SGCT_ROOT_DOR}/bin/lib/msvc11) -set(DEPENDENT_LIBS - ${DEPENDENT_LIBS} - "Ws2_32.lib" - optimized "${SGCT_ROOT_DIR}/lib/msvc11_x64/sgct.lib" - debug "${SGCT_ROOT_DIR}/lib/msvc11_x64/sgctd.lib" - ) - -#add_subdirectory(${SGCT_ROOT_DIR}) -#set(DEPENDENT_LIBS ${DEPENDENT_LIBS} SGCT) +# SGCT +find_package(SGCT REQUIRED) +include_directories(${SGCT_INCLUDE_DIRECTORIES}) +set(DEPENDENT_LIBS ${DEPENDENT_LIBS} ${SGCT_LIBRARIES}) # GLM set(GLM_ROOT_DIR "${GHOUL_ROOT_DIR}/ext/glm") @@ -83,9 +69,9 @@ include_directories(${GLM_INCLUDE_DIRS}) #set(DEPENDENT_LIBS ${DEPENDENT_LIBS} ${OPENGL_LIBRARIES}) # GLEW -#find_package(GLEW REQUIRED) -#include_directories(${GLEW_INCLUDE_DIRECTORIES}) -#set(DEPENDENT_LIBS ${DEPENDENT_LIBS} ${GLEW_LIBRARIES}) +find_package(GLEW REQUIRED) +include_directories(${GLEW_INCLUDE_DIRECTORIES}) +set(DEPENDENT_LIBS ${DEPENDENT_LIBS} ${GLEW_LIBRARIES}) # Lua set(LUA_ROOT_DIR "${GHOUL_ROOT_DIR}/ext/lua") @@ -102,10 +88,10 @@ set(DEPENDENT_LIBS ${DEPENDENT_LIBS} Spice) if (APPLE) include_directories(/Developer/Headers/FlatCarbon) find_library(CARBON_LIBRARY Carbon) - find_library(COCOA_LIBRARY Carbon) + find_library(COCOA_LIBRARY Cocoa) find_library(APP_SERVICES_LIBRARY ApplicationServices) mark_as_advanced(CARBON_LIBRARY COCOA_LIBRARY APP_SERVICES_LIBRARY) - set(DEPENDENT_LIBS ${CARBON_LIBRARY} ${COCOA_LIBRARY} ${APP_SERVICES_LIBRARY}) + set(DEPENDENT_LIBS ${DEPENDENT_LIBS} ${CARBON_LIBRARY} ${COCOA_LIBRARY} ${APP_SERVICES_LIBRARY}) endif () ######################################################################################### diff --git a/ext/FindSGCT.cmake b/ext/FindSGCT.cmake new file mode 100644 index 0000000000..88a30f9ddf --- /dev/null +++ b/ext/FindSGCT.cmake @@ -0,0 +1,94 @@ + + + + +# Find the library +if(WIN32) + add_definitions(-D__WIN32__) + file(GLOB SGCT_WINDOWS_PATHS "C:/Program Files/SGCT/SGCT_*") + find_path(SGCT_ROOT_DIR include/sgct.h HINTS + "${SGCT_WINDOWS_PATHS}" + ) + set(DEPENDENT_LIBS + ${DEPENDENT_LIBS} + "Ws2_32.lib" + optimized "${SGCT_ROOT_DIR}/lib/msvc11_x64/sgct.lib" + debug "${SGCT_ROOT_DIR}/lib/msvc11_x64/sgctd.lib" + ) +else() + find_path(SGCT_ROOT_DIR include/sgct.h HINTS + "/opt/local/include/sgct" + "/usr/local/include/sgct" + "/usr/include/sgct" + "/opt/local" + "/usr/local" + ) + find_library(SGCT_LIBRARY NAMES ${CMAKE_STATIC_LIBRARY_PREFIX}sgct_cpp11${CMAKE_STATIC_LIBRARY_SUFFIX} + HINTS "${SGCT_ROOT_DIR}/lib") + +endif() + +# make sure glew is static +add_definitions(-DGLEW_STATIC) + +if (APPLE) + find_library(FRAMEWORK_IOKit + NAMES IOKit + PATHS ${CMAKE_OSX_SYSROOT}/System/Library + PATH_SUFFIXES Frameworks + NO_DEFAULT_PATH + ) + find_library(FRAMEWORK_CoreVideo + NAMES CoreVideo + PATHS ${CMAKE_OSX_SYSROOT}/System/Library + PATH_SUFFIXES Frameworks + NO_DEFAULT_PATH + ) + find_library(FRAMEWORK_Cocoa + NAMES Cocoa + PATHS ${CMAKE_OSX_SYSROOT}/System/Library + PATH_SUFFIXES Frameworks + NO_DEFAULT_PATH + ) + set(SGCT_DEPENDENCIES ${SGCT_DEPENDENCIES} ${FRAMEWORK_IOKit} ${FRAMEWORK_CoreVideo} ${FRAMEWORK_Cocoa}) +endif (APPLE) + +# includes +set(SGCT_INCLUDES "${SGCT_ROOT_DIR}/include") +include_directories(${SGCT_INCLUDE_DIRS}) + +# libraries +set(SGCT_INCLUDE_DIRECTORIES ${SGCT_INCLUDES}) +set(SGCT_LIBRARIES ${SGCT_DEPENDENCIES} ${SGCT_LIBRARY}) +#set(SGCT_LIBRARIES "${SGCT_LIBRARY}") + +# handle the QUIETLY and REQUIRED arguments and set SGCT_FOUND to TRUE +# if all listed variables are TRUE +find_package_handle_standard_args(SGCT DEFAULT_MSG + SGCT_LIBRARY SGCT_INCLUDES) + +mark_as_advanced(SGCT_INCLUDE_DIR SGCT_LIBRARY ) + +if(SGCT_FOUND) + MESSAGE(STATUS "SGCT found: ${SGCT_INCLUDES}/sgct.h") + MESSAGE(STATUS "SGCT SGCT_LIBRARY: ${SGCT_LIBRARY}") +else() + MESSAGE(FATAL_ERROR "SGCT not found!") +endif(SGCT_FOUND) + + + + + + +# OLD STUFF. REMOVE WHEN ABOVE WORKS +#set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} ${SGCT_ROOT_DOR}/bin/lib/msvc11) +#set(DEPENDENT_LIBS +# ${DEPENDENT_LIBS} +# "Ws2_32.lib" +# optimized "${SGCT_ROOT_DIR}/lib/msvc11_x64/sgct.lib" +# debug "${SGCT_ROOT_DIR}/lib/msvc11_x64/sgctd.lib" +# ) + +#add_subdirectory(${SGCT_ROOT_DIR}) +#set(DEPENDENT_LIBS ${DEPENDENT_LIBS} SGCT) \ No newline at end of file diff --git a/ext/ghoul b/ext/ghoul index 270056597a..0e4ef0b930 160000 --- a/ext/ghoul +++ b/ext/ghoul @@ -1 +1 @@ -Subproject commit 270056597af3b843164434561b31c3556f659054 +Subproject commit 0e4ef0b930630a16416e3471a19da9b8475e4587 diff --git a/ext/spice b/ext/spice index 784478de97..1ea38307b2 160000 --- a/ext/spice +++ b/ext/spice @@ -1 +1 @@ -Subproject commit 784478de97c3243c9bbd668256b5e3186a85b8b3 +Subproject commit 1ea38307b2a0bdb861cb6cec67a22da2d78269b0 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index abe892d01a..bd7f9e331b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -88,5 +88,28 @@ include_directories(${HEADER_ROOT_DIR}) # hack: set(OPENSPACE_SOURCE ${OPENSPACE_SOURCE} ${OPENSPACE_EXT_DIR}/tinythread.cpp) +if (APPLE) + find_library(FRAMEWORK_IOKit + NAMES IOKit + PATHS ${CMAKE_OSX_SYSROOT}/System/Library + PATH_SUFFIXES Frameworks + NO_DEFAULT_PATH + ) + find_library(FRAMEWORK_CoreVideo + NAMES CoreVideo + PATHS ${CMAKE_OSX_SYSROOT}/System/Library + PATH_SUFFIXES Frameworks + NO_DEFAULT_PATH + ) + find_library(FRAMEWORK_Cocoa + NAMES Cocoa + PATHS ${CMAKE_OSX_SYSROOT}/System/Library + PATH_SUFFIXES Frameworks + NO_DEFAULT_PATH + ) + set(SGCT_DEPENDENCIES ${SGCT_DEPENDENCIES} ${FRAMEWORK_IOKit} ${FRAMEWORK_CoreVideo} ${FRAMEWORK_Cocoa}) +endif (APPLE) +#add_definitions(-framework IOKit -framework CoreVideo) + add_executable(OpenSpace ${OPENSPACE_HEADER} ${OPENSPACE_SOURCE}) target_link_libraries(OpenSpace ${DEPENDENT_LIBS})