diff --git a/CMakeLists.txt b/CMakeLists.txt index 742c59ecea..77c892f20f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,4 +8,4 @@ add_subdirectory(domain) add_subdirectory(mixer) add_subdirectory(voxel) add_subdirectory(interface) -add_subdirectory(injector) +add_subdirectory(injector) \ No newline at end of file diff --git a/avatar/CMakeLists.txt b/avatar/CMakeLists.txt index e3816df443..68a7fa7763 100644 --- a/avatar/CMakeLists.txt +++ b/avatar/CMakeLists.txt @@ -9,8 +9,8 @@ file(GLOB AVATAR_SRCS src/*.cpp src/*.h) add_executable(avatar ${AVATAR_SRCS}) # link the shared hifi library -include(../cmake/macros/LinkHifiShared.cmake) -link_hifi_shared_library(avatar) +include(../cmake/macros/LinkHifiLibrary.cmake) +link_hifi_library(shared avatar) # link the threads library find_package(Threads REQUIRED) diff --git a/cmake/macros/LinkHifiLibrary.cmake b/cmake/macros/LinkHifiLibrary.cmake new file mode 100644 index 0000000000..3239afbf83 --- /dev/null +++ b/cmake/macros/LinkHifiLibrary.cmake @@ -0,0 +1,22 @@ +MACRO(LINK_HIFI_LIBRARY LIBRARY TARGET) + if (NOT TARGET ${LIBRARY}) + add_subdirectory(../libraries/${LIBRARY} ../libraries/${LIBRARY}) + endif (NOT TARGET ${LIBRARY}) + + string(TOUPPER ${LIBRARY} UPPERCASED_LIBRARY_NAME) + set(HIFI_LIBRARY_PROPERTY "HIFI_${UPPERCASED_LIBRARY_NAME}_LIBRARY") + get_directory_property(HIFI_LIBRARY + DIRECTORY ../libraries/${LIBRARY} + DEFINITION ${HIFI_LIBRARY_PROPERTY}) + + include_directories(../libraries/${LIBRARY}/src) + + add_dependencies(${TARGET} ${LIBRARY}) + target_link_libraries(${TARGET} ${LIBRARY}) + + if (APPLE) + # currently the "shared" library requires CoreServices + # link in required OS X framework + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework CoreServices") + endif (APPLE) +ENDMACRO(LINK_HIFI_LIBRARY _library _target) \ No newline at end of file diff --git a/cmake/macros/LinkHifiShared.cmake b/cmake/macros/LinkHifiShared.cmake deleted file mode 100644 index 3735589807..0000000000 --- a/cmake/macros/LinkHifiShared.cmake +++ /dev/null @@ -1,15 +0,0 @@ -MACRO(LINK_HIFI_SHARED_LIBRARY TARGET) - if (NOT TARGET HifiShared) - add_subdirectory(../shared ../shared) - endif (NOT TARGET HifiShared) - - include_directories(../shared/src) - get_directory_property(HIFI_SHARED_LIBRARY DIRECTORY ../shared DEFINITION HIFI_SHARED_LIBRARY) - add_dependencies(${TARGET} ${HIFI_SHARED_LIBRARY}) - target_link_libraries(${TARGET} ${HIFI_SHARED_LIBRARY}) - - if (APPLE) - # link in required OS X framework - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework CoreServices") - endif (APPLE) -ENDMACRO(LINK_HIFI_SHARED_LIBRARY _target) \ No newline at end of file diff --git a/cmake/macros/LinkHifiVoxelLib.cmake b/cmake/macros/LinkHifiVoxelLib.cmake deleted file mode 100644 index 1abd74d176..0000000000 --- a/cmake/macros/LinkHifiVoxelLib.cmake +++ /dev/null @@ -1,16 +0,0 @@ -MACRO(LINK_HIFI_VOXELLIB_LIBRARY TARGET) - if (NOT TARGET HifiVoxelLib) - add_subdirectory(../voxellib ../voxellib) - endif (NOT TARGET HifiVoxelLib) - - include_directories(../voxellib/src) - get_directory_property(HIFI_VOXELLIB_LIBRARY DIRECTORY ../voxellib DEFINITION HIFI_VOXELLIB_LIBRARY) - add_dependencies(${TARGET} ${HIFI_VOXELLIB_LIBRARY}) - target_link_libraries(${TARGET} ${HIFI_VOXELLIB_LIBRARY}) - - if (APPLE) - # link in required OS X framework - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -framework CoreServices") - endif (APPLE) - -ENDMACRO(LINK_HIFI_VOXELLIB_LIBRARY _target) diff --git a/domain/CMakeLists.txt b/domain/CMakeLists.txt index 38b3b82d03..1d86bfa036 100644 --- a/domain/CMakeLists.txt +++ b/domain/CMakeLists.txt @@ -9,5 +9,5 @@ file(GLOB DOMAIN_SRCS src/*.cpp src/*.h) add_executable(domain ${DOMAIN_SRCS}) # link the shared hifi library -include(../cmake/macros/LinkHifiShared.cmake) -link_hifi_shared_library(domain) \ No newline at end of file +include(../cmake/macros/LinkHifiLibrary.cmake) +link_hifi_library(shared domain) \ No newline at end of file diff --git a/injector/CMakeLists.txt b/injector/CMakeLists.txt index 31e7f1db32..ee106b3fc0 100644 --- a/injector/CMakeLists.txt +++ b/injector/CMakeLists.txt @@ -9,8 +9,8 @@ file(GLOB INJECTOR_SRCS src/*.cpp src/*.h) add_executable(injector ${INJECTOR_SRCS}) # link the shared hifi library -include(../cmake/macros/LinkHifiShared.cmake) -link_hifi_shared_library(injector) +include(../cmake/macros/LinkHifiLibrary.cmake) +link_hifi_library(shared injector) # link the threads library find_package(Threads REQUIRED) diff --git a/interface/CMakeLists.txt b/interface/CMakeLists.txt index 0d2734c8f2..c493bcbab8 100644 --- a/interface/CMakeLists.txt +++ b/interface/CMakeLists.txt @@ -10,10 +10,8 @@ set(PORTAUDIO_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external/portaudio) include(../cmake/macros/IncludeGLM.cmake) INCLUDE_GLM(interface) - project(interface) - if (APPLE) set(GL_HEADERS "#include \n#include ") else (APPLE) @@ -53,12 +51,11 @@ endif (APPLE) add_executable(interface MACOSX_BUNDLE ${INTERFACE_SRCS}) # link in the hifi shared library -include(../cmake/macros/LinkHifiShared.cmake) -link_hifi_shared_library(interface) +include(../cmake/macros/LinkHifiLibrary.cmake) +link_hifi_library(shared interface) -# link in the hifi voxellib library -include(../cmake/macros/LinkHifiVoxelLib.cmake) -link_hifi_voxellib_library(interface) +# link in the hifi voxels library +link_hifi_library(voxels interface) # find required libraries find_package(GLM REQUIRED) diff --git a/shared/CMakeLists.txt b/libraries/shared/CMakeLists.txt similarity index 66% rename from shared/CMakeLists.txt rename to libraries/shared/CMakeLists.txt index 455405d476..00b99b69db 100644 --- a/shared/CMakeLists.txt +++ b/libraries/shared/CMakeLists.txt @@ -1,31 +1,28 @@ cmake_minimum_required(VERSION 2.8) -project(shared) +set(TARGET_NAME shared) +project(${TARGET_NAME}) # grab the implemenation and header files file(GLOB HIFI_SHARED_SRCS src/*.h src/*.cpp) # create a library and set the property so it can be referenced later -add_library(HifiShared ${HIFI_SHARED_SRCS}) -set(HIFI_SHARED_LIBRARY HifiShared) +add_library(${TARGET_NAME} ${HIFI_SHARED_SRCS}) +set(HIFI_SHARED_LIBRARY ${TARGET_NAME}) set(EXTERNAL_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/external) if (WIN32) # include headers for external libraries and InterfaceConfig. include_directories(${EXTERNAL_ROOT_DIR}) -endif (WIN32) - -if (NOT WIN32) +else (WIN32) find_package(CURL REQUIRED) include_directories(${CURL_INCLUDE_DIRS}) - # link target to common, external libraries - target_link_libraries(HifiShared ${CURL_LIBRARY}) -endif (NOT WIN32) + target_link_libraries(${TARGET_NAME} ${CURL_LIBRARY}) +endif (WIN32) # link required libraries on UNIX if (UNIX AND NOT APPLE) find_package(Threads REQUIRED) - - target_link_libraries(HifiShared ${CMAKE_THREAD_LIBS_INIT}) + target_link_libraries(${TARGET_NAME} ${CMAKE_THREAD_LIBS_INIT}) endif (UNIX AND NOT APPLE) \ No newline at end of file diff --git a/shared/external/pthread.h b/libraries/shared/external/pthread.h similarity index 100% rename from shared/external/pthread.h rename to libraries/shared/external/pthread.h diff --git a/shared/external/sched.h b/libraries/shared/external/sched.h similarity index 100% rename from shared/external/sched.h rename to libraries/shared/external/sched.h diff --git a/shared/src/Agent.cpp b/libraries/shared/src/Agent.cpp similarity index 100% rename from shared/src/Agent.cpp rename to libraries/shared/src/Agent.cpp diff --git a/shared/src/Agent.h b/libraries/shared/src/Agent.h similarity index 100% rename from shared/src/Agent.h rename to libraries/shared/src/Agent.h diff --git a/shared/src/AgentData.cpp b/libraries/shared/src/AgentData.cpp similarity index 100% rename from shared/src/AgentData.cpp rename to libraries/shared/src/AgentData.cpp diff --git a/shared/src/AgentData.h b/libraries/shared/src/AgentData.h similarity index 100% rename from shared/src/AgentData.h rename to libraries/shared/src/AgentData.h diff --git a/shared/src/AgentList.cpp b/libraries/shared/src/AgentList.cpp similarity index 100% rename from shared/src/AgentList.cpp rename to libraries/shared/src/AgentList.cpp diff --git a/shared/src/AgentList.h b/libraries/shared/src/AgentList.h similarity index 100% rename from shared/src/AgentList.h rename to libraries/shared/src/AgentList.h diff --git a/shared/src/AgentTypes.h b/libraries/shared/src/AgentTypes.h similarity index 100% rename from shared/src/AgentTypes.h rename to libraries/shared/src/AgentTypes.h diff --git a/shared/src/AngleUtils.h b/libraries/shared/src/AngleUtils.h similarity index 100% rename from shared/src/AngleUtils.h rename to libraries/shared/src/AngleUtils.h diff --git a/shared/src/AudioRingBuffer.cpp b/libraries/shared/src/AudioRingBuffer.cpp similarity index 100% rename from shared/src/AudioRingBuffer.cpp rename to libraries/shared/src/AudioRingBuffer.cpp diff --git a/shared/src/AudioRingBuffer.h b/libraries/shared/src/AudioRingBuffer.h similarity index 100% rename from shared/src/AudioRingBuffer.h rename to libraries/shared/src/AudioRingBuffer.h diff --git a/shared/src/CounterStats.cpp b/libraries/shared/src/CounterStats.cpp similarity index 100% rename from shared/src/CounterStats.cpp rename to libraries/shared/src/CounterStats.cpp diff --git a/shared/src/CounterStats.h b/libraries/shared/src/CounterStats.h similarity index 100% rename from shared/src/CounterStats.h rename to libraries/shared/src/CounterStats.h diff --git a/shared/src/FloodFill.h b/libraries/shared/src/FloodFill.h similarity index 100% rename from shared/src/FloodFill.h rename to libraries/shared/src/FloodFill.h diff --git a/shared/src/MarkerNode.cpp b/libraries/shared/src/MarkerNode.cpp similarity index 100% rename from shared/src/MarkerNode.cpp rename to libraries/shared/src/MarkerNode.cpp diff --git a/shared/src/MarkerNode.h b/libraries/shared/src/MarkerNode.h similarity index 100% rename from shared/src/MarkerNode.h rename to libraries/shared/src/MarkerNode.h diff --git a/shared/src/OctalCode.cpp b/libraries/shared/src/OctalCode.cpp similarity index 100% rename from shared/src/OctalCode.cpp rename to libraries/shared/src/OctalCode.cpp diff --git a/shared/src/OctalCode.h b/libraries/shared/src/OctalCode.h similarity index 100% rename from shared/src/OctalCode.h rename to libraries/shared/src/OctalCode.h diff --git a/shared/src/PacketHeaders.h b/libraries/shared/src/PacketHeaders.h similarity index 100% rename from shared/src/PacketHeaders.h rename to libraries/shared/src/PacketHeaders.h diff --git a/shared/src/PerfStat.cpp b/libraries/shared/src/PerfStat.cpp similarity index 100% rename from shared/src/PerfStat.cpp rename to libraries/shared/src/PerfStat.cpp diff --git a/shared/src/PerfStat.h b/libraries/shared/src/PerfStat.h similarity index 100% rename from shared/src/PerfStat.h rename to libraries/shared/src/PerfStat.h diff --git a/shared/src/Radix2InplaceSort.h b/libraries/shared/src/Radix2InplaceSort.h similarity index 100% rename from shared/src/Radix2InplaceSort.h rename to libraries/shared/src/Radix2InplaceSort.h diff --git a/shared/src/Radix2IntegerScanner.h b/libraries/shared/src/Radix2IntegerScanner.h similarity index 100% rename from shared/src/Radix2IntegerScanner.h rename to libraries/shared/src/Radix2IntegerScanner.h diff --git a/shared/src/SharedUtil.cpp b/libraries/shared/src/SharedUtil.cpp similarity index 100% rename from shared/src/SharedUtil.cpp rename to libraries/shared/src/SharedUtil.cpp diff --git a/shared/src/SharedUtil.h b/libraries/shared/src/SharedUtil.h similarity index 100% rename from shared/src/SharedUtil.h rename to libraries/shared/src/SharedUtil.h diff --git a/shared/src/StdDev.cpp b/libraries/shared/src/StdDev.cpp similarity index 100% rename from shared/src/StdDev.cpp rename to libraries/shared/src/StdDev.cpp diff --git a/shared/src/StdDev.h b/libraries/shared/src/StdDev.h similarity index 100% rename from shared/src/StdDev.h rename to libraries/shared/src/StdDev.h diff --git a/shared/src/Syssocket.h b/libraries/shared/src/Syssocket.h similarity index 100% rename from shared/src/Syssocket.h rename to libraries/shared/src/Syssocket.h diff --git a/shared/src/Systime.cpp b/libraries/shared/src/Systime.cpp similarity index 100% rename from shared/src/Systime.cpp rename to libraries/shared/src/Systime.cpp diff --git a/shared/src/Systime.h b/libraries/shared/src/Systime.h similarity index 100% rename from shared/src/Systime.h rename to libraries/shared/src/Systime.h diff --git a/shared/src/UDPSocket.cpp b/libraries/shared/src/UDPSocket.cpp similarity index 100% rename from shared/src/UDPSocket.cpp rename to libraries/shared/src/UDPSocket.cpp diff --git a/shared/src/UDPSocket.h b/libraries/shared/src/UDPSocket.h similarity index 100% rename from shared/src/UDPSocket.h rename to libraries/shared/src/UDPSocket.h diff --git a/shared/src/UrlReader.cpp b/libraries/shared/src/UrlReader.cpp similarity index 100% rename from shared/src/UrlReader.cpp rename to libraries/shared/src/UrlReader.cpp diff --git a/shared/src/UrlReader.h b/libraries/shared/src/UrlReader.h similarity index 100% rename from shared/src/UrlReader.h rename to libraries/shared/src/UrlReader.h diff --git a/libraries/voxels/CMakeLists.txt b/libraries/voxels/CMakeLists.txt new file mode 100644 index 0000000000..3f7bcf81f0 --- /dev/null +++ b/libraries/voxels/CMakeLists.txt @@ -0,0 +1,19 @@ +cmake_minimum_required(VERSION 2.8) + +set(TARGET_NAME voxels) + +project(${TARGET_NAME}) + +# setup for find modules +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/modules/") + +# set up the external glm library +include(../../cmake/macros/IncludeGLM.cmake) +include_glm(${TARGET_NAME}) + +# grab the implemenation and header files +file(GLOB HIFI_VOXELS_SRCS src/*.h src/*.cpp) + +# create a library and set the property so it can be referenced later +add_library(${TARGET_NAME} ${HIFI_VOXELS_SRCS}) +set(HIFI_VOXELS_LIBRARY ${TARGET_NAME}) \ No newline at end of file diff --git a/voxellib/src/VoxelNode.cpp b/libraries/voxels/src/VoxelNode.cpp similarity index 100% rename from voxellib/src/VoxelNode.cpp rename to libraries/voxels/src/VoxelNode.cpp diff --git a/voxellib/src/VoxelNode.h b/libraries/voxels/src/VoxelNode.h similarity index 100% rename from voxellib/src/VoxelNode.h rename to libraries/voxels/src/VoxelNode.h diff --git a/voxellib/src/VoxelTree.cpp b/libraries/voxels/src/VoxelTree.cpp similarity index 100% rename from voxellib/src/VoxelTree.cpp rename to libraries/voxels/src/VoxelTree.cpp diff --git a/voxellib/src/VoxelTree.h b/libraries/voxels/src/VoxelTree.h similarity index 100% rename from voxellib/src/VoxelTree.h rename to libraries/voxels/src/VoxelTree.h diff --git a/mixer/CMakeLists.txt b/mixer/CMakeLists.txt index 72c841b536..0c35fb7871 100644 --- a/mixer/CMakeLists.txt +++ b/mixer/CMakeLists.txt @@ -9,8 +9,8 @@ file(GLOB MIXER_SRCS src/*.cpp src/*.h) add_executable(mixer ${MIXER_SRCS}) # link the shared hifi library -include(../cmake/macros/LinkHifiShared.cmake) -link_hifi_shared_library(mixer) +include(../cmake/macros/LinkHifiLibrary.cmake) +link_hifi_library(shared mixer) # link the threads library find_package(Threads REQUIRED) diff --git a/space/CMakeLists.txt b/space/CMakeLists.txt index 7c1b7dccfa..a2c419d130 100644 --- a/space/CMakeLists.txt +++ b/space/CMakeLists.txt @@ -6,5 +6,5 @@ file(GLOB SPACE_SRCS src/*.cpp src/*.h) add_executable(space ${SPACE_SRCS}) -include(../cmake/macros/LinkHifiShared.cmake) -link_hifi_shared_library(space) \ No newline at end of file +include(../cmake/macros/LinkHifiLibrary.cmake) +link_hifi_library(shared space) \ No newline at end of file diff --git a/voxel/CMakeLists.txt b/voxel/CMakeLists.txt index f310ee28af..b4f077799e 100644 --- a/voxel/CMakeLists.txt +++ b/voxel/CMakeLists.txt @@ -6,9 +6,9 @@ file(GLOB VOXEL_SRCS src/*.cpp src/*.h) add_executable(voxel ${VOXEL_SRCS}) -include(../cmake/macros/LinkHifiShared.cmake) -link_hifi_shared_library(voxel) +# link in the shared library +include(../cmake/macros/LinkHifiLibrary.cmake) +link_hifi_library(shared voxel) -# link in the hifi voxellib library -include(../cmake/macros/LinkHifiVoxelLib.cmake) -link_hifi_voxellib_library(voxel) +# link in the hifi voxels library +link_hifi_library(voxels voxel) \ No newline at end of file diff --git a/voxellib/CMakeLists.txt b/voxellib/CMakeLists.txt deleted file mode 100644 index 3c6f63dbb0..0000000000 --- a/voxellib/CMakeLists.txt +++ /dev/null @@ -1,23 +0,0 @@ -cmake_minimum_required(VERSION 2.8) - -project(voxellib) - -# setup for find modules -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/../cmake/modules/") - -# set up the external glm library -include(../cmake/macros/IncludeGLM.cmake) -include_glm(voxellib) - -# grab the implemenation and header files -file(GLOB HIFI_VOXELLIB_SRCS src/*.h src/*.cpp) - -# create a library and set the property so it can be referenced later -add_library(HifiVoxelLib ${HIFI_VOXELLIB_SRCS}) -set(HIFI_VOXELLIB_LIBRARY HifiVoxelLib) - -# this is needed on mac? not sure about others -if (NOT WIN32) - # link target to common, external libraries - target_link_libraries(HifiVoxelLib) -endif (NOT WIN32)