From b202eb7dae01b9a878f3e7c87d349ac9b5db63b6 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Thu, 18 Dec 2014 09:14:44 -0800 Subject: [PATCH] DRY up gpu library/header linking --- libraries/entities-renderer/CMakeLists.txt | 28 +------------- libraries/gpu/CMakeLists.txt | 44 +++++++++++----------- libraries/render-utils/CMakeLists.txt | 26 ------------- 3 files changed, 24 insertions(+), 74 deletions(-) diff --git a/libraries/entities-renderer/CMakeLists.txt b/libraries/entities-renderer/CMakeLists.txt index 5744ea0b7b..1e77afe544 100644 --- a/libraries/entities-renderer/CMakeLists.txt +++ b/libraries/entities-renderer/CMakeLists.txt @@ -5,33 +5,7 @@ setup_hifi_library(Widgets OpenGL Network Script) include_glm() -link_hifi_libraries(shared gpu) -if (APPLE) - # link in required OS X frameworks and include the right GL headers - find_library(OpenGL OpenGL) - - #target_link_libraries(${TARGET_NAME} ${OpenGL}) - -else (APPLE) - find_package(OpenGL REQUIRED) - - if (${OPENGL_INCLUDE_DIR}) - include_directories(SYSTEM "${OPENGL_INCLUDE_DIR}") - endif () - - # link target to external libraries - if (WIN32) - find_package(GLEW REQUIRED) - include_directories(${GLEW_INCLUDE_DIRS}) - - find_package(GLUT REQUIRED) - include_directories(SYSTEM "${GLUT_INCLUDE_DIRS}") - - # we're using static GLEW, so define GLEW_STATIC - add_definitions(-DGLEW_STATIC) - target_link_libraries(${TARGET_NAME} "${GLEW_LIBRARIES}") - endif() -endif (APPLE) +link_hifi_libraries(shared gpu script-engine) # call macro to link our dependencies and bubble them up via a property on our target link_shared_dependencies() diff --git a/libraries/gpu/CMakeLists.txt b/libraries/gpu/CMakeLists.txt index 577f9f7a58..340adcc9e6 100644 --- a/libraries/gpu/CMakeLists.txt +++ b/libraries/gpu/CMakeLists.txt @@ -6,13 +6,32 @@ setup_hifi_library() include_glm() link_hifi_libraries(shared) + if (APPLE) # link in required OS X frameworks and include the right GL headers find_library(OpenGL OpenGL) target_link_libraries(${TARGET_NAME} ${OpenGL}) - -else (APPLE) +elseif (WIN32) + find_package(GLEW REQUIRED) + include_directories(${GLEW_INCLUDE_DIRS}) + + # we're using static GLEW, so define GLEW_STATIC + add_definitions(-DGLEW_STATIC) + + target_link_libraries(${TARGET_NAME} "${GLEW_LIBRARIES}" opengl32.lib) + + # need to bubble up the GLEW_INCLUDE_DIRS + list(APPEND ${TARGET_NAME}_DEPENDENCY_INCLUDES "${GLEW_INCLUDE_DIRS}") + + # try to find the Nsight package and add it to the build if we find it + find_package(NSIGHT) + if (NSIGHT_FOUND) + include_directories(${NSIGHT_INCLUDE_DIRS}) + add_definitions(-DNSIGHT_FOUND) + target_link_libraries(${TARGET_NAME} "${NSIGHT_LIBRARIES}") + endif () +else () find_package(OpenGL REQUIRED) if (${OPENGL_INCLUDE_DIR}) @@ -21,25 +40,8 @@ else (APPLE) target_link_libraries(${TARGET_NAME} "${OPENGL_LIBRARY}") - # link target to external libraries - if (WIN32) - find_package(GLEW REQUIRED) - include_directories(${GLEW_INCLUDE_DIRS}) - - # we're using static GLEW, so define GLEW_STATIC - add_definitions(-DGLEW_STATIC) - - target_link_libraries(${TARGET_NAME} "${GLEW_LIBRARIES}" "${NSIGHT_LIBRARIES}" opengl32.lib) - - # try to find the Nsight package and add it to the build if we find it - find_package(NSIGHT) - if (NSIGHT_FOUND) - include_directories(${NSIGHT_INCLUDE_DIRS}) - add_definitions(-DNSIGHT_FOUND) - target_link_libraries(${TARGET_NAME} "${NSIGHT_LIBRARIES}") - endif () - - endif() + # need to bubble up the OPENGL_INCLUDE_DIR + list(APPEND ${TARGET_NAME}_DEPENDENCY_INCLUDES "${OPENGL_INCLUDE_DIR}") endif (APPLE) # call macro to link our dependencies and bubble them up via a property on our target diff --git a/libraries/render-utils/CMakeLists.txt b/libraries/render-utils/CMakeLists.txt index 0244fa91a6..8d4f85a2ac 100644 --- a/libraries/render-utils/CMakeLists.txt +++ b/libraries/render-utils/CMakeLists.txt @@ -6,32 +6,6 @@ setup_hifi_library(Widgets OpenGL Network Script) include_glm() link_hifi_libraries(shared gpu) -if (APPLE) - # link in required OS X frameworks and include the right GL headers - find_library(OpenGL OpenGL) - - #target_link_libraries(${TARGET_NAME} ${OpenGL}) - -else (APPLE) - find_package(OpenGL REQUIRED) - - if (${OPENGL_INCLUDE_DIR}) - include_directories(SYSTEM "${OPENGL_INCLUDE_DIR}") - endif () - - # link target to external libraries - if (WIN32) - find_package(GLEW REQUIRED) - include_directories(${GLEW_INCLUDE_DIRS}) - - find_package(GLUT REQUIRED) - include_directories(SYSTEM "${GLUT_INCLUDE_DIRS}") - - # we're using static GLEW, so define GLEW_STATIC - add_definitions(-DGLEW_STATIC) - target_link_libraries(${TARGET_NAME} "${GLEW_LIBRARIES}") - endif() -endif (APPLE) # call macro to link our dependencies and bubble them up via a property on our target link_shared_dependencies()