mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-04 05:44:50 +02:00
90 lines
No EOL
2.8 KiB
CMake
90 lines
No EOL
2.8 KiB
CMake
cmake_minimum_required(VERSION 2.8)
|
|
|
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/")
|
|
set(GLM_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external)
|
|
set(LODEPNG_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/LodePNG)
|
|
set(PORTAUDIO_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/portaudio)
|
|
|
|
project(interface)
|
|
|
|
if (APPLE)
|
|
set(CMAKE_EXE_LINKER_FLAGS "-framework CoreAudio -framework AudioToolbox -framework AudioUnit -framework CoreServices -framework Carbon")
|
|
set(GL_HEADERS "#include <GLUT/glut.h>\n#include <OpenGL/glext.h>")
|
|
else (APPLE)
|
|
set(GL_HEADERS "#include <GL/gl.h>\n#include <GL/glut.h>\n#include <GL/glext.h>")
|
|
endif (APPLE)
|
|
|
|
configure_file(InterfaceConfig.h.in ${PROJECT_BINARY_DIR}/includes/InterfaceConfig.h)
|
|
|
|
file(GLOB INTERFACE_SRCS src/*.cpp src/*.h)
|
|
|
|
# For Apple set the icns file containing icons
|
|
IF(APPLE)
|
|
# set how it shows up in the Info.plist file
|
|
SET(MACOSX_BUNDLE_ICON_FILE interface.icns)
|
|
# set where in the bundle to put the icns file
|
|
SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_SOURCE_DIR}/interface.icns PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
|
# include the icns file in the target
|
|
SET(INTERFACE_SRCS ${INTERFACE_SRCS} ${CMAKE_CURRENT_SOURCE_DIR}/interface.icns)
|
|
ENDIF(APPLE)
|
|
|
|
add_executable(interface MACOSX_BUNDLE ${INTERFACE_SRCS})
|
|
|
|
include(../LinkHifiShared.cmake)
|
|
link_hifi_shared_library(interface)
|
|
|
|
find_package(OpenGL REQUIRED)
|
|
find_package(GLUT REQUIRED)
|
|
find_package(GLM REQUIRED)
|
|
find_package(LodePNG REQUIRED)
|
|
|
|
include_directories(
|
|
${PROJECT_BINARY_DIR}/includes
|
|
${OPENGL_INCLUDE_DIRS}
|
|
${GLUT_INCLUDE_DIRS}
|
|
${GLM_INCLUDE_DIRS}
|
|
${LODEPNG_INCLUDE_DIRS}
|
|
)
|
|
|
|
target_link_libraries(interface
|
|
${OPENGL_LIBRARY}
|
|
${GLUT_LIBRARY}
|
|
${LODEPNG_LIBRARY}
|
|
)
|
|
|
|
include(ExternalProject)
|
|
set(PORTAUDIO_PROJ_DIR external/portaudio)
|
|
ExternalProject_Add(
|
|
portaudio
|
|
PREFIX ${PORTAUDIO_PROJ_DIR}
|
|
BINARY_DIR ${PORTAUDIO_PROJ_DIR}/src/portaudio
|
|
URL ${PORTAUDIO_DIR}/pa_snapshot_020813.tgz
|
|
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix "${PROJECT_BINARY_DIR}/${PORTAUDIO_PROJ_DIR}"
|
|
BUILD_COMMAND make
|
|
)
|
|
|
|
ExternalProject_Get_Property(portaudio binary_dir)
|
|
ExternalProject_Get_Property(portaudio source_dir)
|
|
include_directories(${source_dir}/include)
|
|
add_dependencies(interface portaudio)
|
|
|
|
target_link_libraries(interface ${binary_dir}/lib/.libs/libportaudio.a)
|
|
|
|
if (UNIX AND NOT APPLE)
|
|
find_package(Threads REQUIRED)
|
|
find_package(Librt REQUIRED)
|
|
find_package(ALSA)
|
|
find_package(Jack)
|
|
|
|
target_link_libraries(interface
|
|
${CMAKE_THREAD_LIBS_INIT}
|
|
${LIBRT_LIBRARIES}
|
|
${JACK_LIBRARIES}
|
|
${ALSA_LIBRARIES}
|
|
)
|
|
endif (UNIX AND NOT APPLE)
|
|
|
|
INSTALL(TARGETS interface
|
|
BUNDLE DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/install COMPONENT Runtime
|
|
RUNTIME DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/install COMPONENT Runtime
|
|
) |