- Added more features for cross-compilation.
This commit is contained in:
parent
3f68f5ece5
commit
0a1a13dd5a
@ -30,9 +30,11 @@ include (SVNVersion.cmake)
|
|||||||
include (ScannerParser.cmake)
|
include (ScannerParser.cmake)
|
||||||
|
|
||||||
# By default, we build what we get
|
# By default, we build what we get
|
||||||
if (WIN32)
|
mark_as_advanced (CLEAR TARGETOS)
|
||||||
|
if (NOT TARGETOS)
|
||||||
|
if (WIN32)
|
||||||
set (TARGETOS "WIN32")
|
set (TARGETOS "WIN32")
|
||||||
else (WIN32)
|
else (WIN32)
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
set (TARGETOS "APPLE")
|
set (TARGETOS "APPLE")
|
||||||
else (APPLE)
|
else (APPLE)
|
||||||
@ -40,28 +42,43 @@ else (WIN32)
|
|||||||
set (TARGETOS "UNIX")
|
set (TARGETOS "UNIX")
|
||||||
endif (UNIX)
|
endif (UNIX)
|
||||||
endif (APPLE)
|
endif (APPLE)
|
||||||
endif (WIN32)
|
endif (WIN32)
|
||||||
|
endif (NOT TARGETOS)
|
||||||
|
|
||||||
# Determine name from type
|
# Determine name and target from type
|
||||||
if (${TARGETOS} STREQUAL "UNIX")
|
if (${TARGETOS} STREQUAL "UNIX")
|
||||||
|
# Should for now only be done on the unix platform
|
||||||
|
if (UNIX)
|
||||||
message (STATUS "Building Linux version")
|
message (STATUS "Building Linux version")
|
||||||
set (scythername "scyther-linux")
|
set (scythername "scyther-linux")
|
||||||
|
add_executable (${scythername} ${Scyther_sources})
|
||||||
|
endif (UNIX)
|
||||||
endif (${TARGETOS} STREQUAL "UNIX")
|
endif (${TARGETOS} STREQUAL "UNIX")
|
||||||
|
|
||||||
if (${TARGETOS} STREQUAL "APPLE")
|
if (${TARGETOS} STREQUAL "APPLE")
|
||||||
|
if (APPLE)
|
||||||
|
# Should for now only be done on the apple platform
|
||||||
message (STATUS "Building Apple version")
|
message (STATUS "Building Apple version")
|
||||||
set (scythername "scyther-mac")
|
set (scythername "scyther-mac")
|
||||||
|
add_executable (${scythername} ${Scyther_sources})
|
||||||
|
endif (APPLE)
|
||||||
endif (${TARGETOS} STREQUAL "APPLE")
|
endif (${TARGETOS} STREQUAL "APPLE")
|
||||||
|
|
||||||
if (${TARGETOS} STREQUAL "WIN32")
|
if (${TARGETOS} STREQUAL "WIN32")
|
||||||
|
# This should work on win32 platform, but also when the compiler
|
||||||
|
# is available anyway under linux
|
||||||
|
set (CMAKE_C_COMPILER "i586-mingw32msvc-gcc")
|
||||||
|
set (CMAKE_CXX_COMPILER "i586-mingw32msvc-g++")
|
||||||
|
set (CMAKE_SHARED_LIBRARY_LINK_C_FLAGS) # to get rid of -rdynamic
|
||||||
message (STATUS "Building W32 version")
|
message (STATUS "Building W32 version")
|
||||||
set (scythername "scyther-w32")
|
set (scythername "scyther-w32.exe")
|
||||||
|
add_executable (${scythername} ${Scyther_sources})
|
||||||
endif (${TARGETOS} STREQUAL "WIN32")
|
endif (${TARGETOS} STREQUAL "WIN32")
|
||||||
|
|
||||||
# Make the Scyther linux binary
|
# Make the Scyther linux binary
|
||||||
if (scythername)
|
if (NOT scythername)
|
||||||
add_executable (${scythername} ${Scyther_sources})
|
|
||||||
else (scythername)
|
|
||||||
message (FATAL_ERROR "Cannot determine target platform [${TARGETOS}]")
|
message (FATAL_ERROR "Cannot determine target platform [${TARGETOS}]")
|
||||||
endif (scythername)
|
endif (NOT scythername)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user