You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

120 lines
2.8 KiB

include_directories(${PCRE_INCLUDE_DIR})
add_definitions(-D_LIB)
add_definitions(-DPRODUCT_BRANCH_ID=${PRODUCT_BRANCH_ID})
add_definitions(-DPRODUCT_BUILD_ID=${PRODUCT_BUILD_ID})
add_definitions(-DPRODUCT_BUILD_TYPE=${PRODUCT_BUILD_TYPE})
add_definitions(-DPRODUCT_CORE_NAME="${PRODUCT_CORE_NAME}")
add_definitions(-DPRODUCT_SHORT_NAME="${PRODUCT_SHORT_NAME}")
add_definitions(-DPRODUCT_LONG_NAME="${PRODUCT_LONG_NAME}")
add_definitions(-DPRODUCT_UUID="${PRODUCT_UUID}")
if(NOT WCHAR_BYTES)
include(CheckTypeSize)
check_type_size("wchar_t" WCHAR_BYTES)
if(NOT WCHAR_BYTES)
message(FATAL_ERROR "Could not determine sizeof(wchar_t)")
set(WCHAR_BYTES 0)
endif(NOT WCHAR_BYTES)
endif(NOT WCHAR_BYTES)
add_definitions(-DWCHAR_BYTES=${WCHAR_BYTES})
try_compile(HAVE_CPUID ${PROJECT_BINARY_DIR}
${PROJECT_SOURCE_DIR}/cmake/check_cpuid.cpp
OUTPUT_VARIABLE OUTPUT)
if(HAVE_CPUID)
add_definitions(-DHAVE_CPUID)
message("CPUID header found -- using hardware math acceleration when available")
else()
message("CPUID header not found -- using software math")
endif()
set(CoreLib_SOURCES
HeadSpin.cpp
hsBitVector.cpp
hsBounds.cpp
hsCpuID.cpp
hsCritSect.cpp
hsExceptionStack.cpp
hsFastMath.cpp
hsGeometry3.cpp
hsMatrix33.cpp
hsMatrix44.cpp
hsMemory.cpp
hsQuat.cpp
hsRefCnt.cpp
hsSafeRefCnt.cpp
hsSTLStream.cpp
hsStream.cpp
hsStringTokenizer.cpp
hsTemplates.cpp
hsThread.cpp
hsWide.cpp
pcSmallRect.cpp
plFileSystem.cpp
plGeneric.cpp
plLoadMask.cpp
plProduct.cpp
plString.cpp
plViewTransform.cpp
)
if(WIN32 AND NOT CYGWIN)
set(CoreLib_SOURCES ${CoreLib_SOURCES}
hsThread_Win.cpp
)
endif(WIN32 AND NOT CYGWIN)
if(UNIX)
set(CoreLib_SOURCES ${CoreLib_SOURCES}
hsThread_Unix.cpp
)
endif(UNIX)
set(CoreLib_HEADERS
HeadSpin.h
hsBiExpander.h
hsBitVector.h
hsBounds.h
hsColorRGBA.h
hsCpuID.h
hsCritSect.h
hsExceptions.h
hsFastMath.h
hsGeometry3.h
hsHashTable.h
hsMatrix44.h
hsMemory.h
hsPoint2.h
hsQuat.h
hsRefCnt.h
hsSafeRefCnt.h
hsSTLStream.h
hsStream.h
hsStringTokenizer.h
hsTemplates.h
hsThread.h
hsWide.h
hsWindows.h
pcSmallRect.h
plFileSystem.h
plGeneric.h
plLoadMask.h
plProduct.h
plQuality.h
plString.h
plTweak.h
plViewTransform.h
)
use_precompiled_header(_CoreLibPch.h Pch.cpp CoreLib_HEADERS CoreLib_SOURCES)
add_library(CoreLib STATIC ${CoreLib_SOURCES} ${CoreLib_HEADERS})
target_link_libraries(CoreLib ${PCRE_LIBRARY})
if(UNIX)
target_link_libraries(CoreLib pthread)
endif(UNIX)
source_group("Source Files" FILES ${CoreLib_SOURCES})
source_group("Header Files" FILES ${CoreLib_HEADERS})