From d65e5882aa038baf1487ca609a6728bc7a966bdf Mon Sep 17 00:00:00 2001 From: Brad Davis Date: Thu, 18 Jun 2015 17:42:45 -0700 Subject: [PATCH] Working on 64 bit builds --- cmake/externals/LibOVR/CMakeLists.txt | 6 +++++- cmake/externals/glew/CMakeLists.txt | 15 ++++++++++----- cmake/externals/tbb/CMakeLists.txt | 9 +++++++-- cmake/modules/FindFaceshift.cmake | 6 +++++- cmake/modules/FindNSIGHT.cmake | 22 ++++++++++++++++------ cmake/modules/FindSixense.cmake | 18 +++++++++++++----- cmake/modules/FindTBB.cmake | 2 +- interface/src/main.cpp | 2 +- 8 files changed, 58 insertions(+), 22 deletions(-) diff --git a/cmake/externals/LibOVR/CMakeLists.txt b/cmake/externals/LibOVR/CMakeLists.txt index d491434b5f..b7dbc8b598 100644 --- a/cmake/externals/LibOVR/CMakeLists.txt +++ b/cmake/externals/LibOVR/CMakeLists.txt @@ -21,7 +21,11 @@ if (WIN32) # FIXME need to account for different architectures set(${EXTERNAL_NAME_UPPER}_INCLUDE_DIRS ${SOURCE_DIR}/LibOVR/Include CACHE TYPE INTERNAL) - set(${EXTERNAL_NAME_UPPER}_LIBRARIES ${SOURCE_DIR}/LibOVR/Lib/Windows/Win32/Release/VS2013/LibOVR.lib CACHE TYPE INTERNAL) + if ("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") + set(${EXTERNAL_NAME_UPPER}_LIBRARIES ${SOURCE_DIR}/LibOVR/Lib/Windows/x64/Release/VS2013/LibOVR.lib CACHE TYPE INTERNAL) + else() + set(${EXTERNAL_NAME_UPPER}_LIBRARIES ${SOURCE_DIR}/LibOVR/Lib/Windows/Win32/Release/VS2013/LibOVR.lib CACHE TYPE INTERNAL) + endif() elseif(APPLE) diff --git a/cmake/externals/glew/CMakeLists.txt b/cmake/externals/glew/CMakeLists.txt index 0d80e7a789..bcf175432c 100644 --- a/cmake/externals/glew/CMakeLists.txt +++ b/cmake/externals/glew/CMakeLists.txt @@ -16,11 +16,16 @@ if (WIN32) string(TOUPPER ${EXTERNAL_NAME} EXTERNAL_NAME_UPPER) set(${EXTERNAL_NAME_UPPER}_INCLUDE_DIRS ${SOURCE_DIR}/include CACHE PATH "List of glew include directories") - - set(_LIB_DIR ${SOURCE_DIR}/lib/Release/Win32) - + + if ("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") + set(_LIB_DIR ${SOURCE_DIR}/lib/Release/x64) + set(${EXTERNAL_NAME_UPPER}_DLL_PATH ${SOURCE_DIR}/bin/Release/x64 CACHE FILEPATH "Location of GLEW DLL") + else() + set(_LIB_DIR ${SOURCE_DIR}/lib/Release/Win32) + set(${EXTERNAL_NAME_UPPER}_DLL_PATH ${SOURCE_DIR}/bin/Release/Win32 CACHE FILEPATH "Location of GLEW DLL") + endif() + set(${EXTERNAL_NAME_UPPER}_LIBRARY_RELEASE ${_LIB_DIR}/glew32.lib CACHE FILEPATH "Location of GLEW release library") set(${EXTERNAL_NAME_UPPER}_LIBRARY_DEBUG "" CACHE FILEPATH "Location of GLEW debug library") - - set(${EXTERNAL_NAME_UPPER}_DLL_PATH ${SOURCE_DIR}/bin/Release/Win32 CACHE FILEPATH "Location of GLEW DLL") + endif () \ No newline at end of file diff --git a/cmake/externals/tbb/CMakeLists.txt b/cmake/externals/tbb/CMakeLists.txt index 8f327bd69f..365bd3cf14 100644 --- a/cmake/externals/tbb/CMakeLists.txt +++ b/cmake/externals/tbb/CMakeLists.txt @@ -73,9 +73,14 @@ if (APPLE) ) elseif (WIN32) - set(_TBB_LIB_DIR "${SOURCE_DIR}/lib/ia32/vc12") + if ("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") + set(_TBB_LIB_DIR "${SOURCE_DIR}/lib/intel64/vc12") + set(${EXTERNAL_NAME_UPPER}_DLL_PATH "${SOURCE_DIR}/bin/intel64/vc12" CACHE PATH "Path to TBB DLLs") + else() + set(_TBB_LIB_DIR "${SOURCE_DIR}/lib/ia32/vc12") + set(${EXTERNAL_NAME_UPPER}_DLL_PATH "${SOURCE_DIR}/bin/ia32/vc12" CACHE PATH "Path to TBB DLLs") + endif() set(_LIB_EXT "lib") - set(${EXTERNAL_NAME_UPPER}_DLL_PATH "${SOURCE_DIR}/bin/ia32/vc12" CACHE PATH "Path to TBB DLLs") elseif (ANDROID) set(_TBB_LIB_DIR "${SOURCE_DIR}/lib") set(_LIB_PREFIX "lib") diff --git a/cmake/modules/FindFaceshift.cmake b/cmake/modules/FindFaceshift.cmake index 0dcbcbb7dd..1f8b7b19fe 100644 --- a/cmake/modules/FindFaceshift.cmake +++ b/cmake/modules/FindFaceshift.cmake @@ -28,7 +28,11 @@ if (APPLE) elseif (UNIX) set(ARCH_DIR "UNIX") elseif (WIN32) - set(ARCH_DIR "Win32") + if ("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") + set(ARCH_DIR "x64") + else() + set(ARCH_DIR "Win32") + endif() endif () find_library(FACESHIFT_LIBRARY_RELEASE NAME faceshift PATH_SUFFIXES lib/${ARCH_DIR} HINTS ${FACESHIFT_SEARCH_DIRS}) diff --git a/cmake/modules/FindNSIGHT.cmake b/cmake/modules/FindNSIGHT.cmake index 4df0686ebe..243c337adb 100644 --- a/cmake/modules/FindNSIGHT.cmake +++ b/cmake/modules/FindNSIGHT.cmake @@ -16,7 +16,16 @@ # if (WIN32) - + + if ("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") + set(ARCH_DIR "x64") + set(ARCH_NAME "64") + else() + set(ARCH_DIR "Win32") + set(ARCH_NAME "32") + endif() + + find_path(NSIGHT_INCLUDE_DIRS NAMES nvToolsExt.h @@ -25,17 +34,18 @@ if (WIN32) PATHS "C:/Program Files/NVIDIA Corporation/NvToolsExt") - find_library(NSIGHT_LIBRARY_RELEASE nvToolsExt32_1 + find_library(NSIGHT_LIBRARY_RELEASE "nvToolsExt${ARCH_NAME}_1" PATH_SUFFIXES - "lib/Win32" "lib" + "lib/${ARCH_DIR}" "lib" PATHS "C:/Program Files/NVIDIA Corporation/NvToolsExt") - find_library(NSIGHT_LIBRARY_DEBUG nvToolsExt32_1 + find_library(NSIGHT_LIBRARY_DEBUG "nvToolsExt${ARCH_NAME}_1" PATH_SUFFIXES - "lib/Win32" "lib" + "lib/${ARCH_DIR}" "lib" PATHS "C:/Program Files/NVIDIA Corporation/NvToolsExt") - + + add_paths_to_fixup_libs("C:/Program Files/NVIDIA Corporation/NvToolsExt/bin/${ARCH_DIR}") include(SelectLibraryConfigurations) select_library_configurations(NSIGHT) endif () diff --git a/cmake/modules/FindSixense.cmake b/cmake/modules/FindSixense.cmake index 0f4346c53d..98b37d5410 100644 --- a/cmake/modules/FindSixense.cmake +++ b/cmake/modules/FindSixense.cmake @@ -30,12 +30,20 @@ elseif (UNIX) find_library(SIXENSE_LIBRARY_RELEASE lib/linux_x64/release/libsixense_x64.so HINTS ${SIXENSE_SEARCH_DIRS}) # find_library(SIXENSE_LIBRARY_DEBUG lib/linux_x64/debug/libsixensed_x64.so HINTS ${SIXENSE_SEARCH_DIRS}) elseif (WIN32) - find_library(SIXENSE_LIBRARY_RELEASE lib/win32/release_dll/sixense.lib HINTS ${SIXENSE_SEARCH_DIRS}) - find_library(SIXENSE_LIBRARY_DEBUG lib/win32/debug_dll/sixensed.lib HINTS ${SIXENSE_SEARCH_DIRS}) + if ("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") + set(ARCH_DIR "x64") + set(ARCH_SUFFIX "_x64") + else() + set(ARCH_DIR "Win32") + set(ARCH_SUFFIX "") + endif() + + find_library(SIXENSE_LIBRARY_RELEASE "lib/${ARCH_DIR}/release_dll/sixense${ARCH_SUFFIX}.lib" HINTS ${SIXENSE_SEARCH_DIRS}) + find_library(SIXENSE_LIBRARY_DEBUG "lib/${ARCH_DIR}/debug_dll/sixensed.lib" HINTS ${SIXENSE_SEARCH_DIRS}) - find_path(SIXENSE_DEBUG_DLL_PATH sixensed.dll PATH_SUFFIXES bin/win32/debug_dll HINTS ${SIXENSE_SEARCH_DIRS}) - find_path(SIXENSE_RELEASE_DLL_PATH sixense.dll PATH_SUFFIXES bin/win32/release_dll HINTS ${SIXENSE_SEARCH_DIRS}) - find_path(SIXENSE_DEVICE_DLL_PATH DeviceDLL.dll PATH_SUFFIXES samples/win32/sixense_simple3d HINTS ${SIXENSE_SEARCH_DIRS}) + find_path(SIXENSE_DEBUG_DLL_PATH "sixensed${ARCH_SUFFIX}.dll" PATH_SUFFIXES bin/${ARCH_DIR}/debug_dll HINTS ${SIXENSE_SEARCH_DIRS}) + find_path(SIXENSE_RELEASE_DLL_PATH "sixense${ARCH_SUFFIX}.dll" PATH_SUFFIXES bin/${ARCH_DIR}/release_dll HINTS ${SIXENSE_SEARCH_DIRS}) + find_path(SIXENSE_DEVICE_DLL_PATH DeviceDLL.dll PATH_SUFFIXES samples/${ARCH_DIR}/sixense_simple3d HINTS ${SIXENSE_SEARCH_DIRS}) endif () include(SelectLibraryConfigurations) diff --git a/cmake/modules/FindTBB.cmake b/cmake/modules/FindTBB.cmake index 4d4b3ca504..1ccdcd792d 100644 --- a/cmake/modules/FindTBB.cmake +++ b/cmake/modules/FindTBB.cmake @@ -49,7 +49,7 @@ elseif (UNIX AND NOT ANDROID) endif () elseif (WIN32) - if (CMAKE_CL_64) + if(CMAKE_SIZEOF_VOID_P EQUAL 8) set(_TBB_ARCH_DIR "intel64") else() set(_TBB_ARCH_DIR "ia32") diff --git a/interface/src/main.cpp b/interface/src/main.cpp index 13ca17355b..e591034fb5 100644 --- a/interface/src/main.cpp +++ b/interface/src/main.cpp @@ -23,7 +23,7 @@ #ifdef Q_OS_WIN static BOOL CALLBACK enumWindowsCallback(HWND hWnd, LPARAM lParam) { const UINT TIMEOUT = 200; // ms - DWORD response; + DWORD_PTR response; LRESULT result = SendMessageTimeout(hWnd, UWM_IDENTIFY_INSTANCES, 0, 0, SMTO_BLOCK | SMTO_ABORTIFHUNG, TIMEOUT, &response); if (result == 0) { // Timeout; continue search. return TRUE;