summaryrefslogtreecommitdiff
path: root/DevIL/src-IL/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'DevIL/src-IL/CMakeLists.txt')
-rw-r--r--DevIL/src-IL/CMakeLists.txt48
1 files changed, 39 insertions, 9 deletions
diff --git a/DevIL/src-IL/CMakeLists.txt b/DevIL/src-IL/CMakeLists.txt
index 433f3b7b..0941ea1d 100644
--- a/DevIL/src-IL/CMakeLists.txt
+++ b/DevIL/src-IL/CMakeLists.txt
@@ -13,6 +13,18 @@ file(GLOB DevIL_INC include/*.h ../include/config.h ../include/IL/devil_internal
file(GLOB DevIL_RSRC)
file(GLOB DevIL_TXT)
+# From http://stackoverflow.com/questions/17317350/compiling-32-and-64-bit
+MESSAGE(" ")
+if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
+ MESSAGE( "64 bit compiler detected" )
+ SET( EX_PLATFORM 64 )
+ SET( EX_PLATFORM_NAME "x64" )
+else( CMAKE_SIZEOF_VOID_P EQUAL 8 )
+ MESSAGE( "32 bit compiler detected" )
+ SET( EX_PLATFORM 32 )
+ SET( EX_PLATFORM_NAME "x86" )
+endif( CMAKE_SIZEOF_VOID_P EQUAL 8 )
+
include_directories( include ../include )
# for windows add the .def and .rc files to the source list
@@ -133,15 +145,33 @@ else(SQUISH_FOUND)
set(IL_USE_DXTC_SQUISH 0)
endif(SQUISH_FOUND)
-if(UNICODE)
- set_target_properties(IL PROPERTIES RUNTIME_OUTPUT_DIRECTORY "../lib/unicode")
- set_target_properties(IL PROPERTIES LIBRARY_OUTPUT_DIRECTORY "../lib/unicode")
- set_target_properties(IL PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "../lib/unicode")
-else(UNICODE)
- set_target_properties(IL PROPERTIES RUNTIME_OUTPUT_DIRECTORY "../lib")
- set_target_properties(IL PROPERTIES LIBRARY_OUTPUT_DIRECTORY "../lib")
- set_target_properties(IL PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "../lib")
-endif(UNICODE)
+if(EX_PLATFORM EQUAL 64)
+ if(UNICODE)
+ set_target_properties(IL PROPERTIES RUNTIME_OUTPUT_DIRECTORY "../lib/x64/unicode")
+ set_target_properties(IL PROPERTIES LIBRARY_OUTPUT_DIRECTORY "../lib/x64/unicode")
+ set_target_properties(IL PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "../lib/x64/unicode")
+ else(UNICODE)
+ set_target_properties(IL PROPERTIES RUNTIME_OUTPUT_DIRECTORY "../lib/x64")
+ set_target_properties(IL PROPERTIES LIBRARY_OUTPUT_DIRECTORY "../lib/x64")
+ set_target_properties(IL PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "../lib/x64")
+ endif(UNICODE)
+else(EX_PLATFORM EQUAL 64)
+ if(UNICODE)
+ set_target_properties(IL PROPERTIES RUNTIME_OUTPUT_DIRECTORY "../lib/x86/unicode")
+ set_target_properties(IL PROPERTIES LIBRARY_OUTPUT_DIRECTORY "../lib/x86/unicode")
+ set_target_properties(IL PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "../lib/x86/unicode")
+ else(UNICODE)
+ set_target_properties(IL PROPERTIES RUNTIME_OUTPUT_DIRECTORY "../lib/x86")
+ set_target_properties(IL PROPERTIES LIBRARY_OUTPUT_DIRECTORY "../lib/x86")
+ set_target_properties(IL PROPERTIES ARCHIVE_OUTPUT_DIRECTORY "../lib/x86")
+ endif(UNICODE)
+endif(EX_PLATFORM EQUAL 64)
+
+set(OUTFOLDER "../lib")
+if(EX_PLATFORM EQUAL 64)
+ set(OUTFOLDER ${OUTFOLDER})
+else(EX_PLATFORM EQUAL 64)
+endif(EX_PLATFORM EQUAL 64)
if(WIN32)
# Linux uses libIL.so, libILU.so, and libILUT.so, but Windows uses