-
Notifications
You must be signed in to change notification settings - Fork 36
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
244 additions
and
53 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,209 @@ | ||
function(GET_CURRENT_DEP_INCLUDE_PREFIX FOLDER) | ||
set(INCLUDE_PREFIX) | ||
if(WIN32) | ||
if(CMAKE_SIZEOF_VOID_P EQUAL 8) | ||
if(MSVC14) | ||
if(EXISTS "${FOLDER}/include/windows_x86_64_msvc14") | ||
set(INCLUDE_PREFIX "include/windows_x86_64_msvc14") | ||
elseif(EXISTS "${FOLDER}/include/windows_x86_64") | ||
set(INCLUDE_PREFIX "include/windows_x86_64") | ||
elseif(EXISTS "${FOLDER}/include/windows") | ||
set(INCLUDE_PREFIX "include/windows") | ||
elseif(EXISTS "${FOLDER}/include") | ||
set(INCLUDE_PREFIX "include") | ||
else() | ||
set(INCLUDE_PREFIX ".") | ||
endif() | ||
else() | ||
if(EXISTS "${FOLDER}/include/windows_x86_64") | ||
set(INCLUDE_PREFIX "include/windows_x86_64") | ||
elseif(EXISTS "${FOLDER}/include/windows") | ||
set(INCLUDE_PREFIX "include/windows") | ||
elseif(EXISTS "${FOLDER}/include") | ||
set(INCLUDE_PREFIX "include") | ||
else() | ||
set(INCLUDE_PREFIX ".") | ||
endif() | ||
endif() | ||
else() | ||
if(MSVC14) | ||
if(EXISTS "${FOLDER}/include/windows_x86_32_msvc14") | ||
set(INCLUDE_PREFIX "include/windows_x86_32_msvc14") | ||
elseif(EXISTS "${FOLDER}/include/windows_x86_32") | ||
set(INCLUDE_PREFIX "include/windows_x86_32") | ||
elseif(EXISTS "${FOLDER}/include/windows") | ||
set(INCLUDE_PREFIX "include/windows") | ||
elseif(EXISTS "${FOLDER}/include") | ||
set(INCLUDE_PREFIX "include") | ||
else() | ||
set(INCLUDE_PREFIX ".") | ||
endif() | ||
else() | ||
if(EXISTS "${FOLDER}/include/windows_x86_32") | ||
set(INCLUDE_PREFIX "include/windows_x86_32") | ||
elseif(EXISTS "${FOLDER}/include/windows") | ||
set(INCLUDE_PREFIX "include/windows") | ||
elseif(EXISTS "${FOLDER}/include") | ||
set(INCLUDE_PREFIX "include") | ||
else() | ||
set(INCLUDE_PREFIX ".") | ||
endif() | ||
endif() | ||
endif() | ||
elseif(APPLE) | ||
if(BUILD64) | ||
if(EXISTS "${FOLDER}/include/macos_x86_64") | ||
set(INCLUDE_PREFIX "include/macos_x86_64") | ||
elseif(EXISTS "${FOLDER}/include/macos") | ||
set(INCLUDE_PREFIX "include/macos") | ||
elseif(EXISTS "${FOLDER}/include") | ||
set(INCLUDE_PREFIX "include") | ||
else() | ||
set(INCLUDE_PREFIX ".") | ||
endif() | ||
else() | ||
if(EXISTS "${FOLDER}/include/macos_x86_32") | ||
set(INCLUDE_PREFIX "include/macos_x86_32") | ||
elseif(EXISTS "${FOLDER}/include/macos") | ||
set(INCLUDE_PREFIX "include/macos") | ||
elseif(EXISTS "${FOLDER}/include") | ||
set(INCLUDE_PREFIX "include") | ||
else() | ||
set(INCLUDE_PREFIX ".") | ||
endif() | ||
endif() | ||
else() | ||
if(BUILD64) | ||
if(EXISTS "${FOLDER}/include/linux_x86_64") | ||
set(INCLUDE_PREFIX "include/linux_x86_64") | ||
elseif(EXISTS "${FOLDER}/include/linux") | ||
set(INCLUDE_PREFIX "include/linux") | ||
elseif(EXISTS "${FOLDER}/include") | ||
set(INCLUDE_PREFIX "include") | ||
else() | ||
set(INCLUDE_PREFIX ".") | ||
endif() | ||
else() | ||
if(EXISTS "${FOLDER}/include/linux_x86_32") | ||
set(INCLUDE_PREFIX "include/linux_x86_32") | ||
elseif(EXISTS "${FOLDER}/include/linux") | ||
set(INCLUDE_PREFIX "include/linux") | ||
elseif(EXISTS "${FOLDER}/include") | ||
set(INCLUDE_PREFIX "include") | ||
else() | ||
set(INCLUDE_PREFIX ".") | ||
endif() | ||
endif() | ||
endif() | ||
set(CURRENT_DEP_INCLUDE_PREFIX ${CURRENT_DEP_INCLUDE_PREFIX} ${INCLUDE_PREFIX} PARENT_SCOPE) | ||
endfunction() | ||
|
||
function(ADD_DEP_INCLUDE_DIR FOLDER) | ||
GET_CURRENT_DEP_INCLUDE_PREFIX(${FOLDER}) | ||
set(DEP_INCLUDE_DIR ${DEP_INCLUDE_DIR} "${FOLDER}/${CURRENT_DEP_INCLUDE_PREFIX}" PARENT_SCOPE) | ||
endfunction() | ||
|
||
function(GET_CURRENT_DEP_LIBRARY_PREFIX FOLDER) | ||
set(LIBRARY_PREFIX) | ||
if(WIN32) | ||
if(CMAKE_SIZEOF_VOID_P EQUAL 8) | ||
if(MSVC14) | ||
if(EXISTS "${FOLDER}/lib/windows_x86_64_msvc14") | ||
set(LIBRARY_PREFIX "lib/windows_x86_64_msvc14") | ||
elseif(EXISTS "${FOLDER}/lib/windows_x86_64") | ||
set(LIBRARY_PREFIX "lib/windows_x86_64") | ||
elseif(EXISTS "${FOLDER}/lib/windows") | ||
set(LIBRARY_PREFIX "lib/windows") | ||
elseif(EXISTS "${FOLDER}/lib") | ||
set(LIBRARY_PREFIX "lib") | ||
else() | ||
set(LIBRARY_PREFIX ".") | ||
endif() | ||
else() | ||
if(EXISTS "${FOLDER}/lib/windows_x86_64") | ||
set(LIBRARY_PREFIX "lib/windows_x86_64") | ||
elseif(EXISTS "${FOLDER}/lib/windows") | ||
set(LIBRARY_PREFIX "lib/windows") | ||
elseif(EXISTS "${FOLDER}/lib") | ||
set(LIBRARY_PREFIX "lib") | ||
else() | ||
set(LIBRARY_PREFIX ".") | ||
endif() | ||
endif() | ||
else() | ||
if(MSVC14) | ||
if(EXISTS "${FOLDER}/lib/windows_x86_32_msvc14") | ||
set(LIBRARY_PREFIX "lib/windows_x86_32_msvc14") | ||
elseif(EXISTS "${FOLDER}/lib/windows_x86_32") | ||
set(LIBRARY_PREFIX "lib/windows_x86_32") | ||
elseif(EXISTS "${FOLDER}/lib/windows") | ||
set(LIBRARY_PREFIX "lib/windows") | ||
elseif(EXISTS "${FOLDER}/lib") | ||
set(LIBRARY_PREFIX "lib") | ||
else() | ||
set(LIBRARY_PREFIX ".") | ||
endif() | ||
else() | ||
if(EXISTS "${FOLDER}/lib/windows_x86_32") | ||
set(LIBRARY_PREFIX "lib/windows_x86_32") | ||
elseif(EXISTS "${FOLDER}/lib/windows") | ||
set(LIBRARY_PREFIX "lib/windows") | ||
elseif(EXISTS "${FOLDER}/lib") | ||
set(LIBRARY_PREFIX "lib") | ||
else() | ||
set(LIBRARY_PREFIX ".") | ||
endif() | ||
endif() | ||
endif() | ||
elseif(APPLE) | ||
if(BUILD64) | ||
if(EXISTS "${FOLDER}/lib/macos_x86_64") | ||
set(LIBRARY_PREFIX "lib/macos_x86_64") | ||
elseif(EXISTS "${FOLDER}/lib/macos") | ||
set(LIBRARY_PREFIX "lib/macos") | ||
elseif(EXISTS "${FOLDER}/lib") | ||
set(LIBRARY_PREFIX "lib") | ||
else() | ||
set(LIBRARY_PREFIX ".") | ||
endif() | ||
else() | ||
if(EXISTS "${FOLDER}/lib/macos_x86_32") | ||
set(LIBRARY_PREFIX "lib/macos_x86_32") | ||
elseif(EXISTS "${FOLDER}/lib/macos") | ||
set(LIBRARY_PREFIX "lib/macos") | ||
elseif(EXISTS "${FOLDER}/lib") | ||
set(LIBRARY_PREFIX "lib") | ||
else() | ||
set(LIBRARY_PREFIX ".") | ||
endif() | ||
endif() | ||
else() | ||
if(BUILD64) | ||
if(EXISTS "${FOLDER}/lib/linux_x86_64") | ||
set(LIBRARY_PREFIX "lib/linux_x86_64") | ||
elseif(EXISTS "${FOLDER}/lib/linux") | ||
set(LIBRARY_PREFIX "lib/linux") | ||
elseif(EXISTS "${FOLDER}/lib") | ||
set(LIBRARY_PREFIX "lib") | ||
else() | ||
set(LIBRARY_PREFIX ".") | ||
endif() | ||
else() | ||
if(EXISTS "${FOLDER}/lib/linux_x86_32") | ||
set(LIBRARY_PREFIX "lib/linux_x86_32") | ||
elseif(EXISTS "${FOLDER}/lib/linux") | ||
set(LIBRARY_PREFIX "lib/linux") | ||
elseif(EXISTS "${FOLDER}/lib") | ||
set(LIBRARY_PREFIX "lib") | ||
else() | ||
set(LIBRARY_PREFIX ".") | ||
endif() | ||
endif() | ||
endif() | ||
set(CURRENT_DEP_LIBRARY_PREFIX ${CURRENT_DEP_LIBRARY_PREFIX} ${LIBRARY_PREFIX} PARENT_SCOPE) | ||
endfunction() | ||
|
||
function(ADD_DEP_LIBRARY_DIR FOLDER) | ||
GET_CURRENT_DEP_LIBRARY_PREFIX(${FOLDER}) | ||
set(DEP_LIBRARY_DIR ${DEP_LIBRARY_DIR} "${FOLDER}/${CURRENT_DEP_LIBRARY_PREFIX}" PARENT_SCOPE) | ||
endfunction() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,14 @@ | ||
function(ADD_SHARED NAME SOURCE) | ||
add_library(${NAME} SHARED ${SOURCE}) | ||
set_target_properties(${NAME} PROPERTIES | ||
DEBUG_POSTFIX "_d") | ||
set_target_properties(${NAME} PROPERTIES DEBUG_POSTFIX "_d") | ||
endfunction() | ||
|
||
function(ADD_STATIC NAME SOURCE) | ||
add_library(${NAME} STATIC ${SOURCE}) | ||
set_target_properties(${NAME} PROPERTIES | ||
DEBUG_POSTFIX "_d") | ||
set_target_properties(${NAME} PROPERTIES DEBUG_POSTFIX "_d") | ||
endfunction() | ||
|
||
function(ADD_EXE NAME SOURCE) | ||
add_executable(${NAME} ${SOURCE}) | ||
set_target_properties(${NAME} PROPERTIES | ||
DEBUG_POSTFIX "_d") | ||
set_target_properties(${NAME} PROPERTIES DEBUG_POSTFIX "_d") | ||
endfunction() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,28 +1,38 @@ | ||
function(AUTO_FILES FOLDER FILTER PATTERN) | ||
get_filename_component(FOLDER "${FOLDER}" ABSOLUTE) | ||
file(RELATIVE_PATH FOLDER "${CMAKE_CURRENT_SOURCE_DIR}" "${FOLDER}") | ||
if("${FOLDER}" STREQUAL "") | ||
set(FOLDER ".") | ||
endif() | ||
if(ARGC GREATER 3) | ||
set(AUTO_FILES_EXCLUDE ${ARGN}) | ||
else() | ||
set(AUTO_FILES_EXCLUDE) | ||
endif() | ||
file(GLOB AUTO_FILES_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "${FOLDER}/*") | ||
file(GLOB AUTO_FILES_FILES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "${FOLDER}/*") | ||
set(AUTO_FILES_FOLDER_FILES) | ||
foreach(AUTO_FILES_FILE ${AUTO_FILES_FILES}) | ||
if(IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${AUTO_FILES_FILE}") | ||
AUTO_FILES(${AUTO_FILES_FILE} ${FILTER} ${PATTERN} ${AUTO_FILES_EXCLUDE}) | ||
AUTO_FILES("${AUTO_FILES_FILE}" "${FILTER}" "${PATTERN}" ${AUTO_FILES_EXCLUDE}) | ||
elseif("${AUTO_FILES_FILE}" MATCHES "${PATTERN}") | ||
if(NOT AUTO_FILES_EXCLUDE) | ||
list(APPEND AUTO_FILES_FOLDER_FILES ${AUTO_FILES_FILE}) | ||
list(APPEND AUTO_FILES_FOLDER_FILES "${AUTO_FILES_FILE}") | ||
elseif(NOT "${AUTO_FILES_FILE}" MATCHES "${AUTO_FILES_EXCLUDE}") | ||
list(APPEND AUTO_FILES_FOLDER_FILES ${AUTO_FILES_FILE}) | ||
list(APPEND AUTO_FILES_FOLDER_FILES "${AUTO_FILES_FILE}") | ||
endif() | ||
endif() | ||
endforeach() | ||
string(REPLACE "./" "" AUTO_FILES_FILTER ${FOLDER}) | ||
string(REPLACE "/" "\\" AUTO_FILES_FILTER ${AUTO_FILES_FILTER}) | ||
string(REPLACE "../" "..\\" AUTO_FILES_FILTER "${FOLDER}") | ||
string(REPLACE "./" "" AUTO_FILES_FILTER "${AUTO_FILES_FILTER}") | ||
string(REPLACE "/" "\\" AUTO_FILES_FILTER "${AUTO_FILES_FILTER}") | ||
string(REPLACE "..\\" "../" AUTO_FILES_FILTER "${AUTO_FILES_FILTER}") | ||
if("${AUTO_FILES_FILTER}" STREQUAL "../") | ||
set(AUTO_FILES_FILTER "..") | ||
endif() | ||
if("${AUTO_FILES_FILTER}" STREQUAL ".") | ||
source_group(${FILTER} FILES ${AUTO_FILES_FOLDER_FILES}) | ||
source_group("${FILTER}" FILES ${AUTO_FILES_FOLDER_FILES}) | ||
else() | ||
source_group(${FILTER}\\${AUTO_FILES_FILTER} FILES ${AUTO_FILES_FOLDER_FILES}) | ||
source_group("${FILTER}\\${AUTO_FILES_FILTER}" FILES ${AUTO_FILES_FOLDER_FILES}) | ||
endif() | ||
set(src ${src} ${AUTO_FILES_FOLDER_FILES} PARENT_SCOPE) | ||
endfunction() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters