- Added more features for cross-compilation.

This commit is contained in:
ccremers 2007-01-08 07:38:17 +00:00
parent 3f68f5ece5
commit 0a1a13dd5a

View File

@ -30,38 +30,55 @@ include (SVNVersion.cmake)
include (ScannerParser.cmake)
# By default, we build what we get
if (WIN32)
set (TARGETOS "WIN32")
else (WIN32)
if (APPLE)
set (TARGETOS "APPLE")
else (APPLE)
if (UNIX)
set (TARGETOS "UNIX")
endif (UNIX)
endif (APPLE)
endif (WIN32)
mark_as_advanced (CLEAR TARGETOS)
if (NOT TARGETOS)
if (WIN32)
set (TARGETOS "WIN32")
else (WIN32)
if (APPLE)
set (TARGETOS "APPLE")
else (APPLE)
if (UNIX)
set (TARGETOS "UNIX")
endif (UNIX)
endif (APPLE)
endif (WIN32)
endif (NOT TARGETOS)
# Determine name from type
# Determine name and target from type
if (${TARGETOS} STREQUAL "UNIX")
message (STATUS "Building Linux version")
set (scythername "scyther-linux")
# Should for now only be done on the unix platform
if (UNIX)
message (STATUS "Building Linux version")
set (scythername "scyther-linux")
add_executable (${scythername} ${Scyther_sources})
endif (UNIX)
endif (${TARGETOS} STREQUAL "UNIX")
if (${TARGETOS} STREQUAL "APPLE")
message (STATUS "Building Apple version")
set (scythername "scyther-mac")
if (APPLE)
# Should for now only be done on the apple platform
message (STATUS "Building Apple version")
set (scythername "scyther-mac")
add_executable (${scythername} ${Scyther_sources})
endif (APPLE)
endif (${TARGETOS} STREQUAL "APPLE")
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")
set (scythername "scyther-w32")
set (scythername "scyther-w32.exe")
add_executable (${scythername} ${Scyther_sources})
endif (${TARGETOS} STREQUAL "WIN32")
# Make the Scyther linux binary
if (scythername)
add_executable (${scythername} ${Scyther_sources})
else (scythername)
if (NOT scythername)
message (FATAL_ERROR "Cannot determine target platform [${TARGETOS}]")
endif (scythername)
endif (NOT scythername)