Changed: Use of LIB_PREFIX only if defined
Changed: Compilation with all cores for VC++ 2008 and 2010 Changed: New method to determine the target CPU
This commit is contained in:
parent
7b472a2456
commit
3eb4b064fb
1 changed files with 23 additions and 19 deletions
|
@ -44,8 +44,10 @@ MACRO(NL_DEFAULT_PROPS name label)
|
||||||
IF(${type} STREQUAL SHARED_LIBRARY)
|
IF(${type} STREQUAL SHARED_LIBRARY)
|
||||||
# Set versions only if target is a shared library
|
# Set versions only if target is a shared library
|
||||||
SET_TARGET_PROPERTIES(${name} PROPERTIES
|
SET_TARGET_PROPERTIES(${name} PROPERTIES
|
||||||
VERSION ${NL_VERSION} SOVERSION ${NL_VERSION_MAJOR}
|
VERSION ${NL_VERSION} SOVERSION ${NL_VERSION_MAJOR})
|
||||||
INSTALL_NAME_DIR ${NL_LIB_PREFIX})
|
IF(LIB_PREFIX)
|
||||||
|
SET_TARGET_PROPERTIES(${name} PROPERTIES INSTALL_NAME_DIR ${LIB_PREFIX})
|
||||||
|
ENDIF(LIB_PREFIX)
|
||||||
ENDIF(${type} STREQUAL SHARED_LIBRARY)
|
ENDIF(${type} STREQUAL SHARED_LIBRARY)
|
||||||
IF(WITH_STLPORT AND WIN32)
|
IF(WITH_STLPORT AND WIN32)
|
||||||
SET_TARGET_PROPERTIES(${name} PROPERTIES COMPILE_FLAGS "/X")
|
SET_TARGET_PROPERTIES(${name} PROPERTIES COMPILE_FLAGS "/X")
|
||||||
|
@ -299,7 +301,7 @@ MACRO(NL_SETUP_BUILD)
|
||||||
SET(MIN_OPTIMIZATIONS "/Ob1")
|
SET(MIN_OPTIMIZATIONS "/Ob1")
|
||||||
ENDIF(MSVC10)
|
ENDIF(MSVC10)
|
||||||
|
|
||||||
SET(PLATFORM_CFLAGS "/D_CRT_SECURE_NO_WARNINGS /DWIN32 /D_WINDOWS /W3 /Zi /Zm1000")
|
SET(PLATFORM_CFLAGS "/D_CRT_SECURE_NO_WARNINGS /DWIN32 /D_WINDOWS /W3 /Zi /Zm1000 /MP")
|
||||||
|
|
||||||
# Exceptions are only set for C++
|
# Exceptions are only set for C++
|
||||||
SET(PLATFORM_CXXFLAGS "${PLATFORM_CFLAGS} /EHa")
|
SET(PLATFORM_CXXFLAGS "${PLATFORM_CFLAGS} /EHa")
|
||||||
|
@ -332,23 +334,25 @@ MACRO(NL_SETUP_BUILD)
|
||||||
|
|
||||||
ENDIF(WIN32)
|
ENDIF(WIN32)
|
||||||
|
|
||||||
# Determine host CPU
|
# Determine target CPU
|
||||||
IF(UNIX AND NOT WIN32)
|
IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86")
|
||||||
FIND_PROGRAM(CMAKE_UNAME uname /bin /usr/bin /usr/local/bin )
|
IF(NOT CMAKE_SIZEOF_VOID_P)
|
||||||
IF(CMAKE_UNAME)
|
INCLUDE (CheckTypeSize)
|
||||||
EXEC_PROGRAM(uname ARGS -m OUTPUT_VARIABLE CMAKE_SYSTEM_PROCESSOR)
|
CHECK_TYPE_SIZE("void*" CMAKE_SIZEOF_VOID_P)
|
||||||
SET(CMAKE_SYSTEM_PROCESSOR ${CMAKE_SYSTEM_PROCESSOR} CACHE INTERNAL "processor type (i386 and x86_64)")
|
ENDIF(NOT CMAKE_SIZEOF_VOID_P)
|
||||||
IF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
|
|
||||||
|
# Using 32 or 64 bits libraries
|
||||||
|
SET(TARGET_X86 1)
|
||||||
|
IF(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||||
|
SET(ARCH "x86_64")
|
||||||
|
SET(TARGET_X64 1)
|
||||||
ADD_DEFINITIONS(-DHAVE_X86_64)
|
ADD_DEFINITIONS(-DHAVE_X86_64)
|
||||||
ELSEIF(CMAKE_SYSTEM_PROCESSOR MATCHES "ia64")
|
ELSE(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||||
ADD_DEFINITIONS(-DHAVE_IA64)
|
SET(ARCH "x86")
|
||||||
ELSE(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
|
|
||||||
ADD_DEFINITIONS(-DHAVE_X86)
|
ADD_DEFINITIONS(-DHAVE_X86)
|
||||||
ENDIF(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
|
ENDIF(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||||
ELSE(CMAKE_UNAME) # Assume that if uname is not found that we're x86.
|
# ADD_DEFINITIONS(-DHAVE_IA64)
|
||||||
ADD_DEFINITIONS(-DHAVE_X86)
|
ENDIF(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86")
|
||||||
ENDIF(CMAKE_UNAME)
|
|
||||||
ENDIF(UNIX AND NOT WIN32)
|
|
||||||
|
|
||||||
ENDMACRO(NL_SETUP_BUILD)
|
ENDMACRO(NL_SETUP_BUILD)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue